summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/es-MX
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 17:32:43 +0000
commit6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch)
treea68f146d7fa01f0134297619fbe7e33db084e0aa /thunderbird-l10n/es-MX
parentInitial commit. (diff)
downloadthunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz
thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'thunderbird-l10n/es-MX')
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/alerts/alert.properties23
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/autoconfig/autoconfig.properties12
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-alarms.properties39
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog.dtd433
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog.properties541
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-extract.properties294
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-invitations-dialog.properties10
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar.dtd411
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar.properties696
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendarCreation.dtd51
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendarCreation.properties6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/categories.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/dateFormat.properties146
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/global.dtd54
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/menuOverlay.dtd50
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/migration.dtd9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/migration.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/provider-uninstall.dtd12
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/timezones.properties497
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/accounts.dtd41
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/accounts.properties9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/commands.properties27
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/contacts.properties8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/conversations.properties80
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/facebook.properties6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/imtooltip.properties12
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/irc.properties209
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/logger.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/matrix.properties263
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/status.properties23
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/twitter.properties122
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/xmpp.properties281
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/yahoo.properties5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/communicator/utilityOverlay.dtd43
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/accessibility.properties314
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/animationinspector.properties183
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/boxmodel.properties48
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/changes.properties64
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/components.properties49
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/debugger.properties1071
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/device.properties21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/dom.properties27
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/filterwidget.properties59
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/font-inspector.properties69
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/har.properties30
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/inspector.properties584
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/jsonview.properties47
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/layout.properties129
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/memory.properties434
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/menus.properties29
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/netmonitor.properties1640
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/network-throttling.properties27
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/responsive.properties182
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/shared.properties26
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/sourceeditor.properties117
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/startup.properties248
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/styleeditor.properties74
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/toolbox.properties267
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/webconsole.properties565
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/accessibility.properties142
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/debugger.properties67
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/eyedropper.properties14
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/screenshot.properties148
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/shared.properties6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/styleinspector.properties249
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/accessible.properties71
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/intl.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/platformKeys.properties34
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/accessible.properties21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/intl.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/platformKeys.properties34
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/accessible.properties21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/intl.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/platformKeys.properties34
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/aboutStudies.properties33
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/appstrings.properties37
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/autocomplete.properties9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/browser.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/commonDialogs.properties46
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/contentAreaCommands.properties28
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/css.properties54
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/dialog.properties12
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/dom/dom.properties448
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/extensions.properties27
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/fallbackMenubar.properties8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/filepicker.properties18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/global-strres.properties5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/intl.css11
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/intl.properties43
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/keys.properties78
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/HtmlForm.properties35
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/MediaDocument.properties22
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/htmlparser.properties145
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/xmlparser.properties48
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout_errors.properties53
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/mathml/mathml.properties15
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/narrate.properties25
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/nsWebBrowserPersist.properties17
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/printdialog.properties52
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/printing.properties56
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/resetProfile.properties14
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/caps.properties9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/csp.properties125
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/security.properties167
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/svg/svg.properties5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/viewSource.properties16
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/wizard.properties8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/xslt/xslt.properties39
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/xul.properties5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning-toolbar.dtd51
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.dtd114
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.properties201
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-mapi/mapi.properties36
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/am-newsblog.dtd14
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/feed-subscriptions.dtd55
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/newsblog.properties93
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-region/region.properties9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/certFetchingStatus.dtd9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSMIMEOverlay.dtd16
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSecurityInfo.dtd18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSecurityInfo.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgReadSMIMEOverlay.properties11
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgReadSecurityInfo.dtd17
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgSecurityInfo.properties36
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountManager.dtd25
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountWizard.dtd55
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/CustomHeaders.dtd11
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/FilterEditor.dtd66
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/FilterListDialog.dtd43
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/SearchDialog.dtd37
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutDownloads.dtd23
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutRights.properties6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutSupportMail.properties15
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/accountCreationModel.properties21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/accountCreationUtil.properties34
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/activity.dtd19
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/activity.properties99
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addbuddy.dtd7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abAddressBookNameDialog.dtd7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abContactsPanel.dtd49
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abMailListDialog.dtd22
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abMainWindow.dtd17
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abResultsPane.dtd38
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/addressBook.properties179
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/ldapAutoCompErrs.properties109
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/pref-directory-add.dtd45
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/pref-directory.dtd17
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/replicationProgress.properties20
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-addressing.dtd51
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-advanced.dtd30
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-archiveoptions.dtd25
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-copies.dtd52
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-e2e.properties5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-identities-list.dtd15
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-identity-edit.dtd14
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-im.dtd16
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-junk.dtd31
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-main.dtd49
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-mdn.dtd33
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-mdn.properties6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-offline.dtd57
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-server-advanced.dtd31
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-server-top.dtd89
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-serverwithnoidentities.dtd6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-smime.dtd47
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-smime.properties39
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/appUpdate.properties40
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/appleMailImportMsgs.properties21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/baseMenuOverlay.dtd34
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/beckyImportMsgs.properties19
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/charsetTitles.properties84
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/chat.dtd44
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/chat.properties110
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/configEditorOverlay.dtd5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/converterDialog.dtd11
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/converterDialog.properties41
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/custom.properties5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/customizeToolbar.dtd18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/customizeToolbar.properties11
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/downloadheaders.dtd21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/editContactOverlay.dtd20
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/editContactOverlay.properties14
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/fieldMapImport.dtd17
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/filter.properties109
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderProps.dtd70
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderWidgets.properties12
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderpane.dtd7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/gloda.properties175
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaComplete.properties19
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaFacetView.dtd29
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaFacetView.properties171
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imAccountWizard.dtd32
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imAccounts.properties63
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imapMsgs.properties268
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/importDialog.dtd48
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/importMsgs.properties304
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/joinChat.dtd10
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/junkLog.dtd10
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/localMsgs.properties140
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailEditorOverlay.dtd6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailOverlay.dtd11
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailViewList.dtd8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailViewSetup.dtd11
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailviews.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/markByDate.dtd9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messenger.dtd945
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messenger.properties769
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdAdvancedEdit.dtd18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdColorPicker.dtd22
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdConvertToTable.dtd15
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdDialogOverlay.dtd17
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdNamedAnchorProperties.dtd8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorColorProperties.dtd29
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorHLineProperties.dtd27
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorImageProperties.dtd79
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertChars.dtd19
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertMath.dtd21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertSource.dtd15
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertTOC.dtd16
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertTable.dtd18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorLinkProperties.dtd6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorListProperties.dtd20
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorPersonalDictionary.dtd18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorReplace.dtd29
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorSpellCheck.dtd38
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorTableProperties.dtd75
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties464
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/editor.properties208
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/editorOverlay.dtd303
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/mailComposeEditorOverlay.dtd9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/messengercompose.dtd306
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/sendProgress.dtd8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/sendProgress.properties21
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/migration/migration.dtd30
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/migration/migration.properties32
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mime.properties154
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mimeheader.properties35
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/morkImportMsgs.properties18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgAccountCentral.dtd26
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgHdrViewOverlay.dtd114
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgSynchronize.dtd25
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgViewPickerOverlay.dtd22
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgmdn.properties18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/multimessageview.dtd8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/multimessageview.properties66
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/newFolderDialog.dtd16
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/news.properties56
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/newsError.dtd31
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/offline.properties28
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/offlineStartup.properties8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/outlookImportMsgs.properties77
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/pgpmime.properties10
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/applicationManager.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/applications.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/messagestyle.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/preferences.properties100
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/prefs.properties90
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/profileDowngrade.dtd20
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/removeAccount.dtd22
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/removeAccount.properties5
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/renameFolderDialog.dtd9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/sanitize.dtd36
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/seamonkeyImportMsgs.properties18
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search-attributes.properties45
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search-operators.properties31
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search.properties27
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/searchTermOverlay.dtd19
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/shutdownWindow.properties10
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/smime.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/smtpEditOverlay.dtd24
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/subscribe.dtd22
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/subscribe.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/tabmail.dtd9
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/taskbar.properties8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/telemetry.properties13
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/templateUtils.properties7
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/textImportMsgs.properties48
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/vCardImportMsgs.properties26
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewLog.dtd12
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewSource.dtd84
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewSource.properties17
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewZoomOverlay.dtd30
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/virtualFolderListDialog.dtd8
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/virtualFolderProperties.dtd22
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/wmImportMsgs.properties76
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/downloads/downloads.properties6
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/downloads/unknownContentType.properties23
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/profile/profileSelection.properties55
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/update/updates.properties45
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozldap/ldap.properties261
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/necko/necko.properties94
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/passwordmgr/passwordmgr.properties75
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pipnss/nsserrors.properties331
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pipnss/pipnss.properties136
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pippki/pippki.properties75
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/places/places.properties33
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/pdfviewer/chrome.properties20
-rw-r--r--thunderbird-l10n/es-MX/chrome/es-MX/locale/pdfviewer/viewer.properties257
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/branding/brand.ftl22
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/browser/appExtensionFields.ftl16
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/browser/branding/brandings.ftl18
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/browser/components/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-context-menus.ftl10
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-delete-prompt.ftl35
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-editable-item.ftl30
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-event-dialog-reminder.ftl10
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-event-listing.ftl65
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-ics-file-dialog.ftl46
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-invitation-panel.ftl115
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-invitations-dialog.ftl10
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-itip-identity-dialog.ftl8
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-print.ftl17
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-recurrence-dialog.ftl8
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-summary-dialog.ftl15
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-uri-redirect-dialog.ftl12
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-widgets.ftl111
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/category-dialog.ftl7
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/calendar/preferences.ftl192
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/chat/matrix.ftl25
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/crashreporter/aboutcrashes.ftl31
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/aboutdebugging.ftl400
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/accessibility.ftl99
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/application.ftl147
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/compatibility.ftl54
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/perftools.ftl161
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/storage.ftl132
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/styleeditor.ftl51
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/toolbox-options.ftl149
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/toolbox.ftl55
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/client/tooltips.ftl118
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/debugger-paused-reasons.ftl87
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/highlighters.ftl67
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/webconsole-commands.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/devtools/startup/key-shortcuts.ftl38
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/dom/XMLPrettyPrint.ftl5
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/dom/media.ftl6
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/locales-preview/aboutTranslations.ftl28
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/about3Pane.ftl300
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutAddonsExtra.ftl11
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutDialog.ftl65
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutImport.ftl179
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutProfilesExtra.ftl5
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutRights.ftl34
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportCalendar.ftl33
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportChat.ftl11
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportMail.ftl29
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/accountCentral.ftl70
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/accountManager.ftl18
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/accountProvisioner.ftl78
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountHub.ftl58
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountSetup.ftl428
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/addonNotifications.ftl105
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/abCardDAVDialog.ftl26
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/abCardDAVProperties.ftl33
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/aboutAddressBook.ftl283
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/fieldMapImport.ftl12
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/vcard.ftl138
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/appmenu.ftl208
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/chat-verifySession.ftl17
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/chat.ftl47
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/compactFoldersDialog.ftl20
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/exportDialog.ftl22
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/extensionPermissions.ftl24
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/extensions/popup.ftl14
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/extensionsUI.ftl6
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/firefoxAccounts.ftl32
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/flatpak.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/folderprops.ftl10
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/importDialog.ftl30
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/mailWidgets.ftl15
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/menubar.ftl135
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/messageheader/headerFields.ftl71
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/messenger.ftl372
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/messengercompose/messengercompose.ftl399
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/migration.ftl15
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/multimessageview.ftl14
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/backupKeyPassword.ftl17
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/changeExpiryDlg.ftl22
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/composeKeyStatus.ftl24
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/keyAssistant.ftl123
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/keyWizard.ftl192
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/msgReadStatus.ftl76
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/oneRecipientStatus.ftl50
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp-frontend.ftl52
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl703
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/add-finger.ftl16
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/am-im-otr.ftl26
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/auth.ftl59
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/chat.ftl19
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/finger-sync.ftl12
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/finger.ftl20
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/otr.ftl97
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/otrUI.ftl87
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/policies/aboutPolicies.ftl17
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/policies/policies-descriptions.ftl159
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/am-copies.ftl5
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/am-im.ftl23
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/application-manager.ftl10
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/attachment-reminder.ftl21
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/colors.ftl36
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/connection.ftl88
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/cookies.ftl43
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/dock-options.ftl23
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/fonts.ftl134
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/languages.ftl33
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/new-tag.ftl13
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/notifications.ftl29
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/offline.ftl43
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/passwordManager.ftl83
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/permissions.ftl43
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/preferences.ftl773
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/receipts.ftl39
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/sync-dialog.ftl11
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/system-integration.ftl39
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/shortcuts.ftl113
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/syncAccounts.ftl27
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/treeView.ftl11
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/troubleshootMode.ftl33
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbar.ftl92
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbarItems.ftl141
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/messenger/viewSource.ftl19
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/security/certificates/certManager.ftl225
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/security/certificates/deviceManager.ftl133
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/security/pippki/pippki.ftl101
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/services/accounts.ftl8
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAbout.ftl6
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAddons.ftl470
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutCompat.ftl22
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutGlean.ftl103
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutHttpsOnlyError.ftl30
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutLogging.ftl68
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutMozilla.ftl11
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutNetworking.ftl68
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutPerformance.ftl65
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutPlugins.ftl43
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutProcesses.ftl200
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutProfiles.ftl74
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutReader.ftl52
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutRights.ftl36
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutServiceWorkers.ftl40
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutSupport.ftl414
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutTelemetry.ftl136
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutThirdParty.ftl75
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebauthn.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebrtc.ftl320
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWindowsMessages.ftl20
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/abuseReports.ftl106
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/certviewer.ftl122
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/config.ftl55
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/url-classifier.ftl58
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/branding/accounts.ftl7
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/branding/brandings.ftl45
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/contentanalysis/contentanalysis.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/downloads/downloadUI.ftl51
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/downloads/downloadUtils.ftl106
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/featuregates/features.ftl58
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/formautofill/formAutofill.ftl16
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/alert.ftl8
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/appPicker.ftl10
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/browser-utils.ftl11
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/commonDialog.ftl20
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/contextual-identity.ftl29
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/cookieBannerHandling.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/createProfileWizard.ftl53
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/cspErrors.ftl32
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/datepicker.ftl50
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/datetimebox.ftl42
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/extensionPermissions.ftl33
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/extensions.ftl112
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/handlerDialog.ftl108
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/htmlForm.ftl14
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozCard.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozMessageBar.ftl7
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/notification.ftl16
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/popupnotification.ftl10
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/processTypes.ftl61
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/profileDowngrade.ftl20
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/profileSelection.ftl38
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/resetProfile.ftl15
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/run-from-dmg.ftl28
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/tabprompts.ftl13
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/textActions.ftl79
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/timepicker.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/tree.ftl6
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/unknownContentType.ftl42
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/videocontrols.ftl71
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/wizard.ftl37
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/languageNames.ftl214
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/regionNames.ftl280
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/main-window/autocomplete.ftl23
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/main-window/findbar.ftl76
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/certError.ftl141
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/netError.ftl175
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/nsserrors.ftl350
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/passwordmgr/passwordmgr.ftl33
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/payments/payments.ftl51
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/pdfviewer/viewer.ftl299
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/pictureinpicture/pictureinpicture.ftl74
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/preferences/preferences.ftl39
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printDialogs.ftl112
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printPreview.ftl73
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printUI.ftl148
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/elevation.ftl18
-rw-r--r--thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/history.ftl29
-rw-r--r--thunderbird-l10n/es-MX/manifest.json56
517 files changed, 40390 insertions, 0 deletions
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd
new file mode 100644
index 0000000000..092928989f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.dtd
@@ -0,0 +1,13 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!ENTITY 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 y sus logos
+ son marcas registradas de la Fundación Mozilla.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/branding/brand.properties
new file mode 100644
index 0000000000..9dd5011219
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/alerts/alert.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/alerts/alert.properties
new file mode 100644
index 0000000000..16642c65c8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Cerrar
+# 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 = Desactivar notificaciones de %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=vía %1$S
+webActions.settings.label = Configuración de las notificaciones
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = Pausar notificaciones hasta que %S reinicie
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/autoconfig/autoconfig.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..dc7b0d52f9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Error en la cofiguración
+readConfigMsg = No se pudo leer el archivo de configuración. Por favor, ponte en contacto con tu Administrador de sistemas.
+
+autoConfigTitle = Alerta de configuración automática
+autoConfigMsg = Falló Netscape.cfg/AutoConfig. Pónte en contacto con tu Administrador. \n Error: %S falló:
+
+emailPromptTitle = Dirección de correo electrónico
+emailPromptMsg = Introduzca la dirección de correo electrónico
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-alarms.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..157c6adb59
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=El momento en que comienza el evento
+reminderTitleAtStartTask=El momento en el que la tarea comienza
+reminderTitleAtEndEvent=El momento en el que el evento termina
+reminderTitleAtEndTask=El momento en el que la tarea termina
+
+# 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=Recordatorio de silenciar para %1$S
+
+reminderCustomOriginBeginBeforeEvent=antes que el evento inicie
+reminderCustomOriginBeginAfterEvent=después que el evento inicie
+reminderCustomOriginEndBeforeEvent=antes que el evento termine
+reminderCustomOriginEndAfterEvent=después que el evento termine
+reminderCustomOriginBeginBeforeTask=antes que la tarea comience
+reminderCustomOriginBeginAfterTask=después que la tarea inicie
+reminderCustomOriginEndBeforeTask=antes que la tarea termine
+reminderCustomOriginEndAfterTask=después que la tarea termine
+
+reminderErrorMaxCountReachedEvent=El calendario seleccionado tiene una limitación de #1 recordatorio por evento.;El calendario seleccionado tiene una limitación de #1 recordatorios por evento.
+reminderErrorMaxCountReachedTask=El calendario seleccionado tiene una limitación de #1 recordatorio por tarea.;El calendario seleccionado tiene una limitación de #1 recordatorios por tarea.
+
+# 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=Los recordatorios para los calendarios de solo lectura, actualmente no pueden ser silenciados, solo descartados. El botón '%1$S' solo silenciará recordatorios para calendarios que se puedan escribir.
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=Silenciar un recordatorio no está soportado para calendarios de solo lectura
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog-attendees.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..4621ed083a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Asistente requerido
+event.attendee.role.optional = Asistente opcional
+event.attendee.role.nonparticipant = No participante
+event.attendee.role.chair = Preside
+event.attendee.role.unknown = Asistente desconocido (%1$S)
+
+event.attendee.usertype.individual = Individual
+event.attendee.usertype.group = Grupo
+event.attendee.usertype.resource = Recurso
+event.attendee.usertype.room = Salón
+event.attendee.usertype.unknown = Tipo desconocido (%1$S)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..c5a0c8b25e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,433 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.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 "Editar Ítem" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "Mantener duración al cambiar la fecha final">
+<!ENTITY event.dialog.keepDurationButton.accesskey "K">
+
+<!ENTITY newevent.from.label "De" >
+<!ENTITY newevent.to.label "A" >
+
+<!ENTITY newevent.status.label "Estado" >
+<!ENTITY newevent.status.accesskey "S" >
+<!ENTITY newevent.eventStatus.none.label "No especificado" >
+<!ENTITY newevent.eventStatus.none.accesskey "o" >
+<!ENTITY newevent.todoStatus.none.label "No especificado" >
+<!ENTITY newevent.eventStatus.cancelled.label "Cancelado" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "n" >
+<!ENTITY newevent.todoStatus.cancelled.label "Cancelado" >
+<!ENTITY newevent.status.tentative.label "Tentativo" >
+<!ENTITY newevent.status.tentative.accesskey "T" >
+<!ENTITY newevent.status.confirmed.label "Confirmado" >
+<!ENTITY newevent.status.confirmed.accesskey "C" >
+<!ENTITY newevent.status.needsaction.label "Necesita atención" >
+<!ENTITY newevent.status.inprogress.label "En proceso" >
+<!ENTITY newevent.status.completed.label "Completado en" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#37; completado">
+
+<!-- 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 "Notificar asistentes">
+<!ENTITY event.attendees.notify.accesskey "f">
+<!ENTITY event.attendees.notifyundisclosed.label "Separar invitación por asistente">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "x">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "Esta opción envía un correo de invitación por asistente. Cada invitación incluye únicamente al asistente receptor para que las identidades de otros asistentes no sea descubierta.">
+<!ENTITY event.attendees.disallowcounter.label "Desactivar contador">
+<!ENTITY event.attendees.disallowcounter.accesskey "a">
+<!ENTITY event.attendees.disallowcounter.tooltip "Indica que no se aceptarán contraofertas">
+
+<!-- Keyboard Shortcuts -->
+<!ENTITY event.dialog.new.event.key2 "I">
+<!ENTITY event.dialog.new.task.key2 "D">
+<!ENTITY event.dialog.new.message.key2 "N">
+<!ENTITY event.dialog.close.key "W">
+<!ENTITY event.dialog.save.key "S">
+<!ENTITY event.dialog.saveandclose.key "L">
+<!ENTITY event.dialog.print.key "P">
+<!ENTITY event.dialog.undo.key "Z">
+<!ENTITY event.dialog.redo.key "Y">
+<!ENTITY event.dialog.cut.key "X">
+<!ENTITY event.dialog.copy.key "C">
+<!ENTITY event.dialog.paste.key "V">
+<!ENTITY event.dialog.select.all.key "A">
+
+<!-- Menubar -->
+<!ENTITY event.menu.item.new.label "Nuevo">
+<!ENTITY event.menu.item.new.accesskey "N">
+<!ENTITY event.menu.item.new.event.label "Evento">
+<!ENTITY event.menu.item.new.event.accesskey "E">
+<!ENTITY event.menu.item.new.task.label "Tarea">
+<!ENTITY event.menu.item.new.task.accesskey "T">
+<!ENTITY event.menu.item.new.message.label "Mensaje">
+<!ENTITY event.menu.item.new.message.accesskey "M">
+<!ENTITY event.menu.item.new.contact.label "Libro de contactos">
+<!ENTITY event.menu.item.new.contact.accesskey "C">
+<!ENTITY event.menu.item.close.label "Cerrar">
+<!ENTITY event.menu.item.close.accesskey "C">
+
+<!-- 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 "Guardar">
+<!ENTITY event.menu.item.save.accesskey "S">
+<!ENTITY event.menu.item.save.tab.accesskey "a">
+
+<!-- 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 "Guardar y Cerrar">
+<!ENTITY event.menu.item.saveandclose.accesskey "l">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "z">
+
+<!ENTITY event.menu.item.delete.label "Borrar…">
+<!ENTITY event.menu.item.delete.accesskey "D">
+<!ENTITY event.menu.item.page.setup.label "Ajuste de Página">
+<!ENTITY event.menu.item.page.setup.accesskey "u">
+<!ENTITY event.menu.item.print.label "Imprimir">
+<!ENTITY event.menu.item.print.accesskey "P">
+
+<!ENTITY event.menu.edit.label "Editar">
+<!ENTITY event.menu.edit.accesskey "E">
+<!ENTITY event.menu.edit.undo.label "Deshacer">
+<!ENTITY event.menu.edit.undo.accesskey "U">
+<!ENTITY event.menu.edit.redo.label "Rehacer">
+<!ENTITY event.menu.edit.redo.accesskey "R">
+<!ENTITY event.menu.edit.cut.label "Cortar">
+<!ENTITY event.menu.edit.cut.accesskey "t">
+<!ENTITY event.menu.edit.copy.label "Copiar">
+<!ENTITY event.menu.edit.copy.accesskey "C">
+<!ENTITY event.menu.edit.paste.label "Pegar">
+<!ENTITY event.menu.edit.paste.accesskey "P">
+<!ENTITY event.menu.edit.select.all.label "Seleccionar todo">
+<!ENTITY event.menu.edit.select.all.accesskey "A">
+
+<!ENTITY event.menu.view.label "Ver">
+<!ENTITY event.menu.view.accesskey "V">
+<!ENTITY event.menu.view.toolbars.label "Barras de herramientas">
+<!ENTITY event.menu.view.toolbars.accesskey "T">
+<!ENTITY event.menu.view.toolbars.event.label "Barra de eventos">
+<!ENTITY event.menu.view.toolbars.event.accesskey "E">
+<!ENTITY event.menu.view.toolbars.customize.label "Personalizar…">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "C">
+<!ENTITY event.menu.view.showlink.label "Mostrar enlaces relacionados">
+<!ENTITY event.menu.view.showlink.accesskey "R">
+
+<!ENTITY event.menu.options.label "Opciones">
+<!ENTITY event.menu.options.accesskey "O">
+<!ENTITY event.menu.options.attendees.label "Invitar asistentes…">
+<!ENTITY event.menu.options.attendees.accesskey "I">
+<!ENTITY event.menu.options.timezone2.label "Mostrar husos horarios">
+<!ENTITY event.menu.options.timezone2.accesskey "z">
+<!ENTITY event.menu.options.priority2.label "Prioridad">
+<!ENTITY event.menu.options.priority2.accesskey "y">
+<!ENTITY event.menu.options.priority.notspecified.label "No especificado">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "o">
+<!ENTITY event.menu.options.priority.low.label "Baja">
+<!ENTITY event.menu.options.priority.low.accesskey "B">
+<!ENTITY event.menu.options.priority.normal.label "Normal">
+<!ENTITY event.menu.options.priority.normal.accesskey "N">
+<!ENTITY event.menu.options.priority.high.label "Alta">
+<!ENTITY event.menu.options.priority.high.accesskey "A">
+<!ENTITY event.menu.options.privacy.label "Privacidad">
+<!ENTITY event.menu.options.privacy.accesskey "P">
+<!ENTITY event.menu.options.privacy.public.label "Evento Publico">
+<!ENTITY event.menu.options.privacy.public.accesskey "u">
+<!ENTITY event.menu.options.privacy.confidential.label "Mostrar horario y fecha solamente">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "S">
+<!ENTITY event.menu.options.privacy.private.label "Evento privado">
+<!ENTITY event.menu.options.privacy.private.accesskey "r">
+<!ENTITY event.menu.options.show.time.label "Mostrar horario como">
+<!ENTITY event.menu.options.show.time.accesskey "T">
+<!ENTITY event.menu.options.show.time.busy.label "Ocupado">
+<!ENTITY event.menu.options.show.time.busy.accesskey "B">
+<!ENTITY event.menu.options.show.time.free.label "Libre">
+<!ENTITY event.menu.options.show.time.free.accesskey "F">
+
+<!ENTITY event.invite.attendees.label "Invitar asistentes…">
+<!ENTITY event.invite.attendees.accesskey "I">
+<!ENTITY event.email.attendees.label "Redactar correo a todos los asistentes…">
+<!ENTITY event.email.attendees.accesskey "A">
+<!ENTITY event.email.tentative.attendees.label "Redactar correo electrónico a los participantes indecisos…">
+<!ENTITY event.email.tentative.attendees.accesskey "U">
+<!ENTITY event.remove.attendees.label2 "Remover todos los asistentes">
+<!ENTITY event.remove.attendees.accesskey "r">
+<!ENTITY event.remove.attendee.label "Remover asistente">
+<!ENTITY event.remove.attendee.accesskey "e">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "Guardar">
+<!ENTITY event.toolbar.saveandclose.label "Guardar y Cerrar">
+<!ENTITY event.toolbar.delete.label "Borrar">
+<!ENTITY event.toolbar.attendees.label "Invitar Asistentes">
+<!ENTITY event.toolbar.privacy.label "Privacidad">
+
+<!ENTITY event.toolbar.save.tooltip2 "Guardar">
+<!ENTITY event.toolbar.saveandclose.tooltip "Guardar y Cerrar">
+<!ENTITY event.toolbar.delete.tooltip "Borrar">
+<!ENTITY event.toolbar.attendees.tooltip "Invitar Asistentes">
+<!ENTITY event.toolbar.attachments.tooltip "Agregar Adjuntos">
+<!ENTITY event.toolbar.privacy.tooltip "Cambiar Privacidad">
+<!ENTITY event.toolbar.priority.tooltip "Cambiar Prioridad">
+<!ENTITY event.toolbar.status.tooltip "Cambiar Estado">
+<!ENTITY event.toolbar.freebusy.tooltip "Cambiar tiempo libre/ocupado">
+
+<!-- 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 "Aplicar propuesta">
+<!ENTITY counter.button.proposal.accesskey "p">
+<!ENTITY counter.button.proposal.tooltip2 "Los campos de eventos se llenarán usando los valores de la contrapropuesta, guardando con o sin cambios adicionales notificará a todos los participantes en consecuencia">
+<!ENTITY counter.button.original.label "Aplicar datos originales">
+<!ENTITY counter.button.original.accesskey "r">
+<!ENTITY counter.button.original.tooltip2 "Los campos se establecerán con los valores del evento original, antes de la contrapropuesta">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "Título:" >
+<!ENTITY event.title.textbox.accesskey "T">
+<!ENTITY event.location.label "Ubicación:" >
+<!ENTITY event.location.accesskey "U">
+<!ENTITY event.categories.label "Categoría:">
+<!ENTITY event.categories.accesskey "y">
+<!ENTITY event.categories.textbox.label "Agregar nueva categoría" >
+<!ENTITY event.calendar.label "Calendario:" >
+<!ENTITY event.calendar.accesskey "C">
+<!ENTITY event.attendees.label "Asistentes:" >
+<!ENTITY event.attendees.accesskey "n">
+<!ENTITY event.alldayevent.label "Evento de todo el día" >
+<!ENTITY event.alldayevent.accesskey "d">
+<!ENTITY event.from.label "Inicio:" >
+<!ENTITY event.from.accesskey "I">
+<!ENTITY task.from.label "Inicio:" >
+<!ENTITY task.from.accesskey "I">
+<!ENTITY event.to.label "Fin:" >
+<!ENTITY event.to.accesskey "u">
+<!ENTITY task.to.label "Fecha de fin:" >
+<!ENTITY task.to.accesskey "u">
+<!ENTITY task.status.label "Estado:" >
+<!ENTITY task.status.accesskey "a">
+<!ENTITY event.repeat.label "Repetir:" >
+<!ENTITY event.repeat.accesskey "R">
+<!ENTITY event.until.label "Hasta:">
+<!ENTITY event.until.accesskey "B">
+<!ENTITY event.reminder.label "Recordatorio:" >
+<!ENTITY event.reminder.accesskey "m">
+<!ENTITY event.description.label "Descripción:" >
+<!ENTITY event.description.accesskey "p">
+<!ENTITY event.attachments.label "Adjuntos:" >
+<!ENTITY event.attachments.accesskey "h" >
+<!ENTITY event.attachments.menubutton.label "Adjuntar">
+<!ENTITY event.attachments.menubutton.accesskey "A">
+<!ENTITY event.attachments.url.label "Página web…">
+<!ENTITY event.attachments.url.accesskey "W">
+<!ENTITY event.attachments.popup.remove.label "Eliminar" >
+<!ENTITY event.attachments.popup.remove.accesskey "R" >
+<!ENTITY event.attachments.popup.open.label "Abrir" >
+<!ENTITY event.attachments.popup.open.accesskey "O" >
+<!ENTITY event.attachments.popup.removeAll.label "Eliminar Todo" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "E" >
+<!ENTITY event.attachments.popup.attachPage.label "Adjuntar página web…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "g" >
+<!ENTITY event.url.label "Enlace relacionado:" >
+<!ENTITY event.priority2.label "Prioridad:">
+
+<!ENTITY event.reminder.none.label "Sin recordatorio " >
+<!ENTITY event.reminder.0minutes.before.label "0 minutos antes" >
+<!ENTITY event.reminder.5minutes.before.label "5 minutos antes" >
+<!ENTITY event.reminder.15minutes.before.label "15 minutos antes" >
+<!ENTITY event.reminder.30minutes.before.label "30 minutos antes" >
+<!ENTITY event.reminder.1hour.before.label "1 hora antes" >
+<!ENTITY event.reminder.2hours.before.label "2 horas antes" >
+<!ENTITY event.reminder.12hours.before.label "12 horas antes" >
+<!ENTITY event.reminder.1day.before.label "1 día antes" >
+<!ENTITY event.reminder.2days.before.label "2 días antes" >
+<!ENTITY event.reminder.1week.before.label "1 semana antes" >
+<!ENTITY event.reminder.custom.label "Personalizar…" >
+
+<!ENTITY event.reminder.multiple.label "Recordatorios múltiples…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "Hora como:">
+<!ENTITY event.statusbarpanel.privacy.label "Privacidad:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "Editar recurrencia">
+
+<!ENTITY event.repeat.does.not.repeat.label "No repetir">
+<!ENTITY event.repeat.daily.label "Diario">
+<!ENTITY event.repeat.weekly.label "Semanal">
+<!ENTITY event.repeat.every.weekday.label "Cada día de la semana">
+<!ENTITY event.repeat.bi.weekly.label "Quincenal">
+<!ENTITY event.repeat.monthly.label "Mensual">
+<!ENTITY event.repeat.yearly.label "Anual">
+<!ENTITY event.repeat.custom.label "Personalizar…">
+
+<!ENTITY event.recurrence.pattern.label "Patrón de recurrencia">
+<!ENTITY event.recurrence.occurs.label "Repetir" >
+<!ENTITY event.recurrence.day.label "diario" >
+<!ENTITY event.recurrence.week.label "semanal" >
+<!ENTITY event.recurrence.month.label "mensual" >
+<!ENTITY event.recurrence.year.label "anual" >
+
+<!ENTITY event.recurrence.pattern.every.label "Cada" >
+<!ENTITY repeat.units.days.both "Día(s)" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "Cada día de la semana" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "Cada" >
+<!ENTITY repeat.units.weeks.both "Semana(s)" >
+<!ENTITY event.recurrence.on.label "En:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "Cada" >
+<!ENTITY repeat.units.months.both "Mes(es)" >
+<!ENTITY event.recurrence.monthly.every.label "Cada" >
+<!ENTITY event.recurrence.monthly.first.label "El primer">
+<!ENTITY event.recurrence.monthly.second.label "El segundo">
+<!ENTITY event.recurrence.monthly.third.label "El tercero">
+<!ENTITY event.recurrence.monthly.fourth.label "El cuarto">
+<!ENTITY event.recurrence.monthly.fifth.label "El quinto">
+<!ENTITY event.recurrence.monthly.last.label "El último">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "Domingo" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "Lunes" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "Martes" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "Miércoles" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "Jueves" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "Viernes" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "Sábado" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "Día del mes">
+<!ENTITY event.recurrence.repeat.recur.label "Repetir en día(s)">
+
+<!ENTITY event.recurrence.every.label "Cada:" >
+<!ENTITY repeat.units.years.both "Año(s)" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "Cada" >
+
+<!-- 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 "Enero" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "Febrero" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "Marzo" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "Abril" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "Mayo" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "Junio" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "Julio" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "Agosto" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "Septiembre" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "Octubre" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "Noviembre" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "Diciembre" >
+<!ENTITY event.recurrence.yearly.every.label "Cada">
+<!ENTITY event.recurrence.yearly.first.label "El primero">
+<!ENTITY event.recurrence.yearly.second.label "El segundo">
+<!ENTITY event.recurrence.yearly.third.label "El tercero">
+<!ENTITY event.recurrence.yearly.fourth.label "El cuarto">
+<!ENTITY event.recurrence.yearly.fifth.label "El quinto">
+<!ENTITY event.recurrence.yearly.last.label "El último">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "Domingo" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "Lunes" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "Martes" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "Miércoles" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "Jueves" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "Viernes" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "Sábado" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "día" >
+<!ENTITY event.recurrence.of.label "de" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "Enero" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "Febrero" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "Marzo" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "Abril" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "Mayo" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "Junio" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "Julio" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "Agosto" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "Septiembre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "Octubre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "Noviembre" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "Diciembre" >
+
+<!ENTITY event.recurrence.range.label "Rango de recurrencia">
+<!ENTITY event.recurrence.forever.label "Sin fecha final" >
+<!ENTITY event.recurrence.repeat.for.label "Crear" >
+<!ENTITY event.recurrence.appointments.label "Cita(s)" >
+<!ENTITY event.repeat.until.label "Repetir hasta" >
+<!ENTITY event.recurrence.preview.label "Vista previa">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "Invitar asistentes">
+<!ENTITY event.organizer.label "Organizar">
+<!ENTITY event.freebusy.suggest.slot "Sugerir intervalo de tiempo:">
+<!ENTITY event.freebusy.button.next.slot "Próximo intervalo">
+<!ENTITY event.freebusy.button.previous.slot "Intervalo anterior">
+<!ENTITY event.freebusy.zoom "Zoom:">
+<!ENTITY event.freebusy.legend.free "Libre" >
+<!ENTITY event.freebusy.legend.busy "Ocupado" >
+<!ENTITY event.freebusy.legend.busy_tentative "Tentativo" >
+<!ENTITY event.freebusy.legend.busy_unavailable "Fuera de la oficina" >
+<!ENTITY event.freebusy.legend.unknown "Sin información" >
+<!ENTITY event.attendee.role.required "Asistencia obligatoria">
+<!ENTITY event.attendee.role.optional "Asistencia opcional">
+<!ENTITY event.attendee.role.chair "Coordinador">
+<!ENTITY event.attendee.role.nonparticipant "No participante">
+<!ENTITY event.attendee.usertype.individual "Individual">
+<!ENTITY event.attendee.usertype.group "Grupo">
+<!ENTITY event.attendee.usertype.resource "Recurso">
+<!ENTITY event.attendee.usertype.room "Salón">
+<!ENTITY event.attendee.usertype.unknown "Desconocido">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "Por favor, especifique el huso horario">
+<!ENTITY event.timezone.custom.label "Más husos horarios…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "General">
+<!ENTITY read.only.title.label "Título:">
+<!ENTITY read.only.calendar.label "Calendario:">
+<!ENTITY read.only.event.start.label "Fecha de inicio:">
+<!ENTITY read.only.task.start.label "Fecha de inicio:">
+<!ENTITY read.only.event.end.label "Fecha de fin:">
+<!ENTITY read.only.task.due.label "Fecha de fin:">
+<!ENTITY read.only.repeat.label "Repetir:">
+<!ENTITY read.only.location.label "Ubicación:">
+<!ENTITY read.only.category.label "Categoría:">
+<!ENTITY read.only.organizer.label "Organizador:">
+<!ENTITY read.only.reply.label "Responder:">
+<!ENTITY read.only.accept.label "Participaré">
+<!ENTITY read.only.decline.label "No participaré">
+<!ENTITY read.only.tentative.label "Podría participar">
+<!ENTITY read.only.needs.action.label "Confirmaré después">
+<!ENTITY read.only.reminder.label "Recordatorio:">
+<!ENTITY read.only.attachments.label "Adjuntos:">
+<!ENTITY read.only.attendees.label "Asistentes">
+<!ENTITY read.only.description.label "Descripción">
+<!ENTITY read.only.link.label "Enlaces relacionados">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "Guardar y cerrar">
+<!ENTITY summary.dialog.saveclose.tooltiptext "Guardar los cambios y cerrar la ventana sin cambiar el estado de participación y enviar una respuesta">
+<!ENTITY summary.dialog.accept.label "Aceptar">
+<!ENTITY summary.dialog.accept.tooltiptext "Aceptar la invitación">
+<!ENTITY summary.dialog.tentative.label "Tentativo">
+<!ENTITY summary.dialog.tentative.tooltiptext "Aceptar la invitación tentativamente">
+<!ENTITY summary.dialog.decline.label "Rechazar">
+<!ENTITY summary.dialog.decline.tooltiptext "Rechazar la invitación">
+<!ENTITY summary.dialog.dontsend.label "No enviar una respuesta">
+<!ENTITY summary.dialog.dontsend.tooltiptext "Cambiar tu estado de participación sin enviar una respuesta al organizador y cerrar la ventana">
+<!ENTITY summary.dialog.send.label "Enviar una respuesta ahora">
+<!ENTITY summary.dialog.send.tooltiptext "Enviar una respuesta al organizador y cerrar la ventana">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..d1196b4bfe
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=cada día;cada #1 días
+repeatDetailsRuleDaily4=cada día de la semana
+
+# 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=cada %1$S;cada #2 semanas los %1$S
+weeklyNthOnNounclass2=cada %1$S;cada #2 semanas los %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=cada semana;cada #1 semanas
+
+# 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=Domingo
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=Lunes
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=Martes
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=Miércoles
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=Jueves
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=Viernes
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=Sábado
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=y
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+# (ordinal and weekday of every element in the list follow the order
+# and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+monthlyRuleNthOfEveryNounclass1=%1$S de cada mes;%1$S de cada #2 meses
+monthlyRuleNthOfEveryNounclass2=%1$S de cada mes;%1$S de cada #2 meses
+
+# 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=cada %1$S de cada mes;cada %1$S de cada #2 meses
+monthlyEveryOfEveryNounclass2=cada %1$S de cada mes;cada %1$S de cada #2 meses
+
+# 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=día %1$S;días %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 cada mes;%1$S de cada #2 meses
+
+# 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=el último día del mes; el último día de cada #1 meses
+
+# 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=cada día de cada mes;cada día del mes cada #2 meses
+
+# 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=el primer
+repeatOrdinal2Nounclass1=el segundo
+repeatOrdinal3Nounclass1=el tercer
+repeatOrdinal4Nounclass1=el cuarto
+repeatOrdinal5Nounclass1=el quinto
+repeatOrdinal-1Nounclass1=el último
+repeatOrdinal1Nounclass2=la primera
+repeatOrdinal2Nounclass2=la segunda
+repeatOrdinal3Nounclass2=la tercera
+repeatOrdinal4Nounclass2=la cuarta
+repeatOrdinal5Nounclass2=la quinta
+repeatOrdinal-1Nounclass2=la última
+
+# 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=cada %1$S %2$S;cada #3 años el %2$S de %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=%1$S %2$S de cada %3$S;cada #4 años el %1$S %2$S de %3$S
+yearlyNthOnNthOfNounclass2=%1$S %2$S de cada %3$S;cada #4 años el %1$S %2$S 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=cada %1$S de %2$S;cada #3 años en cada %1$S de %2$S
+yearlyOnEveryNthOfNthNounclass2=cada %1$S de %2$S;cada #3 años en cada %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=cada día de %1$S;cada día de %1$S cada #2 años
+
+repeatDetailsMonth1=Enero
+repeatDetailsMonth2=Febrero
+repeatDetailsMonth3=Marzo
+repeatDetailsMonth4=Abril
+repeatDetailsMonth5=Mayo
+repeatDetailsMonth6=Junio
+repeatDetailsMonth7=Julio
+repeatDetailsMonth8=Agosto
+repeatDetailsMonth9=Septiembre
+repeatDetailsMonth10=Octubre
+repeatDetailsMonth11=Noviembre
+repeatDetailsMonth12=Diciembre
+
+# 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=Ocurre %1$S\nefectivo %2$S por #5 vez\ndesde %3$S a %4$S.;Ocurre %1$S\nefectivo %2$S por #5 veces\ndesde %3$S a %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=Ocurre %1$S\nefectivo %2$S por #3 vez.;Ocurre %1$S\nefectivo %2$S por #3 vez.
+
+# 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=Ocurre %1$S\nefectivo %2$S hasta %3$S\ndesde %4$S a %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=Ocurre %1$S\nefectivo %2$S hasta %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=Ocurre %1$S\nefectivo %2$S\ndesde %3$S a %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=Ocurre %1$S\nefectivo %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=el último día
+
+# 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=Haz clic aquí para más detalles
+
+# 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=Detalles de repetición desconocidos
+
+# differences between the dialog for an Event or a Task
+newEvent=Nuevo evento
+newTask=Nueva Tarea
+itemMenuLabelEvent=Evento
+itemMenuAccesskeyEvent2=T
+itemMenuLabelTask=Tarea
+itemMenuAccesskeyTask2=T
+
+emailSubjectReply=Re: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=Por favor, especifica la ubicación del enlace
+enterLinkLocation=Ingresa una página web o ubicación del documento.
+
+summaryDueTaskLabel=Vencimiento:
+
+# Attach File Dialog
+attachViaFilelink=Archivo usando %1$S
+selectAFile=Por favor, selecciona el archivo(s) a adjuntar
+removeCalendarsTitle=Eliminar adjuntos
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=¿Realmente deseas eliminar #1 adjunto?;¿Realmente desea eliminar #1 adjuntos?
+
+# 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 %2$S %3$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=falso
+
+# 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=Domingo
+repeatDetailsDay2Plural=Lunes
+repeatDetailsDay3Plural=Martes
+repeatDetailsDay4Plural=Miércoles
+repeatDetailsDay5Plural=Jueves
+repeatDetailsDay6Plural=Viernes
+repeatDetailsDay7Plural=Sábado
+
+# 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=Para siempre
+
+# 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=Último día
+
+# 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 ha aceptado la invitación, pero ha hecho una contrapropuesta:
+
+# 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 ha declinado la invitación, pero ha hecho una contrapropuesta:
+
+# 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 ha delegado la invitación, pero ha hecho una contrapropuesta:
+
+# 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 no ha decidido si participar y hacer una contrapropuesta:
+
+# 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 ha aceptado la invitación sólo tentativamente e hizo una contrapropuesta:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=Esta es una contrapropuesta a una versión previa de este evento.
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=Tú deshabilitaste oponerse cuando enviaste la invitación.
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=Aceptaste esta invitación
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=Aceptaste esta invitación tentativamente
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=Declinaste esta invitación
+
+# 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=Delegaste esta invitación
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=No has respondido a esta invitación
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=Aceptaste trabajar en esta tarea
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=Aceptaste tentativamente trabajar en esta tarea
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=Declinaste trabajar en esta tarea
+
+# 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=Delegaste el trabajo en esta tarea
+
+# 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=Aún no has respondido a esta asignación de tarea
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=Comenzaste a trabajar en esta tarea asignada
+
+# 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=Completaste tu trabajo en esta tarea asignada
+
+# 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=Enviar y cerrar
+
+# 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=Notificar a los participantes y cerrar
+
+# 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=Guardar y enviar
+
+# 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=Guardar y notificar a los participantes
+
+# 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=Guardar y enviar
+
+# 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=Enviar y cerrar
+
+# 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=Participantes (%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=Adjuntos (%1$S):
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-extract.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..195885a6d0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-extract.properties
@@ -0,0 +1,294 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+# Strings here are used to create events and tasks with start and end times
+# based on email content.
+# None of the strings are displayed in the user interface.
+#
+# You don't have to fill all from.*, until.*, *.prefix and *.suffix patterns.
+# It's ok to leave some empty.
+# Please consider declensions and gender if your language has them.
+# Don't just translate directly. The number of variants doesn't have to be
+# the same as in en-US. All of 0, 1, 2, etc is allowed in patterns except alphabet
+# pattern. You can and should add language specific variants.
+#
+# There are two different ways to find a start time text in email:
+# 1) it matches a from.* pattern and does not have end.prefix or end.suffix next to it
+# 2) it matches until.* pattern and has start.prefix or start.suffix next to it
+# Similar inverse logic applies to end times.
+# These rules enable using prefix and suffix values with only start.* or only until.*
+# patterns localized for some languages and thus not having to repeat the same
+# values in both.
+#
+# Patterns are partially space-insensitive.
+# "deadline is" pattern will find both "deadlineis" and "deadline is"
+# but "deadlineis" won't find "deadline is" or "deadline is".
+# Therefore you should include all spaces that are valid within a pattern.
+
+# LOCALIZATION NOTE (start.prefix):
+# datetimes with these in front are extracted as start times
+# can be a list of values, separate variants by |
+start.prefix =
+
+# LOCALIZATION NOTE (start.suffix):
+# datetimes followed by these are extracted as start times
+start.suffix = para | hasta | - | y |
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = para | hasta | - | hasta | y | entrega: | termina | el plazo se vence | fecha de entrega:
+
+# 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 = semana pasada | enviado | correo | correo electrónico | en vez de | > | desafortunadamente | en | no
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = floor | flr | : | email | e-mail | > | % | usd | dollars | $
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = hoy
+
+from.tomorrow = mañana
+# 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 = #1o | #1o | #1o | #1o
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# #1 = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+from.noon = mediodía
+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 = a las #1 | al rededor de las #1 | #1 - | #1 a
+
+# 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 | a #1 | hasta #1 | por #1
+
+# LOCALIZATION NOTE (from.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.am = #1 am | #1 a.m.
+
+# LOCALIZATION NOTE (until.hour.am):
+# #1 = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =
+
+# LOCALIZATION NOTE (from.hour.pm):
+# #1 = matches numbers 0-23 and number.0-number.23
+from.hour.pm = #1 pm | #1 p.m. | #1 p
+
+# 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 = media hora antes de la(s) #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 = media hora después de la(s) #1
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes = #1:#2 | a #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 am | #1:#2 a.m.
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.am =
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+from.hour.minutes.pm = #1:#2 pm | #1:#2 p.m. | #1:#2 p
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# #1 = matches numbers 0-23
+# #2 = matches numbers 0-59
+until.hour.minutes.pm =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# #1 = matches numbers 1-31 and number.x
+# #2 = matches monthname
+from.monthname.day = #1 #2 | #2 #1 | #2 #1ero | #2 #1do | #2 #1cer | #2 #1to | #1ero de #2 | #1do de #2 | #1ero de #2 | #1ero de #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 = #2/#1
+
+# 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 = #2/#1/#3 | #3/#2/#1 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.month.day):
+# #1 = matches numbers 1-31
+# #2 = matches numbers 1-12
+# #3 = matches 2/4 numbers
+until.year.month.day =
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+from.year.monthname.day = #1 #2 #3 | #1ero #2 #3 | #1do #2 #3 | #1ero #2 #3 | #1to #2 #3 | #2 #1, #3 | #3-#2-#1
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# #1 = matches numbers 1-31
+# #2 = matches monthname
+# #3 = matches 2/4 numbers
+until.year.monthname.day =
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.minutes = #1 minutos | #1 min | #1 mins
+
+# LOCALIZATION NOTE (duration.hours):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.hours = #1 hora | #1 horas
+
+# LOCALIZATION NOTE (duration.days):
+# #1 = matches 1/2 numbers and number.0 - and number.31
+duration.days = #1 días
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = enero | ene | ene.
+month.2 = febrero | feb | feb.
+month.3 = marzo | mar | mar.
+month.4 = abril | abr | abr.
+month.5 = mayo
+month.6 = junio | jun | jun.
+month.7 = julio | jul | jul.
+month.8 = agosto | ago | ago.
+month.9 = septiembre | sep | sep. | sept.
+month.10 = octubre | oct | oct.
+month.11 = noviembre | nov | nov.
+month.12 = diciembre | dic | dic.
+
+# 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 = domingo | domingos
+from.weekday.1 = lunes | lunes
+from.weekday.2 = martes | martes
+from.weekday.3 = miércoles | miércoles
+from.weekday.4 = jueves | jueves
+from.weekday.5 = viernes | viernes
+from.weekday.6 = sábado | sábados
+
+# 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 = cero
+number.1 = uno | primero
+number.2 = dos | segundo
+number.3 = tres | tercero
+number.4 = cuatro | cuarto
+number.5 = cinco | quinto
+number.6 = seis | sexto
+number.7 = siete | séptimo
+number.8 = ocho | octavo
+number.9 = nueve | noveno
+number.10 = diez | décimo
+number.11 = once | undécimo
+number.12 = doce | duodécimo
+number.13 = trece | decimotercero
+number.14 = catorce | decimocuarto
+number.15 = quince | decimoquinto
+number.16 = dieciséis | decimosexto
+number.17 = diecisiete | decimoséptimo
+number.18 = dieciocho | decimoctavo
+number.19 = diecinueve | decimonoveno
+number.20 = veinte | vigésimo
+number.21 = veintiuno | vigesimoprimero
+number.22 = veintidos | vigesimosegundo
+number.23 = veintitres | vigesimotercero
+number.24 = veinticuatro | vigesimocuarto
+number.25 = veinticinco | vigesimoquinto
+number.26 = veintiseis | vigesimosexto
+number.27 = veintisiete | vigesimoséptimo
+number.28 = veintiocho | vigesimoctavo
+number.29 = veintinueve | vigesimonoveno
+number.30 = treinta | trigésimo
+number.31 = treintaiuno | trigésimo primero
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-invitations-dialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..44fafae997
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Invitaciones">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "Actualizar la lista de invitaciones.">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "No se encontraron invitaciones sin confirmar.">
+
+<!-- Calendar Invitations List -->
+<!ENTITY calendar.invitations.list.accept.button.label "Aceptar">
+<!ENTITY calendar.invitations.list.decline.button.label "Rechazar">
+<!ENTITY calendar.invitations.list.recurrentevent.text "Evento repetitivo">
+<!ENTITY calendar.invitations.list.alldayevent.text "Evento de todo el día">
+<!ENTITY calendar.invitations.list.location.text "Ubicación: ">
+<!ENTITY calendar.invitations.list.organizer.text "Organizador: ">
+<!ENTITY calendar.invitations.list.attendee.text "Asistente: ">
+<!ENTITY calendar.invitations.list.none.text "Ninguno">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-invitations-dialog.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..a2282ca7ba
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Evento de todo el día
+recurrent-event=Evento repetitivo
+location=Ubicación: %S
+organizer=Organizador: %S
+attendee=Participante: %S
+none=Ninguno
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-occurrence-prompt.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..5864a9335f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "f">
+<!ENTITY buttons.parent.accesskey "a">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-occurrence-prompt.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..1df8175723
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar-occurrence-prompt.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/.
+
+header.isrepeating.event.label=es un evento repetitivo
+header.isrepeating.task.label=es una tarea repetitiva
+
+header.containsrepeating.event.label=contiene eventos repetidos
+header.containsrepeating.task.label=contiene tareas repetidas
+header.containsrepeating.mixed.label=contiene elementos de diferente tipo repetidos
+
+windowtitle.event.copy=Copiar evento repetido
+windowtitle.task.copy=Copiar tarea repetida
+windowtitle.mixed.copy=Copiar elementos repetidos
+windowtitle.event.cut=Cortar evento repetido
+windowtitle.task.cut=Cortar tarea repetida
+windowtitle.mixed.cut=Cortar elementos repetidos
+windowtitle.event.delete=Eliminar evento repetitivo
+windowtitle.task.delete=Eliminar tarea repetitiva
+windowtitle.mixed.delete=Eliminar elementos repetidos
+windowtitle.event.edit=Editar evento repetitivo
+windowtitle.task.edit=Editar tarea repetitiva
+
+buttons.occurrence.delete.label=Eliminar sólo esta ocasión
+buttons.occurrence.edit.label=Editar sólo esta ocasión
+
+buttons.allfollowing.delete.label=Eliminar esta y todas las futuras ocasiones
+buttons.allfollowing.edit.label=Editar esta y todas las futuras ocasiones
+
+buttons.parent.delete.label=Eliminar todas las ocasiones
+buttons.parent.edit.label=Editar todas las ocasiones
+windowtitle.mixed.edit=Editar elementos repetidos
+windowtitle.multipleitems=Elementos seleccionados
+
+buttons.single.occurrence.copy.label=Copiar solo esta ocurrencia
+buttons.single.occurrence.cut.label=Cortar solo esta ocurrencia
+buttons.single.occurrence.delete.label=Eliminar solo esta ocurrencia
+buttons.single.occurrence.edit.label=Editar solo esta ocurrencia
+
+buttons.multiple.occurrence.copy.label=Copiar solo ocurrencias seleccionadas
+buttons.multiple.occurrence.cut.label=Cortar solo ocurrencias seleccionadas
+buttons.multiple.occurrence.delete.label=Eliminar solo ocurrencias seleccionadas
+buttons.multiple.occurrence.edit.label=Editar solo ocurrencias seleccionadas
+
+buttons.single.allfollowing.copy.label=Copiar esta y todas las ocurrencias futuras
+buttons.single.allfollowing.cut.label=Cortar esta y todas las ocurrencias futuras
+buttons.single.allfollowing.delete.label=Eliminar esta y todas las ocurrencias futuras
+buttons.single.allfollowing.edit.label=Editar esta y todas las ocurrencias futuras
+
+buttons.multiple.allfollowing.copy.label=Copiar ocurrencias seleccionadas y futuras
+buttons.multiple.allfollowing.cut.label=Cortar ocurrencias seleccionadas y futuras
+buttons.multiple.allfollowing.delete.label=Eliminar ocurrencias seleccionadas y futuras
+buttons.multiple.allfollowing.edit.label=Editar ocurrencias seleccionadas y futuras
+
+buttons.single.parent.copy.label=Copiar todas las ocurrencias
+buttons.single.parent.cut.label=Cortar todas las ocurrencias
+buttons.single.parent.delete.label=Eliminar todas las ocurrencias
+buttons.single.parent.edit.label=Editar todas las ocurrencias
+
+buttons.multiple.parent.copy.label=Copiar todas las ocurrencias y elementos seleccionados
+buttons.multiple.parent.cut.label=Cortar todas las ocurrencias y elementos seleccionados
+buttons.multiple.parent.delete.label=Eliminar todas las ocurrencias y elementos seleccionados
+buttons.multiple.parent.edit.label=Editar todas las ocurrencias de elementos seleccionados
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar.dtd
new file mode 100644
index 0000000000..2593352a07
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar.dtd
@@ -0,0 +1,411 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- General -->
+<!ENTITY calendar.calendar.label "Calendario">
+<!ENTITY calendar.calendar.accesskey "C">
+
+<!ENTITY calendar.newevent.button.tooltip "Crear un nuevo evento" >
+<!ENTITY calendar.newtask.button.tooltip "Crear una nueva tarea" >
+
+<!ENTITY calendar.unifinder.todoitems.label "Tareas" >
+
+<!ENTITY calendar.unifinder.showcompletedtodos.label "Mostrar tareas completadas">
+
+<!ENTITY calendar.today.button.label "Hoy">
+<!ENTITY calendar.tomorrow.button.label "Mañana">
+<!ENTITY calendar.upcoming.button.label "Próximamente">
+
+<!ENTITY calendar.events.filter.all.label "Todos los eventos">
+<!ENTITY calendar.events.filter.today.label "Eventos de hoy">
+<!ENTITY calendar.events.filter.future.label "Todos los eventos futuros">
+<!ENTITY calendar.events.filter.current.label "Día seleccionado actualmente">
+<!ENTITY calendar.events.filter.currentview.label "Eventos en la vista actual">
+<!ENTITY calendar.events.filter.next7Days.label "Eventos en los siguientes 7 días">
+<!ENTITY calendar.events.filter.next14Days.label "Eventos en los siguientes 14 días">
+<!ENTITY calendar.events.filter.next31Days.label "Eventos en los siguientes 31 días">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "Eventos en el calendario este mes">
+
+<!-- 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 "Hecho">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "Ordenar por hechos">
+<!ENTITY calendar.unifinder.tree.priority.label "Prioridad">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "Ordenar por prioridad">
+<!ENTITY calendar.unifinder.tree.title.label "Título">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "Ordenar por título">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "&#37; completo">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "Ordenar por &#37; completo">
+<!ENTITY calendar.unifinder.tree.startdate.label "Inicio">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "Ordenar por fecha de inicio">
+<!ENTITY calendar.unifinder.tree.enddate.label "Termino">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "Ordenar por fecha de termino">
+<!ENTITY calendar.unifinder.tree.duedate.label "Vencimiento">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "Ordenar por fecha de vencimiento">
+<!ENTITY calendar.unifinder.tree.completeddate.label "Completos">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "Ordenar por fecha en que se completó">
+<!ENTITY calendar.unifinder.tree.categories.label "Categoria">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "Ordenar por categoría">
+<!ENTITY calendar.unifinder.tree.location.label "Ubicación">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "Ordenar por ubicación">
+<!ENTITY calendar.unifinder.tree.status.label "Estado">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "Ordenar por estado">
+<!ENTITY calendar.unifinder.tree.calendarname.label "Nombre de calendario">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "Ordenar por nombre de calendario">
+<!ENTITY calendar.unifinder.tree.duration.label "Vence en">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "Ordenar por duración">
+<!ENTITY calendar.unifinder.close.tooltip "Cerrar el buscador de eventos y la lista de eventos">
+
+<!ENTITY calendar.today.button.tooltip "Ir a Hoy" >
+<!ENTITY calendar.todaypane.button.tooltip "Mostrar vista de hoy" >
+
+<!ENTITY calendar.day.button.tooltip "Cambiar a vista por día" >
+<!ENTITY calendar.week.button.tooltip "Cambiar a vista por semana" >
+<!ENTITY calendar.month.button.tooltip "Cambiar a vista por mes" >
+<!ENTITY calendar.multiweek.button.tooltip "Cambiar a vista multisemana" >
+
+<!ENTITY calendar.nextday.label "Día siguiente" >
+<!ENTITY calendar.prevday.label "Día anterior" >
+<!ENTITY calendar.nextday.accesskey "x" >
+<!ENTITY calendar.prevday.accesskey "s" >
+<!ENTITY calendar.nextweek.label "Próxima semana" >
+<!ENTITY calendar.prevweek.label "Semana anterior" >
+<!ENTITY calendar.nextweek.accesskey "x" >
+<!ENTITY calendar.prevweek.accesskey "s" >
+<!ENTITY calendar.nextmonth.label "Próximo mes" >
+<!ENTITY calendar.prevmonth.label "Mes anterior" >
+<!ENTITY calendar.nextmonth.accesskey "x" >
+<!ENTITY calendar.prevmonth.accesskey "s" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "Un día después" >
+<!ENTITY calendar.navigation.prevday.tooltip "Un día atrás" >
+<!ENTITY calendar.navigation.nextweek.tooltip "Una semana después" >
+<!ENTITY calendar.navigation.prevweek.tooltip "Una semana atrás" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "Un mes después" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "Un mes atrás" >
+
+<!ENTITY calendar.newevent.button.label "Nuevo evento" >
+<!ENTITY calendar.newtask.button.label "Nueva tarea" >
+<!ENTITY calendar.print.button.label "Imprimir" >
+<!ENTITY calendar.print.button.accesskey "P">
+
+<!ENTITY calendar.day.button.label "Día" >
+<!ENTITY calendar.week.button.label "Semana" >
+<!ENTITY calendar.month.button.label "Mes" >
+<!ENTITY calendar.multiweek.button.label "Multisemana" >
+<!ENTITY calendar.onlyworkday.checkbox.label "Sólo días laborales" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "r" >
+<!ENTITY calendar.displaytodos.checkbox.label "Tareas en la vista" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "k" >
+<!ENTITY calendar.completedtasks.checkbox.label "Mostrar tareas completadas" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "c" >
+
+<!ENTITY calendar.orientation.label "Rotar vista" >
+<!ENTITY calendar.orientation.accesskey "o" >
+
+<!ENTITY calendar.search.options.searchfor " contener">
+
+<!ENTITY calendar.list.header.label "Calendario">
+
+<!ENTITY calendar.task.filter.title.label "Mostrar">
+<!ENTITY calendar.task.filter.all.label "Todo">
+<!ENTITY calendar.task.filter.all.accesskey "A">
+<!ENTITY calendar.task.filter.today.label "Hoy">
+<!ENTITY calendar.task.filter.today.accesskey "T">
+<!ENTITY calendar.task.filter.next7days.label "Próximos siete días">
+<!ENTITY calendar.task.filter.next7days.accesskey "N">
+<!ENTITY calendar.task.filter.notstarted.label "Tareas no empezadas">
+<!ENTITY calendar.task.filter.notstarted.accesskey "a">
+<!ENTITY calendar.task.filter.overdue.label "Tareas vencidas">
+<!ENTITY calendar.task.filter.overdue.accesskey "O">
+<!ENTITY calendar.task.filter.completed.label "Tareas completadas">
+<!ENTITY calendar.task.filter.completed.accesskey "C">
+<!ENTITY calendar.task.filter.open.label "Tareas incompletas">
+<!ENTITY calendar.task.filter.open.accesskey "m">
+
+<!-- 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 "Tareas actuales">
+<!ENTITY calendar.task.filter.current.accesskey "u">
+
+<!ENTITY calendar.task-details.title.label "título">
+<!ENTITY calendar.task-details.organizer.label "de">
+<!ENTITY calendar.task-details.priority.label "prioridad">
+<!ENTITY calendar.task-details.priority.low.label "Baja">
+<!ENTITY calendar.task-details.priority.normal.label "Normal">
+<!ENTITY calendar.task-details.priority.high.label "Alta">
+<!ENTITY calendar.task-details.status.label "estado">
+<!ENTITY calendar.task-details.category.label "categoría">
+<!ENTITY calendar.task-details.repeat.label "repetir">
+<!ENTITY calendar.task-details.attachments.label "adjuntos">
+<!ENTITY calendar.task-details.start.label "fecha de inicio">
+<!ENTITY calendar.task-details.due.label "fecha de fin">
+
+<!ENTITY calendar.task.category.button.tooltip "Categorizar tareas">
+<!ENTITY calendar.task.complete.button.tooltip "Marcar tareas seleccionadas como completadas">
+<!ENTITY calendar.task.priority.button.tooltip "Cambiar la prioridad">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "Filtrar tareas #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;Ctrl+Shift+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "Abrir">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "O">
+<!ENTITY calendar.context.modifyorviewtask.label "Abrir tarea…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "O">
+<!ENTITY calendar.context.newevent.label "Nuevo evento…">
+<!ENTITY calendar.context.newevent.accesskey "N">
+<!ENTITY calendar.context.newtodo.label "Nueva tarea…">
+<!ENTITY calendar.context.newtodo.accesskey "k">
+<!ENTITY calendar.context.deletetask.label "Borrar Tarea">
+<!ENTITY calendar.context.deletetask.accesskey "l">
+<!ENTITY calendar.context.deleteevent.label "Borrar Evento">
+<!ENTITY calendar.context.deleteevent.accesskey "l">
+<!ENTITY calendar.context.cutevent.label "Cortar">
+<!ENTITY calendar.context.cutevent.accesskey "t">
+<!ENTITY calendar.context.copyevent.label "Copiar">
+<!ENTITY calendar.context.copyevent.accesskey "C">
+<!ENTITY calendar.context.pasteevent.label "Pegar">
+<!ENTITY calendar.context.pasteevent.accesskey "P">
+<!ENTITY calendar.context.button.label "Vista de hoy">
+<!ENTITY calendar.context.button.accesskey "T">
+
+<!ENTITY calendar.context.attendance.menu.label "Asistencia">
+<!ENTITY calendar.context.attendance.menu.accesskey "d">
+<!ENTITY calendar.context.attendance.occurrence.label "Esta ocurrencia">
+<!ENTITY calendar.context.attendance.all2.label "Completar series">
+<!ENTITY calendar.context.attendance.send.label "Enviar una notificación ahora">
+<!ENTITY calendar.context.attendance.send.accesskey "S">
+<!ENTITY calendar.context.attendance.dontsend.label "No enviar una notificación">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "D">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "A">
+<!ENTITY calendar.context.attendance.occ.accepted.label "Aceptado">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "y">
+<!ENTITY calendar.context.attendance.occ.tentative.label "Aceptado tentativamente">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "c">
+<!ENTITY calendar.context.attendance.occ.declined.label "Rechazado">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "g">
+<!ENTITY calendar.context.attendance.occ.delegated.label "Delegado">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "S">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "Aún necesita acción">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "I">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "En progreso">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "C">
+<!ENTITY calendar.context.attendance.occ.completed.label "Completo">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "e">
+<!ENTITY calendar.context.attendance.all.accepted.label "Aceptado">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "v">
+<!ENTITY calendar.context.attendance.all.tentative.label "Aceptado tentativamente">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "d">
+<!ENTITY calendar.context.attendance.all.declined.label "Rechazado">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "l">
+<!ENTITY calendar.context.attendance.all.delegated.label "Delegado">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "l">
+<!ENTITY calendar.context.attendance.all.needsaction.label "Aún necesita acción">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "p">
+<!ENTITY calendar.context.attendance.all.inprogress.label "En progreso">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "m">
+<!ENTITY calendar.context.attendance.all.completed.label "Completo">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "Progreso">
+<!ENTITY calendar.context.progress.accesskey "P">
+<!ENTITY calendar.context.priority.label "Prioridad">
+<!ENTITY calendar.context.priority.accesskey "r">
+<!ENTITY calendar.context.postpone.label "Posponer Tarea">
+<!ENTITY calendar.context.postpone.accesskey "s">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "Marcar completadas">
+<!ENTITY calendar.context.markcompleted.accesskey "o">
+
+<!ENTITY progress.level.0 "0&percnt; Completado">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "25&percnt; Completado">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "50&percnt; Completado">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "75&percnt; Completado">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "100&percnt; Completado">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "No especificado">
+<!ENTITY priority.level.none.accesskey "s">
+<!ENTITY priority.level.low "Baja">
+<!ENTITY priority.level.low.accesskey "B">
+<!ENTITY priority.level.normal "Normal">
+<!ENTITY priority.level.normal.accesskey "N">
+<!ENTITY priority.level.high "Alta">
+<!ENTITY priority.level.high.accesskey "A">
+
+<!ENTITY calendar.context.postpone.1hour.label "1 Hora">
+<!ENTITY calendar.context.postpone.1hour.accesskey "H">
+<!ENTITY calendar.context.postpone.1day.label "1 Día">
+<!ENTITY calendar.context.postpone.1day.accesskey "D">
+<!ENTITY calendar.context.postpone.1week.label "1 Semana">
+<!ENTITY calendar.context.postpone.1week.accesskey "S">
+
+<!ENTITY calendar.copylink.label "Copiar dirección del enlace">
+<!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 "Borrar">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "Nuevo Calendario…">
+<!ENTITY calendar.context.newserver.accesskey "N">
+<!ENTITY calendar.context.findcalendar.label "Buscar Calendario…" >
+<!ENTITY calendar.context.findcalendar.accesskey "F" >
+<!ENTITY calendar.context.deleteserver2.label "Borrar Calendario…">
+<!ENTITY calendar.context.deleteserver2.accesskey "D">
+
+<!-- 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 "Remover Calendario…">
+<!ENTITY calendar.context.removeserver.accesskey "R">
+<!ENTITY calendar.context.unsubscribeserver.label "Eliminar suscripción del calendario…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "U">
+<!ENTITY calendar.context.synccalendars.label "Sincronizar Calendarios">
+<!ENTITY calendar.context.synccalendars.accesskey "S">
+<!ENTITY calendar.context.publish.label "Publicar Calendario…">
+<!ENTITY calendar.context.publish.accesskey "b">
+<!ENTITY calendar.context.export.label "Exportar Calendario…">
+<!ENTITY calendar.context.export.accesskey "E">
+<!ENTITY calendar.context.properties.label "Propiedades">
+<!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 "h">
+
+<!-- LOCALIZATION NOTE (calendar.context.hidecalendar.accesskey)
+ This is the access key used for the hideCalendar string -->
+<!ENTITY calendar.context.hidecalendar.accesskey "H">
+
+<!-- LOCALIZATION NOTE (calendar.context.showonly.accesskey)
+ This is the access key used for the showOnlyCalendar string -->
+<!ENTITY calendar.context.showonly.accesskey "O">
+<!ENTITY calendar.context.showall.label "Mostrar Todos los Calendarios">
+<!ENTITY calendar.context.showall.accesskey "A">
+
+<!ENTITY calendar.context.convertmenu.label "Convertir a">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "n">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "v">
+<!ENTITY calendar.context.convertmenu.event.label "Evento…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "E">
+<!ENTITY calendar.context.convertmenu.message.label "Mensaje…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "M">
+<!ENTITY calendar.context.convertmenu.task.label "Tarea…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label "Mini-Mes">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "M">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "Lista de Calendarios">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "L">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "Filtrar Tareas">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "F">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "Ubicación:" >
+<!ENTITY calendar.alarm.details.label "Detalles…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "Silenciar por" >
+<!ENTITY calendar.alarm.snoozeallfor.label "Silenciar todo por" >
+<!ENTITY calendar.alarm.title.label "Recordatorios de Calendario" >
+<!ENTITY calendar.alarm.dismiss.label "Descartar" >
+<!ENTITY calendar.alarm.dismissall.label "Descartar todo" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5 Minutos" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10 Minutos" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15 Minutos" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30 Minutos" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45 Minutos" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1 Hora" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2 Horas" >
+<!ENTITY calendar.alarm.snooze.1day.label "1 Día" >
+
+<!-- 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 "Cancelar Silenciador">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "Editar Calendario">
+<!ENTITY calendar.server.dialog.name.label "Nombre de Calendario:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "Color:">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.wcap.label "Sun Java System Calendar Server (WCAP)">
+<!ENTITY calendarproperties.format.label "Formato:">
+<!ENTITY calendarproperties.location.label "Ubicación:">
+<!ENTITY calendarproperties.refreshInterval.label "Actualizar Calendario:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "Manualmente">
+<!ENTITY calendarproperties.name.label "Nombre:">
+<!ENTITY calendarproperties.readonly.label "Sólo Lectura">
+<!ENTITY calendarproperties.firealarms.label "Mostrar Recordatorios">
+<!ENTITY calendarproperties.cache3.label "Soporte sin conexión">
+<!ENTITY calendarproperties.enabled.label "Activar calendario">
+<!ENTITY calendarproperties.enabled2.label "Habilitar este calendario">
+<!ENTITY calendarproperties.forceDisabled.label "El proveedor de este calendario no pudo ser encontrado. Esto suele suceder si has desactivado o desinstalado ciertos complementos.">
+<!ENTITY calendarproperties.unsubscribe.label "Eliminar suscripción">
+<!ENTITY calendarproperties.unsubscribe.accesskey "U">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "Publicar Calendario">
+<!ENTITY calendar.publish.url.label "URL de publicación">
+<!ENTITY calendar.publish.publish.button "Publicar">
+<!ENTITY calendar.publish.close.button "Cerrar">
+
+<!ENTITY calendar.publish.example.url.description "Algo como http://www.myserver.com/webdav/test.ics">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "Seleccionar Calendario">
+
+<!-- Calendar Printing -->
+<!ENTITY calendar.print.window.title "Imprimir un Calendario">
+<!ENTITY calendar.print.title.label "Título:">
+<!ENTITY calendar.print.layout.label "Diseño:">
+<!ENTITY calendar.print.range.label "Qué imprimir">
+<!ENTITY calendar.print.currentView2.label "Vista actual">
+<!ENTITY calendar.print.selectedEventsAndTasks.label "Eventos/tareas seleccionadas">
+<!ENTITY calendar.print.tasks.label "Tareas">
+<!ENTITY calendar.print.events.label "Eventos">
+<!ENTITY calendar.print.custom.label "Rango de fechas personalizado:">
+<!ENTITY calendar.print.from.label "De:">
+<!ENTITY calendar.print.to.label "A:">
+<!ENTITY calendar.print.settingsGroup.label "Ajuste de impresión">
+<!ENTITY calendar.print.optionsGroup.label "Opciones">
+<!ENTITY calendar.print.taskswithnoduedate.label "Tareas sin fecha de vencimiento">
+<!ENTITY calendar.print.completedtasks.label "Tareas completadas">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "Detalles…">
+<!ENTITY calendar.error.code "Código de error:">
+<!ENTITY calendar.error.description "Descripción:">
+<!ENTITY calendar.error.title "Ha ocurrido un error">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "Agregar como evento">
+<!ENTITY calendar.extract.task.button "Agregar como tarea">
+<!ENTITY calendar.extract.event.button.tooltip "Extraer información de calendario del mensaje y agregar a tu calendario como evento">
+<!ENTITY calendar.extract.task.button.tooltip "Extraer información de calendario del mensaje y agregar a tu calendario como tarea">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendar.properties
new file mode 100644
index 0000000000..bbab9d9195
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Nuevo evento
+
+# Titles for the event/task dialog
+newEventDialog=Nuevo evento
+editEventDialog=Editar evento
+newTaskDialog=Nueva tarea
+editTaskDialog=Editar tarea
+
+# Do you want to save changes?
+askSaveTitleEvent=Guardar evento
+askSaveTitleTask=Guardar tarea
+askSaveMessageEvent=El evento no ha sido guardado. ¿Quieres guardarlo?
+askSaveMessageTask=La tarea no ha sido guardada. ¿Quieres guardarla?
+
+# Event Dialog Warnings
+warningEndBeforeStart=La fecha de término ingresada es anterior a la fecha de inicio
+warningUntilDateBeforeStart=La fecha de término es anterior a la fecha de inicio
+
+# The name of the calendar provided with the application by default
+homeCalendarName=Inicio
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=Calendario sin título
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =Tentativo
+statusConfirmed =Confirmado
+eventStatusCancelled=Cancelado
+todoStatusCancelled =Cancelado
+statusNeedsAction =Necesita una acción
+statusInProcess =En proceso
+statusCompleted =Completado
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=Alta
+normalPriority=Normal
+lowPriority=Baja
+
+importPrompt=¿A qué calendario deseas importar este ítem?
+exportPrompt=¿Desde qué calendario deseas exportar?
+pastePrompt=¿En cual de tus calendarios actualmente editables deseas pegarlo?
+publishPrompt=¿Qué calendario deseas publicar?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=Tu pegado incluye una reunión
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=Tu pegado incluye reuniones
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=Tu pegado incluye una tarea asignada
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=Tu pegado incluye tareas asignadas
+# 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=Tu pegado incluye reuniones y tareas asignadas
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=Estás pegando una reunión
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=Estás pegando reuniones
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=Estás pegando una tarea asignada
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=Estás pegando tareas asignadas
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=Estás pegando reuniones y tareas asignadas
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - ¿Quieres enviar una actualización a todos los involucrados?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=Pegar y enviar ahora
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=Pegar sin enviar
+
+# LOCALIZATION NOTE (importItemsFailed):
+# %1$S will be replaced with number of failed items
+# %2$S will be replaced with last error code / error string
+importItemsFailed=%1$S ítems fallaron al importar. El último error fue: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=No se puede importar desde %1$S. No hay elementos en este archivo que puedan ser importados.
+
+#spaces needed at the end of the following lines
+eventDescription=Descripción:
+
+unableToRead=Incapaz de leer desde el archivo:
+unableToWrite=Incapaz de escribir al archivo:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Calendario Mozilla
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=Se encontró un huso horario desconocido o indefinido al leer %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 ítem(s) fueron ignorados ya que existen tanto en el calendario destino como en %2$S.
+
+unableToCreateProvider=Se encontró un error preparando el calendario ubicado para uso en %1$S . No estará disponible.
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=Zona horaria desconocida "%1$S" en "%2$S". Se maneja como zona horaria local "flotante": %3$S
+TimezoneErrorsAlertTitle=Errores de huso horario
+TimezoneErrorsSeeConsole=Ver error en la consola: las zonas horarias desconocidas se manejan como zona horaria local "flotante".
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=Eliminar calendario
+removeCalendarButtonDelete=Eliminar calendario
+removeCalendarButtonUnsubscribe=Eliminar suscripción
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=¿Quieres eliminar el calendario "%1$S"? Si cancelas tu suscripción, eliminarás el calendario de la lista y depurarás sus datos.
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=¿Quieres eliminar permanentemente el calendario "%1$S"?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=¿Quieres cancelar la suscripción del calendario "%1$S"?
+
+WeekTitle=Semana %1$S
+None=Nada
+
+# 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=Los datos de tu calendario no son compatibles con esta versión de %1$S. Los datos del calendario en tu perfil fueron actualizados para una nueva versión de %1$S. Fue creada una copia de seguridad de los datos, con el nombre de "%2$S". Continuar con un nuevo archivo de datos.
+
+# List of events or todos (unifinder)
+eventUntitled=Sin título
+
+# Tooltips of events or todos
+tooltipTitle=Título:
+tooltipLocation=Ubicación:
+# 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=Fecha:
+# event calendar name
+tooltipCalName=Nombre de calendario:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=Estado:
+# event organizer
+tooltipOrganizer=Organizador:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=Inicio:
+tooltipDue=Vencimiento:
+tooltipPriority=Prioridad:
+tooltipPercent=% Completo:
+tooltipCompleted=Finalizado:
+
+#File commands and dialogs
+New=Nuevo
+Open=Abrir
+filepickerTitleImport=Importar
+filepickerTitleExport=Exportar
+
+# 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=Página web (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=Ha ocurrido un error
+httpPutError=Falló la publicación del calendario.\nCódigo del estado: %1$S: %2$S
+otherPutError=La publicación del calendario ha fallado.\nCódigo del estado: 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=Se ha producido un error al leer los datos del calendario: %1$S. Está en modo de solo lectura, ya que cualquier cambio a este calendario podrá resultar en pérdida de datos. Puedes cambiar la configuración yendo a "Editar calendario".
+
+# 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=Se ha producido un error al leer los datos del calendario: %1$S. Este ha sido deshabilitado hasta que sea seguro usarlo.
+
+# 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=Se ha producido un error al leer los datos del calendario:%1$S. Sin embargo, este error parece ser leve así que el programa intentará proceder.
+
+# 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=Se ha producido un error al leer los datos del calendario: %1$S.
+utf8DecodeError=Se ha producido un error al codificar el archivo del iCalendar (ics) como UTF-8. Verifica que el calendario, con todos sus símbolos y letras con acentos sea codificado con el codificador de caracteres UTF-8.
+icsMalformedError=Ha fallado el parseo de un archivo iCalendar (ics). Verifica que el archivo tenga una sintaxis válida como iCalendar (ics).
+itemModifiedOnServerTitle=Ítem cambiado en servidor
+itemModifiedOnServer=Este ítem ha cambiado recientemente en el servidor.\n
+modifyWillLoseData=Enviando tus cambios sobreescribirá los cambios hechos en el servidor.
+deleteWillLoseData=Eliminando este ítem causará la pérdida de los cambios hechos en el servidor.
+updateFromServer=Descartar mis cambios y recargar
+proceedModify=Enviar mis cambios igualmente
+proceedDelete=Borrar de todas formas
+dav_notDav=El servicio en %1$S no es una colección DAV o no está disponible
+dav_davNotCaldav=El servicio en %1$S es una colección DAV pero no un calendario CalDAV
+itemPutError=Hubo un error guardando el elemento en el servidor.
+itemDeleteError=Hubo un error cuando se borraba el elemento del servidor.
+caldavRequestError=Hubo un error al enviar la invitación.
+caldavResponseError=Hubo un error al enviar la respuesta.
+caldavRequestStatusCode=Código de estado: %1$S
+caldavRequestStatusCodeStringGeneric=La solicitud no pudo ser procesada.
+caldavRequestStatusCodeString400=Esta solicitud contiene una sintaxis incorrecta y no puede ser procesada.
+caldavRequestStatusCodeString403=El usuario no tiene los permisos necesarios para ejecutar la solicitud.
+caldavRequestStatusCodeString404=Recurso no encontrado.
+caldavRequestStatusCodeString409=Conflicto con el recurso.
+caldavRequestStatusCodeString412=Precondición fallada.
+caldavRequestStatusCodeString500=Error interno del servidor.
+caldavRequestStatusCodeString502=Bad gateway (¿Configuración del proxy?).
+caldavRequestStatusCodeString503=Error interno de servidor (¿Caída temporal del servidor?).
+caldavRedirectTitle=¿7Actualizar ubicación para calendario %1$S?
+caldavRedirectText=La solicitud para %1$S están siendo redirigida a una nueva ubicación. ¿Te gustaría cambiar la ubicación del siguiente valor?
+caldavRedirectDisableCalendar=Deshabilitar calendario
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=America/Cancun, America/Mexico_City, America/Matamoros, America/Chihuahua, America/Ojinaga, America/Hermosillo, America/Tijuana
+
+# 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=Advertencia: El huso horario del sistema operativo "%1$S"\nno coincide con el huso horario interno ZoneInfo "%2$S".
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=Omitiendo la zona horaria del sistema operativo '%1$S'.
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=Omitiendo la zona horaria local '%1$S'.
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=Advertencia: Usando huso horario "flotante".\nNingún huso horario de ZoneInfo coincide con los datos de huso horario del sistema operativo.
+
+# "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=Advertencia: Usando huso horario supuesto\n %1$S (UTC%2$S).\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=Este huso horario de ZoneInfo casi coincide con el huso horario del sistema operativo.\nPara esta regla, las próximas transiciones entre horario de verano y horario estándar\ndifieren a lo sumo una semana de las transiciones del sistema operativo.\nPuede haber discrepancias en los datos, como un día de inicio diferente,\nuna regla diferente o aproximación para una regla de calendario no gregoriano.
+
+TZSeemsToMatchOS=Este huso horario ZoneInfo parece coincidir con el huso horario del sistema operativo este año.
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=La elección de este huso horario ZoneInfo se basa en el identificador "%1$S"\ndel sistema operativo.
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=La elección de este huso horario ZoneInfo se basa en la correspondencia entre el huso horario del sistema operativo\ny los husos horarios típicos de los usuarios de Internet que utilizan el español de México.
+
+TZFromKnownTimezones=La elección de este huso horario ZoneInfo se basa en la correspondencia entre el huso horario del sistema operativo\n y los husos horarios conocidos y ordenados alfabéticamente del ID del huso horario.
+
+# Print Layout
+tasksWithNoDueDate = Tareas sin fecha de vencimiento
+
+# Providers
+caldavName=CalDAV
+compositeName=Compuesto
+icsName=iCalendar (ICS)
+memoryName=Temporal (memoria)
+storageName=Local (SQLite)
+
+# Used in created html code for export
+htmlPrefixTitle=Título
+htmlPrefixWhen=Cuándo
+htmlPrefixLocation=Ubicación
+htmlPrefixDescription=Descripción
+htmlTaskCompleted=%1$S (finalizado)
+
+# Categories
+addCategory=Agregar categoría
+multipleCategories=Múltiples categorías
+
+today=Hoy
+tomorrow=Mañana
+yesterday=Ayer
+
+#Today pane
+eventsonly=Eventos
+eventsandtasks=Eventos y tareas
+tasksonly=Tareas
+shortcalendarweek=CW
+
+go=Ir
+
+# 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=siguiente
+next2=siguiente
+last1=último
+last2=último
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=Recordatorio #1;Recordatorios #1
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmStarts=Comienza: %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=Hoy a las %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=Mañana a las %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=Ayer a las %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=Descripción por defecto de Mozilla
+alarmDefaultSummary=Resumen por defecto de Mozilla
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=No puedes posponer una alarma más de #1 al mes.;No puedes posponer una alarma más de #1 al mes.
+
+taskDetailsStatusNeedsAction=Necesita acción
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+# %1$S will be replaced with the number of percentage completed
+taskDetailsStatusInProgress=%1$S%% completado
+taskDetailsStatusCompleted=Completado
+
+# 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=Completado en %1$S
+taskDetailsStatusCancelled=Cancelado
+
+gettingCalendarInfoCommon=Verificando calendarios…
+
+# 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=Verificando calendarios %1$S de %2$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=Error de código: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=Descripción: %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=¡Un error ha ocurrido cuando se escribía el calendario %1$S! Por favor, ve abajo para más información.
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=Si estás viendo este mensaje después de silenciar o descartar un recordatorio y este es para un calendario el cual no quieres agregar o editar eventos, puedes marcar este calendario como solo lectura que evitar este detalle en el futuro. Para hacerlo, ve a las propiedades del calendario haciendo clic derecho en este calendario en la lista en la vista de calendario o tarea.
+
+# 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=El calendario %1$S no está momentáneamente disponible
+
+# 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=El calendario %1$S es de solo lectura
+
+taskEditInstructions=Haz clic aquí para agregar una nueva tarea
+taskEditInstructionsReadonly=Por favor, selecciona un calendario con permiso de escritura
+taskEditInstructionsCapability=Por favor, selecciona un calendario que soporta tareas
+
+eventDetailsStartDate=Inicio:
+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=Semana del calendario: %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=Semanas del calendario: %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=CW: %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=CWs: %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=Día #1;Días #1
+dueInHours=hora #1;horas #1
+dueInLessThanOneHour=< 1 hora
+
+# 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=nominativo
+
+# 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=%1$S %2$S – %3$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=nominativo
+
+# 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=%1$S %2$S – %3$S %4$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=nominativo
+
+# 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=%1$S %2$S, %3$S – %4$S %5$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=nominativo
+
+# 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= no hay comienzo ni fecha de vencimiento
+# 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=fecha de inicio %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=fecha de vencimiento %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=Hora de inicio
+dragLabelTasksWithOnlyDueDate=Se vence el
+
+deleteTaskLabel=Eliminar tarea
+deleteTaskAccesskey=l
+deleteItemLabel=Eliminar
+deleteItemAccesskey=l
+deleteEventLabel=Eliminar evento
+deleteEventAccesskey=l
+
+calendarPropertiesEveryMinute=Cada minuto;Cada minutos #1
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=Con %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=Usando %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 minuto;#1 minutos
+unitHours=#1 hora;#1 horas
+unitDays=#1 día;#1 días
+unitWeeks=#1 semana;#1 semanas
+
+# 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=Mostrar %1$S
+hideCalendar=Ocultar %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=Mostrar solo %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=Conflicto con la modificación del artículo
+modifyConflictPromptMessage=El ítem siendo editado en el diálogo ha sido modificado desde la última vez que fue abierto.
+modifyConflictPromptButton1=Sobreescribir los otros cambios
+modifyConflictPromptButton2=Descartar estos cambios
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=Ninguna fecha seleccionada
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendarCreation.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..ffacad9015
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Crear nuevo calendario" >
+<!ENTITY wizard.label "Crear un nuevo calendario" >
+<!ENTITY wizard.description "Ubica tu calendario" >
+
+<!ENTITY initialpage.description "Tu calendario puede ser almacenado en tu computadora o ser almacenado en un servidor para tener acceso remotamente o compartirlo con tus amigos o compañeros." >
+<!ENTITY initialpage.computer.label "En mi computadora">
+<!ENTITY initialpage.network.label "En la red">
+
+<!ENTITY locationpage.description "Proveer información sobre qué es necesario para acceder a tu calendario remoto" >
+<!ENTITY locationpage.login.description "Opcional: ingresa un nombre de usuario y contraseña" >
+<!ENTITY locationpage.username.label "Nombre de usuario:" >
+<!ENTITY locationpage.password.label "Contraseña:" >
+
+<!ENTITY custompage.shortdescription "Personaliza tu calendario" >
+<!ENTITY custompage.longdescription "Puedes darle a tu calendario un sobrenombre y colorear los eventos." >
+
+<!ENTITY finishpage.shortdescription "Calendario creado" >
+<!ENTITY finishpage.longdescription "Tu calendario ha sido creado." >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "Otros">
+
+<!ENTITY buttons.create.label "Crear calendario">
+<!ENTITY buttons.create.accesskey "r">
+
+<!ENTITY buttons.find.label "Encontrar calendarios">
+<!ENTITY buttons.find.accesskey "F">
+
+<!ENTITY buttons.back.label "Atrás">
+<!ENTITY buttons.back.accesskey "B">
+
+<!ENTITY buttons.subscribe.label "Suscribir">
+<!ENTITY buttons.subscribe.accesskey "S">
+
+<!ENTITY calendartype.label "Tipo de calendario:">
+<!ENTITY location.label "Ubicación:">
+<!ENTITY location.placeholder "URL o nombre del servidor del servidor del calendario">
+
+<!ENTITY network.nocredentials.label "Esta ubicación no quiere credenciales">
+<!ENTITY network.loading.description "Por favor, espera, mientras tus calendarios están siendo descubiertos.">
+<!ENTITY network.notfound.description "No se pudieron encontrar calendario en esta ubicación. Por favor, revisa tus ajustes.">
+<!ENTITY network.authfail.description "Las credenciales que ingresaste no fueron aceptadas. Por favor, revisa tus ajustes.">
+
+<!ENTITY network.subscribe.single.description "Por favor, selecciona los calendarios a los cuales te gustaría suscribirte.">
+<!ENTITY network.subscribe.multiple.description "Múltiples tipos de calendarios están disponibles para esta ubicación. Por favor, selecciona el tipo de calendario, después marca los calendarios a los que te gustaría suscribirte.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendarCreation.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..76064ca257
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Por favor, ingresa una ubicación válida.
+error.alreadyExists=Ya te has suscrito al calendario en esta ubicación.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/categories.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/categories.properties
new file mode 100644
index 0000000000..0cba969866
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Aniversario,Cumpleaños,Negocios,Llamadas,Clientes,Remuneración,Cliente,Favoritos,Dar seguimiento,Regalos,Vacaciones,Ideas,Problemas,Junta,Misceláneo,Personal,Proyectos,Día de fiesta nacional,Estado,Proveedores,Viaje,Vacaciones
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/dateFormat.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/dateFormat.properties
new file mode 100644
index 0000000000..90c55f19df
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Enero
+month.2.name=Febrero
+month.3.name=Marzo
+month.4.name=Abril
+month.5.name=Mayo
+month.6.name=Junio
+month.7.name=Julio
+month.8.name=Agosto
+month.9.name=Septiembre
+month.10.name=Octubre
+month.11.name=Noviembre
+month.12.name=Diciembre
+
+# 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=Enero
+month.2.genitive=Febrero
+month.3.genitive=Marzo
+month.4.genitive=Abril
+month.5.genitive=Mayo
+month.6.genitive=Junio
+month.7.genitive=Julio
+month.8.genitive=Agosto
+month.9.genitive=Septiembre
+month.10.genitive=Octubre
+month.11.genitive=Noviembre
+month.12.genitive=Diciembre
+
+month.1.Mmm=Ene
+month.2.Mmm=Feb
+month.3.Mmm=Mar
+month.4.Mmm=Abr
+month.5.Mmm=May
+month.6.Mmm=Jun
+month.7.Mmm=Jul
+month.8.Mmm=Ago
+month.9.Mmm=Sep
+month.10.Mmm=Oct
+month.11.Mmm=Nov
+month.12.Mmm=Dic
+
+day.1.name=Domingo
+day.2.name=Lunes
+day.3.name=Martes
+day.4.name=Miércoles
+day.5.name=Jueves
+day.6.name=Viernes
+day.7.name=Sábado
+
+day.1.Mmm=Dom
+day.2.Mmm=Lun
+day.3.Mmm=Mar
+day.4.Mmm=Mié
+day.5.Mmm=Jue
+day.6.Mmm=Vie
+day.7.Mmm=Sáb
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=Do
+day.2.short=Lu
+day.3.short=Ma
+day.4.short=Mi
+day.5.short=Ju
+day.6.short=Vi
+day.7.short=Sa
+
+# Localizable day's date
+day.1.number=1
+day.2.number=2
+day.3.number=3
+day.4.number=4
+day.5.number=5
+day.6.number=6
+day.7.number=7
+day.8.number=8
+day.9.number=9
+day.10.number=10
+day.11.number=11
+day.12.number=12
+day.13.number=13
+day.14.number=14
+day.15.number=15
+day.16.number=16
+day.17.number=17
+day.18.number=18
+day.19.number=19
+day.20.number=20
+day.21.number=21
+day.22.number=22
+day.23.number=23
+day.24.number=24
+day.25.number=25
+day.26.number=26
+day.27.number=27
+day.28.number=28
+day.29.number=29
+day.30.number=30
+day.31.number=31
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=
+
+noon=Mediodía
+midnight=Medianoche
+
+AllDay=Todo el día
+Repeating=(Repetición)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/dialogs/calendar-event-dialog-reminder.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..f748b6937d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Configurar Recordatorios">
+<!ENTITY reminder.add.label "Agregar">
+<!ENTITY reminder.add.accesskey "A">
+<!ENTITY reminder.remove.label "Eliminar">
+<!ENTITY reminder.remove.accesskey "R">
+
+<!ENTITY reminder.reminderDetails.label "Detalles del recordatorio">
+<!ENTITY reminder.action.label "Elegir una acción de recordatorio">
+
+<!ENTITY reminder.action.alert.label "Mostrar una alerta">
+<!ENTITY reminder.action.email.label "Enviar un Correo">
+
+<!ENTITY alarm.units.minutes "minutos" >
+<!ENTITY alarm.units.hours "horas" >
+<!ENTITY alarm.units.days "días" >
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/global.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/global.dtd
new file mode 100644
index 0000000000..787f0b064b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Medianoche" >
+<!ENTITY time.noon "Mediodía" >
+
+<!-- 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 "Dom" >
+<!ENTITY day.1.Ddd.accesskey "S">
+<!ENTITY day.2.Ddd "Lun" >
+<!ENTITY day.2.Ddd.accesskey "M">
+<!ENTITY day.3.Ddd "Mar" >
+<!ENTITY day.3.Ddd.accesskey "T">
+<!ENTITY day.4.Ddd "Mié" >
+<!ENTITY day.4.Ddd.accesskey "W">
+<!ENTITY day.5.Ddd "Jue" >
+<!ENTITY day.5.Ddd.accesskey "h">
+<!ENTITY day.6.Ddd "Vie" >
+<!ENTITY day.6.Ddd.accesskey "F">
+<!ENTITY day.7.Ddd "Sáb" >
+<!ENTITY day.7.Ddd.accesskey "a">
+
+<!ENTITY day.1.name "Dom" >
+<!ENTITY day.2.name "Lunes" >
+<!ENTITY day.3.name "Martes" >
+<!ENTITY day.4.name "Miércoles" >
+<!ENTITY day.5.name "Jueves" >
+<!ENTITY day.6.name "Viernes" >
+<!ENTITY day.7.name "Sábado" >
+
+<!ENTITY month.1.name "Enero" >
+<!ENTITY month.2.name "Febrero" >
+<!ENTITY month.3.name "Marzo" >
+<!ENTITY month.4.name "Abril" >
+<!ENTITY month.5.name "Mayo" >
+<!ENTITY month.6.name "Junio" >
+<!ENTITY month.7.name "Julio" >
+<!ENTITY month.8.name "Agosto" >
+<!ENTITY month.9.name "Septiembre" >
+<!ENTITY month.10.name "Octubre" >
+<!ENTITY month.11.name "Noviembre" >
+<!ENTITY month.12.name "Diciembre" >
+
+<!ENTITY onemonthbackward.tooltip "Un mes atrás" >
+<!ENTITY onemonthforward.tooltip "Un mes después" >
+<!ENTITY oneyearbackward.tooltip "Un año atrás" >
+<!ENTITY oneyearforward.tooltip "Un año adelante" >
+<!ENTITY showToday.tooltip "Ir al día de hoy">
+<!ENTITY onedayforward.tooltip "Un día después">
+<!ENTITY onedaybackward.tooltip "Un día atrás">
+<!ENTITY showselectedday.tooltip "Mostrar eventos para el día seleccionado">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/menuOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..5b2707ddbc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nuevo evento…">
+<!ENTITY event.new.event.accesskey "N">
+
+<!ENTITY event.new.task "Nueva tarea…">
+<!ENTITY event.new.task.accesskey "k">
+
+<!ENTITY calendar.import.label "Importar…">
+<!ENTITY calendar.import.accesskey "I">
+
+<!ENTITY calendar.export.label "Exportar…">
+<!ENTITY calendar.export.accesskey "E">
+
+<!ENTITY calendar.publish.label "Publicar…">
+<!ENTITY calendar.publish.accesskey "b">
+
+<!ENTITY calendar.deletecalendar.label "Eliminar calendario seleccionado…">
+<!ENTITY calendar.deletecalendar.accesskey "D">
+<!ENTITY calendar.unsubscribecalendar.label "Eliminar suscripción al calendario seleccionado…">
+<!ENTITY calendar.unsubscribecalendar.accesskey "U">
+
+<!-- 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 "Eliminar calendario seleccionado…">
+<!ENTITY calendar.removecalendar.accesskey "R">
+
+
+<!ENTITY calendar.menu.customize.label "Personalizar…">
+<!ENTITY calendar.menu.customize.accesskey "C">
+
+<!ENTITY showUnifinderCmd.label "Buscar eventos">
+<!ENTITY showUnifinderCmd.accesskey "F">
+<!ENTITY showUnifinderCmd.tooltip "Activar/desactivar el panel Encontrar eventos">
+
+<!ENTITY calendar.displaytodos.checkbox.label "Mostrar Tareas en Calendario">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "T">
+
+<!ENTITY goTodayCmd.label "Hoy">
+<!ENTITY goTodayCmd.accesskey "T">
+
+<!ENTITY showCurrentView.label "Vista actual">
+<!ENTITY showCurrentView.accesskey "V">
+
+<!ENTITY calendar.properties.label "Propiedades del calendario...">
+<!ENTITY calendar.properties.accesskey "a">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/migration.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/migration.dtd
new file mode 100644
index 0000000000..783c7d5d10
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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;: importar datos">
+<!ENTITY migration.welcome "Bienvenido">
+<!ENTITY migration.importing "Importando">
+<!ENTITY migration.list.description "&brandShortName; puede importar datos de calendario de muchas aplicaciones populares. Se encontraron datos de las siguientes aplicaciones en tu computadora. Por favor, selecciona cuál de ellas deseas importar.">
+<!ENTITY migration.progress.description "Importando datos seleccionados">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/migration.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/migration.properties
new file mode 100644
index 0000000000..67d2dfed65
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Migración %1$S...
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: Importar datos
+migrationDescription=%1$S puede importar datos desde muchas aplicaciones populares del calendario. Se encontraron datos de las siguientes aplicaciones en tu computadora. Por favor, selecciona cuál de ellas desea importar.
+finished = Completado
+disableExtTitle = Se ha encontrado una versión incompatible
+disableExtText = Tienes la extensión antigua del calendario de Mozilla calendario que no es compatible con Lightning. Se deshabilitará y %1$S reiniciará.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/provider-uninstall.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..3806208379
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Desinstalar un proveedor">
+<!ENTITY providerUninstall.accept.label "Cancelar la suscripción seleccionada">
+<!ENTITY providerUninstall.accept.accesskey "U">
+<!ENTITY providerUninstall.cancel.label "Mantener Addon">
+<!ENTITY providerUninstall.cancel.accesskey "K">
+<!ENTITY providerUninstall.preName.label "Has solicitado desinstalar o desactivar:">
+<!ENTITY providerUninstall.postName.label "Esto hará que los calendarios a continuación se desactiven.">
+<!ENTITY providerUninstall.reinstallNote.label "A menos de que no estés planeando volver a instalar este proveedor, puedes cancelar la suscripción a calendarios de este proveedor.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/timezones.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/calendar/timezones.properties
new file mode 100644
index 0000000000..0a2e944541
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Hora local
+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=África/Abidjan
+pref.timezone.Africa.Accra=África/Accra
+pref.timezone.Africa.Addis_Ababa=África/Addis Ababa
+pref.timezone.Africa.Algiers=África/Argel
+pref.timezone.Africa.Asmara=África/Asmera
+pref.timezone.Africa.Bamako=África/Bamako
+pref.timezone.Africa.Bangui=África/Bangui
+pref.timezone.Africa.Banjul=África/Banjul
+pref.timezone.Africa.Bissau=África/Bissau
+pref.timezone.Africa.Blantyre=África/Blantyre
+pref.timezone.Africa.Brazzaville=África/Brazzaville
+pref.timezone.Africa.Bujumbura=África/Bujumbura
+pref.timezone.Africa.Cairo=África/Cairo
+pref.timezone.Africa.Casablanca=África/Casablanca
+pref.timezone.Africa.Ceuta=África/Ceuta
+pref.timezone.Africa.Conakry=África/Conakry
+pref.timezone.Africa.Dakar=África/Dakar
+pref.timezone.Africa.Dar_es_Salaam=África/Dar es Salaam
+pref.timezone.Africa.Djibouti=África/Djibouti
+pref.timezone.Africa.Douala=África/Douala
+pref.timezone.Africa.El_Aaiun=África/El Aaiun
+pref.timezone.Africa.Freetown=África/Freetown
+pref.timezone.Africa.Gaborone=África/Gaborone
+pref.timezone.Africa.Harare=África/Harare
+pref.timezone.Africa.Johannesburg=África/Johannesburgo
+pref.timezone.Africa.Kampala=África/Kampala
+pref.timezone.Africa.Khartoum=África/Khartoum
+pref.timezone.Africa.Kigali=África/Kigali
+pref.timezone.Africa.Kinshasa=África/Kinshasa
+pref.timezone.Africa.Lagos=África/Lagos
+pref.timezone.Africa.Libreville=África/Libreville
+pref.timezone.Africa.Lome=África/Lomé
+pref.timezone.Africa.Luanda=África/Luanda
+pref.timezone.Africa.Lubumbashi=África/Lubumbashi
+pref.timezone.Africa.Lusaka=África/Lusaka
+pref.timezone.Africa.Malabo=África/Malabo
+pref.timezone.Africa.Maputo=África/Maputo
+pref.timezone.Africa.Maseru=África/Maseru
+pref.timezone.Africa.Mbabane=África/Mbabane
+pref.timezone.Africa.Mogadishu=África/Mogadishu
+pref.timezone.Africa.Monrovia=África/Monrovia
+pref.timezone.Africa.Nairobi=África/Nairobi
+pref.timezone.Africa.Ndjamena=África/N'djamena
+pref.timezone.Africa.Niamey=África/Niamey
+pref.timezone.Africa.Nouakchott=África/Nouakchott
+pref.timezone.Africa.Ouagadougou=África/Ouagadougou
+pref.timezone.Africa.Porto-Novo=África/Porto-Novo
+pref.timezone.Africa.Sao_Tome=África/Santo Tomé
+pref.timezone.Africa.Tripoli=África/Trípoli
+pref.timezone.Africa.Tunis=África/Túnez
+pref.timezone.Africa.Windhoek=África/Windhoek
+pref.timezone.America.Adak=América/Adak
+pref.timezone.America.Anchorage=América/Anchorage
+pref.timezone.America.Anguilla=América/Anguila
+pref.timezone.America.Antigua=América/Antigua
+pref.timezone.America.Araguaina=América/Araguaina
+pref.timezone.America.Argentina.Buenos_Aires=América/Argentina/Buenos Aires
+pref.timezone.America.Argentina.Catamarca=América/Argentina/Catamarca
+pref.timezone.America.Argentina.Cordoba=América/Argentina/Córdoba
+pref.timezone.America.Argentina.Jujuy=América/Argentina/Jujuy
+pref.timezone.America.Argentina.La_Rioja=América/Argentina/La Rioja
+pref.timezone.America.Argentina.Mendoza=América/Argentina/Mendoza
+pref.timezone.America.Argentina.Rio_Gallegos=América/Argentina/Río Gallegos
+pref.timezone.America.Argentina.San_Juan=América/Argentina/San Juan
+pref.timezone.America.Argentina.Tucuman=América/Argentina/Tucumán
+pref.timezone.America.Argentina.Ushuaia=América/Argentina/Ushuaia
+pref.timezone.America.Aruba=América/Aruba
+pref.timezone.America.Asuncion=América/Asunción
+pref.timezone.America.Atikokan=América/Atikokan
+pref.timezone.America.Bahia=América/Bahía
+pref.timezone.America.Barbados=América/Barbados
+pref.timezone.America.Belem=América/Belém
+pref.timezone.America.Belize=América/Belice
+pref.timezone.America.Blanc-Sablon=América/Blanc-Sablon
+pref.timezone.America.Boa_Vista=América/Boa Vista
+pref.timezone.America.Bogota=América/Bogotá
+pref.timezone.America.Boise=América/Boise
+pref.timezone.America.Cambridge_Bay=América/Cambridge Bay
+pref.timezone.America.Campo_Grande=América/Campo Grande
+pref.timezone.America.Cancun=América/Cancún
+pref.timezone.America.Caracas=América/Caracas
+pref.timezone.America.Cayenne=América/Cayena
+pref.timezone.America.Cayman=América/Cayman
+pref.timezone.America.Chicago=América/Chicago
+pref.timezone.America.Chihuahua=América/Chihuahua
+pref.timezone.America.Costa_Rica=América/Costa Rica
+pref.timezone.America.Cuiaba=América/Cuiabá
+pref.timezone.America.Curacao=America/Curacao
+pref.timezone.America.Danmarkshavn=América/Danmarkshavn
+pref.timezone.America.Dawson=América/Dawson
+pref.timezone.America.Dawson_Creek=América/Dawson Creek
+pref.timezone.America.Denver=América/Denver
+pref.timezone.America.Detroit=América/Detroit
+pref.timezone.America.Dominica=América/Dominica
+pref.timezone.America.Edmonton=América/Edmonton
+pref.timezone.America.Eirunepe=América/Eirunepe
+pref.timezone.America.El_Salvador=América/El Salvador
+pref.timezone.America.Fortaleza=América/Fortaleza
+pref.timezone.America.Glace_Bay=America/Glace Bay
+pref.timezone.America.Godthab=América/Godthab
+pref.timezone.America.Goose_Bay=América/Goose Bay
+pref.timezone.America.Grand_Turk=América/Grand Turk
+pref.timezone.America.Grenada=América/Granada
+pref.timezone.America.Guadeloupe=América/Guadalupe
+pref.timezone.America.Guatemala=América/Guatemala
+pref.timezone.America.Guayaquil=América/Guayaquil
+pref.timezone.America.Guyana=América/Guyana
+pref.timezone.America.Halifax=América/Halifax
+pref.timezone.America.Havana=América/Habana
+pref.timezone.America.Hermosillo=América/Hermosillo
+pref.timezone.America.Indiana.Indianapolis=América/Indiana/Indianápolis
+pref.timezone.America.Indiana.Knox=América/Indiana/Knox
+pref.timezone.America.Indiana.Marengo=América/Indiana/Marengo
+pref.timezone.America.Indiana.Petersburg=América/Indiana/Petersburg
+pref.timezone.America.Indiana.Vevay=América/Indiana/Vevay
+pref.timezone.America.Indiana.Vincennes=América/Indiana/Vincennes
+pref.timezone.America.Inuvik=América/Inuvik
+pref.timezone.America.Iqaluit=América/Iqaluit
+pref.timezone.America.Jamaica=América/Jamaica
+pref.timezone.America.Juneau=América/Juneau
+pref.timezone.America.Kentucky.Louisville=América/Kentucky/Louisville
+pref.timezone.America.Kentucky.Monticello=América/Kentucky/Monticello
+pref.timezone.America.La_Paz=América/La Paz
+pref.timezone.America.Lima=América/Lima
+pref.timezone.America.Los_Angeles=América/Los Ángeles
+pref.timezone.America.Maceio=América/Maceió
+pref.timezone.America.Managua=América/Managua
+pref.timezone.America.Manaus=América/Manaus
+pref.timezone.America.Martinique=América/Martinica
+pref.timezone.America.Mazatlan=América/Mazatlán
+pref.timezone.America.Menominee=América/Menominee
+pref.timezone.America.Merida=América/Mérida
+pref.timezone.America.Mexico_City=América/Ciudad de México
+pref.timezone.America.Miquelon=América/Miquelón
+pref.timezone.America.Moncton=América/Moncton
+pref.timezone.America.Monterrey=América/Monterrey
+pref.timezone.America.Montevideo=América/Montevideo
+pref.timezone.America.Montreal=América/Montreal
+pref.timezone.America.Montserrat=América/Montserrat
+pref.timezone.America.Nassau=América/Nassau
+pref.timezone.America.New_York=América/New York
+pref.timezone.America.Nipigon=América/Nipigon
+pref.timezone.America.Nome=América/Nome
+pref.timezone.America.Noronha=América/Noronha
+pref.timezone.America.North_Dakota.Center=América/Dakota del Norte/Centro
+pref.timezone.America.North_Dakota.New_Salem=América/Dakota del Norte/Nuevo Salem
+pref.timezone.America.Panama=América/Panamá
+pref.timezone.America.Pangnirtung=América/Pangnirtung
+pref.timezone.America.Paramaribo=América/Paramaribo
+pref.timezone.America.Phoenix=América/Phoenix
+pref.timezone.America.Port-au-Prince=América/Port-au-Prince
+pref.timezone.America.Port_of_Spain=América/Puerto España
+pref.timezone.America.Porto_Velho=América/Porto Velho
+pref.timezone.America.Puerto_Rico=América/Puerto Rico
+pref.timezone.America.Rainy_River=América/Rainy River
+pref.timezone.America.Rankin_Inlet=América/Rankin Inlet
+pref.timezone.America.Recife=América/Recife
+pref.timezone.America.Regina=América/Regina
+pref.timezone.America.Rio_Branco=América/Rio Branco
+pref.timezone.America.Santiago=América/Santiago
+pref.timezone.America.Santo_Domingo=América/Santo Domingo
+pref.timezone.America.Sao_Paulo=América/Sao Paulo
+pref.timezone.America.Scoresbysund=América/Scoresbysund
+pref.timezone.America.Shiprock=América/Shiprock
+pref.timezone.America.St_Johns=América/St Johns
+pref.timezone.America.St_Kitts=América/St. Kitts
+pref.timezone.America.St_Lucia=América/St. Lucia
+pref.timezone.America.St_Thomas=América/St. Thomas
+pref.timezone.America.St_Vincent=América/St. Vincent
+pref.timezone.America.Swift_Current=América/Swift Current
+pref.timezone.America.Tegucigalpa=América/Tegucigalpa
+pref.timezone.America.Thule=América/Thule
+pref.timezone.America.Thunder_Bay=América/Thunder Bay
+pref.timezone.America.Tijuana=América/Tijuana
+pref.timezone.America.Toronto=América/Toronto
+pref.timezone.America.Tortola=América/Tórtola
+pref.timezone.America.Vancouver=América/Vancouver
+pref.timezone.America.Whitehorse=América/Whitehorse
+pref.timezone.America.Winnipeg=América/Winnipeg
+pref.timezone.America.Yakutat=América/Yakutat
+pref.timezone.America.Yellowknife=América/Yellowknife
+pref.timezone.Antarctica.Casey=Antártida/Casey
+pref.timezone.Antarctica.Davis=Antártida/Davis
+pref.timezone.Antarctica.DumontDUrville=Antártida/DumontDUrville
+pref.timezone.Antarctica.Mawson=Antártida/Mawson
+pref.timezone.Antarctica.McMurdo=Antártida/McMurdo
+pref.timezone.Antarctica.Palmer=Antártida/Palmer
+pref.timezone.Antarctica.Rothera=Antártida/Rothera
+pref.timezone.Antarctica.South_Pole=Antártida/Polo Sur
+pref.timezone.Antarctica.Syowa=Antártida/Syowa
+pref.timezone.Antarctica.Vostok=Antártida/Vostok
+pref.timezone.Arctic.Longyearbyen=Ártico/Longyearbyen
+pref.timezone.Asia.Aden=Asia/Adén
+pref.timezone.Asia.Almaty=Asia/Almaty
+pref.timezone.Asia.Amman=Asia/Amman
+pref.timezone.Asia.Anadyr=Asia/Anádyr
+pref.timezone.Asia.Aqtau=Asia/Aqtau
+pref.timezone.Asia.Aqtobe=Asia/Aqtobe
+pref.timezone.Asia.Ashgabat=Asia/Ashgabat
+pref.timezone.Asia.Baghdad=Asia/Bagdad
+pref.timezone.Asia.Bahrain=Asia/Bahrein
+pref.timezone.Asia.Baku=Asia/Bakú
+pref.timezone.Asia.Bangkok=Asia/Bangkok
+pref.timezone.Asia.Beirut=Asia/Beirut
+pref.timezone.Asia.Bishkek=Asia/Bishkek
+pref.timezone.Asia.Brunei=Asia/Brunei
+pref.timezone.Asia.Choibalsan=Asia/Choibalsán
+pref.timezone.Asia.Chongqing=Asia/Chongqing
+pref.timezone.Asia.Colombo=Asia/Colombo
+pref.timezone.Asia.Damascus=Asia/Damasco
+pref.timezone.Asia.Dhaka=Asia/Dhaka
+pref.timezone.Asia.Dili=Asia/Dili
+pref.timezone.Asia.Dubai=Asia/Dubái
+pref.timezone.Asia.Dushanbe=Asia/Dusambé
+pref.timezone.Asia.Gaza=Asia/Gaza
+pref.timezone.Asia.Harbin=Asia/Harbin
+pref.timezone.Asia.Hong_Kong=Asia/Hong Kong
+pref.timezone.Asia.Hovd=Asia/Hovd
+pref.timezone.Asia.Irkutsk=Asia/Irkutsk
+pref.timezone.Asia.Istanbul=Asia/Estambul
+pref.timezone.Asia.Jakarta=Asia/Yakarta
+pref.timezone.Asia.Jayapura=Asia/Jayapura
+pref.timezone.Asia.Jerusalem=Asia/Jerusalén
+pref.timezone.Asia.Kabul=Asia/Kabul
+pref.timezone.Asia.Kamchatka=Asia/Kamchatka
+pref.timezone.Asia.Karachi=Asia/Karachi
+pref.timezone.Asia.Kashgar=Asia/Kasgar
+pref.timezone.Asia.Kathmandu=Asia/Katmandú
+pref.timezone.Asia.Krasnoyarsk=Asia/Krasnoyarsk
+pref.timezone.Asia.Kuala_Lumpur=Asia/Kuala Lumpur
+pref.timezone.Asia.Kuching=Asia/Kuching
+pref.timezone.Asia.Kuwait=Asia/Kuwait
+pref.timezone.Asia.Macau=Asia/Macao
+pref.timezone.Asia.Magadan=Asia/Magadán
+pref.timezone.Asia.Makassar=Asia/Macasar
+pref.timezone.Asia.Manila=Asia/Manila
+pref.timezone.Asia.Muscat=Asia/Mascate
+pref.timezone.Asia.Nicosia=Asia/Nicosia
+pref.timezone.Asia.Novosibirsk=Asia/Novosibirsk
+pref.timezone.Asia.Omsk=Asia/Omsk
+pref.timezone.Asia.Oral=Asia/Oral
+pref.timezone.Asia.Phnom_Penh=Asia/Nom Pem
+pref.timezone.Asia.Pontianak=Asia/Pontianak
+pref.timezone.Asia.Pyongyang=Asia/Pionyang
+pref.timezone.Asia.Qatar=Asia/Catar
+pref.timezone.Asia.Qyzylorda=Asia/Kyzylorda
+pref.timezone.Asia.Rangoon=Asia/Rangún
+pref.timezone.Asia.Riyadh=Asia/Riad
+pref.timezone.Asia.Sakhalin=Asia/Sajalín
+pref.timezone.Asia.Samarkand=Asia/Samarcanda
+pref.timezone.Asia.Seoul=Asia/Seúl
+pref.timezone.Asia.Shanghai=Asia/Shanghái
+pref.timezone.Asia.Singapore=Asia/Singapur
+pref.timezone.Asia.Taipei=Asia/Taipéi
+pref.timezone.Asia.Tashkent=Asia/Taskent
+pref.timezone.Asia.Tbilisi=Asia/Tiflis
+pref.timezone.Asia.Tehran=Asia/Teherán
+pref.timezone.Asia.Thimphu=Asia/Timbu
+pref.timezone.Asia.Tokyo=Asia/Tokio
+pref.timezone.Asia.Ulaanbaatar=Asia/Ulán Bator
+pref.timezone.Asia.Urumqi=Asia/Urumchi
+pref.timezone.Asia.Vientiane=Asia/Vientián
+pref.timezone.Asia.Vladivostok=Asia/Vladivostok
+pref.timezone.Asia.Yakutsk=Asia/Yakutsk
+pref.timezone.Asia.Yekaterinburg=Asia/Ekaterimburgo
+pref.timezone.Asia.Yerevan=Asia/Ereván
+pref.timezone.Atlantic.Azores=Atlántico/Azores
+pref.timezone.Atlantic.Bermuda=Atlántico/Bermudas
+pref.timezone.Atlantic.Canary=Atlántico/Canarias
+pref.timezone.Atlantic.Cape_Verde=Atlántico/Cabo Verde
+pref.timezone.Atlantic.Faroe=Atlántico/Islas Feroe
+pref.timezone.Atlantic.Madeira=Atlántico/Madeira
+pref.timezone.Atlantic.Reykjavik=Atlántico/Reikiavik
+pref.timezone.Atlantic.South_Georgia=Atlántico/Islas Georgias del Sur y Sandwich del Sur
+pref.timezone.Atlantic.St_Helena=Atlántico/Isla Santa Elena
+pref.timezone.Atlantic.Stanley=Atlántico/Stanley
+pref.timezone.Australia.Adelaide=Australia/Adelaida
+pref.timezone.Australia.Brisbane=Australia/Brisbane
+pref.timezone.Australia.Broken_Hill=Australia/Broken Hill
+pref.timezone.Australia.Currie=Australia/Currie
+pref.timezone.Australia.Darwin=Australia/Darwin
+pref.timezone.Australia.Eucla=Australia/Eucla
+pref.timezone.Australia.Hobart=Australia/Hobart
+pref.timezone.Australia.Lindeman=Australia/Lindeman
+pref.timezone.Australia.Lord_Howe=Australia/Lord Howe
+pref.timezone.Australia.Melbourne=Australia/Melbourne
+pref.timezone.Australia.Perth=Australia/Perth
+pref.timezone.Australia.Sydney=Australia/Sídney
+pref.timezone.Europe.Amsterdam=Europa/Ámsterdam
+pref.timezone.Europe.Andorra=Europa/Andorra
+pref.timezone.Europe.Athens=Europa/Atenas
+pref.timezone.Europe.Belgrade=Europa/Belgrado
+pref.timezone.Europe.Berlin=Europa/Berlín
+pref.timezone.Europe.Bratislava=Europa/Bratislava
+pref.timezone.Europe.Brussels=Europa/Bruselas
+pref.timezone.Europe.Bucharest=Europa/Bucarest
+pref.timezone.Europe.Budapest=Europa/Budapest
+pref.timezone.Europe.Chisinau=Europa/Chisináu
+pref.timezone.Europe.Copenhagen=Europa/Copenhague
+pref.timezone.Europe.Dublin=Europa/Dublín
+pref.timezone.Europe.Gibraltar=Europa/Gibraltar
+pref.timezone.Europe.Guernsey=Europa/Guernsey
+pref.timezone.Europe.Helsinki=Europa/Helsinki
+pref.timezone.Europe.Isle_of_Man=Europa/Isla de Man
+pref.timezone.Europe.Istanbul=Europa/Estambul
+pref.timezone.Europe.Jersey=Europa/Jersey
+pref.timezone.Europe.Kaliningrad=Europa/Kaliningrado
+pref.timezone.Europe.Kiev=Europa/Kiev
+pref.timezone.Europe.Lisbon=Europa/Lisboa
+pref.timezone.Europe.Ljubljana=Europa/Liubliana
+pref.timezone.Europe.London=Europa/Londres
+pref.timezone.Europe.Luxembourg=Europa/Luxemburgo
+pref.timezone.Europe.Madrid=Europa/Madrid
+pref.timezone.Europe.Malta=Europa/Malta
+pref.timezone.Europe.Mariehamn=Europa/Mariehamn
+pref.timezone.Europe.Minsk=Europa/Minsk
+pref.timezone.Europe.Monaco=Europa/Mónaco
+pref.timezone.Europe.Moscow=Europa/Moscú
+pref.timezone.Europe.Nicosia=Europa/Nicosia
+pref.timezone.Europe.Oslo=Europa/Oslo
+pref.timezone.Europe.Paris=Europa/París
+pref.timezone.Europe.Podgorica=Europa/Podgorica
+pref.timezone.Europe.Prague=Europa/Praga
+pref.timezone.Europe.Riga=Europa/Riga
+pref.timezone.Europe.Rome=Europa/Roma
+pref.timezone.Europe.Samara=Europa/Samara
+pref.timezone.Europe.San_Marino=Europa/San Marino
+pref.timezone.Europe.Sarajevo=Europa/Sarajevo
+pref.timezone.Europe.Simferopol=Europa/Simferópol
+pref.timezone.Europe.Skopje=Europa/Skopie
+pref.timezone.Europe.Sofia=Europa/Sofía
+pref.timezone.Europe.Stockholm=Europa/Estocolmo
+pref.timezone.Europe.Tallinn=Europa/Tallin
+pref.timezone.Europe.Tirane=Europa/Tirana
+pref.timezone.Europe.Uzhgorod=Europa/Úzhgorod
+pref.timezone.Europe.Vaduz=Europa/Vaduz
+pref.timezone.Europe.Vatican=Europa/Vaticano
+pref.timezone.Europe.Vienna=Europa/Viena
+pref.timezone.Europe.Vilnius=Europa/Vilna
+pref.timezone.Europe.Volgograd=Europa/Volgogrado
+pref.timezone.Europe.Warsaw=Europa/Varsovia
+pref.timezone.Europe.Zagreb=Europa/Zagreb
+pref.timezone.Europe.Zaporozhye=Europa/Zaporiyia
+pref.timezone.Europe.Zurich=Europa/Zúrich
+pref.timezone.Indian.Antananarivo=India/Antananarivo
+pref.timezone.Indian.Chagos=India/Chagos
+pref.timezone.Indian.Christmas=India/Christmas
+pref.timezone.Indian.Cocos=India/Cocos
+pref.timezone.Indian.Comoro=India/Comoras
+pref.timezone.Indian.Kerguelen=India/Kerguelen
+pref.timezone.Indian.Mahe=India/Mahé
+pref.timezone.Indian.Maldives=India/Maldivas
+pref.timezone.Indian.Mauritius=India/Mauricio
+pref.timezone.Indian.Mayotte=India/Mayotte
+pref.timezone.Indian.Reunion=India/Reunión
+pref.timezone.Pacific.Apia=Pacífico/Apia
+pref.timezone.Pacific.Auckland=Pacífico/Auckland
+pref.timezone.Pacific.Chatham=Pacífico/Chatham
+pref.timezone.Pacific.Easter=Pacífico/Isla de Pascua
+pref.timezone.Pacific.Efate=Pacífico/Éfaté
+pref.timezone.Pacific.Enderbury=Pacífico/Enderbury
+pref.timezone.Pacific.Fakaofo=Pacífico/Fakaofo
+pref.timezone.Pacific.Fiji=Pacífico/Fiyi
+pref.timezone.Pacific.Funafuti=Pacífico/Funafuti
+pref.timezone.Pacific.Galapagos=Pacífico/Galápagos
+pref.timezone.Pacific.Gambier=Pacífico/Gambier
+pref.timezone.Pacific.Guadalcanal=Pacífico/Guadalcanal
+pref.timezone.Pacific.Guam=Pacífico/Guam
+pref.timezone.Pacific.Honolulu=Pacífico/Honolulu
+pref.timezone.Pacific.Johnston=Pacífico/Johnston
+pref.timezone.Pacific.Kiritimati=Pacífico/Kiritimati
+pref.timezone.Pacific.Kosrae=Pacífico/Kosrae
+pref.timezone.Pacific.Kwajalein=Pacífico/Kwajalein
+pref.timezone.Pacific.Majuro=Pacífico/Majuro
+pref.timezone.Pacific.Marquesas=Pacífico/Marquesas
+pref.timezone.Pacific.Midway=Pacífico/Midway
+pref.timezone.Pacific.Nauru=Pacífico/Nauru
+pref.timezone.Pacific.Niue=Pacífico/Niue
+pref.timezone.Pacific.Norfolk=Pacífico/Norfolk
+pref.timezone.Pacific.Noumea=Pacífico/Numea
+pref.timezone.Pacific.Pago_Pago=Pacífico/Pago Pago
+pref.timezone.Pacific.Palau=Pacífico/Palaos
+pref.timezone.Pacific.Pitcairn=Pacífico/Pitcairn
+pref.timezone.Pacific.Ponape=Pacífico/Pohnpei
+pref.timezone.Pacific.Port_Moresby=Pacífico/Puerto Moresby
+pref.timezone.Pacific.Rarotonga=Pacífico/Rarotonga
+pref.timezone.Pacific.Saipan=Pacífico/Saipán
+pref.timezone.Pacific.Tahiti=Pacífico/Tahití
+pref.timezone.Pacific.Tarawa=Pacífico/Tarawa
+pref.timezone.Pacific.Tongatapu=Pacífico/Tongatapu
+pref.timezone.Pacific.Truk=Pacífico/Truk
+pref.timezone.Pacific.Wake=Pacífico/Wake
+pref.timezone.Pacific.Wallis=Pacífico/Wallis
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=América/Indiana/Tell City
+pref.timezone.America.Indiana.Winamac=América/Indiana/Winamac
+pref.timezone.America.Marigot=América/Marigot
+pref.timezone.America.Resolute=América/Resolute
+pref.timezone.America.St_Barthelemy=América/St. Barthelemy
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=América/Argentina/San Luis
+pref.timezone.America.Santarem=América/Santarem
+pref.timezone.Asia.Ho_Chi_Minh=Asia/Ho Chi Minh
+pref.timezone.Asia.Kolkata=Asia/Calcuta
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=América/Argentina/Salta
+
+# added with 2010i
+pref.timezone.America.Matamoros=América/Matamoros
+pref.timezone.America.Ojinaga=América/Ojinaga
+pref.timezone.America.Santa_Isabel=América/Santa Isabel
+pref.timezone.Antarctica.Macquarie=Antártida/Macquarie
+pref.timezone.Asia.Novokuznetsk=Asia/Novokuznetsk
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=América/Bahía Banderas
+pref.timezone.America.North_Dakota.Beulah=América/Dakota del Norte/Beulah
+pref.timezone.Pacific.Chuuk=Pacífico/Chuuk
+pref.timezone.Pacific.Pohnpei=Pacífico/Pohnpei
+
+#added with 2011n
+pref.timezone.Africa.Juba=África/Juba
+pref.timezone.America.Kralendijk=América/Kralendijk
+pref.timezone.America.Lower_Princes=América/Lower Princes
+pref.timezone.America.Metlakatla=América/Metlakatla
+pref.timezone.America.Sitka=América/Sitka
+pref.timezone.Asia.Hebron=Asia/Hebrón
+
+#added with 2013a
+pref.timezone.America.Creston=América/Creston
+pref.timezone.Asia.Khandyga=Asia/Khandiga
+pref.timezone.Asia.Ust-Nera=Asia/Ust-Nera
+pref.timezone.Europe.Busingen=Europa/Busingen
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=Antártida/Troll
+
+#added with 2014j
+pref.timezone.Asia.Chita=Asia/Chitá
+pref.timezone.Asia.Srednekolymsk=Asia/Srednekolimsk
+pref.timezone.Pacific.Bougainville=Pacífico/Bougainville
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=América/Fuerte Nelson
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=Europa/Uliánovsk
+pref.timezone.Europe.Astrakhan=Europa/Astracán
+pref.timezone.Asia.Barnaul=Asia/Barnaúl
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=Asia/Rangún
+pref.timezone.Asia.Tomsk=Asia/Tomsk
+pref.timezone.Asia.Famagusta=Asia/Famagusta
+pref.timezone.Europe.Kirov=Europa/Kirov
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=Europa/Sarátov
+pref.timezone.Asia.Atyrau=Asya/Atirau
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=América/Punta Arenas
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=Asia/Kostanay
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=América/Nuuk
+
+#added with 2.2021c
+pref.timezone.Pacific.Kanton=Pacífico/Kanton
+
+#added with 2.2022b
+pref.timezone.Europe.Kyiv=Europa/Kiev
+
+#added with 2.2023c
+pref.timezone.America.Ciudad_Juarez=América/Ciudad Juárez
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/accounts.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/accounts.dtd
new file mode 100644
index 0000000000..6e0fa90f4c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Cuentas - &brandShortName;">
+<!ENTITY accountManager.width "450">
+<!-- Instant messaging account status window for Thunderbird -->
+<!ENTITY accountsWindow.title "Estado de la mensajería instantánea">
+<!ENTITY accountsWindow2.style "width: 41em; height: 27em;">
+
+<!ENTITY accountManager.newAccount.label "Nueva cuenta">
+<!ENTITY accountManager.newAccount.accesskey "N">
+<!ENTITY accountManager.close.label "Cerrar">
+<!ENTITY accountManager.close.accesskey "l">
+<!-- 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 "No se ha configurado ninguna cuenta">
+<!ENTITY accountManager.noAccount.description "Haz clic en el botón &accountManager.newAccount.label; y &brandShortName; te guiará en el proceso de configurar una.">
+<!ENTITY account.autoSignOn.label "Ingresar al inicio">
+<!ENTITY account.autoSignOn.accesskey "S">
+<!ENTITY account.connect.label "Conectar">
+<!ENTITY account.connect.accesskey "o">
+<!ENTITY account.disconnect.label "Desconectar">
+<!ENTITY account.disconnect.accesskey "i">
+<!ENTITY account.delete.label "Eliminar">
+<!ENTITY account.delete.accesskey "D">
+<!ENTITY account.edit.label "Propiedades">
+<!ENTITY account.edit.accesskey "P">
+<!ENTITY account.moveup.label "Mover arriba">
+<!ENTITY account.movedown.label "Mover abajo">
+<!ENTITY account.cancelReconnection.label "Cancelar la reconexión">
+<!ENTITY account.cancelReconnection.accesskey "A">
+<!ENTITY account.copyDebugLog.label "Copiar información para depuración">
+<!ENTITY account.copyDebugLog.accesskey "C">
+<!ENTITY account.showDebugLog.label "Ver la información de depuración">
+<!ENTITY account.showDebugLog.accesskey "H">
+<!ENTITY account.connecting "Conectando…">
+<!ENTITY account.disconnecting "Desconectando…">
+<!ENTITY account.disconnected "No conectado">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/accounts.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/accounts.properties
new file mode 100644
index 0000000000..22e03a58fa
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Contraseña para %S
+passwordPromptText=Ingresa tu contraseña de %S para conectarte.
+passwordPromptSaveCheckbox=Usa el administrador de contraseñas para recordar esta.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/commands.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/commands.properties
new file mode 100644
index 0000000000..c7e6706595
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Comandos: %S.\nUsa /help &lt;comando&gt; para más información.
+# LOCALIZATION NOTE (noCommand, noHelp):
+# %S is the command name the user typed.
+noCommand=No hay comando '%S'.
+noHelp=No hay mensaje de ayuda para el comando '%S', ¡disculpa!
+
+sayHelpString=dilo &lt;mensaje&gt;: envía un mensaje sin procesar comandos.
+rawHelpString=raw &lt;mensaje&gt;: enviar un mensaje si saltarse entidades HTML.
+helpHelpString=help &lt;nombre&gt;: muestra el mensaje de ayuda para &lt;nombre&gt; de comando o la lista de posibles comandos cuando se usa sin parámetros.
+
+# 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;mensaje de estado&gt;: establece el estado a %2$S con un mensaje de estado opcional.
+back=disponible
+away=ausente
+busy=no disponible
+dnd=no disponible
+offline=desconectado
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/contacts.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/contacts.properties
new file mode 100644
index 0000000000..e13ed0d14c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Contactos
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/conversations.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/conversations.properties
new file mode 100644
index 0000000000..3eae56b4ba
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/conversations.properties
@@ -0,0 +1,80 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (targetChanged):
+# %1$S is the new conversation title (display name of the new target),
+# %2$S is the protocol name used for the new target.
+targetChanged=La conversación continuará con %1$S, usando %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 es ahora %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 es ahora %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 es %2$S.
+statusChangedFromUnknownWithStatusText=%1$S es %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=Tu cuenta ha sido reconectada (%1$S es %2$S).
+statusKnownWithStatusText=Tu cuenta ha sido reconectada (%1$S es %2$S: %3$S).
+# LOCALIZATION NOTE (statusUnknown):
+# %S is the display name of the contact.
+statusUnknown=Tu cuenta está desconectada (el estado de %S es desconocido).
+
+accountDisconnected=Tu cuenta está desconectada.
+accountReconnected=Tu cuenta se ha conectado de nuevo.
+
+# LOCALIZATION NOTE (autoReply):
+# %S is replaced by the text of a message that was sent as an automatic reply.
+autoReply=Respuesta automática - %S
+
+# LOCALIZATION NOTE (noTopic):
+# Displayed instead of the topic when no topic is set.
+noTopic=No hay un tema definido en esta habitación.
+
+# LOCALIZATION NOTE (topicSet):
+# %1$S is the conversation name, %2$S is the topic.
+topicSet=El tema para %1$S es: %2$S.
+# LOCALIZATION NOTE (topicNotSet):
+# %S is the conversation name.
+topicNotSet=No hay tema para %S.
+# LOCALIZATION NOTE (topicChanged):
+# %1$S is the user who changed the topic, %2$S is the new topic.
+topicChanged=%1$S ha cambiado el tema a: %2$S.
+# LOCALIZATION NOTE (topicCleared):
+# %1$S is the user who cleared the topic.
+topicCleared=%1$S ha limpiado el tema.
+
+# 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 es ahora conocido como %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=Eres conocido ahora como %S.
+
+# LOCALIZATION NOTE (messenger.conversations.selections.ellipsis):
+# ellipsis is used when copying a part of a message to show that the message was cut
+messenger.conversations.selections.ellipsis=[…]
+
+# LOCALIZATION NOTE (messenger.conversations.selections.{system,content,action}MessagesTemplate):
+# These 3 templates are used to format selected messages before copying them.
+# Do not translate the texts between % characters, but feel free to adjust
+# whitespace and separators to make them fit your locale.
+messenger.conversations.selections.systemMessagesTemplate=%time% - %message%
+messenger.conversations.selections.contentMessagesTemplate=%time% - %sender%: %message%
+messenger.conversations.selections.actionMessagesTemplate=%time% * %sender% %message%
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/facebook.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/facebook.properties
new file mode 100644
index 0000000000..fe0e7f2e3c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Chat de Facebook
+facebook.disabled=El chat de Facebook ya no tiene soporte porque Facebook deshabilitó su gateway XMPP.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/imtooltip.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/imtooltip.properties
new file mode 100644
index 0000000000..5948e3984b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Nombre de usuario
+buddy.account=Cuenta
+contact.tags=Etiquetas
+
+otr.tag=Estado OTR
+
+encryption.tag=Estado de cifrado
+message.status=Mensaje cifrado
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/irc.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/irc.properties
new file mode 100644
index 0000000000..3825282bf0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=alias
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if the account is
+# disconnected because of an error.
+connection.error.lost=Se ha perdido la conexión el servidor
+connection.error.timeOut=La conexión ha tardado demasiado
+connection.error.invalidUsername=%S no está permitido como nombre de usuario
+connection.error.invalidPassword=Contraseña del servidor inválida
+connection.error.passwordRequired=Se requiere contraseña
+
+# LOCALIZATION NOTE (joinChat.*):
+# These show up on the join chat menu. An underscore is for the access key.
+joinChat.channel=_Canal
+joinChat.password=_Contraseña
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.server=Servidor
+options.port=Puerto
+options.ssl=Usar SSL
+options.encoding=Conjunto de caracteres
+options.quitMessage=Mensaje de salida
+options.partMessage=Mensaje de partida
+options.showServerTab=Mostrar mensajes desde el servidor
+options.alternateNicks=Nicks alternativos
+
+# 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 está usando "%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=El tiempo para %1$S es %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;acción a ejecutar&gt;: Ejecuta una acción.
+command.ban=%S &lt;nick!user@host&gt;: Prohibir a los usuarios que coincidan con el patrón dado.
+command.ctcp=%S &lt;nick&gt; &lt;msg&gt;: Envía un mensaje CTCP al nick.
+command.chanserv=%S &lt;command&gt;: Envía un comando a ChanServ.
+command.deop=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: Quitar el estado del operador del canal de alguien. Debes ser un operador de canal para hacer esto.
+command.devoice=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: Elimina el estado de voz del canal de alguien, impidiendo que hablen si el canal está moderado (+ m). Debes ser un operador de canal para hacer esto.
+command.invite2=%S &lt;nick&gt;[ &lt;nick&gt;]* [&lt;channel&gt;]: Invita uno o más usuarios para unirse al canal actual o para unirse al canal especificado.
+command.join=%S &lt;room1&gt;[ &lt;key1&gt;][,&lt;room2&gt;[ &lt;key2&gt;]]*: Introduce uno o más canales, proporcionando opcionalmente una clave de canal para cada uno si es necesario.
+command.kick=%S &lt;nick&gt; [&lt;message&gt;]: Quitar a alguien de un canal. Debes ser un operador de canal para hacer esto.
+command.list=%S: Mostrar una lista de salas de chat en la red. Advertencia, algunos servidores pueden desconectarte al hacer esto.
+command.memoserv=%S &lt;command&gt;: Envía un comando a MemoServ.
+command.modeUser2=%S &lt;nick&gt; [(+|-)&lt;mode&gt;]: Obtener, establecer o desactivar el modo de un usuario.
+command.modeChannel2=%S [&lt;channel&gt;] [(+|-)&lt;new mode&gt; [&lt;parameter&gt;][,&lt;parameter&gt;]*]: Obtener, configurar o desactivar un modo de canal.
+command.msg=%S &lt;nick&gt; &lt;message&gt;: Enviar un mensaje privado a un usuario (a diferencia de un canal).
+command.nick=%S &lt;new nickname&gt;: Cambia tu nombre de usuario.
+command.nickserv=%S &lt;command&gt;: Envía un comando a NickServ.
+command.notice=%S &lt;target&gt; &lt;message&gt;: Envía una noticia al usuario o canal.
+command.op=%S &lt;nick1&gt;[,&lt;nick2&gt;]*: Concede el estatus de operador de canal a alguien. Debe ser un operador de canal para hacer esto.
+command.operserv=%S &lt;command&gt;: Enviar un comando a OperServ.
+command.part=%S [message]: Dejar el canal actual con un mensaje opcional.
+command.ping=%S [&lt;usuario&gt;]: Preguntar que tan atrasado está el usuario (o el servidor si el usuario no está especificado).
+command.quit=%S &lt;mensaje&gt;: Desconectar del servidor, con un mensaje opcional.
+command.quote=%S &lt;comando&gt;: Enviar un comando sin procesar al servidor.
+command.time=%S: Muestra la hora local actual en el servidor IRC.
+command.topic=%S [&lt;nuevo tema&gt;]: Establecer el tema de este canal.
+command.umode=%S (+|-)&lt;nuevo modo&gt;: Establecer o no establecer un modo de usuario.
+command.version=%S &lt;usuario&gt;: Solicitar la versión de un cliente de usuario.
+command.voice=%S &lt;usuario1&gt;[,&lt;usuario2&gt;]*: Conceder el estado de voz del canal a alguien. Debes ser un operador de canal para hacer esto.
+command.whois2=%S [&lt;usuario&gt;]: Obtener información de un usuario.
+
+# 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] ingresó a la sala.
+message.rejoined=Has vuelto a ingresar al 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=Has sido expulsado por %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 has sido expulsado por %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=Modo %1$S para %2$S establecido por %3$S.
+# %1$S is the new channel mode and %2$S is who set the mode.
+message.channelmode=Modo del canal %1$S establecido por %2$S.
+# %S is the user's mode.
+message.yourmode=Tu modo es %S.
+# Could not change the nickname. %S is the user's nick.
+message.nick.fail=No es posible usar el nombre de usuario deseado. Tu usuario sigue siendo %S.
+# The parameter is the message.parted.reason, if a part message is given.
+message.parted.you=Has abandonado la sala (Parte%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 abandonó la sala (Parte%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 abandonó la sala (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 te ha invitado a %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 se invitó correctamente a %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 ya está en %2$S.
+# %S is the nickname of the user who was summoned.
+message.summoned=%S fue convocado.
+# %S is the nickname of the user whose WHOIS information follows this message.
+message.whois=WHOIS información para %S:
+# %1$S is the nickname of the (offline) user whose WHOWAS information follows this message.
+message.whowas=%1$S esta fuera de linea. WHOWAS información de %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 es un nombre de usuario desconocido.
+# %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 cambió la contraseña del canal a %2$S.
+message.channelKeyRemoved=%S removió la contraseña del canal.
+# This will be followed by a list of ban masks.
+message.banMasks=Usuarios conectados desde las siguientes ubicaciones son bloqueados desde %S:
+message.noBanMasks=No hay ubicaciones bloqueadas para %S.
+message.banMaskAdded=Usuarios conectados desde las ubicaciones correspondientes a %1$S han sido bloqueados por %2$S.
+message.banMaskRemoved=Usuarios conectados desde las ubicaciones correspondientes a %1$S ya no están bloqueados a %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=Respuesta de ping desde %1$S en #2 milisegundo.;Respuesta de ping desde %1$S en #2 milisegundos.
+
+
+# LOCALIZATION NOTE (error.*):
+# These are shown as error messages in the conversation or server tab.
+# %S is the channel name.
+error.noChannel=Canal inexistente: %S.
+error.tooManyChannels=No se puede ingresar a %S; ya has ingresado a demasiados canales.
+# %1$S is your new nick, %2$S is the kill message from the server.
+error.nickCollision=Este apodo ya se está utilizando, cambiando el apodo a %1$S [%2$S].
+error.erroneousNickname=El apodo %S no está permitido.
+error.banned=Has sido expulsado de este servidor.
+error.bannedSoon=Pronto serás expulsado de este servidor.
+error.mode.wrongUser=No puedes cambiar el modo para otros usuarios.
+# %S is the nickname or channel name that isn't available.
+error.noSuchNick=%S no está en línea.
+error.wasNoSuchNick=No hay apodo: %S
+error.noSuchChannel=No hay canal: %S.
+error.unavailable=%S está momentaneamente indisponible.
+# %S is the channel name.
+error.channelBanned=Has sido expulsado de %S.
+error.cannotSendToChannel=No puedes enviar mensajes a %S.
+error.channelFull=El canal %S está lleno.
+error.inviteOnly=Para unirte a %S debes ser invitado.
+error.nonUniqueTarget=%S no es un user@host o nombre abreviado único o quizás hayas intentado unirte a demasiados canales a la vez.
+error.notChannelOp=No eres el operador del canal %S.
+error.notChannelOwner=No eres el propietario del canal %S.
+error.wrongKey=No puedes unirte a %S. Contraseña del canal inválida.
+error.sendMessageFailed=Ha ocurrido un error al enviar tu último mensaje. Por favor, inténtalo una vez más cuando se restablezca la conexión.
+# %1$S is the channel the user tried to join, %2$S is the channel
+# he was forwarded to.
+error.channelForward=No pudiste unirte a %1$S y has sido redirigido automáticamente a %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' no es un modo de usuario válido en este servidor.
+
+# 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=Nombre
+tooltip.server=Conectado a
+# 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=Conectado desde
+tooltip.registered=Registrado
+tooltip.registeredAs=Registrado como
+tooltip.secure=Usando conexión segura
+# The away message of the user
+tooltip.away=Ausente
+tooltip.ircOp=Operador IRC
+tooltip.bot=Bot
+tooltip.lastActivity=Última actividad
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=hace %S
+tooltip.channels=Actualmente en
+
+# %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=Sí
+no=No
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/logger.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/logger.properties
new file mode 100644
index 0000000000..dadf07efb6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Archivo de registro vacío o dañado: %S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/matrix.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/matrix.properties
new file mode 100644
index 0000000000..a86c60334c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/matrix.properties
@@ -0,0 +1,263 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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=Matrix ID
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.saveToken=Guardar token de acceso
+options.deviceDisplayName=Nombre para mostrar del dispositivo
+options.homeserver=Servidor
+
+options.backupPassphrase=Frase de contraseña de la copia de seguridad de la clave
+
+# 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=Funciones criptográficas: %S
+options.encryption.secretStorage=Almacenamiento secreto: %S
+options.encryption.keyBackup=Copia de seguridad de la clave de cifrado: %S
+options.encryption.crossSigning=Firma cruzada: %S
+options.encryption.statusOk=ok
+options.encryption.statusNotOk=no está listo
+options.encryption.needBackupPassphrase=Por favor, introduce tu contraseña de clave de respaldo en las opciones de protocolo.
+options.encryption.setUpSecretStorage=Para configurar el almacenamiento secreto, utiliza otro cliente y luego ingresa la frase de contraseña de la clave de respaldo generada en la pestaña "General".
+options.encryption.setUpBackupAndCrossSigning=Para activar las copias de seguridad de claves de cifrado y la firma cruzada, escribe tu contraseña de clave de respaldo en la pestaña "General" o comprueba la identidad de una de las siguientes sesiones.
+# %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=Esperando tu autorización
+connection.requestAccess=Finalizando autenticación
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.noSupportedFlow=El servidor no ofrece ningún flujo de inicio de sesión compatible.
+connection.error.authCancelled=Has cancelado el proceso de autorización.
+connection.error.sessionEnded=La sesión se ha cerrado.
+connection.error.serverNotFound=No se pudo identificar el servidor Matrix para la cuenta Matrix dada.
+
+# 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=_Salón
+
+# 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=Mostrar nombre
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=hace %S
+tooltip.lastActive=Última actividad
+
+# 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=Predeterminado
+powerLevel.moderator=Moderador
+powerLevel.admin=Administrador
+powerLevel.restricted=Restringido
+powerLevel.custom=Personalizado
+# %1$S is the power level name
+# %2$S is the power level number
+powerLevel.detailed=%1$S (%2$S)
+powerLevel.defaultRole=Rol predeterminado: %S
+powerLevel.inviteUser=Invitar usuarios: %S
+powerLevel.kickUsers=Echar usuarios: %S
+powerLevel.ban=Prohibir usuarios: %S
+powerLevel.roomAvatar=Cambiar el avatar de la sala: %S
+powerLevel.mainAddress=Cambiar dirección principal de la sala: %S
+powerLevel.history=Cambiar la visibilidad del historial: %S
+powerLevel.roomName=Cambiar el nombre de sala: %S
+powerLevel.changePermissions=Cambiar los permisos: %S
+powerLevel.server_acl=Enviar eventos m.room.server_acl: %S
+powerLevel.upgradeRoom=Actualizar la sala: %S
+powerLevel.remove=Eliminar mensajes: %S
+powerLevel.events_default=Eventos predeterminados: %S
+powerLevel.state_default=Cambiar la configuración: %S
+powerLevel.encryption=Habilitar el cifrado de la sala: %S
+powerLevel.topic=Establecer el tema de la sala: %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=Nombre: %S
+# Example placeholder: "My first room"
+detail.topic=Tema: %S
+# Example placeholder: "5"
+detail.version=Versión de la sala: %S
+# Example placeholder: "#thunderbird:mozilla.org"
+detail.roomId=RoomID: %S
+# %S are all admin users. Example: "@foo:example.com, @bar:example.com"
+detail.admin=Administrador: %S
+# %S are all moderators. Example: "@lorem:mozilla.org, @ipsum:mozilla.org"
+detail.moderator=Moderador: %S
+# Example placeholder: "#thunderbird:matrix.org"
+detail.alias=Alias: %S
+# Example placeholder: "can_join"
+detail.guest=Acceso de invitado: %S
+# This is a heading, followed by the powerLevel.* strings
+detail.power=Niveles de potencia:
+
+# 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;motivo&gt;]: Prohibir al usuario con el userId de la sala con un mensaje opcional de motivo. Requieres permiso para prohibir usuarios.
+command.invite=%S &lt;userId&gt;: Invitar usuario a la sala.
+command.kick=%S & lt;userId &gt; [&lt;motivo& gt;]: Echar al usuario con el userId de la sala con un mensaje de motivo opcional. Requieres permiso para echar a los usuarios.
+command.nick=%S &lt;nombre_para_mostrar&gt;: Cambiar tu nombre para mostrar.
+command.op=%S &lt;userId&gt; [&lt; nivel de potencia&gt;]: Define el nivel de poder del usuario. Ingresar un valor entero, Usuario: 0, Moderador: 50 y Administrador: 100. El valor predeterminado será de 50. Requieres permiso para cambiar los niveles de poder de los miembros. No funciona en administradores que no seas tú.
+command.deop=%S &lt;userId&gt;: Restablecer el usuario al nivel de potencia 0 (Usuario). Requieres permiso para cambiar los niveles de poder de los miembros. No funciona en otros administradores que no seas tú.
+command.leave=%S: Salir de la sala actual.
+command.topic=%S &lt;tema&gt;: Establecer el tema de la sala. Requieres permisos para cambiar el tema de la sala.
+command.unban=%S &lt;userId&gt;: Eliminar la prohibición a un usuario que está prohibido en la sala. Requieres permiso para prohibir usuarios.
+command.visibility=%S [&lt;visibilidad&gt;]: Establece la visibilidad de la sala actual en el directorio actual del servidor de inicio. Ingresar un valor entero, Privado: 0 y Público: 1. El valor predeterminado, será privado (0) si no se presenta ningún argumento. Requieres permiso para cambiar la visibilidad de la sala.
+command.guest=%S &lt;acceso invitado&gt; &lt;visibilidad de historial&gt;: Establecer el acceso y la visibilidad del historial de la sala actual para los usuarios invitados. Introducir dos valores enteros, el primero para el acceso de los invitados (no permitido): 0 y permitido: 1) y el segundo para la visibilidad del historial(no visible: 0 y visible: 1). Requieres permiso para cambiar la visibilidad del historial.
+command.roomname=%S &lt;nombre&gt;: Establecer el tema de la sala. Requieres permisos para cambiar el tema de la sala.
+command.detail=%S: Mostrar los detalles de la sala.
+command.addalias=%S &lt;alias&gt;: Crear un alias para la sala. Se esperaba un alias de la sala de la forma '#localname:domain'. Requieres permiso para agregar alias.
+command.removealias=%S &lt;alias&gt;: Eliminar el alias de la sala. Se esperaba un alias de la sala de la forma '#localname:domain'. Requieres permiso para eliminar alias.
+command.upgraderoom=%S &lt;newVersion&gt;: Actualizar la sala a determinada versión. Requieres permiso para actualizar la sala.
+command.me=%S &lt;acción a ejecutar&gt;: Realizar una acción.
+command.msg=%S &lt;userId&gt; &lt;mensaje&gt;: Enviar un mensaje directo al usuario dado.
+command.join=%S &lt;roomId&gt;: Unirse a la sala dada.
+
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %S is the reason string for the particular action.
+# Used within context of ban, kick and withdrew invite.
+message.reason=Razón: %S.
+
+# 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 bloqueó a %2$S.
+# Same as message.banned but with a reason.
+# %3$S is the reason the user was banned.
+message.bannedWithReason=%1$S prohibido %2$S. Motivo: %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 aceptó la invitación para %2$S.
+# %S is the name of the user who accepted an invitation.
+message.acceptedInvite=$S aceptó una invitación.
+# %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 invitó a %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 cambió su nombre para mostrar de %2$S a %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 estableció su nombre para mostrar como %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 eliminó su nombre para mostrar %2$S.
+# %S is the name of the user who has joined the room.
+message.joined=%S se ha unido a la sala.
+# %S is the name of the user who has rejected the invitation.
+message.rejectedInvite=%S ha rechazado la invitación.
+# %S is the name of the user who has left the room.
+message.left=%S ha abandonado la sala.
+# %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 desbloqueó a %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 expulsó a %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 expulsado %2$S. Motivo: %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 retiró la invitación 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 retiro la invitación de %2$S. Motivo: %3$S
+# %S is the name of the user who has removed the room name.
+message.roomName.remove=%S eliminó el nombre de la sala.
+# %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 cambió el nombre de la sala a %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 cambió el nivel de poder 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 a %3$S
+# %S is the name of the user who has allowed guests to join the room.
+message.guest.allowed=%S ha permitido que los invitados se unan a la sala.
+# %S is the name of the user who has prevented guests to join the room.
+message.guest.prevented=%S ha evitado que los invitados se unan a la sala.
+# %S is the name of the user who has made future room history visible to anyone.
+message.history.anyone=%S hizo que el historial futuro de la sala sea visible para cualquiera.
+# %S is the name of the user who has made future room history visible to all room members.
+message.history.shared=%S hizo que el historial futuro de la sala sea visible para todos los miembros de la sala.
+# %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 hizo que el historial futuro de la sala sea visible para todos los miembros de la sala desde el momento en que son invitados.
+# %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 hizo que el historial futuro de la sala sea visible para todos los miembros de la sala desde el momento en que se unieron.
+# %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 estableció la dirección principal para esta sala de %2$S a %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 agregó %2$S como dirección alternativa para esta sala.
+# %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 eliminó %2$S como dirección alternativa para esta sala.
+# %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 eliminó %2$S y agregó %3$S como dirección para esta sala.
+message.spaceNotSupported=Esta sala es un espacio que no está soportado.
+message.encryptionStart=Los mensajes en esta conversación ahora están cifrados de extremo a extremo.
+# %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 quiere verificar %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 canceló la verificación por la razón: %2$S
+message.verification.done=Verificación completada.
+message.decryptionError=No se pudo descifrar el contenido de este mensaje. Para solicitar claves de cifrado de tus otros dispositivos, haz clic con el botón derecho en este mensaje.
+message.decrypting=Descifrando...
+message.redacted=El mensaje fue redactado.
+
+# %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 reaccionó a %2$S con %3$S.
+
+# Label in the message context menu
+message.action.requestKey=Volver a solicitar claves
+message.action.redact=Redactar
+message.action.report=Reportar mensaje
+message.action.retry=Reintentar envío
+message.action.cancel=Cancelar mensaje
+
+# LOCALIZATION NOTE (error.*)
+# These are strings shown as system messages when an action the user took fails.
+error.sendMessageFailed=Un error a ocurrido mientras se enviaba tu mensaje "%1$S".
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/status.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/status.properties
new file mode 100644
index 0000000000..d57233f1cc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Ausente
+unavailableStatusType=No disponible
+offlineStatusType=Desconectado
+invisibleStatusType=Invisible
+idleStatusType=Sin actividad
+mobileStatusType=Móvil
+# LOCALIZATION NOTE (unknownStatusType):
+# the status of a buddy is unknown when it's in the list of a disconnected account
+unknownStatusType=Desconocido
+
+# 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=Actualmente estoy lejos del equipo.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/twitter.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/twitter.properties
new file mode 100644
index 0000000000..6d834e7c5b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=El estado rebasa lo 140 caracteres.
+# 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=Ha ocurrido un error %1$S al enviar: %2$S
+error.retweet=Ha ocurrido un error %1$S al retuitear: %2$S
+error.delete=Ha ocurrido un error %1$S al eliminar: %2$S
+error.like=Ha ocurrido un error %1$S al gustar: %2$S
+error.unlike=Ha ocurrido un error %1$S al dejar de gustar: %2$S
+# LOCALIZATION NOTE (error.descriptionTooLong)
+# %S is the truncated string that was sent to the server.
+error.descriptionTooLong=La descripción supera la longitud máxima (160 caracteres) por lo tanto se truncó automáticamente en: %S.
+
+# LOCALIZATION NOTE (timeline):
+# This is the title of the conversation tab, %S will be replaced by
+# @<username>.
+timeline=línea de tiempo %S
+
+# LOCALIZATION NOTE (action.*):
+# This will be an action in the context menu of displayed tweets.
+action.copyLink=Copiar el enlace al tuit
+action.retweet=Retuitear
+action.reply=Responder
+action.delete=Eliminar
+# LOCALIZATION NOTE (action.follow, action.stopFollowing):
+# %S will be replaced by the screen name of a twitter user.
+action.follow=Seguir a %S
+action.stopFollowing=Dejar de seguir a %S
+action.like=Me gusta
+action.unlike=Eliminar Me gusta
+
+# 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=Ahora estás siguiendo a %S.
+event.unfollow=Dejaste de seguir a %S.
+event.followed=%S te está siguiendo.
+# LOCALIZATION NOTE (event.deleted):
+# %S will be replaced by the text of the deleted tweet.
+event.deleted=Eliminaste este tuit: "%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=Respondiendo a: %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=Iniciando proceso de autenticación
+connection.requestAuth=Esperando tu autorización
+connection.requestAccess=Finalizando autenticación
+connection.requestTimelines=Solicitando líneas de tiempo del usuario
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.userMismatch=Nombre de usuario incompatible.
+connection.error.failedToken=Error al obtener el token de solicitud.
+connection.error.authCancelled=Cancelaste el proceso de autorización.
+connection.error.authFailed=Falla al obtener autorización.
+connection.error.noNetwork=No hay conexión de red 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=Permitir el uso de tu cuenta de Twitter
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.track=Palabras clave rastreadas
+
+# 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=Usuario desde
+tooltip.location=Ubicación
+tooltip.lang=Idioma
+tooltip.time_zone=Zona horaria
+tooltip.url=Página de inicio
+# LOCALIZATION NOTE (tooltip.protected):
+# whether the user's tweets are publicly visible.
+tooltip.protected=Protege tuits
+# LOCALIZATION NOTE (tooltip.following):
+# whether you are subscribed to the user's tweets.
+tooltip.following=Actualmente siguiendo
+tooltip.name=Nombre
+tooltip.description=Descripción
+# LOCALIZATION NOTE (tooltip.*_count):
+# Please see the right side of the official Twitter website UI.
+tooltip.friends_count=Siguiendo
+tooltip.statuses_count=Tuits
+tooltip.followers_count=Seguidores
+tooltip.listed_count=Enumerado
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=Sí
+no=No
+
+command.follow=%S &lt;username&gt;[ &lt;username&gt;]*: Empezar a seguir a usuario(s).
+command.unfollow=%S &lt;username&gt;[ &lt;username&gt;]*: Dejar de seguir a usuario(s).
+
+twitter.disabled=Twitter ya no está soportado, debido a que esta red social ha deshabilitado su protocolo de transmisión.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/xmpp.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/xmpp.properties
new file mode 100644
index 0000000000..5d0eaad0ab
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/xmpp.properties
@@ -0,0 +1,281 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (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=Iniciando transmisión
+connection.initializingEncryption=Iniciando encriptación
+connection.authenticating=Autenticando
+connection.gettingResource=Obteniendo recurso
+connection.downloadingRoster=Descargando lista de contactos
+connection.srvLookup=Revisando registro SRV
+
+# LOCALIZATION NOTE (connection.error.*)
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.invalidUsername=Nombre de usuario no válido (tu nombre de usuario debe contener un caracter '@')
+connection.error.failedToCreateASocket=Error al crear el socket (¿Estás fuera de línea?)
+connection.error.serverClosedConnection=El servidor cerró la conexión
+connection.error.resetByPeer=Conexión reiniciada por el peer
+connection.error.timedOut=La conexión expiró
+connection.error.receivedUnexpectedData=Se recibieron datos inesperados
+connection.error.incorrectResponse=Se recibió una respuesta incorrecta
+connection.error.startTLSRequired=El servidor requiere encriptación pero tú la deshabilitaste
+connection.error.startTLSNotSupported=El servidor no soporta encriptación pero tu configuración la requiere
+connection.error.failedToStartTLS=Falla al iniciar la encriptación
+connection.error.noAuthMec=No se ofreció un mecanismo de autenticación por el servidor
+connection.error.noCompatibleAuthMec=Ninguno de los mecanismos de autenticación ofrecidos por el servidor están soportados
+connection.error.notSendingPasswordInClear=El servidor sólo soporta autenticación por envío de contraseña en texto no cifrado
+connection.error.authenticationFailure=Falla de autenticación
+connection.error.notAuthorized=No autorizado (¿Ingresaste una contraseña incorrecta?)
+connection.error.failedToGetAResource=Falló al obtener el recurso
+connection.error.failedMaxResourceLimit=Esta cuenta está conectada desde demasiados lugares al mismo tiempo.
+connection.error.failedResourceNotValid=El recurso es inválido.
+connection.error.XMPPNotSupported=El servidor no soporta 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=Este mensaje no puede ser entregado: %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=No se pudo unir: %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=No te puedes unir %S ya que estás bloqueado de esta sala.
+conversation.error.joinFailedNotAuthorized=Registro requerido: Tú no estás autorizado para ingresar a esta sala.
+conversation.error.creationFailedNotAllowed=Acceso restringido: Tú no tienes permitido crear salas.
+# 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=No se pudo unir a la sala %S ya que no se pudo contactar al servidor que hospeda la sala.
+conversation.error.changeTopicFailedNotAuthorized=No estás autorizado para establecer el título de esta sala.
+# 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=El mensaje no pudo ser enviado a %1$S puesto que ya no estás en la sala: %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=El mensaje no pudo ser enviado a %1$S puesto que el receptor ya no está en la sala: %2$S
+# These are displayed in a conversation as a system error message.
+conversation.error.remoteServerNotFound=No se pudo contactar al servidor receptor.
+conversation.error.unknownSendError=Ocurrió un error desconocido al enviar este mensaje.
+# %S is the name of the message recipient.
+conversation.error.sendServiceUnavailable=No es posible enviar mensajes a %S en este momento.
+# %S is the nick of participant that is not in room.
+conversation.error.nickNotInRoom=%S no está en la sala.
+conversation.error.banCommandAnonymousRoom=No puedes expulsar participantes desde salas anónimas. Intenta /kick en su lugar.
+conversation.error.banKickCommandNotAllowed=No tienes los privilegios requeridos para eliminar a este participante de esta sala.
+conversation.error.banKickCommandConflict=Lo sentimos, no puedes eliminarte a ti mismo de la sala.
+conversation.error.changeNickFailedConflict=No se pudo cambiar tu apodo a %S ya que este apodo ya está en uso.
+conversation.error.changeNickFailedNotAcceptable=No se pudo cambiar tu apodo a %S ya que los apodos están bloqueados en esta sala.
+conversation.error.inviteFailedForbidden=No tienes los privilegios requeridos para invitar usuarios a esta sala.
+# %S is the jid of user that is invited.
+conversation.error.failedJIDNotFound=No se pudo contactar %S.
+# %S is the jid that is invalid.
+conversation.error.invalidJID=%S es un jid inválido (el identificador jabber debe ser de la forma usuario@dominio).
+conversation.error.commandFailedNotInRoom=Tienes que volver a ingresar al canal para poder usar este comando.
+# %S is the name of the recipient.
+conversation.error.resourceNotAvailable=Debes hablar primero ya que %S se puede conectar con más de un cliente.
+
+# LOCALIZATION NOTE (conversation.error.version.*):
+# %S is the name of the recipient.
+conversation.error.version.unknown=el cliente %S no soporta consultas para esta versión de software.
+
+# 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=Estado (%S)
+tooltip.statusNoResource=Estado
+tooltip.subscription=Suscripción
+tooltip.fullName=Nombre completo
+tooltip.nickname=Apodo
+tooltip.email=Correo
+tooltip.birthday=Cumpleaños
+tooltip.userName=Nombre de usuario
+tooltip.title=Título
+tooltip.organization=Organización
+tooltip.locality=Localidad
+tooltip.country=País
+tooltip.telephone=Numero teléfonico
+
+# 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=_Room
+chatRoomField.server=_Server
+chatRoomField.nick=_Nick
+chatRoomField.password=_Password
+
+# LOCALIZATION NOTE (conversation.muc.*):
+# These are displayed as a system message when a chatroom invitation is
+# received.
+# %1$S is the inviter.
+# %2$S is the room.
+# %3$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2=%1$S te ha invitado a unirte a %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 te ha invitado a unirte a %2$S con contraseña %3$S: %4$S
+conversation.muc.invitationWithoutReason=%1$S te ha invitado a unirte a %2$S
+# %3$S is the password of the room.
+conversation.muc.invitationWithoutReason.password=%1$S te ha invitado a unirte a %2$S con contraseña %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 entró a la sala.
+
+# LOCALIZATION NOTE (conversation.muc.rejoined):
+# This is displayed as a system message when a participant rejoins room after
+# parting it.
+conversation.message.rejoined=Has vuelto a ingresar al 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=Has dejado la sala.
+conversation.message.parted.you.reason=Has dejado la sala: %S
+# %1$S is the participant that is leaving.
+# %2$S is the part message supplied by the participant.
+conversation.message.parted=%1$S ha dejado la sala.
+conversation.message.parted.reason=%1$S ha dejado la sala: %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 ha declinado tu invitación.
+conversation.message.invitationDeclined.reason=%1$S ha declinado tu invitación: %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 ha sido bloqueado(a) de la sala.
+conversation.message.banned.reason=%1$S ha sido bloqueado(a) de la sala: %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 ha bloqueado a %2$S de la sala.
+conversation.message.banned.actor.reason=%1$S ha bloqueado a %2$S de la sala: %3$S
+conversation.message.banned.you=Has sido bloqueado de la sala.
+# %1$S is the reason.
+conversation.message.banned.you.reason=Has sido bloqueado de la sala: %1$S
+# %1$S is the person who is banning.
+# %2$S is the reason.
+conversation.message.banned.you.actor=%1$S te ha bloqueado(a) de la sala.
+conversation.message.banned.you.actor.reason=%1$S te ha bloqueado de la sala: %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 ha sido expulsado(a) de la sala.
+conversation.message.kicked.reason=%1$S ha sido expulsado(a) de la sala: %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 ha expulsado a %2$S de la sala.
+conversation.message.kicked.actor.reason=%1$S ha expulsado a %2$S de la sala: %3$S
+conversation.message.kicked.you=Has sido expulsado de la sala.
+# %1$S is the reason.
+conversation.message.kicked.you.reason=Has sido expulsado de la sala: %1$S
+# %1$S is the person who is kicking.
+# %2$S is the reason.
+conversation.message.kicked.you.actor=%1$S te ha expulsado de la sala.
+conversation.message.kicked.you.actor.reason=%1$S te ha expulsado de la sala: %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 ha sido eliminado de la salón porque su configuración fue cambiada a "solo para miembros".
+conversation.message.removedNonMember.actor=%1$S ha sido eliminado de la salón porque %2$S la ha cambiado a " solo para miembros".
+conversation.message.removedNonMember.you=Has sido eliminado de la salón porque su configuración ha cambiado a "solo para miembros".
+# %1$S is the person who changed the room configuration.
+conversation.message.removedNonMember.you.actor=Has sido removido de la sala porque %1$S la ha cambiado a solo para miembros.
+
+# 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=Has sido eliminado de la salón porque se apagó el sistema.
+
+# 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 está usando "%2$S %3$S".
+conversation.message.versionWithOS=%1$S está usando "%2$S %3$S" en %4$S.
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.resource=Recurso
+options.priority=Prioridad
+options.connectionSecurity=Seguridad de la conexión
+options.connectionSecurity.requireEncryption=Requiere encriptación
+options.connectionSecurity.opportunisticTLS=Usar encriptación si está disponible
+options.connectionSecurity.allowUnencryptedAuth=Permitir enviar la contraseña sin encriptar
+options.connectServer=Servidor
+options.connectPort=Puerto
+options.domain=Dominio
+
+# LOCALIZATION NOTE (*.protocolName)
+# This name is used whenever the name of the protocol is shown.
+gtalk.protocolName=Google Talk
+odnoklassniki.protocolName=Odnoklassniki
+
+# LOCALIZATION NOTE (gtalk.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Google Talk account.
+gtalk.usernameHint=correo electrónico
+
+# LOCALIZATION NOTE (gtalk.disabled):
+# It is reported that Google Talk will be disabled on June 16, 2022. The message
+# below is being pre-emptively included so a localized error message can be
+# displayed to users if this happens.
+gtalk.disabled=Google Talk ya no es compatible debido a que Google deshabilitó su puerta de enlace 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=ID de perfil
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command.
+command.join3=%S [&lt;room&gt;[@&lt;server&gt;][/&lt;nick&gt;]] [&lt;password&gt;]: únete a un salón, y proporciona opcionalmente un servidor diferente, un apodo o la contraseña del salón.
+command.part2=%S [&lt;message&gt;]: Abandonar el salón actual con un mensaje opcional.
+command.topic=%S [&lt;nuevo tema&gt;]: Establece el tema de este salón.
+command.ban=%S&lt;nick&gt;[&lt;mensaje&gt;]: Excluye a alguien de este salón. Debes ser el administrador de este salón para poderlo hacer.
+command.kick=%S&lt;nick&gt;[&lt;mensaje&gt;]: Expulsa a alguien de este salón. Debes ser el moderador de este salón para poderlo hacer.
+command.invite=%S&lt;jid&gt;[&lt;mensaje&gt;]: Invita a un usuario a unirse al salón actual con un mensaje opcional.
+command.inviteto=%S&lt;room jid&gt;[&lt;contraseña&gt;]: Invita a tu interlocutor a unirse a este salón, junto con su contraseña si se requiere.
+command.me=%S&lt;realizar una acción&gt;: Realiza una acción.
+command.nick=%S&lt;nuevo apodo&gt;: Cambia tu apodo.
+command.msg=%S&lt;nick&lt;mensaje&gt;: Envía un mensaje privado a un participante de este salón.
+command.version=%S: Pídele información a tu interlocutor acerca del cliente que está usando.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/yahoo.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/chat/yahoo.properties
new file mode 100644
index 0000000000..cb8a75b2bf
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 ya no es compatible debido a que Yahoo deshabilitó su legado de protocolo.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/communicator/utilityOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/communicator/utilityOverlay.dtd
new file mode 100644
index 0000000000..53a817a866
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Archivo">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "Nuevo">
+<!ENTITY newMenu.accesskey "N">
+
+<!ENTITY editMenu.label "Editar">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY undoCmd.label "Deshacer">
+<!ENTITY undoCmd.accesskey "U">
+<!ENTITY redoCmd.label "Rehacer">
+<!ENTITY redoCmd.accesskey "R">
+<!ENTITY deleteCmd.label "Eliminar">
+<!ENTITY deleteCmd.accesskey "D">
+
+<!ENTITY customizeCmd.label "Personalizar">
+<!ENTITY customizeCmd.accesskey "t">
+
+<!ENTITY viewMenu.label "Vista">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY viewToolbarsMenu.label "Barra de herramientas">
+<!ENTITY viewToolbarsMenu.accesskey "T">
+<!ENTITY showTaskbarCmd.label "Barra de estado">
+<!ENTITY showTaskbarCmd.accesskey "u">
+
+<!ENTITY closeCmd.label "Cerrar">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "C">
+
+<!ENTITY quitApplicationCmd.label "Salir">
+<!ENTITY quitApplicationCmd.key "Q">
+<!ENTITY quitApplicationCmd.accesskey "x">
+
+<!ENTITY quitApplicationCmdUnix.label "Salir">
+<!ENTITY quitApplicationCmdUnix.accesskey "Q">
+
+<!ENTITY quitApplicationCmdMac.label "Salir de &brandShortName;">
+<!ENTITY quitApplicationCmdMac.accesskey "Q">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/accessibility.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..fa8e2949d7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Rol
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=Nombre
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=Logo de accesibilidad
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=Propiedades
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=Árbol de accesibilidad
+
+# 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=Da clic para seleccionar el nodo en el árbol de la accesibilidad
+
+# 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=Da clic para seleccionar el nodo en el inspector
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=Información de accesibilidad no disponible
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=Habilitar características de accesibilidad
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=Habilitando características de accesibilidad…
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=Deshabilitar características de accesibilidad
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=Deshabilitando características de accesibilidad…
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=Seleccionar un objeto accesible de la página
+
+# 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=El servicio de accesibilidad no puede deshabilitarse. Es usado fuera de las Herramientas de Desarrollador.
+
+# 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=El servicio de accesibilidad se deshabilitará para todas las pestañas y ventanas.
+
+# 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=El servicio de accesibilidad no puede habilitarse. Se habilitará a través de las preferencias de privacidad de servicios de accesibilidad.
+
+# 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=El servicio de accesibilidad se habilitará para todas las pestañas y ventanas.
+
+# 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=Aprender más
+
+# 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=El inspector de accesibilidad te permite examinar el árbol de accesibilidad de la página actual, que es usada por lectores de pantalla y otras tecnologías de asistencia. %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=Las características de accesibilidad pueden afectar el desempeño de otros paneles de herramientas de desarrollo y deben desactivarse cuando no se usen.
+
+# 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=Imprimir en JSON
+
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=Verificaciones
+
+# 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=No hay comprobaciones para este nodo.
+
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=Color y 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=No se pudo calcular
+
+# 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=texto grande
+
+# 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=El texto es de 14 puntos y en negrita o más grande, o de 18 puntos o más grande.
+
+# 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=Cumple con las normas WCAG AA para texto accesible. %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=Cumple con las normas AAA de WCAG para texto accesible. %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=No cumple con los estándares de WCAG sobre texto accesible. %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=Elige un color que no sea 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=Comprobaciones de accesibilidad
+
+# 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=Ninguno
+
+# 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=Todos los problemas
+
+# 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=Etiquetas de texto
+
+# 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=Teclado
+
+# 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=aviso de 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=teclado
+
+# 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=etiqueta de texto
+
+# 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=No cumple los estándares de WCAG para texto accesible.
+
+# 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=No cumple con los estándares de WCAG sobre accesibilidad del teclado.
+
+# 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=No cumple con los estándares WCAG para texto alternativo.
+
+# 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=Buscar problemas:
+
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=Preferencias de configuración
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=Inicializando…
+
+# 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=Verificando #1 nodo;Verificando #1 nodos
+
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=Finalizando…
+
+# 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=Desplazar automáticamente el nodo seleccionado a la vista
+
+# 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=Desplazar a la vista
+
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=Documentación…
+
+# 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=Simular:
+
+# 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=Protanopia (sin rojo)
+
+# 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=Deuteranopia (sin verde)
+
+# 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=Tritanopia (sin azul)
+
+# 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=Pérdida 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=Acromatopsia (sin color)
+
+# 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=Mostrar orden de tabulación
+
+# 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=Mostrar el orden de tabulación de los elementos y su índice de tabulación.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/animationinspector.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..674fb07371
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=No se encontraron animaciones en el elemento actual.\nElige otro elemento de la página.
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=Duración
+
+# 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=Retraso:
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=Fin de retardo:
+
+# 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=Tasa de reproducción:
+
+# 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=Repeticiones:
+
+# 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=Inicio de iteración: %1$S (%2$Ss)
+
+# 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=Facilitación general:
+
+# 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=Función de temporización de animación:
+
+# 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=Relleno:
+
+# 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=Dirección:
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%Ss
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=∞
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1× being the default, 2× being twice as fast).
+player.playbackRateLabel=%S×
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=Esta animación se ejecuta en el hilo compositor
+
+# 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=Todas las propiedades de animación están optimizadas
+
+# 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=Algunas propiedades de animación están optimizadas
+
+# 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=Reanudar las animaciones
+
+# 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=Pausar las animaciones
+
+# 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=Rebobinar las animaciones
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%Sms
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S - Animación 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 - Transición 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 - Guión de animación
+
+# 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=Guión de animación
+
+# 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/es-MX/chrome/es-MX/locale/es-MX/devtools/client/boxmodel.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..09e0c9cd63
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Modelo de caja
+
+# 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=Editar posición
+
+# 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=Propiedades del modelo de caja
+
+# LOCALIZATION NOTE (boxmodel.propertiesHideLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently showing, it will say "Hide".
+boxmodel.propertiesHideLabel=Ocultar
+
+# LOCALIZATION NOTE (boxmodel.propertiesShowLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently hidden, it will say "Show".
+boxmodel.propertiesShowLabel=Mostrar
+
+# 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=ajuste
+
+# 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=Desplazamiento del padre del elemento seleccionado
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/changes.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/changes.properties
new file mode 100644
index 0000000000..64492dba94
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=No se encontraron cambios.
+
+# 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=Los cambios a CSS en Inspector aparecerán aquí.
+
+# 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=En línea %S
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=Elemento
+
+# 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=Copiar
+
+# 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=Copiar todos los cambios
+
+# 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=Copiar una lista de todos los cambios de CSS al portapapeles.
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=Copiar declaración
+
+# 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=Copiar regla
+
+# 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=Copiar los contenidos de esta regla CSS al portapapeles.
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=Seleccionar todo
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=A
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/components.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/components.properties
new file mode 100644
index 0000000000..09334e1108
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/components.properties
@@ -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/.
+
+# 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=(desconocido)
+
+# 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=Ver código en depurador → %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=Ver fuente en el Editor de estilo → %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=Cerrar este mensaje
+
+# 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=El panel %S ha fallado.
+
+# LOCALIZATION NOTE (appErrorBoundary.fileBugButton): This is the text that appears in
+# the button to visit the bug filing link.
+appErrorBoundary.fileBugButton=Informar de un error
+
+# LOCALIZATION NOTE (appErrorBoundary.reloadPanelInfo): This is the text that appears
+# after the panel errors to instruct the user to reload the panel.
+appErrorBoundary.reloadPanelInfo=Cierra y vuelve a abrir la caja de herramientas para eliminar este error.
+
+# LOCALIZATION NOTE(searchModifier.regExpModifier): A search option
+# when searching text in a file
+searchModifier.regExpModifier=Usar expresión regular
+
+# LOCALIZATION NOTE(searchModifier.caseSensitiveModifier): A search option
+# when searching text in a file
+searchModifier.caseSensitiveModifier=Coincidir mayúsculas
+
+# LOCALIZATION NOTE(searchModifier.wholeWordModifier): A search option
+# when searching text in a file
+searchModifier.wholeWordModifier=Coincidir palabras completas
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/debugger.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/debugger.properties
new file mode 100644
index 0000000000..c6010310d2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/debugger.properties
@@ -0,0 +1,1071 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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 (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+collapseSources=Contraer paneles de fuentes y esquema
+
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=Contraer panel de puntos de ruptura
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the text that the user selected.
+copyToClipboard.label=Copiar al portapapeles
+copyToClipboard.accesskey=C
+
+# 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=Copiar texto fuente
+copySource.accesskey=y
+
+# LOCALIZATION NOTE (copySourceUri2): This is the text that appears in the
+# context menu to copy the source URI of file open.
+copySourceUri2=Copiar URI de fuente
+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=Contraer todo
+
+# 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=Expandir todo
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=Establecer raíz de directorio
+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=Eliminar directorio raíz
+
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+ignoreAll.label=Ignorar
+
+# 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=Ignorar archivos en este grupo
+
+# 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=Dejar de ignorar archivos en este grupo
+
+# 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=Ignorar archivos fuera de este grupo
+
+# 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=Dejar de ignorar archivos fuera de este grupo
+
+# 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=Ignorar archivos en este directorio
+
+# 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=Dejar de ignorar archivos en este directorio
+
+# 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=Ignorar archivos fuera de este directorio
+
+# 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=Dejar de ignorar archivos fuera de este directorio
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=Copiar función
+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=Copiar Stack Trace
+copyStackTrace.accesskey=c
+
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+restartFrame=Reiniciar marco
+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=Expandir paneles de fuentes y esquema
+
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=Expandir panel de puntos de ruptura
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=Evaluar en la consola
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=Clic para pausar (%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=Esperando para la siguiente ejecución
+
+# 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=Sigue todos los marcos de JavaScript a %S.\nHaz clic derecho para cambiar la salida.
+
+# 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=Dejar de rastrear los marcos de JavaScript.
+
+# 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=Rastrear en la consola 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=Rastrear en stdout
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=Clic para continuar (%S)
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=Saltar (%S)
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=Entrar (%S)
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=Salir (%S)
+
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=Desactivar puntos de ruptura
+
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=Activar puntos de interrupción
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=Pausar en excepciones
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=Pausar en las excepciones captadas
+
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=Hilos
+
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=Hilo principal
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=Esta página no tiene fuentes.
+
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=Puntos de ruptura de escucha de eventos
+
+# 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=Haz clic con el botón derecho sobre un elemento en el %S y selecciona “Interrumpir en...” para agregar un punto de ruptura
+
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=Inspector
+
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=Filtrar por tipo de evento
+
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+domMutationHeader=Puntos de ruptura de mutación DOM
+
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+domMutationTypes.attribute=Modificación de atributo
+
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=Eliminación de nodo
+
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+domMutationTypes.subtree=Modificación de subárbol
+
+# 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=Editor
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=Paso a paso
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=Buscar
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=Encontrar en archivos…
+
+# 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=archivos a excluir
+
+# 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=p.ej. **/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=No se encontraron resultados
+
+# 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=Buscar en archivo…
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=Buscar en archivo…
+
+# 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 resultado;#1 resultados
+
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=Habilitar puntos de ruptura
+breakpointHeadingsMenuItem.enableInSource.accesskey=E
+breakpointHeadingsMenuItem.disableInSource.label=Desactivar puntos de ruptura
+breakpointHeadingsMenuItem.disableInSource.accesskey=D
+breakpointHeadingsMenuItem.removeInSource.label=Eliminar puntos de ruptura
+breakpointHeadingsMenuItem.removeInSource.accesskey=R
+
+# LOCALIZATION NOTE (breakpointMenuItem): The text for all the elements that
+# are displayed in the breakpoints menu item popup.
+breakpointMenuItem.enableSelf2.label=Habilitar
+breakpointMenuItem.enableSelf2.accesskey=E
+breakpointMenuItem.disableSelf2.label=Deshabilitar
+breakpointMenuItem.disableSelf2.accesskey=D
+breakpointMenuItem.deleteSelf2.label=Borrar
+breakpointMenuItem.deleteSelf2.accesskey=R
+breakpointMenuItem.disabledbg.label=Nunca pausar aquí
+breakpointMenuItem.enabledbg.label=Pausar aquí
+breakpointMenuItem.enableOthers2.label=Habilitar otros
+breakpointMenuItem.enableOthers2.accesskey=o
+breakpointMenuItem.disableOthers2.label=Deshabilitar otros
+breakpointMenuItem.disableOthers2.accesskey=s
+breakpointMenuItem.deleteOthers2.label=Borrar otros
+breakpointMenuItem.deleteOthers2.accesskey=h
+breakpointMenuItem.enableAll2.label=Habilitar todo
+breakpointMenuItem.enableAll2.accesskey=b
+breakpointMenuItem.disableAll2.label=Deshabilitar todo
+breakpointMenuItem.disableAll2.accesskey=k
+breakpointMenuItem.deleteAll2.label=Borrar todo
+breakpointMenuItem.deleteAll2.accesskey=a
+breakpointMenuItem.removeCondition2.label=Borrar condición
+breakpointMenuItem.removeCondition2.accesskey=c
+breakpointMenuItem.addCondition2.label=Agregar condición
+breakpointMenuItem.addCondition2.accesskey=A
+breakpointMenuItem.editCondition2.label=Editar condición
+breakpointMenuItem.editCondition2.accesskey=n
+breakpointMenuItem.enableSelf=Activar punto de ruptura
+breakpointMenuItem.disableSelf=Desactivar punto de ruptura
+breakpointMenuItem.deleteSelf=Eliminar punto de ruptura
+breakpointMenuItem.enableOthers=Activar otros
+breakpointMenuItem.disableOthers=Desactivar otros
+breakpointMenuItem.deleteOthers=Eliminar otros
+breakpointMenuItem.enableAll=Activar todos los puntos de ruptura
+breakpointMenuItem.disableAll=Desactivar todos los puntos de ruptura
+breakpointMenuItem.deleteAll=Eliminar todos los puntos de ruptura
+breakpointMenuItem.disableAllAtLine.label=Desactivar los puntos de ruptura en la línea
+breakpointMenuItem.disableAllAtLine.accesskey=K
+breakpointMenuItem.enableAllAtLine.label=Activar los puntos de ruptura en la línea
+breakpointMenuItem.enableAllAtLine.accesskey=L
+breakpointMenuItem.removeAllAtLine.label=Eliminar los puntos de ruptura en la línea
+breakpointMenuItem.removeAllAtLine.accesskey=X
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=Puntos de ruptura
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=Eliminar puntos de interrupción
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=Pila de llamadas
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=No pausado
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=Colapsar filas
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=Expandir filas
+
+# 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=Mostrar marcos %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=Contraer marcos de %S
+
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+editor.searchResults1=%d de #1 resultado;%d de #1 resultados
+
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=No se encontraron resultados
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=Siguiente resultado
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=Resultado anterior
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=Continuar aquí
+editor.continueToHere.accesskey=H
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=Agregar punto de quiebre
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=Desactivar punto de interrupción
+editor.disableBreakpoint.accesskey=D
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=Activar punto de interrupción
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=Eliminar punto de quiebre
+
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=Agregar condición
+editor.addConditionBreakpoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=Editar condición
+
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+editor.addLogPoint=Agregar registro
+editor.addLogPoint.accesskey=l
+
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+editor.editLogPoint=Editar registro
+editor.editLogPoint.accesskey=E
+
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+editor.removeLogPoint.label=Eliminar registro
+editor.removeLogPoint.accesskey=V
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder2=Punto de ruptura condicional; por ejemplo, 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=Mensaje de registro, ej. displayName
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=Ir a la ubicación %S
+editor.jumpToMappedLocation1.accesskey=m
+
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+downloadFile.label=Descargar archivo
+downloadFile.accesskey=d
+
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+inlinePreview.show.label=Mostrar vista previa integrada
+
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+inlinePreview.hide.label=Ocultar vista previa integrada
+
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+inlinePreview.toggle.label=Vista previa de variable en línea
+
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+inlinePreview.toggle.tooltip=Mostrar vista previa en línea en el editor del depurador
+
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.show.label=Ajustar líneas
+
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.hide.label=No ajustar líneas
+
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+editorWrapping.toggle.label=Ajustar líneas
+
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+editorWrapping.toggle.tooltip=Ajustar líneas en el editor del depurador
+
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+settings.button.label=Ajustes del depurador
+
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+settings.disableJavaScript.label=Deshabilitar JavaScript
+
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+settings.disableJavaScript.tooltip=Dehabilitar JavaScript (Requiere recargar)
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+settings.toggleSourceMaps.tooltip=Activar los mapas de origen para permitir que DevTools cargue las fuentes originales además de las generadas
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+settings.toggleSourceMaps.label=Mapas de origen
+
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+preview.noProperties=Sin propiedades
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=Deshabilitar Framework Grouping
+framework.disableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=Habilitar Framework Grouping
+framework.enableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=generado
+
+# 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=Añadir Watch Expression
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=Expresión inválida…
+expressions.label=Agregar expresión de vigilancia
+expressions.accesskey=e
+expressions.remove.tooltip=Eliminar expresión de monitorización
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+xhrBreakpoints.header=Puntos de ruptura XHR
+xhrBreakpoints.placeholder=Romper cuando la URL contiene
+xhrBreakpoints.label=Añadir punto de ruptura XHR
+
+# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel
+xhrBreakpoints.removeAll.tooltip=Eliminar todos los puntos de interrupción 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=La URL contiene “%S”
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+pauseOnAnyXHR=Pausar en cualquier URL
+
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+watchpoints.submenu=Interrumpir en…
+
+# 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=Lectura de propiedad
+
+# 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=Establecer propiedad
+
+# 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=Obtener o establecer la propiedad
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+watchpoints.removeWatchpoint=Eliminar punto de observación
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+watchpoints.removeWatchpointTooltip=Eliminar punto de observación
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=Cerrar pestaña
+sourceTabs.closeTab.accesskey=c
+sourceTabs.closeTab.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=Cerrar otras
+sourceTabs.closeOtherTabs.accesskey=o
+
+# 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=Cerrar las pestañas a la derecha
+sourceTabs.closeTabsToEnd.accesskey=e
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=Cerrar todas las pestañas
+sourceTabs.closeAllTabs.accesskey=a
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=Mostrar en árbol
+sourceTabs.revealInTree.accesskey=r
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=Imprimir origen embellecido
+sourceTabs.prettyPrint.accesskey=P
+
+# 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=No se puede imprimir, el archivo ya ha sido impreso
+
+# 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=No se pueden imprimir las fuentes originales, el archivo ya es legible
+
+# 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=No se pueden imprimir fuentes generadas con mapas fuente válidos. Utiliza las fuentes 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=No se puede imprimir, el archivo no tiene contenido
+
+# 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=No se puede imprimir, el archivo no es JavaScript
+
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+sourceFooter.ignore=Ignorar fuente
+
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=Dejar de ignorar fuente
+
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+ignoreContextItem.ignore=Ignorar fuente
+ignoreContextItem.ignore.accesskey=I
+
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=Dejar de ignorar fuente
+ignoreContextItem.unignore.accesskey=U
+
+# LOCALIZATION NOTE (overridesContextItem.override): Text associated
+# with the add overrides context menu item
+overridesContextItem.override=Agregar anulación de secuencia de comandos
+overridesContextItem.override.accesskey=o
+
+# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated
+# with the remove override context menu item
+overridesContextItem.removeOverride=Eliminar anulación de secuencia de comandos
+overridesContextItem.removeOverride.accesskey=o
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated
+# with the ignore line context menu item
+ignoreContextItem.ignoreLine=Ignorar línea
+ignoreContextItem.ignoreLine.accesskey=I
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated
+# with the unignore line context menu item
+ignoreContextItem.unignoreLine=No ignorar línea
+ignoreContextItem.unignoreLine.accesskey=n
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated
+# with the ignore lines context menu item
+ignoreContextItem.ignoreLines=Ignorar líneas
+ignoreContextItem.ignoreLines.accesskey=i
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated
+# with the unignore lines context menu item
+ignoreContextItem.unignoreLines=No ignorar líneas
+ignoreContextItem.unignoreLines.accesskey=u
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(De %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(Fuente mapeada desde %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(mapeado)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition=(%S, %S)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition.tooltip=(Línea %1$S, columna %2$S)
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=Cerrar pestaña
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=Alcances
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=Alcances no disponibles
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=No pausado
+
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.mapping.label=Asociar los nombres originales de variables
+
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+eventlisteners.log.label=Registrar eventos en la consola
+
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+eventlisteners.log=Registro
+
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.helpTooltip.label=Saber más sobre los ámbitos del mapa
+
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+scopes.map.label=Mapa
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=Bloquear
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=Fuentes
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=Esquema
+
+# LOCALIZATION NOTE (search.header): Search left sidebar header
+search.header=Buscar
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+outline.placeholder=Filtrar funciones
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=Ordenar por nombre
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=Sin funciones
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=Ningún archivo seleccionado
+
+# 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 para buscar
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=Mirar expresiones
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=Refrescar
+
+# 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 para buscar archivos
+
+# 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 Ir al archivo
+
+# 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 para buscar en archivos
+
+# 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 Encontrar en archivos
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=Mostrar todos los accesos directos
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=Buscar…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=Ir al archivo…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=Pausar en todas las excepciones. Clic para ignorar excepciones
+
+# 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=Cargando…
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=Por favor, actualiza para depurar este módulo
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=Error cargando esta URI: %S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=Ir a la línea…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=Ir a un número de línea en un archivo
+
+# 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=Buscar funciones…
+symbolSearch.search.functionsPlaceholder.title=Buscar por una función en un archivo
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=Buscar variables…
+symbolSearch.search.variablesPlaceholder.title=Buscar para una variable en un archivo
+
+# 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=Esta es una característica experimental
+
+# 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=<anonymous>
+
+# 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=(Asíncrono: %S)
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=Cambiar punto de quiebre
+shortcuts.toggleBreakpoint.accesskey=B
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=Editar punto de ruptura condicional
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+shortcuts.toggleCondPanel.logPoint=Editar punto de registro
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=Pausar/Continuar
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=Saltar
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=Entrar
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=Salir
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=Buscar en el archivo fuente
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=Ir al archivo
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=Ir a la línea
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=Buscar en todo el proyecto
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=Encontrar en archivos
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=Búsqueda de Funciones
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=Encontrar función
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=Atajos de teclado
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+variablesViewOptimizedOut=(optimizado externamente)
+variablesViewUninitialized=(sin inicializar)
+variablesViewMissingArgs=(no disponible)
+
+# 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=Da clic para seleccionar el nodo en el inspector
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=Haz clic para configurar el valor
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=Traza de la pila:
+
+# 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 más…;#1 más…
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=Haz doble clic para editar
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=Haz clic para cambiar el valor
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=Haz clic para eliminar
+
+# 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=numerable
+writableTooltip=escribible
+frozenTooltip=congelado
+sealedTooltip=sellado
+extensibleTooltip=extensible
+overriddenTooltip=sobrescrito
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+serviceWorkerInfo.parsed=analizado
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=instalando
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+serviceWorkerInfo.installed=instalado
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+serviceWorkerInfo.activating=activando
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+serviceWorkerInfo.activated=activado
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+serviceWorkerInfo.redundant=redundante
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
+serviceWorkerInfo.unknown=desconocido
+
+# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the
+# sources list footer when ignored sources are hidden.
+ignoredSourcesHidden=Ignored sources are hidden.
+# 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=Show all 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=This will show all the ignored sources (which are currently hidden) in the tree.
+# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item
+# tooltip for hiding and showing all the ignored sources
+settings.hideIgnoredSources.tooltip=Hides all ignored sources in the Sources panel
+# 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=Hide Ignored Sources
+# 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=Ignores all sources on the source map x_google_ignoreList field.
+# 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=Ignore Known Third-party Scripts
+# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated
+# with the ignore source button when the selected source is on the ignore list
+sourceFooter.ignoreList=This source is on the ignore list. Please turn off the `Ignore Known Third-party Scripts` option to enable it.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/device.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/device.properties
new file mode 100644
index 0000000000..82d72bbcaa
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Teléfonos
+device.tablets=Tabletas
+device.laptops=Computadoras portátiles
+device.televisions=TVs
+device.consoles=Consolas de juego
+device.watches=Relojes
+device.custom=Personalizar
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/dom.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/dom.properties
new file mode 100644
index 0000000000..aa237eff86
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Filtrar Panel DOM
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=Refrescar
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/filterwidget.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..3215892acb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/filterwidget.properties
@@ -0,0 +1,59 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used 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=No se ha especificado ningún filtro
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=No tienes ninguna preconfiguración guardada. Puedes ordenar filtros preconfigurados eligiendo un nombre y guardándolos. La preconfiguraciones se pueden acceder rápidamente y puedes utilizarlas de nuevo con facilidad.
+
+# 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=Agregar un filtro usando la lista a continuación
+
+# 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 radio color
+
+# 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=Arrastra hacia arriba o hacia abajo para reordenar el filtro
+
+# 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=Arrastra hacia izquierda o derecha para disminuir o incrementar el valor
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=Seleccionar un filtro
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=Agregar
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=Nombre de la preferencia
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=Guardar
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=Preconfiguraciones
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/font-inspector.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..8ec31b7e87
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=sistema
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=No se usaron fuentes en el elemento actual.
+
+# 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=Copiar 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=Personalizar
+
+# 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=Instancia
+
+# 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=Tamaño
+
+# 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=Peso
+
+# 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=Cursiva
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=Mostrar más
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=Mostrar menos
+
+# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the
+# letter spacing in the font editor.
+fontinspector.letterSpacingLabel=Espaciado
+
+# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor.
+fontinspector.lineHeightLabelCapitalized=Altura de la línea
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=Todas las tipografías en la página
+
+# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section
+# which shows the fonts used on the selected element.
+fontinspector.fontsUsedLabel=Fuentes utilizadas
+
+# 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=Texto de vista previa del tipo de letra
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/har.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/har.properties
new file mode 100644
index 0000000000..5d680154ae
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Cuerpos de respuesta no incluidos.
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=Solicitar cuerpos no incluidos.
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/inspector.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/inspector.properties
new file mode 100644
index 0000000000..5f98ae4fa7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/inspector.properties
@@ -0,0 +1,584 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Inspector
+# which is available from the Web Developer sub-menu -> 'Inspect'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# 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=Vista de marcado
+
+# 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=Algunos nodos fueron ocultados.
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=Mostrar un último nodo;Mostrar los #1 nodos
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+markupView.whitespaceOnly.label=espacio en blanco
+
+# 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=no disponible
+
+# 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=Los elementos secundarios de este elemento no están disponibles con el modo de caja de herramientas del navegador actual
+
+# 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=Espacio en blanco sólo en nodo de texto: %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=Este elemento se comporta como un elemento de bloqueo y presenta su contenido de acuerdo con el modelo flexbox. Haz clic para alternar la superposición de flexbox para este elemento.
+
+# 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=Este elemento se comporta como un elemento en línea y presenta su contenido de acuerdo con el modelo flexbox. Haz clic para alternar la superposición de flexbox para este elemento.
+
+# 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=Este elemento se comporta como un elemento de bloque y presenta su contenido de acuerdo con el modelo reticular. Haz clic para alternar la superposición de retícula para este elemento.
+
+# 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=Este elemento se comporta como un elemento en fila y presenta su contenido de acuerdo con el modelo reticular. Haz clic para alternar la superposición de retícula para este elemento.
+
+# 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=Este elemento establece su contenido de acuerdo al modelo reticular, pero difiere la definición de sus filas y/o columnas a su contenedor de retícula primario.
+
+# 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=Este elemento genera una caja de elemento block que establece un nuevo contexto de formato de bloque.
+
+# 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=Este elemento no produce una caja especifica por si mismo, pero genera su propio contenido.
+
+# 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=Notificación de eventos
+
+# 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=Mostrar la definición de elemento personalizado
+
+# 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=Nuevo atributo
+
+# 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=Mostrar
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=No se pudo cargar la imagen
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=No disponible en documentos no HTML
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=Abrir el depurador
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=Ubicación desconocida
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=No se puede detectar la ubicación original de este oyente. Tal vez una herramienta como Babel ha compilado el código.
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=Burbujear
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=Capturando
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Mostrar todas las pestañas
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=Activar el inspector de 3 paneles
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=Desactivar el inspector de 3 paneles
+
+# 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 de %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=Sin coincidencias
+
+# 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=Abrir enlace en una nueva pestaña
+
+# 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=Copiar dirección del enlace
+
+# 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=Seleccionar elemento #%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=Editar atributo %S
+inspectorEditAttribute.accesskey=E
+
+# 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=Eliminar atributo %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=Copiar el valor del atributo “%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=Haz clic para resaltar este nodo en la página
+
+# 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=Editar como XML
+inspectorHTMLEdit.label=Editar como HTML
+inspectorSVGEdit.label=Editar como SVG
+inspectorMathMLEdit.label=Editar como MathML
+inspectorHTMLEdit.accesskey=E
+
+# LOCALIZATION NOTE (inspectorCopyInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users copy the
+# inner HTML of the current node
+inspectorCopyInnerHTML.label=HTML interno
+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=HTML externo
+inspectorCopyOuterHTML.accesskey=O
+
+# 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=Selector 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=Ruta CSS
+inspectorCopyCSSPath.accesskey=P
+
+# 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=j
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=HTML externo
+inspectorPasteOuterHTML.accesskey=O
+
+# LOCALIZATION NOTE (inspectorPasteInnerHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste inner
+# HTML in the current node
+inspectorPasteInnerHTML.label=HTML interno
+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=Antes
+inspectorHTMLPasteBefore.accesskey=B
+
+# 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=Después
+inspectorHTMLPasteAfter.accesskey=A
+
+# 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=Como primer hijo
+inspectorHTMLPasteFirstChild.accesskey=F
+
+# 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=Como último hijo
+inspectorHTMLPasteLastChild.accesskey=L
+
+# 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=Desplazar en la vista
+inspectorScrollNodeIntoView.accesskey=S
+
+# 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=Borrar nodo
+inspectorHTMLDelete.accesskey=D
+
+# 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=Atributos
+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=Agregar atributo
+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=Cambiar pseudoclase
+
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+inspectorBreakpointSubmenu.label=Interrumpir en…
+
+# 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=Modificación de subárbol
+
+# 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=Modificación de atributo
+
+# 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=Eliminación de nodo
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=Buscar 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=URL de los datos de la imagen
+
+# 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=Mostrar propiedades 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=Mostrar propiedades de accesibilidad
+
+# 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=Usar en consola
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=Expandir todo
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=Contraer todo
+
+# 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=Captura de pantalla de nodo
+
+# 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=Duplicar nodo
+
+# 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=Crear nuevo nodo
+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=Copiar
+
+# 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=Pegar
+
+# 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=Mostrar elemento personalizado
+
+# 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=Tipografía
+
+# 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=Cambios
+
+# 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=Reglas
+
+# 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=Computado
+
+# 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=Disposición
+
+# 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=Animaciones
+
+# 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=Compatibilidad
+
+# 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=Capturar un color de la página
+
+# 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=Migas
+
+# 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=Ver estilos
+
+# 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=Filtrar estilos
+
+# 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=Agregar nueva regla
+
+# 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=Modificar clases-falsas
+
+# 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=Conmutar clases
+
+# 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=Agregar una nueva clase
+
+# 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=No hay clases en este elemento
+
+# 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=No se encontraron propiedades CSS.
+
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+inspector.printSimulation.tooltip = Alternar simulación de medios de impresión para la página
+
+# 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=Alternar la simulación del esquema de color claro para la página
+
+# 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=Alternar simulación de esquema de color oscuro para la página
+
+# 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=desplazar
+
+# 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=Este elemento tiene desbordamiento desplazable.
+
+# 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=Este elemento tiene desbordamiento desplazable. Haz clic para mostrar los elementos que causan el desbordamiento.
+
+# 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=desbordamiento
+
+# 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=Este elemento hace que un elemento se desborde.
+
+# 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=Ninguna regla asociada
+
+# 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=Calculado en relación al fondo: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+colorPickerTooltip.spectrumDraggerTitle=Espectro
+
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+colorPickerTooltip.eyedropperTitle=Elegir color en la página
+
+# 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=Lo más próximo a: %S
+
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+colorPickerTooltip.hueSliderTitle=Tonalidad
+
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+colorPickerTooltip.alphaSliderTitle=Opacidad
+
+# 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/es-MX/chrome/es-MX/locale/es-MX/devtools/client/jsonview.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..b8be173c7d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Datos sin procesar
+jsonViewer.tab.Headers=Encabezados
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=Cabeceras de la respuesta
+jsonViewer.requestHeaders=Cabeceras de la petición
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=Guardar
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=Copiar
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=Expandir todo
+
+jsonViewer.ExpandAllSlow=Expandir todo (lento)
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=Contraer todo
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=Adaptar para impresión
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=Filtro JSON
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/layout.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/layout.properties
new file mode 100644
index 0000000000..c68e8d0138
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/layout.properties
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=Flexbox
+
+# LOCALIZATION NOTE (flexbox.backButtonLabel): The spoken label for the button
+# that returns from the display of a flex item to the flex item list.
+# This label is spoken by screen readers, not displayed on screen.
+flexbox.backButtonLabel=Regresar al contenedor Flex
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+flexbox.flexContainer=Contenedor 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=Elemento flex de %S
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=Selecciona un contenedor Flex o un elemento para continuar.
+
+# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list.
+flexbox.flexItems=Elementos 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=No hay ítems flex
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+flexbox.itemSizing.baseSizeSectionHeader=Tamaño de la base
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+flexbox.itemSizing.flexibilitySectionHeader=Flexibilidad
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+flexbox.itemSizing.minSizeSectionHeader=Tamaño mínimo
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+flexbox.itemSizing.maxSizeSectionHeader=Tamaño máximo
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+flexbox.itemSizing.finalSizeSectionHeader=Tamaño final
+
+# 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=Tamaño de contenido
+
+# 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=El elemento fue fijado a su tamaño máximo.
+
+# 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=El elemento fue fijado a su tamaño mínimo.
+
+# 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=El elemento fue establecido para crecer.
+
+# 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=El elemento se ajustó para encogerse.
+
+# 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=El elemento no fue establecido para crecer.
+
+# 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=El elemento no estaba configurado para encogerse.
+
+# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox
+# toggle button.
+flexbox.togglesFlexboxHighlighter2=Alternar resaltado de Flexbox
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=No se puede mostrar el contorno de esta retícula
+layout.cannotShowGridOutline.title=El contorno de la cuadrícula seleccionada no se puede usar porque no cabe dentro del panel de diseño.
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=Mostrar nombres de área
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=Mostrar números de líneas
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=Extender líneas indefinidamente
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=Retícula
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=Configuraciones de la visualización de la retícula
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=La retícula CSS no se usa en esta página
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=Superponer cuadrícula
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/memory.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/memory.properties
new file mode 100644
index 0000000000..f9c02c1de8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Guardar
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=Eliminar
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=Guardar captura de pila
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=Importar captura de pila
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Capturas de pila 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 MB
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=Procesando…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=Grabar ubicaciones
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=Alterna la grabación de pilas de asignación. Las instantáneas de pila posteriores podrán etiquetar y agrupar objetos creados cuando esté activa la grabación de la pila de asignaciones por ésta. Grabar pilas de asignación tiene una sobrecarga en el rendimiento.
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=Agrupado por:
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=Cambiar como los objetos están agrupados
+
+# 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=Regresar a agregados
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ Ver individuales en grupo
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=Agrupar elementos por su tipo
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=Agrupar elementos por la pila JavaScript grabada cuando se asignó el objeto
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=Agrupar elementos por la pila invertida de llamadas JavaScript registrada cuando se creó el objeto
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=Etiqueta por:
+
+# LOCALIZATION NOTE (toolbar.labelBy): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=Cambiar como los objetos son etiquetados
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=Etiquetar objetos por las grandes categorías en las que encajan
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=Etiquetar objetos por la pila JavaScript grabada cuando se asignó
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=Etiquetar objetos por las categorías amplias en las que coincidan
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=Vista:
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=Cambiar la vista de la captura de pantalla de la pila
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=Agregar
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=Ver un resumen de los contenidos de la captura de pantalla de la pila acumulando objetos en grupos
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=Dominadores
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=Ver el árbol denominador y destacar las mayores estructuras en la captura de pantalla de la pila
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=Mapa de árbol
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=Visualizar uso de memoria: los bloques más grandes se traducen en un mayor porcentaje de uso de memoria
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=Tomar instantánea
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=Importar…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=Borrar todas las capturas de pantalla
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=Comparar capturas
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=Filtro
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=Filtrar los contenidos de la captura de pantalla de la pila
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=Ver nodos individuales en este grupo y sus rutas de retención
+
+# 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=Saber más…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=GC Raíces
+
+# 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=(no hay pila 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=(no disponible el nombre del archivo)
+
+# 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=(raíz)
+
+# 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=Línea base
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=Comparación
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=Seleccionar la captura de línea base
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=Selecciona la captura para comparar con la línea base
+
+# 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=Error
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=Hubo un error mientras se comparaban las capturas.
+
+# 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=Calculando las diferencias...
+
+# 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=Calculando las diferencias...
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=Selecciona dos capturas para comparar
+
+# 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=Selecciona dos capturas para comparar
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=Trabajando dominadores…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=Trabajando árbol dominador…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=Trabajando tamaños…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=Trabajando tamaños retenidos…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=Obteniendo…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=Obteniendo subárbol…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=Error
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=Hubo un errores mientras se procesaba el árbol dominador
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=Guardando instantánea…
+
+# 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=Leyendo instantánea…
+
+# 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=Guardando censo…
+
+# 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=Guardando mapa de árbol…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=Ocurrió un error procesando esta instantánea.
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=Error
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=Hubo un error al obtener los individuales del grupo
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=Obteniendo…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=Obteniendo individuales en el grupo…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=Nodo
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=El nodo individual en la captura
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=Guardando instantánea…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=Importando capturas...
+
+# 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=Leyendo instantánea…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=Guardando censo…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=Guardando mapa de árbol…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=Error
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=No hay diferencia entre la línea base y la comparación.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=Sin coincidencias.
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=Vacío.
+
+# 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=No se encontraron ubicaciones de pilas. Graba la ubicación de las pilas antes de tomar una instantánea.
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=Tamaño retenido (Bytes)
+
+# 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 suma del tamaño del objeto en sí mismo, y los tamaños de todos los demás objetos mantenidos vivos por él
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=Permitir tamaño (Bytes)
+
+# 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=El tamaño del objeto en sí mismo
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=Etiqueta
+
+# 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=La etiqueta de un objeto en la pila
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=Bytes
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=El número de bytes consumidos por este grupo, excluyendo los subgrupos
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=Contar
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=El número de objetos accesibles en este grupo, excluyendo subgrupos
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=Total de bytes
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=El número de bytes consumidos por este grupo, incluyendo los subgrupos
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=Total de la cuenta
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=El número de objetos accesibles en este grupo, incluyendo subgrupos
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=Nombre
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=El nombre de este grupo
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=Rutas retenidas desde las raíces del 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=Selecciona un nodo para ver sus rutas retenidas
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=cuenta
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/menus.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/menus.properties
new file mode 100644
index 0000000000..252e242578
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Depuración remota
+devtoolsRemoteDebugging.accesskey = R
+
+browserConsoleCmd.label = Consola del Navegador
+browserConsoleCmd.accesskey = B
+
+responsiveDesignMode.label = Modo de diseño responsivo
+responsiveDesignMode.accesskey = R
+
+eyedropper.label = Recogecolor
+eyedropper.accesskey = Y
+
+# 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 = Caja de herramientas del navegador
+browserToolboxMenu.accesskey = e
+
+webDeveloperToolsMenu.label = Herramientas de desarrollador
+webDeveloperToolsMenu.accesskey = T
+
+extensionsForDevelopersCmd.label = Extensiones para desarrolladores
+extensionsForDevelopersCmd.accesskey = f
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/netmonitor.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..3f2d9d6225
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/netmonitor.properties
@@ -0,0 +1,1640 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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 (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 conexión usada para traer este recurso fue segura.
+
+# 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 conexión usada para recuperar este recurso no estaba cifrada.
+
+# 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=Un error de seguridad previno el recurso de ser cargado.
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=Este recurso fue transferido mediante una conexión que usa un cifrado débil.
+
+# 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=Habilitado
+
+# 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=Deshabilitado
+
+# 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=Servidor %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=<No disponible>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=Ocultar detalles de la solicitud
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+collapseActionPane=Ocultar actividad de red
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=Mostrar todas las pestañas
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=Sin encabezados para esta solicitud
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=Filtrar encabezados
+
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+messagesEmptyText=No hay mensajes para esta solicitud
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=Sin cookies para esta solicitud
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=Filtrar 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=No hay datos de respuesta disponibles para esta solicitud
+
+# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+paramsNoPayloadText=Sin carga para esta solicitud
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# request tab of the network details pane for the filtering input.
+paramsFilterText=Filtrar parámetros de la solicitud
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details request tab identifying the query string.
+paramsQueryString=Cadena de consulta
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details request tab identifying the form data.
+paramsFormData=De los datos
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details request tab identifying the request payload.
+paramsPostPayload=Petición carga útil
+
+# 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=Sin procesar
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=Encabezados de la petición
+
+# 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=Cabeceras de la petición del flujo de subida
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=Encabezados de la respuesta
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details request tab identifying the request cookies.
+requestCookies=Solicitar cookies
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details request tab identifying the response cookies.
+responseCookies=Responder cookies
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=Respuesta de carga
+
+# 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=Sin procesar
+
+# 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=Propiedades del filtro
+
+# 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 cadena “%S” ha sido eliminada desde el principio de JSON que se muestra a continuación
+
+# 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 respuesta se truncó
+
+# 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 solicitud ha sido truncada
+
+# 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 (ejecutado)
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=Orden ascendente
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=Orden descendente
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=Empezar un análisis de rendimiento
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=Hora en la que ocurrió el evento “DOMContentLoad”
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=Hora en la que ocurrió el evento de "carga"
+
+# 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=Una solicitud;#1 solicitudes
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=No hay peticiones
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=Número de peticiones
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=%S / %S transferido
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=Tamaño/tamaño transferido de todas las peticiones
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=Finalizar: %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=Tiempo total que se necesita para cargar todas las peticiones
+
+# 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 mensaje;#1 mensajes
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=Sin mensajes
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+networkMenu.ws.summary.tooltip.framesCount=Número de mensajes
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+networkMenu.ws.summary.tooltip.framesTotalSize=Tamaño total de los mensajes mostrados
+
+# 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 total, %2$S enviados, %3$S recibidos
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+networkMenu.ws.summary.tooltip.framesTotalTime=Lapso total entre el primer y el último mensaje mostrado
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S B
+
+# LOCALIZATION NOTE (networkMenu.size.kB): This is the label displayed
+# in the network menu specifying the size of a request (in kilobytes).
+networkMenu.size.kB=%S kB
+
+# LOCALIZATION NOTE (networkMenu.sizeMB): This is the label displayed
+# in the network menu specifying the size of a request (in megabytes).
+networkMenu.sizeMB=%S MB
+
+# LOCALIZATION NOTE (networkMenu.sizeGB): This is the label displayed
+# in the network menu specifying the size of a request (in gigabytes).
+networkMenu.sizeGB=%S GB
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
+# in the network menu specifying the transferred size of a request is
+# unavailable.
+networkMenu.sizeUnavailable=—
+
+# LOCALIZATION NOTE (networkMenu.sizeUnavailable.title): This is the tooltip
+# displayed in the network menu specifying that the transferred size of a
+# request is unavailable.
+networkMenu.sizeUnavailable.title=El tamaño transferido no está 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=en caché
+
+# 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=Bloqueado
+
+# 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=Bloqueado por %S
+
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+networkMenu.blockedTooltip=Bloqueado
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+networkMenu.totalMS2=%S ms
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=%S ms totales
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=%S ms bloqueados
+
+# 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=%S ms DNS
+
+# 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=Conectar %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=Enviar %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=Esperar %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=Recibir %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=Tiempo de peticiones
+
+# 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=Tiempo del servidor
+
+# 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 cola: %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=Iniciado: %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=Descargado: %S
+
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+netmonitor.timings.noTimings=No hay tiempos para esta solicitud
+
+# 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=Cargando
+
+# 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=Vacío
+
+# 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=Gráfico circular que representa el tamaño de cada tipo de solicitud en proporción entre sí
+
+# 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=Espere…
+
+# 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=No hay datos disponibles
+
+# 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 kB
+
+# 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 kB
+
+# LOCALIZATION NOTE (charts.totalS): This is the label displayed
+# in pie or table charts specifying the time for a request to finish (in seconds).
+charts.totalS=%S s
+
+# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize.kB=Tamaño transferido: %S kB
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=Caché preparado
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=Vaciar caché
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+charts.learnMore=Saber más acerca del análisis de rendimiento
+
+# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize.kB=Tamaño: %S kB
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=Tiempo: #1 segundo;Tiempo: #1 segundos
+
+# 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=Tiempo de no bloqueo: #1 segundo;Tiempo de no bloqueo: #1 segundos
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=Respuestas cacheadas: %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=Solicitudes totales: %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=Número de peticiones
+
+# 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=Tamaño
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=Tipo
+
+# 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=Transferido
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=Tiempo
+
+# 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=Tiempo de no bloqueo
+
+# 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=Original: %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=Decodificado: %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=Emitido para
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=Nombre común (CN):
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=Organización (O):
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=Unidad organizacional (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=Emitido por
+
+# 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=Periodo de validez
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=Comienza el:
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=Expira el:
+
+# 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=Huellas dactilares
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=Huella dactilar SHA-256:
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=Huella dactilar SHA1:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=Transparencia:
+
+# 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=Registros SCT válidos
+
+# 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=No hay suficientes SCTs
+
+# 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=No hay varios SCTs
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• Pulsa en el
+netmonitor.perfNotice2=para iniciar análisis de rendimiento.
+netmonitor.perfNotice3=Analizar
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• Realiza una petición o
+netmonitor.reloadNotice2=Recargar
+netmonitor.reloadNotice3=la página para ver información detallada sobre la actividad de red.
+
+netmonitor.emptyBrowserToolbox=Realiza una solicitud para ver información detallada sobre la actividad de la red.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=Estado
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=Método
+
+# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed
+# in the network table toolbar, above the "priority" column.
+netmonitor.toolbar.priority=Prioridad
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=Archivo
+
+# 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=Protocolo
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=Dominio
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=IP remota
+
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+netmonitor.toolbar.initiator=Iniciador
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=Tipo
+
+# 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=Esquema
+
+# 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=Hora de inicio
+
+# 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=Hora de finalización
+
+# 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=Tiempo de respuesta
+
+# 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=Duración
+
+# 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=Latencia
+
+# 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=Transferido
+
+# 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=Tamaño
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=Línea de tiempo
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=Tamaño
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+netmonitor.ws.toolbar.data=Datos
+
+# 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=Tiempo
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+netmonitor.ws.toolbar.eventName=Nombre del evento
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+netmonitor.ws.toolbar.retry=Reintentar
+
+# 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 del último evento
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+netmonitor.ws.toolbar.clear=Vaciar
+
+# 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=Filtrar mensajes
+
+# 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=Restablecer columnas
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+netmonitor.ws.context.all=Todo
+
+# 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=A
+
+# LOCALIZATION NOTE (netmonitor.ws.context.sent): This is the label displayed
+# on the context menu that shows "Sent" WebSocket frames.
+netmonitor.ws.context.sent=Enviados
+
+# 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=S
+
+# LOCALIZATION NOTE (netmonitor.ws.context.received): This is the label displayed
+# on the context menu that shows "Received" WebSocket frames.
+netmonitor.ws.context.received=Recibidos
+
+# 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=Control
+
+# 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=Copiar mensaje
+
+# 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.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+netmonitor.ws.connection.closed=Conexión cerrada
+
+# 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=Enviados
+
+# 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=Recibidos
+
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+netmonitor.ws.rawData.header=Datos sin procesar (%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=Buscar en los recursos…
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+netmonitor.search.toolbar.close=Cerrar panel de búsqueda
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+netmonitor.search.toolbar.clear=Vaciar resultados de búsqueda
+
+# 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=Caso sensitivo
+
+# 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=Buscando…
+
+# 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=Búsqueda cancelada.
+
+# 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=Búsqueda finalizada. %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=Se ha encontrado #1 línea coincidente;se han encontrado #1 líneas coincidentes
+
+# 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=en #1 archivo;en #1 archivos
+
+# 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=Error de búsqueda.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking button
+netmonitor.toolbar.requestBlocking=Solicitar bloqueo
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+netmonitor.actionbar.requestBlocking2=Bloqueando
+
+# 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=Activar el bloqueo de peticiones
+
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+netmonitor.actionbar.blockSearchPlaceholder=Bloquear recurso cuando la URL contiene
+
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+netmonitor.actionbar.removeBlockedUrl=Eliminar patrón
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+netmonitor.actionbar.requestBlockingUsageNotice=Agrega patrones de URL aquí para bloquear las solicitudes coincidentes.
+
+# 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=Comienza agregando un patrón o arrastrando una fila desde la tabla con los datos de la red.
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+netmonitor.requestBlockingMenu.removeAllBlockedUrls=Eliminar todo
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+netmonitor.requestBlockingMenu.enableAllBlockedUrls=Habilitar todo
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+netmonitor.requestBlockingMenu.disableAllBlockedUrls=Deshabilitar todo
+
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=Buscar
+
+# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed
+# in the action bar's edit and resend tab
+netmonitor.actionbar.HTTPCustomRequest=Nueva solicitud
+
+# 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=Se truncó un mensaje para ahorrar memoria;#1 mensajes se truncaron para ahorrar memoria
+
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+toggleMessagesTruncation=Mantener todos los futuros mensajes
+
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+toggleMessagesTruncation.title=Mantener todos los futuros mensajes o continuar mostrando mensajes truncados
+
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+messageDataTruncated=Los datos han sido truncados
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=Encabezados
+
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=Mensajes
+
+# 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=Caché
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=Parámetros
+
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+netmonitor.tab.request=Solicitud
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=Respuesta
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=Tiempos
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=Seguimiento de pila
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=Seguridad
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=Todos
+
+# 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=Tipografía
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=Imágenes
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=Multimedia
+
+# 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=Otros
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=Filtrar URLs
+
+# 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=Saber más sobre el filtrado
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=Persistir registros
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=Si habilitas esta opción la lista de solicitudes no se borrará cada vez que navegues a una nueva página
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=Deshabilitar caché
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=Deshabilitar caché HTTP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=Limpiar
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=Pausar/reanudar el registro de grabación de red
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+netmonitor.toolbar.search=Buscar
+
+# 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=Nueva solicitud
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=Restablecer columnas
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+netmonitor.toolbar.resetSorting=Restablecer la clasificación
+
+# 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=Cambiar el tamaño de la columna para que se ajuste al contenido
+
+# 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=Hacer doble clic para ajustar la columna al contenido.
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=Tiempo
+
+# 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=Cabeceras de la respuesta
+
+# 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=Bloquear
+
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=Dirección
+
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+netmonitor.headers.status=Estado
+
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=Tamaño
+
+# 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 (tamaño %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=Versión
+
+# 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=Saber más acerca del código de estado
+
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+netmonitor.headers.referrerPolicy=Política de referencia
+
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+netmonitor.headers.contentBlocking=Bloqueo
+
+# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed
+# in the network details headers tab identifying the request priority.
+netmonitor.headers.requestPriority=Prioridad de la solicitud
+
+# 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=Editar y reenviar
+
+# 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=Sin procesar
+
+# 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=El cuerpo de la respuesta no está disponible para los scripts (Razón: %S)
+
+#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip
+# displayed on the learnmore link of the blocked by CORS notification.
+netmonitor.headers.blockedByCORSTooltip=Saber más sobre este error 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=Nombre:
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=Tamaño:
+
+# 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=Tipo 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=No se pudo generar una vista previa de la fuente
+
+# 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=Bloqueado:
+
+# 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=Resolución del 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=Configurar 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=Conectando:
+
+# 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=Enviando:
+
+# 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=Esperando:
+
+# 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=Recibiendo:
+
+# 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=Saber más acerca de tiempos
+
+# 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=Tiempo de respuesta lento del servidor (%1$S). El límite recomendado es 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=El cifrado usado está desaprobado y es inseguro.
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=Ocurrió un error:
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=Versión del protocolo:
+
+# 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=Conjunto de cifrado:
+
+# 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=Grupo de intercambio de claves:
+
+# 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=ninguno
+
+# 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=personalizado
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=grupo desconocido
+
+# 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=Esquema de firma:
+
+# 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=ninguna
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=esquema de firma desconocido
+
+# 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=Seguridad de transporte HTTP estricta:
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=Fijado (Pinning) de clave pública:
+
+# 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=Conexión:
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=Certificado:
+
+# 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=Esta URL corresponde a un rastreador conocido y será bloqueado con Bloqueo de contenido habilitado.
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+netmonitor.trackingResource.enhancedTrackingProtection=Protección contra rastreo mejorada
+
+# 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=Saber más acerca de la protección de seguimiento mejorada
+
+# 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=Copiar valor
+
+# 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=Copiar 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=Copiar parámetros de la 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=Copiar datos de %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=Copiar como 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=Copiar como 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=Copiar como 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=Copiar encabezados solicitados
+
+# 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=Q
+
+# 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=Copiar encabezados de respuesta
+
+# 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=Copiar respuesta
+
+# 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=Copiar imagen como URI de datos
+
+# 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=Usar como Fetch en la consola
+
+# 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=Guardar imagen como
+
+# 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=V
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+netmonitor.context.copyAll=Copiar todo
+
+# 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=A
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=Copiar todo como 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=Guardar todo como 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=Importar archivo HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=Archivos HAR
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=Todos los archivos
+
+# 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=Reenviar
+
+# 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=Editar y reenviar
+
+# 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=E
+
+# 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=Bloquear 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=Desbloquear 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=Abrir en una nueva pestaña
+
+# 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=T
+
+# 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=Abrir en depurador
+
+# 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=Abrir en editor de estilo
+
+# 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=Iniciar Análisis de Rendimiento...
+
+# 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=A
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequest): This is the label displayed
+# as the title of the new custom request form
+netmonitor.custom.newRequest=Nueva consulta
+
+# 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étodo
+
+# 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=Cadena de consulta:
+
+# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.urlParameters=Parámetros de la URL
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=Cabeceras de la petición:
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed
+# above the request headers entry in the new custom request form
+netmonitor.custom.newRequestHeaders=Encabezados
+
+# 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=nombre
+
+# 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=valor
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed
+# above the request body entry in the new custom request form
+netmonitor.custom.postBody=Cuerpo
+
+# 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=contenido
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=Cuerpo de la petición:
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=Enviar
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=Cancelar
+
+# 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=Limpiar
+
+# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the
+# tooltip shown over the remove button for headers and query params item
+netmonitor.custom.removeItem=Eliminar elemento
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=Atrás
+
+# 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 (en caché)
+
+# 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 (en caché, 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 = Arrastrar archivos HAR aquí
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=Exportar/Importar HAR
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=Caché
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=No hay información de caché
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=No disponible
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=Tamaño de datos
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=Expira
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=Número de recuperaciones
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=Última recuperación
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=Última modificación
+
+# 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=Dispositivo
+
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+netmonitor.settings.menuTooltip=Ajustes de red
+
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+netmonitor.settings.importHarTooltip=Importar un archivo HAR de datos de red
+
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+netmonitor.settings.saveHarTooltip=Guardar datos de red en un archivo HAR
+
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+netmonitor.settings.copyHarTooltip=Copiar datos de red al portapapeles
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/network-throttling.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..6934247d00
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Sin regulación
+
+# 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 = descarga %1$S%2$S, subida %3$S%4$S, latencia %5$Sms
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/responsive.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/responsive.properties
new file mode 100644
index 0000000000..a09d583512
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Editar lista…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=Cerrar el modo de vista de diseño adaptable
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=Girar ventana
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=Responsivo
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=Habilitar simulación táctil
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=Deshabilitar simulación táctil
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=Tomar una captura de pantalla de la vista
+
+# 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=Captura el %1$S a las %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=Modo de diseño responsivo está solamente disponible para pestañas del navegador remoto, tales como las usadas para contenido web en procesos múltiples de Firefox.
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=Cambiar proporción de pixeles del dispositivo del viewport
+
+# 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=Proporción de pixeles de dispositivo ajustada automáticamente por %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=Dispositivo personalizado
+
+# 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 (Personalizado)
+
+# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to
+# be used for adding custom devices.
+responsive.addDevice2=Agregar dispositivo personalizado…
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device.
+responsive.deviceAdderName=Nombre
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device.
+responsive.deviceAdderSize=Tamaño
+
+# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for
+# the device pixel ratio of a new device.
+responsive.deviceAdderPixelRatio2=Proporción de píxeles del dispositivo
+
+# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for
+# the user agent of a new device.
+responsive.deviceAdderUserAgent2=Cadena de agente de usuario
+
+# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the
+# touch input support of a new device.
+responsive.deviceAdderTouch2=Pantalla táctil
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=Guardar
+
+# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a
+# form to add a new device.
+responsive.deviceAdderCancel=Cancelar
+
+# 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=Tamaño: %1$S x %2$S\nDPR: %3$S\nUA: %4$S\nTocar: %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 en %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=Tamaño: %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=Táctil: %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=Recargar cuando se cambie la simulación de toque
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=Recargar cuando se cambie el agente de usuario
+
+# 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=Los cambios de la simulación del dispositivo requieren una recarga para aplicar plenamente. Las recargas automáticas están deshabilitadas de manera predeterminada para evitar perder los cambios en DevTools. Puedes habilitar la recarga a través del menú de configuración.
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=Alinear Viewport a la izquierda
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=Agente de usuario personalizado
+
+responsive.showUserAgentInput=Mostrar agente de usuario
+
+# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings
+# view.
+responsive.deviceSettings=Configuración del dispositivo
+
+# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new
+# device with an already existing device name.
+responsive.deviceNameAlreadyInUse=Ya se utiliza este nombre de dispositivo
+
+# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom
+# device when the form is submitted.
+responsive.deviceFormUpdate=Actualizar
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/shared.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/shared.properties
new file mode 100644
index 0000000000..2779588802
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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×%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=Tamaño: ancho %1$S, alto %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=Dimensiones: ancho %1$S, alto %2$S, posición %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/es-MX/chrome/es-MX/locale/es-MX/devtools/client/sourceeditor.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..1907c30211
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Buscar:
+
+# 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=Ir a la línea…
+
+# 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=no encontrado
+
+# 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/es-MX/chrome/es-MX/locale/es-MX/devtools/client/startup.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/startup.properties
new file mode 100644
index 0000000000..53e30a3a6d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Opciones de la caja de herramientas
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=Opciones
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=Panel de opciones de la caja de herramientas
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=Oscuro
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=Claro
+
+# 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=Rendimiento
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=Panel de rendimiento
+
+# 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=Rendimiento (%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=Consola Web
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=Consola
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=Panel de consola
+
+# 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=Consola 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=Depurador
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=Panel de depurador
+
+# 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=Depurador 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=Editor de estilo
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=Panel del editor de estilo
+
+# 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=Editor de hoja de estilo (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=Inspector
+inspector.accesskey=I
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=Panel de inspector
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=DOM e inspector de estilo (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=DOM e Inspector de estilos (%1$S o %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=Red
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=Panel de red
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=N
+
+# 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=Monitor de red (%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=Almacenamiento
+
+# 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=Inspector de almacenamiento
+
+# 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=Panel de almacenamiento
+
+# 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=Inspector de almacenamiento (cookies, almacenamiento 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=Memoria
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=Panel de memoria
+
+# 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=Memoria
+
+# 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=Panel DOM
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=Accesibilidad
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=Panel de accesibilidad
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=y
+
+# 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=Accesibilidad (%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=Aplicación
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=Panel de aplicaciones
+
+# 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=Panel de aplicaciones
+
+# 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 = Modo de diseño reactivo (%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 = Tomar una captura de pantalla de toda la página
+
+# 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 = Intercambiar reglas para la página
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = Medir una porción de la página
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/styleeditor.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..c4bc4326a5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=<hoja de estilos en línea #%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=Nueva hoja de estilos #%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 regla;#1 reglas.
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=No pudo cargarse la hoja de estilos.
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=No pudo guardarse la hoja de estilos.
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=Importar hoja de estilos
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=Ficheros CSS
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=Guardar hoja de estilos
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=Ficheros 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=Mostrar fuentes 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=Mostrar barra lateral de At-rules (@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/es-MX/chrome/es-MX/locale/es-MX/devtools/client/toolbox.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..067f673cbc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Herramientas de desarrollador - %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=Herramientas de desarrollador - %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=Caja de herramientas del navegador multiproceso
+
+# 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=Caja de herramientas del navegador del proceso principal
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=Herramientas de desarrollador
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=Herramientas de desarrollador
+
+# 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=Elige un elemento de la página (%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=Elegir un elemento de la página (%1$S o %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=Elegir un elemento del teléfono 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=Elegir un elemento del teléfono Android (%1$S o %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=Abrir archivo en el editor de estilos
+
+# 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=Abrir archivo en el depurador
+
+toolbox.resumeOrderWarning=La página no reanudó después de que el depurador fuera adjuntado. Para arreglar esto, por favor, cierra y vuelve a abrir la caja de herramientas.
+
+# 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=Seleccionar un marco como el documento objetivo en este momento
+
+# 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=Este botón solo está disponible en páginas con muchos 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=Personalizar las herramientas para desarrolladores y obtener ayuda
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=Cerrar las herramientas del desarrollador
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+toolbox.errorCountButton.tooltip=Mostrar la consola dividida
+
+# 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=Mostrar el número de errores en la página
+
+# 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=Error de mapa de fuente: %1$S\nURL del recurso: %2$S \nURL del mapa de fuente: %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=Error al obtener una fuente original: %1$S\nFuente URL: %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=Este %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=Caja de herramientas (%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=Caja de herramientas: %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=Caja de herramientas: ha ocurrido un error
+
+# 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=Red
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+toolbox.debugTargetInfo.reload=Recargar
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+toolbox.debugTargetInfo.forward=Reenviar
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+toolbox.debugTargetInfo.back=Regresar
+
+# 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=Extensión
+toolbox.debugTargetInfo.targetType.process=Proceso
+toolbox.debugTargetInfo.targetType.tab=Pestaña
+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=Estado de conexión de la caja de herramientas del navegador:
+
+# 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 = Error
+
+# 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 = No se puede conectar con el destino de depuración. Ver detalles de error a continuación:
+
+# 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=Obsoleto. Saber más…
+
+# 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=Habilitar la caja de herramientas del navegador multiproceso (requiere reiniciar la caja de herramientas del navegador)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/webconsole.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..9cf9d81cd9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/client/webconsole.properties
@@ -0,0 +1,565 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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=Consola del navegador multiproceso
+
+# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for
+# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+parentProcessBrowserConsole.title=Proceso padre del Navegador Consola
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S.%03S
+
+ConsoleAPIDisabled=El API de registro en la consola web (console.log, console.info, console.warn, console.error) fue desactivado por un script en esta página.
+
+# 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=Saber más
+
+# 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=<anónimo>
+
+# 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=(Asíncrono: %S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S: %2$Sms
+
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+console.timeEnd=%1$S: %2$Sms - temporizador finalizado
+
+# 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 consola se limpió.
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<sin etiqueta>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=El contador “%S” no existe.
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<sin etiqueta de grupo>
+
+maxTimersExceeded=El número máximo de temporizadores en esta página fue excedido.
+timerAlreadyExists=Temporizador “%S” ya existe.
+timerDoesntExist=Temporizador “%S” no existe.
+timerJSError=Error al procesar el nombre del temporizador.
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=Tiempo de espera superado. Compruebe la Consola de errores en ambos extremos para encontrar potenciales mensajes de error. Reabra la Consola web para intentar de nuevo.
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=Propiedades del filtro
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=#1 repetición;#1 repeticiones
+
+# 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=Da clic para seleccionar el nodo en el inspector
+
+# 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=Advertencia de fraude: Ten cuidado cuando pegues cosas que no comprendes. Esto podría permitir a los atacantes robar tu identidad o tomar el control de tu equipo. Escribe '%S' debajo (no hace falta pulsar Enter) para poder pegar.
+
+# 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=permitir pegar
+
+# 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=Mostrar/hide detalles del mensaje.
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=Mostrar/ocultar grupo.
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(índice)
+table.iterationIndex=(índice de iteración)
+table.key=Clave
+table.value=Valores
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=Error
+level.warn=Advertencia
+level.info=Información
+level.log=Iniciar sesión
+level.debug=Depurar
+
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+logpoint.title=Puntos de registro del depurador
+
+# LOCALIZATION NOTE (logtrace.title)
+# Tooltip shown for JavaScript tracing logs
+logtrace.title=Rastreo de JavaScript
+
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+blockedrequest.label=Bloqueado por DevTools
+
+# LOCALIZATION NOTE (webconsole.disableIcon.title)
+# Tooltip shown for disabled console messages
+webconsole.disableIcon.title=Este mensaje ya no está activo, los detalles del mensaje no están disponibles
+
+# 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=Copiar la ubicación del enlace
+webconsole.menu.copyURL.accesskey=a
+
+# 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=Abrir la URL en una nueva pestaña
+webconsole.menu.openURL.accesskey=T
+
+# 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=Abrir en un panel de red
+webconsole.menu.openInNetworkPanel.accesskey=N
+
+# 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=Reenviar solicitud
+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=Revelar en el inspector
+webconsole.menu.openNodeInInspector.accesskey=Q
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=Almacenar como variable global
+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=Copiar mensaje
+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=Copiar objeto
+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=Inspeccionar objeto en la barra lateral
+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=Copiar todos los mensajes
+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=Guardar todos los mensajes al archivo
+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=Limpiar la salida de la consola 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=Alternar barra de filtro
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=Salida del filtro
+
+# 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=Errores
+
+# 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=Advertencias
+
+# 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=Registros
+
+# 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=Información
+
+# 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=Depurar
+
+# 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=Las hojas de estilo se analizarán para buscar errores. Actualiza la página para ver también los errores de las hojas de estilo modificadas desde 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=Solicitudes
+
+# 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 oculto;#1 ocultos
+
+# 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 elemento oculto por el filtro de texto;#1 elementos ocultos por el filtro de texto
+
+# 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=Ajuste de la consola
+
+# 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=Barra de herramientas compacta
+
+# 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=Mostrar marcas de tiempo
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=Si habilitas esta opción, los comandos y los resultados de la consola web van a mostrar una marca de tiempo
+
+# 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=Agrupar mensajes similares
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=Cuando está habilitado, los mensajes similares se ubican en grupos
+
+# 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=Habilitar autocompletar
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=Si habilitas esta opción, se mostrarán sugerencias a medida que escribas
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=Registros persistentes
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=Al habilitar esta opción los resultados no se van a borrar cada vez que navegues a una nueva página
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=Evaluación instantánea
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=Si habilitas esta opción, la entrada se evaluará inmediatamente a medida que la escribas
+
+# 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=Habilitar monitoreo de red
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip)
+# Tooltip for the "Enable Network Monitoring" check item.
+browserconsole.enableNetworkMonitoring.tooltip=Habilitar esto para comenzar a escuchar las solicitudes de red
+
+# 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=Navegar a %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=Cerrar consola dividida (Esc)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=Cerrar barra lateral
+
+# 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=Buscar en el historial
+
+# 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=Cerrar (%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 resultado;#1 de #2 resultados
+
+# 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=Sin resultados
+
+# 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=Resultado anterior (%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=Resultado siguiente (%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=¿Invocar getter %S para obtener la lista de propiedades?
+
+# 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=Invocar (%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=Cerrar (%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=Elementos que coinciden con el selector: %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] Lo sentimos, no hemos podido mostrar el mensaje. Esto no debería haber ocurrido, por favor envía un informe del fallo a %S con los metadatos del mensaje en la descripción.
+
+# 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 cadena se ha copiado al portapapeles.
+
+# 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=El comando `copy` ha fallado, el objeto no se puede convertir en cadena: %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=Las solicitudes de URL que contengan "%S" ahora están bloqueadas
+
+# 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=Se eliminó el filtro de bloqueo "%S"
+
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+webconsole.messages.commands.blockArgMissing=No se especificó ningún filtro
+
+# 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=Copiar metadatos del mensaje al portapapeles
+
+
+# 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=Ejecutar
+
+# 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=Abrir la búsqueda inversa de historial (%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=Cerrar la búsqueda inversa de historial (%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=Ejecutar la expresión (%S). Esto no borrará la entrada.
+
+# 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=Expresión de impresión bonita
+
+# 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=Expresión anterior
+
+
+# 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=Expresión siguiente
+
+# 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=Volver al modo en línea (%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=Cambiar a modo editor multilínea (%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 mensaje;#1 mensajes
+
+# 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=Desarrolla tu código más rápido con el nuevo modo de editor multilínea. Usa %1$S para agregar nuevas líneas y %2$S para ejecutar.
+
+# 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=¡Entendido!
+
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Enter
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=Abrir archivo JavaScript
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=Archivos 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=Superior
+
+# 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=Seleccionar contexto de evaluación
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled2=Algunas cookies están haciendo mal uso del atributo “SameSite“, por lo que no funcionará como es esperado
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled2=Algunas cookies están haciendo mal uso del atributo recomendado “SameSite“
+
+# LOCALIZATION NOTE (webconsole.group.csp): do not translate
+# 'Content-Security-Policy', as that's the name of the header.
+webconsole.group.csp=Advertencias de política de seguridad de contenido
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/accessibility.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..ff9ad31ef2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=No se puede calcular
+
+# 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 (texto grande):
+
+# 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 = Usa el atributo “alt” para etiquetar elementos “area” que tengan el atributo “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 = Los diálogos deben tener una etiqueta.
+
+# 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 = Los documentos deben tener un título.
+
+# 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 = El contenido incrustado debe tener una etiqueta.
+
+# 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 = Las figuras con subtítulos opcionales tendrían que estar etiquetadas.
+
+# 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 = Los elementos “fieldset” deben ser etiquetados.
+
+# 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 = Usa el elemento “legend” para etiquetar un “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 = Los elementos del formulario deben estas etiquetados.
+
+# 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 = Los elementos del formulario deben tener una etiqueta de texto 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 = Los elementos “frame” deben ser etiquetados.
+
+# 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 = Usa el atributo “alt” para etiquetar elementos “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 = Los encabezados deben etiquetarse.
+
+# 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 = Los encabezados deben tener contenido de texto 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 = Usa el atributo “title” para describir contenido “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 = El contenido con imágenes debe etiquetarse.
+
+# 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 = Los elementos interactivos deben etiquetarse.
+
+# 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 = Usa el atributo “label” para etiquetar un “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 = Las barras de herramientas tienen que estar etiquetadas cuando hay más de una.
+
+# 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=Los elementos que pueden recibir el foco deberían tener una semántica interactiva.
+
+# 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=Evita utilizar el atributo “tabindex” mayor que cero.
+
+# 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=Los elementos interactivos tienen que poder activarse con un teclado.
+
+# 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=Los elementos interactivos tienen que ser enfocables.
+
+# 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=Al elemento enfocable puede que le falte el estilo de enfoque.
+
+# 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=Los elementos sobre los que se puede hacer clic tienen que poder recibir el foco y deberían tener una semántica interactiva.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/debugger.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..e19f59bdca
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Conexión entrante
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=Se ha detectado una solicitud entrante para permitir una conexión de depuración remota. ¡Un cliente remoto puede tomar el control completo sobre tu navegador!
+# 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=Lado del cliente: %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=Extremo del servidor: %1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=¿Permitir conexión?
+
+# 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=Desactivar
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=Identificación del cliente
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=El extremo al que te estás conectando necesita más información para identificar esta conexión. Proporciona el token de debajo en el campo que aparece en el otro extremo.
+# 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=Mi certificado: %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=Token: %1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=Proporciona un token de cliente
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=El cliente debería estar mostrando un valor de token. Introduce ese valor de token aquí para completar la identificación con este cliente.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/eyedropper.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..b1ed74bbec
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=copiado
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/screenshot.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..8d58cc4066
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Guardar una imagen de la página
+
+# 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=Archivo de destino
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=Nombre de archivo (debería tener una extensión ‘.png’) en el cual guardar la captura de pantalla.
+
+# 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=¿Copiar captura al portapapeles? (verdadero/falso)
+
+# 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=Verdadero si quiere copiar la captura en lugar de guardarla en un archivo.
+
+# 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=Opciones
+
+# 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=Retraso (segundos)
+
+# 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=Tiempo a esperar (en segundos) antes de tomar la captura de pantalla
+
+# 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=Proporción de píxeles del dispositivo
+
+# 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=La proporción de píxeles del dispositivo a usar al tomar una captura de pantalla
+
+# 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=¿Página completa? (verdadero/falso)
+
+# 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=Verdadero si la captura debería incluir partes de la página que están fuera de los límites visibles actuales.
+
+# 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=¿Guardar a archivo? (verdadero/falso)
+
+# 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=Verdadero si la captura de pantalla debe guardarse en un archivo aún cuando otras opciones estén habilitadas (ej. portapapeles).
+
+# 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=Captura de pantalla %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=Error al guardar en %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=Guardado en %1$S
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=Ocurrió un error al copiar la captura al portapapeles.
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=Captura copiada al portapapeles.
+
+# 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=Selector 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 selector CSS para usar con Document.querySelector que identifica un solo elemento
+
+# 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=La imagen fue recortada a %1$S×%2$S ya que la imagen resultante era muy 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=La relación de píxeles del dispositivo se redujo a 1 ya que la imagen resultante era demasiado 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=Error al crear la imagen. La imagen resultante probablemente era demasiado 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=El selector '%S' no coincide con ningún elemento de la página.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/shared.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/styleinspector.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..a072a217b9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/devtools/shared/styleinspector.properties
@@ -0,0 +1,249 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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=Mejor coincidencia
+rule.status.MATCHED=Coincide
+rule.status.PARENT_MATCH=Coincide con el padre
+
+# 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=en línea
+rule.sourceConstructed=construido
+rule.sourceElement=elemento
+
+# 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=Heredado de %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=Fotogramas clave de %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=(agente de usuario)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=Pseudoelementos
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=Este elemento
+
+# 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=Valor de propiedad no válido
+
+# 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=Nombre de la propiedad no válido
+
+# 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=Reglas de filtrado que contienen esta propiedad
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=No hay un elemento seleccionado.
+
+# 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 no está establecido
+
+# 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=Resaltar todos los elementos que coinciden con este selector
+
+# 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=Clic para abrir el seleccionador de color, shift+clic para cambiar el formato de color
+
+# 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=Clic para abrir el editor de la función de tiempo
+
+# 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=Clic para abrir el editor de filtro
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=Shift+clic para cambiar el formato de ángulo
+
+# 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=Haz clic para modificar el destacador de 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=Clic para modificar destacador de retícula 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=Filtrar estilos
+
+# 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=Agregar nueva regla
+
+# 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=Alternar pseudo-clases
+
+# 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=Alternar clases
+
+# 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=Agregar clase nueva
+
+# 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=No hay clases en este elemento
+
+# 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=Alternar simulación de medios de impresión para la página
+
+# 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=Alternar simulación de esquema de color para la página
+
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+rule.twistyCollapse.label=Contraer
+
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+rule.twistyExpand.label=Expander
+
+# 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=Haz clic para seleccionar el nodo contenedor
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=Copiar color
+
+# 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=Copiar 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=Copiar Data-URL de la imagen
+
+# 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=I
+
+# 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=Falló en copiar la dirección de los datos de la imagen
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=Mostrar recursos originales
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=O
+
+# 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=Agregar nueva regla
+
+# 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=Seleccionar todo
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.selectAll.accessKey): Access key for
+# the computed view context menu "Select all" entry.
+styleinspector.contextmenu.selectAll.accessKey=A
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copy): Text displayed in the
+# computed view context menu.
+styleinspector.contextmenu.copy=Copiar
+
+# 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=Copiar la ubicación
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+styleinspector.contextmenu.copyDeclaration=Copiar declaración
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=Copiar el nombre de propiedad
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=Copiar el valor de propiedad
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=Copiar la regla
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=Copiar selector
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/accessible.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/accessible.properties
new file mode 100644
index 0000000000..d036a2c010
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Saltar
+press = Pulsar
+check = Marcar
+uncheck = Desmarcar
+select = Seleccionar
+open = Abrir
+close = Cerrar
+switch = Pasar a
+click = Hacer clic
+collapse= Contraer
+expand = Expandir
+activate= Activar
+cycle = Avanzar
+# 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 = Haz clic en el elemento anterior
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = Contenido HTML
+# The Role Description for the Tab button.
+tab = pestaña
+# The Role Description for definition list dl, dt and dd
+term = término
+definition = definición
+# The Role Description for an input type="search" text field
+searchTextField = buscar campo de texto
+# Role Description (exposed as AXTitle) for datepickers
+dateField = campo de fecha
+# The Role Description for WAI-ARIA Landmarks
+application = aplicación
+search = buscar
+banner = banner
+navigation = navegación
+complementary = complementario
+content = contenido
+main = principal
+# The (spoken) role description for various WAI-ARIA roles
+alert = alerta
+alertDialog = alerta de diálogo
+dialog = diálogo
+article = artículo
+document = documento
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = figura
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = encabezado
+log = registro
+marquee = marquesina
+math = matemáticas
+note = nota
+region = región
+status = estado de la aplicación
+timer = temporizador
+tooltip = consejo
+separator = separador
+tabPanel = panel de pestaña
+# The roleDescription for the html:mark element
+highlight = resaltar
+# The roleDescription for the details element
+details = detalles
+# The roleDescription for the summary element
+summary = resumen
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/intl.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/platformKeys.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..2998a122ea
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/mac/platformKeys.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/.
+
+#mac
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# 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 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=Volver
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/accessible.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/accessible.properties
new file mode 100644
index 0000000000..4e73beadb0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Saltar
+press = Pulsar
+check = Marcar
+uncheck = Desmarcar
+select = Seleccionar
+open = Abrir
+close = Cerrar
+switch = Pasar a
+click = Clic
+collapse= Contraer
+expand = Expandir
+activate= Activar
+cycle = Avanzar
+# 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 = Haz clic en el elemento anterior
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/intl.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/platformKeys.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..66847f89e8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/unix/platformKeys.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/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# 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=Mayús.
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/accessible.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/accessible.properties
new file mode 100644
index 0000000000..4e73beadb0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Saltar
+press = Pulsar
+check = Marcar
+uncheck = Desmarcar
+select = Seleccionar
+open = Abrir
+close = Cerrar
+switch = Pasar a
+click = Clic
+collapse= Contraer
+expand = Expandir
+activate= Activar
+cycle = Avanzar
+# 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 = Haz clic en el elemento anterior
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/intl.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/platformKeys.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..865f68d07d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global-platform/win/platformKeys.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/.
+
+#default
+#this file defines the on screen display names for the various modifier keys
+#these are used in XP menus to show keyboard shortcuts
+
+# 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=Mayús.
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=Win
+
+# The Alt key
+VK_ALT=Alt
+
+# The Control key
+VK_CONTROL=Ctrl
+
+# The Enter key (on the main keyboard or numpad):
+# "Enter" on Windows/Unix, "Return" on Mac
+VK_RETURN=Enter
+
+# The separator character used between modifiers
+MODIFIER_SEPARATOR=+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/aboutStudies.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/aboutStudies.properties
new file mode 100644
index 0000000000..317df9255d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Estudios de Shield
+removeButton = Eliminar
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = Estudios activos
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = Estudios completos
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = Activar
+
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = Completar
+
+updateButtonWin = Opciones de actualización
+updateButtonUnix = Actualizar preferencias
+learnMore = Saber más
+noStudies = No has participado en ningún estudio.
+disabledList = Esta es una lista de los estudios en los que has participado. No se ejecutarán nuevos estudios.
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = ¿Qué es esto? %S puede instalar y ejecutar estudios de vez en cuando.
+
+# 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 = Este estudio establece %1$S a %2$S.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/appstrings.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/appstrings.properties
new file mode 100644
index 0000000000..19eaf4cddb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Por favor, revisa que la URL está correcta y vuelve a intentarlo.
+fileNotFound=No se encontró el archivo %S. Revisa la ubicación e intenta nuevamente.
+fileAccessDenied=El archivo en %S no se puede leer.
+dnsNotFound2=%S no pudo ser encontrado. Por favor, revisa el nombre y vuelve a intentarlo.
+unknownProtocolFound=Uno de los siguientes (%S) no es un protocolo registrado o no está permitido en este contexto.
+connectionFailure=La conexión se rechazó al intentar conectarse a %S.
+netInterrupt=La conexión a %S terminó inesperadamente. Algunos datos pudieron haberse transferido.
+netTimeout=Se rebasó el tiempo de espera al intentar conectarse a %S.
+redirectLoop=El límite de redirección para esta dirección se superó. No es posible cargar la página solicitada. La causa pudiera ser el bloqueo de Datos de Terceros (cookies).
+confirmRepostPrompt=Para ver esta página, la aplicación deberá enviar datos que repetirán cualquier acción realizada anteriormente (como una orden de compra o búsqueda).
+resendButton.label=Reenviar
+unknownSocketType=No se mostrará este documento hasta contar con la instalación del Administrador de Seguridad Personal (PSM). Descargua e instala este Administrador, intenta nuevamente o contacta al Administrador de Sistemas.
+netReset=El documento está vacío.
+notCached=Este documento ya no está disponible.
+netOffline=Este documento no se puede ver en modo Desconectado. Para trabajar en modo Conectado desmarca la opción Trabajar sin conexión del menú Archivo.
+isprinting=El documento no puede cambiar mientras se imprime o previsualiza.
+deniedPortAccess=Por razones de seguridad, se ha cerrado el acceso a este puerto.
+proxyResolveFailure=No se encontró el servidor Proxy registrado. Revisa tu configuración e inténtalo nuevamente.
+proxyConnectFailure=La conexión se rechazó al intentar conectarse al servidor Proxy registrado. Revisa tu configuración e intenta nuevamente.
+contentEncodingError=La página que estás intentando ver no puede mostrarse porque usa una forma de compresión no válida o no admitida.
+unsafeContentType=La página que estás intentando ver no puede mostrarse porque está contenida en un tipo de archivo que puede ser inseguro al abrirse. Contacta con los propietarios del Sitio Web para informarles sobre este problema.
+malwareBlocked=Este Sitio web fue reportado en %S como peligroso y fue bloqueado basándose en tus preferencias de seguridad.
+harmfulBlocked=El sitio en %S ha sido identificado como potencialmente peligroso y se ha bloqueado en base a tus preferencias de seguridad.
+unwantedBlocked=El sitio web en %S ha sido reportado como contenedor de software peligroso y ha sido bloqueado basándonos en tus preferencias de seguridad.
+deceptiveBlocked=Este sitio web fue reportado en %S como peligroso y fue bloqueado basándose en tus preferencias de seguridad.
+cspBlocked=Esta página tiene una política de seguridad de contenido que previene cargarla de esta forma.
+xfoBlocked=Esta página tiene una política X-Frame-Options que le impide cargarse en este contexto.
+corruptedContentErrorv2=El sitio %S ha experimentado una violación de protocolo de red que no puede ser reparada.
+sslv3Used=No podemos garantizar la seguridad de tus datos en %S porque utiliza SSLv3, un protocolo de seguridad vulnerable.
+weakCryptoUsed=El dueño de %S ha configurado su sitio web inadecuadamente. Para proteger tu información de ser robada, la conexión a este sitio web no ha sido establecida.
+inadequateSecurityError=El sitio web trató de negociar un inadecuado nivel de seguridad.
+blockedByPolicy=Tu organización ha bloqueado el acceso a esta página o sitio web.
+networkProtocolError=Firefox ha experimentado una violación de protocolo de red que no puede ser reparada.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/autocomplete.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/autocomplete.properties
new file mode 100644
index 0000000000..105e0ff25c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/global/browser.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/browser.properties
new file mode 100644
index 0000000000..7c65143d65
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Aviso de seguridad
+formPostSecureToInsecureWarning.message = La información que introdujiste en esta página será enviada mediante una conexión insegura y podría ser leida por un tercero.\n\n¿Estás seguro de querer enviar esta información?
+formPostSecureToInsecureWarning.continue = Continuar
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/commonDialogs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/commonDialogs.properties
new file mode 100644
index 0000000000..6f7d7e5837
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Alerta
+Confirm=Confirmar
+ConfirmCheck=Confirmar
+Prompt=Solicitar
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=Se requiere autenticación - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=Se requiere contraseña - %S
+Select=Seleccionar
+OK=Aceptar
+Cancel=Cancelar
+Yes=&Sí
+No=&No
+Save=&Guardar
+Revert=Deshace&r
+DontSave=No guar&dar
+ScriptDlgGenericHeading=[Aplicación JavaScript]
+ScriptDlgHeading=La página en %S dice:
+ScriptDlgNullPrincipalHeading=Esta página dice:
+ScriptDialogLabel=Prevenir esta página desde la creación de cuadros de diálogo adicionales
+ScriptDialogLabelNullPrincipal=No permitir que este sitio te pregunte de nuevo
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogLabelContentPrincipal=No permitir que %S te pregunte de nuevo
+ScriptDialogPreventTitle=Confirmar diálogo de preferencias
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S está solicitando tu nombre de usuario y contraseña. El sitio dice: “%1$S”
+EnterLoginForProxy3=El proxy %2$S está solicitando un nombre de usuario y contraseña. El sitio dice: “%1$S”
+EnterUserPasswordFor2=%1$S está solicitando tu usuario y contraseña.
+EnterUserPasswordForCrossOrigin2=%1$S está solicitando tu nombre de usuario y contraseña. WARNING: ¡Tu contraseña no se enviará al sitio web que está actualmente visitando!
+EnterPasswordFor=Ingresa la contraseña para %1$S en %2$S
+EnterCredentials=Este sitio te pide que inicies sesión.
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=Este sitio te pide iniciar sesión como %S.
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=Este sitio te pide iniciar sesión. Advertencia: La información de inicio de sesión será compartida con %S, y no con el sitio que estás visitando actualmente.
+SignIn=Iniciar sesión
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/contentAreaCommands.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..9f4d5f4dd2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Guardar imagen
+SaveMediaTitle=Guardar medio
+SaveVideoTitle=Guardar video
+SaveAudioTitle=Guardar audio
+SaveLinkTitle=Guardar como
+WebPageCompleteFilter=Página, completa
+WebPageHTMLOnlyFilter=Página, sólo HTML
+WebPageXHTMLOnlyFilter=Página, sólo XHTML
+WebPageSVGOnlyFilter=Página, sólo SVG
+WebPageXMLOnlyFilter=Página, sólo XML
+
+# 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=Sin título
+
+# 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 Archivos
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/css.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/css.properties
new file mode 100644
index 0000000000..651a69e18a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/css.properties
@@ -0,0 +1,54 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=La hoja de estilos (CSS) %1$S no se cargó porque su tipo MIME, "%2$S", no es "text/css".
+MimeNotCssWarn=La hoja de estilos (CSS) %1$S se ha cargado como tal a pesar de que su tipo MIME, "%2$S", no corresponde con "text/css".
+
+PEDeclDropped=Declaración rechazada.
+PEDeclSkipped=Ignorado hasta la siguiente declaración.
+PEUnknownProperty=Propiedad desconocida '%1$S'.
+PEValueParsingError=Error al analizar el valor para '%1$S'.
+PEUnknownAtRule=No se reconoce la regla at o error al leer regla at '%1$S'.
+PEMQUnexpectedOperator=Operador inesperado en la lista mediática.
+PEMQUnexpectedToken=Ficha inesperada ‘%1$S’ en la lista mediática.
+PEAtNSUnexpected=Token inesperado dentro de @namespace: '%1$S'.
+PEKeyframeBadName=Identificador esperado para el nombre de una regla @keyframes.
+PEBadSelectorRSIgnored=Juego de reglas ignoradas debido a un mal selector.
+PEBadSelectorKeyframeRuleIgnored=Regla keyframe ignorada debido a un selector erróneo.
+PESelectorGroupNoSelector=Se esperaba un selector.
+PESelectorGroupExtraCombinator=Combinador balanceante.
+PEClassSelNotIdent=Se esperaba un identificador para el selector de la clase, pero se encontró '%1$S'.
+PETypeSelNotType=Se esperaba nombre de elemento o '*', pero se encontró '%1$S'.
+PEUnknownNamespacePrefix=Prefijo de espacio de nombre desconocido '%1$S'.
+PEAttributeNameExpected=Se esperaba un identificador para el nombre del atributo, pero se encontró '%1$S'.
+PEAttributeNameOrNamespaceExpected=Se esperaba un nombre de atributo o espacio de nombre, pero se encontró '%1$S'.
+PEAttSelNoBar=Se esperaba '|', pero se encontró '%1$S'.
+PEAttSelUnexpected=Token inesperado en selector de atributo: '%1$S'.
+PEAttSelBadValue=Se esperaba un identificador o cadena para el valor en selector de atributos, pero se encontró '%1$S'.
+PEPseudoSelBadName=Se esperaba un identificador para la pseudo-clase o pseudo-elemento, pero se encontró '%1$S'.
+PEPseudoSelEndOrUserActionPC=Se esperaba el final de un selector o una pseudo-clase de acción de usuario tras un pseudo-elemento, pero se encontró la pseudo-clase '%1$S'.
+PEPseudoSelUnknown=Pseudo-clase o pseudo-elemento desconocido '%1$S'.
+PEPseudoClassArgNotIdent=Se esperaba un identificador como parámetro de pseudo-clase, pero se encontró '%1$S'.
+PEColorNotColor=Se esperaba un color, pero se encontró '%1$S'.
+PEParseDeclarationDeclExpected=Se esperaba una declaración, pero se encontró '%1$S'.
+PEUnknownFontDesc=Descriptor no identificado '%1$S' en regla @font-face.
+PEMQExpectedFeatureName=Se esperaba el nombre de una propiedad de medios pero se encontró '%1$S'.
+PEMQNoMinMaxWithoutValue=Las propiedades min- o max- de contenido multimedia deben tener un valor asignado.
+PEMQExpectedFeatureValue=Se encontró un valor inválido para una propiedad de medios.
+PEExpectedNoneOrURL=Se esperaba 'none' o una URL, pero se encontró '%1$S'.
+PEExpectedNoneOrURLOrFilterFunction=Se esperaba 'none', una URL o una función de filtrado, pero se encontró '%1$S'.
+PEDisallowedImportRule=Las reglas @import todavía no son válidas en hojas de estilo construidas.
+
+PENeverMatchingHostSelector=El selector :host en ‘%S’ no carece de funciones y nunca coincidirá. ¿Quizás querías usar :host()?
+
+TooLargeDashedRadius=El radio del borde es muy grande para el estilo ‘dashed’ (el límite es 100000 px). Generando como sólido.
+TooLargeDottedRadius=El radio del borde es muy grande para el estilo ‘dotted’ (el límite es 100000 px). Generando como sólido.
+
+PEPRSyntaxFieldEmptyInput=@property syntax descriptor is empty.
+PEPRSyntaxFieldExpectedPipe=@property syntax descriptor ‘%S’ contains components without a pipe between them.
+PEPRSyntaxFieldInvalidNameStart=@property syntax descriptor ‘%S’ contains a component name that starts with an invalid character.
+PEPRSyntaxFieldInvalidName=@property syntax descriptor ‘%S’ contains a component name with an invalid character.
+PEPRSyntaxFieldUnclosedDataTypeName=@property syntax descriptor ‘%S’ contains an unclosed data type name.
+PEPRSyntaxFieldUnexpectedEOF=@property syntax descriptor ‘%S’ is incomplete.
+PEPRSyntaxFieldUnknownDataTypeName=@property syntax descriptor ‘%S’ contains an unknown data type name.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/dialog.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/dialog.properties
new file mode 100644
index 0000000000..6b76d2c618
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Aceptar
+button-cancel=Cancelar
+button-help=Ayuda
+button-disclosure=Más información
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=y
+accesskey-disclosure=I
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/dom/dom.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/dom/dom.properties
new file mode 100644
index 0000000000..e33f1fe921
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/dom/dom.properties
@@ -0,0 +1,448 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=Aviso: Script sin respuesta
+KillScriptMessage=Algún Script de esta página puede estar ocupado, o puede haber dejado de responder. Puedes detenerlo ahora, o esperar al fin de su ejecución.
+KillScriptWithDebugMessage=Algún Script en esta página puede estar ocupado, o puede que haya dejado de responder. Puedes detenerlo ahora, abrirlo en el depurador, o dejarlo en continuar.
+KillScriptLocation=Script: %S
+
+KillAddonScriptTitle=Advertencia: Script de complemento sin respuesta
+# 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 la extensión “%1$S” está siendo ejecutado en esta página, y haciendo que %2$S no responda.\n\nPuede que esté ocupado, o que haya dejado de responder permanentemente. Puedes detener el script ahora, o esperar para ver si se completa la tarea.
+KillAddonScriptGlobalMessage=Prevenir que el script de la extensión se ejecute en esta página hasta que sea recargada
+
+StopScriptButton=Detener Script
+DebugScriptButton=Depurar Script
+WaitForScriptButton=Continuar
+DontAskAgain=&No volver a preguntar
+WindowCloseBlockedWarning=Los scripts no pueden cerrar ventanas que no hayan sido abiertas por un script.
+OnBeforeUnloadTitle=¿Estás seguro?
+OnBeforeUnloadMessage2=Esta página está pidiendo que confirmes que deseas abandonarla — la información que hayas ingresado podría no guardarse.
+OnBeforeUnloadStayButton=Permanecer en la página
+OnBeforeUnloadLeaveButton=Abandonar Página
+EmptyGetElementByIdParam=Cadena vacía pasada a getElementById().
+SpeculationFailed2=Se ha escrito un árbol no equilibrado usando document.write() lo que ha provocado que los datos de red se hayan reinterpretado ("reparsed"). Más información, https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing
+DocumentWriteIgnored=Una llamada a document.write() desde un script externo de forma asincrónicamente cargado fue ignorado.
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=Falló el colocar un archivo en un elemento contenteditable: %S.
+FormValidationTextTooLong=Por favor, acorta este texto a %S caracteres o menos (actualmente estás usando %S caracteres).
+FormValidationTextTooShort=Por favor, usa al menos %S caracteres (estás usando actualmente %S caracteres).
+FormValidationValueMissing=Por favor, llena este campo.
+FormValidationCheckboxMissing=Por favor, marca esta casilla si deseas continuar.
+FormValidationRadioMissing=Por favor, selecciona una de estas opciones.
+FormValidationFileMissing=Por favor, selecciona un archivo.
+FormValidationSelectMissing=Por favor, selecciona un objeto de la lista.
+FormValidationInvalidEmail=Por favor, introduce una dirección de correo electrónico.
+FormValidationInvalidURL=Por favor, introduce una URL.
+FormValidationInvalidDate=Por favor, ingresa una fecha válida.
+FormValidationInvalidTime=Ingresar una hora válida.
+FormValidationInvalidDateTime=Por favor, ingresa una fecha y horario válidos.
+FormValidationInvalidDateMonth=Por favor, ingresa un mes válido.
+FormValidationInvalidDateWeek=Por favor, ingresa una semana válida.
+FormValidationPatternMismatch=Por favor, coincide con el formato solicitado.
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=Por favor, coincide con el formato: %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=Por favor, selecciona un valor menor que %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=Selecciona el valor antes de %S.
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=Por favor, selecciona un valor mayor que %S.
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=Selecciona un valor después de %S.
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=Por favor, selecciona un valor válido. Los dos valores válidos más cercanos son %S y %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=Por favor, selecciona un valor válido. El valor válido más cercano es %S.
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=Selecciona un valor entre %1$S y %2$S.
+FormValidationBadInputNumber=Por favor, introduce un número.
+FullscreenDeniedDisabled=La solicitud de pantalla completa ha sido denegada porque la API de pantalla completa está desactivada en las preferencias de usuario.
+FullscreenDeniedFocusedPlugin=La solicitud de pantalla completa ha sido denegada porque un plugin en ventana tiene el foco.
+FullscreenDeniedHidden=La solicitud de pantalla completa ha sido denegada porque el documento ya no es visible.
+FullscreenDeniedHTMLDialog=El pedido de pantalla completa fue denegado porque el elemento solicitante es un elemento <dialog>.
+FullscreenDeniedContainerNotAllowed=La solicitud para el modo de pantalla completa fue denegada porque al menos uno de los documentos que contiene iframes no tiene un atributo "allowfullscreen".
+FullscreenDeniedNotInputDriven=La solicitud de pantalla completa ha sido denegada porque Element.requestFullscreen() no ha sido llamado desde dentro de un manejador de eventos generado por el usuario de ejecución rápida.
+FullscreenDeniedMouseEventOnlyLeftBtn=La solicitud de pantalla completa se denegó porque se llamó a Element.requestFullscreen() dentro de un controlador de eventos del ratón que no se activó con el botón izquierdo del ratón.
+FullscreenDeniedNotHTMLSVGOrMathML=El pedido de pantalla completa fue denegado porque el elemento solicitante no es un elemento <svg>,<math> o HTML.
+FullscreenDeniedNotInDocument=La solicitud de pantalla completa ha sido denegada porque ya el elemento solicitante ya no está en este documento.
+FullscreenDeniedMovedDocument=La solicitud de pantalla completa ha sido denegada porque el elemento solicitante ha movido el documento.
+FullscreenDeniedLostWindow=La solicitud de pantalla completa ha sido denegada porque ya no se tiene una ventana.
+FullscreenDeniedSubDocFullscreen=La solicitud de pantalla completa ha sido denegada porque un subdocumento del documento que ha solicitado la pantalla completa ya está en modo de pantalla completa.
+FullscreenDeniedNotFocusedTab=La solicitud de pantalla completa ha sido denegada porque el elemento solicitante no está en la pestaña que tiene el foco actualmente.
+FullscreenDeniedFeaturePolicy=Solicitud para pantalla completa fue denegado por las directivas de FeaturePolicy.
+FullscreenExitWindowFocus=Saliste de pantalla completa porque se ha seleccionado una ventana.
+RemovedFullscreenElement=Se ha salido de la pantalla completa porque el elemento de pantalla completa ha sido eliminado del documento.
+FocusedWindowedPluginWhileFullscreen=Se ha salido de pantalla completa porque un plugin en ventana ha recibido el foco.
+PointerLockDeniedDisabled=El pedido de bloqueo de puntero fue denegado porque la API de bloqueo de puntero fue deshabilitada por una preferencia del usuario.
+PointerLockDeniedInUse=El pedido de bloqueo de puntero fue denegado porque el puntero está actualmente siendo controlado por un documento diferente.
+PointerLockDeniedNotInDocument=El pedido de bloqueo de puntero fue denegado porque el elemento solicitante no está en un documento.
+PointerLockDeniedSandboxed=El pedido de bloqueo de puntero fue denegado porque la API de bloqueo de puntero está restringida mediante un entorno de prueba.
+PointerLockDeniedHidden=El pedido de bloqueo de puntero fue denegado porque el documento no es visible.
+PointerLockDeniedNotFocused=El pedido de bloqueo de puntero fue denegado porque el documento no está enfocado.
+PointerLockDeniedMovedDocument=El pedido de bloqueo de puntero fue denegado porque el elemento solicitante ha movido el documento.
+PointerLockDeniedNotInputDriven=El pedido de bloqueo de puntero fue denegado porque Element.requestPointerLock() no fue llamado desde dentro de un manejador de eventos generado por el usuario de corta duración, y porque el documento no está a pantalla completa.
+PointerLockDeniedFailedToLock=El pedido de bloqueo de puntero fue denegado porque el navegador no pudo bloquear el puntero.
+HTMLSyncXHRWarning=El análisis HTML en XMLHttpRequest no está admitido en el modo síncrono.
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=Intentar establecer un encabezado prohibido fue denegado: %S
+ResponseTypeSyncXHRWarning=El uso del atributo responseType de XMLHttpRequest ya no se admite en el modo síncrono del contexto de ventana.
+TimeoutSyncXHRWarning=El uso del atributo timeout de XMLHttpRequest ya no se admite en el modo síncrono del contexto de ventana.
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=El uso de navigator.sendBeacon en lugar de una petición síncrona XMLHttpRequest durante la descarga y la ocultación de la página mejora la experiencia del usuario.
+JSONCharsetWarning=Se ha registrado un intento de declarar una codificación no UTF-8 para el JSON recuperado mediante XMLHttpRequest. Sólo se admite UTF-8 para decodificar JSON.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=El HTMLMediaElement pasado a createMediaElementSource tiene un recurso de origen cruzado, el nodo emitirá silencio.
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=El MediaStream pasado a createMediaStreamSource tiene un recurso de origen cruzado, el nodo emitirá silencio.
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=El MediaStreamTrack pasado a createMediaStreamTrackSource tiene un recurso de origen cruzado, el nodo emitirá silencio.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=El HTMLMediaElement capturado reproduce un MediaStream. No se admiten cambios de volumen ni el silencio.
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementStreamCaptureCycle=El MediaStream asignado a srcObject proviene de una captura de este HTMLMediaElement, formando un ciclo, asignación ignorada.
+MediaLoadExhaustedCandidates=Ha fallado la carga de todos los recursos candidatos. Carga de medios pausada.
+MediaLoadSourceMissingSrc=El elemento <source> no tiene atributo "src". Ha fallado la carga del recurso de medios.
+MediaStreamAudioSourceNodeDifferentRate=Actualmente no se admite la conexión de AudioNodes desde AudioContexts con diferentes frecuencias de muestreo.
+# 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=La carga HTTP ha fallado con el estado %1$S. Ha fallado la carga del recurso de medios %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=URI no válida. Ha fallado la carga del recurso de medios %S.
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=El atributo "type" especificado de "%1$S" no se admite. Ha fallado la carga del recurso de medios %2$S.
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=El atributo “type” especificado de “%1$S” no es compatible. Falló al cargar el recurso de medios %2$S. Intentando cargar desde el siguiente elemento <source>.
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=El "Content-Type" HTTP de "%1$S" no es compatible. Ha fallado la carga del recurso de medios %2$S.
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=El recurso de medios %S no puede decodificarse.
+MediaWidevineNoWMF=Intento de reproducción de Widevine sin Windows Media Foundation. Ver 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=Para reproducir los formatos de video %S, se necesita instalar software extra de Microsoft, ver 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=El video en esta página no puede reproducirse. Al sistema le pueden faltar los codecs de video requeridos para: %S
+MediaUnsupportedLibavcodec=El video en esta página no puede ser reproducido. Tu sistema tiene una versión no soportada de libavcodec
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=No se pudo decodificar la fuente mediática %1$S, error: %2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=No se pudo decodificar la fuente mediática %1$S, pero con error: %2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=No se pueden reproducir medios. No hay decodificadores para los formatos solicitados: %S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=No hay decodificadores para algunos de los formatos solicitados: %S
+MediaCannotInitializePulseAudio=No se puede usar 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=Usar Extensiones de Medios Cifrados en %S en un contexto inseguro (por ejemplo, no HTTPS) está desaprobado y pronto será eliminado. Deberías considerar cambiar a un origen seguro como HTTPS.
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=Llamar al navegador.requestMediaKeySystemAccess() (en %S) sin pasar por un candidato MediaKeySystemConfiguration que contiene audioCapabilities o videoCapabilities se considera obsoleto y pronto no será respaldado.
+# 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=Llamar a navigator.requestMediaKeySystemAccess() (en %S) pasando a un candidato MediaKeySystemConfiguration que contienen audioCapabilities o videoCapabilities sin un contentType con una cadena de "codecs" se considera obsoleto y pronto no será respaldado.
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=El uso de eventos Mutation está desaprobado. Use en su lugar MutationObserver.
+BlockAutoplayError=La reproducción automática solamente está permitida cuando está aprobada por el usuario, el sitio está activado por el usuario, o los archivos multimedia está silenciados.
+BlockAutoplayWebAudioStartError=Se ha impedido que un AudioContext se inicie automáticamente. Debe crearse o reanudarse después de un gesto del usuario en la página.
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=El objeto Components es obsoleto. Pronto será removido.
+PluginHangUITitle=Advertencia: Plugin sin respuesta
+PluginHangUIMessage=%S puede estar ocupado, o puede haber dejado de responder. Puedes detener el plugin ahora, o puedes esperar a que el plugin responda.
+PluginHangUIWaitButton=Continuar
+PluginHangUIStopButton=Detener plugin
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=Llamar a detach() en NodeIterator ya no tiene efecto.
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=Ignorando los get o set de la propiedad que tiene [LenientThis] porque el obejto "this" no es correcto.
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=El uso de captureEvents() es obsoleto. Para actualizar tu código, usa el método addEventListener() de DOM 2. Para obtener más información visita http://developer.mozilla.org/en/docs/DOM:element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=El uso de releaseEvents() es obsoleto. Para actualizar tu código, usa el método removeEventListener() de DOM 2. Para obtener más información visita http://developer.mozilla.org/en/docs/DOM:element.removeEventListener
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=Un XMLHttpRequest síncrono en el hilo principal está desaprobado por sus efectos negativos en la experiencia del usuario final. Para más ayuda mira http://xhr.spec.whatwg.org/
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers está obsoleto. No lo uses para detectar al agente de usuario (UA por sus siglas en inglés).
+ImportXULIntoContentWarning=Importar nodos XUL en un documento de contenido está desaprobado. Esta funcionalidad puede desaparecer pronto.
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=La operación IndexedDB que aún no se había completado se abandonó por la navegación de páginas.
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=El consumo de memoria Will-change es demasiado alto. El límite del presupuesto es el área de la superficie del documento multiplicada por %1$S (%2$S píxeles). Las apariciones de will-change que superan el presupuesto se ignorarán.
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=Un Worker no puso ser iniciado inmediatamente porque otros documentos en el mismo origen ya están usando el número máximo de workers. El Worker está ahora en cola y se iniciará cuando alguno de los otros workers se haya completado.
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=La Application Cache API (AppCache) está desaprobada y sera eliminada en el futuro. Por favor considera usar ServiceWorker para asistencia sin conexión.
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=Intentando crear un Worker desde una fuente vacía. Ésto es probablemente involuntario.
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia ha sido remplazado por navigator.mediaDevices.getUserMedia
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams son obsoletos. Usa RTCPeerConnection.getSenders/getReceivers en su lugar.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=Falló al cargar '%S'. Un ServiceWorker ha interceptado la solicitud y encontró un error inesperado.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=Ha fallado la carga de ‘%1$S’ respondiendo ‘%2$S’. Un ServiceWorker no tiene permiso de sintetizar una respuesta cors para una solicitud 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=Falló al cargar '%1$S'. Un ServiceWorker pasó un opaque Response a FetchEvent.respondWith() mientras manejaba un '%2$S' FetchEvent. Los objetos opaque Response solo son válidos cuando el RequestMode es 'no-cors'.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=Falló al cargar '%S'. Un ServiceWorker pasó una respuesta de error a FetchEvent.respondWith(). Ésto significa típicamente que ServiceWorker ejecutó una llamada fetch() inválida.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=Falló al cargar '%S'. Un ServiceWorker pasó una respuesta usada a FetchEvent.respondWith(). El cuerpo de la respuesta solamente puede ser leído una vez. Usa Response.clone() para acceder al cuerpo más de una vez.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %S is a URL.
+BadOpaqueRedirectInterceptionWithURL=Falló la carga de '%S'. Un ServiceWorker pasó una respuesta opaqueredirect a FetchEvent.respondWith() cuando FetchEvent no era navegable.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=Falló la carga de ‘%S’. Un ServiceWorker pasó una respuesta redirigida a FetchEvent.respondWith() mientras RedirectMode no es ‘follow’.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=Falló al cargar '%S'. Un ServiceWorker ha cancelado la carga al llamar a FetchEvent.preventDefault().
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=Falló al cargar '%1$S'. Un ServiceWorker ha pasado un promise a FetchEvent.respondWith() que lo ha rechazado con '%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=Falló la carga de '%1$S'. Un ServiceWorker pasó un promise a FetchEvent.respondWith() que resolvió con un valor non-Response '%2$S'.
+
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=Falló el registro de un ServiceWorker: La ubicación del alcance proveído '%1$S' no está dentro del alcance máximo permitido '%2$S'. Ajuste el alcance, mueva el código del Service Worker, o use la cabecera HTTP Service-Worker-Allowed para permitir el alcance.
+# 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=Falló el registro/actualización de un ServiceWorker para el alcance ‘%1$S’: La carga falló con el estado %2$S para el 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=Falló al registrar/actualizar un ServiceWorker para el alcance ‘%1$S’: Tipo de contenido incorrecto ‘%2$S’ recibido para el script ‘%3$S’. Debe ser un tipo MIME de JavaScript.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=Ha fallado el registro/actualización de un ServiceWorker para el alcance ‘%S’: El acceso al almacenamiento está restringido en este contexto debido a los ajustes del usuario o al modo de navegación privada.
+ServiceWorkerGetRegistrationStorageError=Ha fallado la obtención del registro del service worker: El acceso al almacenamiento está restringido en este contexto debido a los ajustes del usuario o al modo de navegación privada.
+ServiceWorkerGetClientStorageError=Ha fallado la obtención del cliente del service worker: El acceso al almacenamiento está restringido en este contexto debido a los ajustes del usuario o al modo de navegación privada.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=El ServiceWorker para el alcance ‘%S’ falló para ejecutar ‘postMessage‘ porque el acceso al almacenamiento está restringido en este contexto debido a los ajustes de usuario o modo de navegación privada.
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=Terminar el ServiceWorker para el alcance ‘%1$S’ con pendiente waitUntil/respondWith promete debido a tiempo de espera.
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Se tiene que añadir el controlador de eventos Fetch durante la evaluación inicial del trabajo de la secuencia de órdenes.
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand('cut'/'copy') fue denegado por que no fue llamado desde dentro de un manejador de eventos generado por el usuario de corta duración.
+ManifestIdIsInvalid=El id del miembro no se resolvió en una URL válida.
+ManifestIdNotSameOrigin=El id del miembro debe tener el mismo origen que el miembro start_url.
+ManifestShouldBeObject=El manifiesto debería ser un objeto.
+ManifestScopeURLInvalid=La URL de ámbito no es válida.
+ManifestScopeNotSameOrigin=La URL de ámbito debe ser del mismo origen que el documento.
+ManifestStartURLOutsideScope=La URL de inicio está fuera de su ámbito, por lo que éste no es válido.
+ManifestStartURLInvalid=La URL de inicio no es válida.
+ManifestStartURLShouldBeSameOrigin=La URL de inicio debe ser del mismo origen que el documento.
+# 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=Se esperaba que el miembro %2$S de %1$S fuera un(a) %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 no es un color CSS válido.
+# 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 no es un código de idioma válido.
+# 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=El ítem %1$S en el índice %2$S no es válido. El miembro %3$S es una URL %4$S no válida
+# 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=El ítem %1$S en el índice %2$S no tiene un propósito utilizable. Será ignorado.
+# 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=El ítem %1$S en el índice %2$S incluye propósito(s) no admitidos: %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=El ítem %1$S en el índice %2$S incluye propósito(s) repetidos: %3$S.
+PatternAttributeCompileFailure=No es posible revisar <input pattern='%S'> porque regexpl no es una patente válida: %S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=Fallo al ejecutar 'postMessage' en 'DOMWindow': el origen del destino proporcionando ('%S') no coincide con el origen de la ventana del destinatario ('%S').
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=Reescribiendo contenido anidado del antiguo estilo de YouTube en Flash (%S) a iframe anidado (%S). Por favor, actualice la página para que use iframe en lugar de anidar el objeto, de ser posible.
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=Reescribiendo contenido anidado del antiguo estilo de YouTube en Flash (%S) a iframe anidado (%S). Los parámetros no eran soportados por incrustaciones iframe y fueron convertidos. Por favor, actualice la página para que use iframe en lugar de incrustar el objeto, de ser posible.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje enviado. La cabecera ‘Encryption’ debe incluir un parámetro ‘salt‘ único para cada mensaje. Vea https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje enviado. La cabecera ‘Crypto-Key‘ debe incluir un parámetro ‘dh‘ con la clave pública del servidor de la aplicación. Vea https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje enviado. La cabecera ‘Encryption-Key’ debe incluir un parámetro ‘dh‘. Esta cabecera es obsoleto y se eliminará pronto. Por favor usa ‘Crypto-Key‘ con ‘Content-Encoding: aesgcm‘ en su lugar. Vea https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje enviado. La cabecera ‘Content-Encoding’ debe ser ‘aesgcm‘. Se permite usar ‘aesgcm128‘, pero es obsoleto y se eliminará pronto. Vea https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje push. El parámetro ‘dh’ en la cabecera ‘Crypto-Key‘ debe ser la clave pública Diffie-Hellman del servidor de la app, codificada en url base64 (https://tools.ietf.org/html/rfc7515#appendix-C) y en forma “sin compresión” o “en bruto” (65 bytes antes de codificar). Mira https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje push. El parámetro ‘salt’ en la cabecera ‘Encryption‘ debe ser codificada en url base64 (https://tools.ietf.org/html/rfc7515#appendix-C) y de a lo menos 16 bytes antes de codificar. Mira https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje push. El parámetro ‘rs’ de la cabecera ‘Encryption‘ debe ser entre %2$S y 2^36-31, ser omitido completamente. Mira https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje push. Un registro en el mensaje cifrado no fue ubicado correctamente. Mirahttps://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 para más información.
+# 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=El ServiceWorker para el alcance ‘%1$S’ falló al descifrar un mensaje push. Para ayuda con cifrado, por favor mira 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=Ignorando llamada ‘preventDefault()’ en evento de tipo ‘%1$S’ de un escuchador registrado como ‘passive’.
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap está desuso y será eliminado pronto. Usa ImageBitmapRenderingContext.transferFromImageBitmap en su lugar.
+IIRFilterChannelCountChangeWarning=Los cambios de contador de canales de IIRFilterNode pueden producir problemas en el audio.
+BiquadFilterChannelCountChangeWarning=Los cambios de contador de canales de BiquadFilterNode pueden producir problemas en el audio.
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=imagen.png
+GenericFileName=archivo
+GeolocationInsecureRequestIsForbidden=Una solicitud de ubicación solo puede ser realizada en un contexto seguro.
+NotificationsInsecureRequestIsForbidden=El permiso de Notificación solo se puede solicitar en un contexto seguro.
+NotificationsCrossOriginIframeRequestIsForbidden=El permiso de notificación solo se puede solicitar en un documento de nivel superior o en un iframe del mismo origen.
+NotificationsRequireUserGesture=El permiso de notificación solo se puede solicitar desde un controlador de eventos generados por el usuario de ejecución corta.
+NotificationsRequireUserGestureDeprecationWarning=Solicitar permiso de notificación fuera de un controlador de eventos generado por el usuario de ejecución corta está en desuso y no será compatible en el futuro.
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=El atributo ‘content’ de los objetos Window está obsoleto. En su lugar, utilice ‘window.top’.
+# LOCALIZATION NOTE: The first %S is the tag name of the element that starts the loop, the second %S is the element's ID.
+SVGRefLoopWarning=El SVG <%S> con ID “%S” tiene un bucle de referencia.
+# 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=Una cadena de referencia SVG <%S> que es demasiado grande fue abandonada en el elemento con ID “%S”.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement.
+SVGNearestViewportElement=SVGGraphicsElement.nearestViewportElement está obsoleto y será eliminado en un futuro. Utiliza SVGElement.viewportElement en su lugar.
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement.
+SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement está obsoleto y será eliminado en un futuro.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=El atributo ‘%S’ del elemento <script> está vacío.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=El atributo ‘%S’ del elemento <script> no es un URI válido: “%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=Hubo un fallo al cargar el <script> con fuente “%S”.
+ModuleSourceLoadFailed=Ha fallado la carga para el módulo con origen “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=La fuente <script> de URI está deforme: “%S”.
+ModuleSourceMalformed=URI del origen del módulo malformada: “%S”.
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=La fuente <script> de URI no se permite en este documento: “%S”.
+ModuleSourceNotAllowed=URI del origen del módulo no permitida en este documento: “%S”.
+WebExtContentScriptModuleSourceNotAllowed=Los scripts de contenido de WebExtension solo pueden cargar módulos con URLs de extensión moz- y no: "%S".
+ModuleResolveFailureNoWarn=Error al resolver el especificador de módulo “%S”.
+ModuleResolveFailureWarnRelative=Error al resolver el especificador del módulo “%S”. Los especificadores de módulo relativos deben comenzar con “./”, “../” o “/”.
+ImportMapInvalidTopLevelKey=Una clave de nivel superior no válida “%S” estaba presente en el mapa de importación.
+ImportMapEmptySpecifierKeys=Las claves del especificador no pueden ser cadenas vacías.
+ImportMapAddressesNotStrings=Las direcciones deben ser cadenas.
+ImportMapInvalidAddress=La dirección “%S” no es válida.
+# %1$S is the specifier key, %2$S is the URL.
+ImportMapAddressNotEndsWithSlash=Se proporcionó una dirección no válida para la clave del especificador “%1$S”; dado que “%1$S” terminó en una barra inclinada, la dirección “%2$S” también debe hacerlo.
+ImportMapScopePrefixNotParseable=La URL del prefijo de ámbito “%S” no se podía analizar.
+ImportMapResolutionBlockedByNullEntry=La resolución del especificador “%S” fue bloqueada por una entrada nula.
+ImportMapResolutionBlockedByAfterPrefix=La resolución del especificador “%S” se bloqueó porque la subcadena después del prefijo no se pudo analizar como una URL relativa a la dirección en el mapa de importación.
+ImportMapResolutionBlockedByBacktrackingPrefix=La resolución del especificador “%S” se bloqueó porque la URL analizada no comienza con la dirección en el mapa de importación.
+ImportMapResolveInvalidBareSpecifierWarnRelative=El especificador “%S” era un especificador básico, pero no se reasignó a nada. Los especificadores de módulos relativos deben comenzar con “./”, “../” o “/”.
+# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src".
+ImportMapExternalNotSupported=Los mapas de importación externa no son compatibles: actualmente no se admite <script type='importmap'> con un atributo src.
+ImportMapNotAllowedMultiple=Los mapas de importación múltiples no están permitidos.
+ImportMapNotAllowedAfterModuleLoad=Los mapas de importación no están permitidos después de que se ha iniciado la carga o precarga de un módulo.
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=Valor de la propiedad de fotograma clave “%1$S” no es válido según la sintaxis para la “%2$S”.
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=Falló al leer los datos desde ReadableStream: “%S”.
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=No se puede utilizar registerProtocolHandler dentro del modo de navegación privada.
+MotionEventWarning=El uso del sensor de movimiento está obsoleto.
+OrientationEventWarning=El uso del sensor de orientación está obsoleto.
+ProximityEventWarning=El uso del sensor de proximidad está obsoleto.
+AmbientLightEventWarning=El uso del sensor de luz ambiente es obsoleto.
+UnsupportedEntryTypesIgnored=Ignorando entryTypes no soportado: %S.
+AllEntryTypesIgnored=entryTypes no válidas; abortando registro.
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=Evento de teclado no disponible en GTK2: key=“%S” modifiers=“%S” id=“%S”
+WinConflict2=Evento de teclado no disponible en algunas disposiciones del teclado: key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not trnaslated "document.domain"
+DocumentSetDomainNotAllowedWarning=No se permite establecer document.domain en un entorno aislado de origen cruzado.
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface es una interfase solamente para pruebas este es el mensaje de prueba obsoleto.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() es un método solamente de prueba y este es el mensaje de prueba obsoleto.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute es un atributo solamente de prueba y este es el mensaje de prueba obsoleto.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=Uso de CanvasRenderingContext2D en createImageBitmap está obsoleto.
+
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=El uso del método drawWindow de CanvasRenderingContext2D está obsoleto. Usa la API de extensiones tabs.captureTab en su lugar https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() es obsoleto.
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange es obsoleto.
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror es obsoleto.
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider es obsoleto.
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure está obsoleto. Use PointerEvent.pressure en su lugar.
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=“small”, “normal” y “big”son valores obsoletos para el atributo mathsize y se eliminarán en alguna futura versión.
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=“veryverythinmathspace”, “verythinmathspace”, “thinmathspace”, “mediummathspace”, “thickmathspace”, “verythickmathspace” y “veryverythickmathspace” son valores obsoletos para longitudes MathML y se eliminarán en alguna futura versión.
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=Los atributos MathML “background”, “color”, “fontfamily”, “fontsize”, “fontstyle” y “fontweight” son obsoletos y se eliminarán en alguna futura versión.
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=El soporte para renderizar operadores MathML estirados con fuentes STIXGeneral está en desuso y puede eliminarse en una fecha futura. Para obtener detalles sobre las fuentes más nuevas que seguirán siendo compatibles, mira %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=El atributo MathML “scriptminsize” está obsoleto y será eliminado en el futuro.
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=El atributo MathML “scriptsizemultiplier” está obsoleto y será eliminado en el futuro.
+FormSubmissionUntrustedEventWarning=El envío de formularios a través de un evento de envío no confiable es obsoleto y se eliminará en una fecha futura.
+WebShareAPI_Failed=La operación de compartir ha fallado.
+WebShareAPI_Aborted=La operación de compartir fue abortada.
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=Se impidió la navegación a “%1$S” debido a un protocolo desconocido.
+PostMessageSharedMemoryObjectToCrossOriginWarning=No se puede publicar un mensaje que contenga un objeto de memoria compartida en una ventana de origen cruzado.
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=El recurso en "%S" precargado con un enlace precargado no se usó en unos pocos segundos. Asegúrate de que todos los atributos de la etiqueta de precarga estén configurados correctamente.
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=document.requestStorageAccess() no se puede invocar en un documento con un origen opaco, como un iframe de sandbox sin allow-same-origin en su atributo de 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() no se puede invocar en un iframe de sandbox sin allow-storage-access-by-user-activation en su atributo de sandbox.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=document.requestStorageAccess() no se puede invocar en un iframe anidado.
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=document.requestStorageAccess() solo se puede solicitar desde un controlador de eventos generado por el usuario de ejecución breve.
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=Demasiadas llamadas a las API de ubicación o historial en un período breve.
+FolderUploadPrompt.title = Confirmar envío
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = ¿Estás seguro de que deseas enviar todos los archivos de “%S”? Haz esto solo si confía en la página web.
+FolderUploadPrompt.acceptButtonLabel = Subir
+InputPickerBlockedNoUserActivation=Se bloqueó selector de <input> debido a la falta de activación del usuario.
+ExternalProtocolFrameBlockedNoUserActivation=Se ha bloqueado el iframe con protocolo externo por no haber sido activado por el usuario o porque no ha pasado suficiente tiempo desde que se cargó el último iframe de este tipo.
+MultiplePopupsBlockedNoUserActivation=Se ha bloqueado la apertura de múltiples ventanas emergentes por no haber sido activado por el usuario.
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=Se ignoró la precarga de %S debido a valores desconocidos de “como” o “tipo”, o al atributo “media” que no coincide.
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=No se puede acceder a la URL del blob “%S” desde un clúster de agente diferente.
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() está obsoleto. Utiliza Element.setPointerCapture() en su lugar. Para obtener más ayuda https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() está obsoleto. Usa Element.releasePointerCapture() en su lugar. Para más ayuda https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() está obsoleto. Usa Element.releasePointerCapture() en su lugar. Para más ayuda https://developer.mozilla.org/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=El valor de browser.runtime.lastError no fue verificado: %S
+
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() está obsoleto. Usa OffscreenCanvas.convertToBlob() en su lugar.
+
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger está obsoleto y será eliminado en el futuro.
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() está obsoleto y será eliminado en el futuro. Para más ayuda, visita 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=Se negó a expandir la lista de opciones <select> a través de la asignación a HTMLOptionsCollection.length (valor %1$S). El tamaño máximo admitido es %2$S.
+
+
+FullscreenDeniedPopoverOpen=Request for fullscreen was denied because the element is already open as a popover.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/extensions.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/extensions.properties
new file mode 100644
index 0000000000..cf60579dbd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Desinstalar %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = Se está pidiendo que se desinstale la extensión “%S”. ¿Qué te gustaría hacer?
+
+uninstall.confirmation.button-0.label = Desinstalar
+uninstall.confirmation.button-1.label = Mantener instalado
+
+saveaspdf.saveasdialog.title = Guardar como
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = Una extensión, %S, cambió la página que ves cuando abres una nueva pestaña.
+newTabControlled.learnMore = Saber más
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = La extensión, %S, ha cambiado lo que ves como página de inicio y en las nuevas ventanas.
+homepageControlled.learnMore = Saber más
+
+#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 = Una extensión, %1$S, está ocultando algunas de sus pestañas. Todavía puedes acceder a todas tus pestañas desde %2$S.
+tabHideControlled.learnMore = Saber más
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/fallbackMenubar.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..4a5542b972
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Salir
+quitMenuitem.key=q
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/filepicker.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/filepicker.properties
new file mode 100644
index 0000000000..adcfa6d21a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/filepicker.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=Todos los archivos
+htmlTitle=Archivos HTML
+textTitle=Archivos de texto
+imageTitle=Archivos de imágenes
+xmlTitle=Archivos XML
+xulTitle=Archivos XUL
+appsTitle=Aplicaciones
+audioTitle=Archivos de sonido
+videoTitle=Archivos de video
+
+formatLabel=Formato:
+selectedFileNotReadableError=El archivo seleccionado no tiene permiso de lectura
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/global-strres.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/global-strres.properties
new file mode 100644
index 0000000000..6db71581d7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Ha ocurrido un error desconocido (%1$S)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/intl.css b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/intl.css
@@ -0,0 +1,11 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+/*
+ * This file contains all localizable skin settings such as
+ * font, layout, and geometry
+ */
+window {
+ font: 3mm tahoma,arial,helvetica,sans-serif;
+}
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/intl.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/intl.properties
new file mode 100644
index 0000000000..bbfc8d2cf2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=es-MX, es, 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=1
+
+# 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/es-MX/chrome/es-MX/locale/es-MX/global/keys.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/keys.properties
new file mode 100644
index 0000000000..c427f92412
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Flecha arriba
+VK_DOWN=Flecha abajo
+VK_LEFT=Flecha izquierda
+VK_RIGHT=Flecha derecha
+VK_PAGE_UP=Re. Pág.
+VK_PAGE_DOWN=Av. Pág.
+# 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=Retroceso
+VK_DELETE=Supr.
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Inicio
+VK_END=Fin
+
+VK_ESCAPE=Esc
+VK_INSERT=Insert
+# LOCALIZATION NOTE : BLOCK end
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/HtmlForm.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/HtmlForm.properties
new file mode 100644
index 0000000000..382a463c7e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Restablecer
+Submit=Enviar consulta
+Browse=Examinar…
+FileUpload=Cargar archivos
+DirectoryUpload=Selecciona la carpeta para subir
+DirectoryPickerOkButtonLabel=Subir
+ForgotPostWarning=El formulario contiene enctype=%S, pero no usa method=POST. Se enviará normalmente usando method=GET y sin enctype.
+ForgotFileEnctypeWarning=El formulario contiene un campo de entrada de archivo, pero no usa method=POST ni enctype=multipart/form-data en el formulario. El archivo no será enviado.
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=Envío de formulario desde %S
+CannotEncodeAllUnicode=Se envió un formulario con la codificación %S, que no puede codificar todos los caracteres Unicode, por lo que la entrada del usuario pudo ser corrompida. Para evitar este problema, la página debería cambiarse para que el formulario se envíe en la codificación UTF-8 ya sea cambiando la codificación de la propia página a UTF-8 o especificando accept-charset=utf-8 en el elemento form.
+AllSupportedTypes=Todos los tipos admitidos
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=Ningún archivo seleccionado.
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=Ningún archivo seleccionado.
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=Ningún directorio seleccionado.
+# 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 archivos seleccionados.
+ColorPicker=Elige un color
+# 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=Detalles
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/MediaDocument.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/MediaDocument.properties
new file mode 100644
index 0000000000..5eb18fae50
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 (%S Imagen, %S × %S píxeles)
+ImageTitleWithoutDimensions=%S (%S Imagen)
+ImageTitleWithDimensions2=(%S Imagen, %Sx%S píxeles)
+ImageTitleWithNeitherDimensionsNorFile=(%S Imagen)
+MediaTitleWithFile=%S (%S Objeto)
+MediaTitleWithNoInfo=(%S Objeto)
+
+InvalidImage=No se puede mostrar la imagen “%S” porque contiene errores.
+UnsupportedImage=La imagen “%S” no se puede mostrar porque requiere características no compatibles.
+ScaledImage=Escalado (%S%%)
+
+TitleWithStatus=%S - %S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/htmlparser.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/htmlparser.properties
new file mode 100644
index 0000000000..7a9293ccac
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=La codificación de caracteres de un documento en un marco no fue declarada. El documento puede mostrarse de manera diferente si se visualiza sin el documento que lo invoca como marco.
+EncXmlDecl=La codificación de caracteres del documento HTML fue declarada usando la sintaxis de declaración XML. Esto es incompatible, y declarar la codificación usando una metaetiqueta al inicio de la parte de la cabecera es más eficiente.
+EncMetaTooLate=Una metaetiqueta que intentaba declarar la declaración de codificación de caracteres se encontró demasiado tarde y la codificación se adivinó a partir del contenido. La metaetiqueta debe moverse al inicio de la parte principal del documento.
+EncMetaTooLateFrame=Una metaetiqueta que intentaba declarar la declaración de codificación de caracteres se encontró demasiado tarde y, en su lugar se usó la codificación del documento principal. La metaetiqueta debe moverse al inicio de la parte principal del documento.
+EncMetaAfterHeadInKilobyte=La metaetiqueta que declara la codificación de caracteres del documento debe moverse al inicio de la parte principal del documento.
+EncNoDecl=La codificación de caracteres del documento no fue declarada, así que la codificación fue seleccionada a partir del contenido. La codificación de caracteres necesita ser declarada en el encabezado HTTP Content-Type, utilizando una metaetiqueta o una marca de orden de bytes.
+EncNoDeclPlain=La codificación de caracteres del documento no fue declarada, así que la codificación fue seleccionada a partir del contenido. La codificación de caracteres necesita ser declarada en el encabezado HTTP Content-Type, o mediante una marca de orden de bytes.
+EncMetaUnsupported=Se ha declarado una codificación de caracteres no admitida en el documento HTML usando una etiqueta meta. Se ha descartado la declaración.
+EncProtocolUnsupported=Se ha declarado una codificación de caracteres no admitida a nivel de protocolo de transferencia. Se ha descartado la declaración.
+EncMetaUtf16=Se ha usado una etiqueta meta para declarar una codificación de caracteres como UTF-16. Se ha interpretado la declaración como si fuera UTF-8.
+EncMetaUserDefined=Se ha usado una etiqueta meta para declarar la codificación de caracteres como x-user-defined. Sin embargo, ha sido interpretada como una declaración windows-1252 por compatibilidad con tipografías antiguas intencionadamente codificadas de modo incorrecto. Este sitio debería migrar a Unicode.
+
+EncMetaReplacement=Se utilizó una metaetiqueta para declarar una codificación que es un peligro de secuencias de comandos entre sitios. En su lugar, se utilizó la codificación de reemplazo.
+EncProtocolReplacement=Una codificación que es un peligro de secuencias de comandos entre sitios se declaró en el nivel del protocolo de transferencia. En su lugar, se utilizó la codificación de reemplazo.
+EncDetectorReload=La codificación de caracteres del documento no fue declarada, y la codificación solo pudo descargarse del contenido tarde. Esto causó que el documento fuera recargado. La codificación de caracteres necesita ser declarada en el encabezado HTTP Content-Type, usando una metaetiqueta, o usando una marca de orden de bytes.
+EncDetectorReloadPlain=La codificación de caracteres del documento no fue declarada, y la codificación solo pudo descargarse del contenido tarde. Esto causó que el documento fuera recargado. La codificación de caracteres debe declararse en el encabezado Content-Type HTTPS o usando una marca de orden de bytes.
+EncError=El flujo de bytes era erróneo según la codificación de caracteres declarada. La declaración de codificación de caracteres puede ser incorrecta.
+EncErrorFrame=El flujo de bytes era erróneo según la codificación de caracteres heredada del documento principal. La codificación de caracteres debe declararse en el encabezado HTTP Content-Type, utilizando una metaetiqueta o una marca de orden de bytes.
+EncErrorFramePlain=El flujo de bytes era erróneo según la codificación de caracteres heredada del documento principal. La codificación de caracteres debe declararse en el encabezado HTTP Content-Type o mediante una marca de orden de bytes.
+EncSpeculationFailMeta=Se volvió a analizar el inicio del documento porque había caracteres que no eran ASCII antes de la metaetiqueta que declaraba la codificación. El meta debe ser el primer hijo de head sin comentarios que no sean ASCII antes.
+EncSpeculationFailXml=Se volvió a analizar el inicio del documento, porque había caracteres que no eran ASCII en la parte del documento en la que se buscó sin éxito una metaetiqueta antes de volver a la sintaxis de declaración XML. Se debe usar una metaetiqueta al comienzo de la parte principal en lugar de la sintaxis de declaración XML.
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+EncSpeculationFail2022=Se volvió a analizar el inicio del documento, porque ISO-2022-JP es una codificación incompatible con 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=Basura tras “</”.
+errLtSlashGt=Se ha encontrado “</>”. Causas probables: “<” no escapado (escápalo como “&lt;”) o etiqueta de cierre mal escrita.
+errCharRefLacksSemicolon=Referencia a carácter no está terminada por un punto y coma.
+errNoDigitsInNCR=No hay dígitos en la referencia numérica a carácter.
+errGtInSystemId=“>” en un identificador de sistema.
+errGtInPublicId=“>” en un identificador público.
+errNamelessDoctype=Doctype sin nombre.
+errConsecutiveHyphens=Guiones consecutivos no terminaron un comentario. “--” no se permite dentro de un comentario, pero por ejemplo “- -” sí.
+errPrematureEndOfComment=Fin de comentario prematuro. Usa “-->” para terminar correctamente un comentario.
+errBogusComment=Comentario simulado.
+errUnquotedAttributeLt=“<” en un valor de atributo sin comillas. Causa probable: falta “>” justo antes.
+errUnquotedAttributeGrave=“`” en un valor de atributo sin comillas. Causa probable: usar el carácter erróneo como comilla.
+errUnquotedAttributeQuote=Comilla en un valor de atributo sin comillas. Causas probables: atributos pegados por error o una cadena de consulta URL en un valor de atributo sin comillas.
+errUnquotedAttributeEquals=“=” en un valor de atributo sin comillas. Causas probables: atributos juntos por error o una cadena de consulta URL en un valor de atributo sin comillas.
+errSlashNotFollowedByGt=Una barra no estaba inmediatamente seguida de “>”.
+errNoSpaceBetweenAttributes=Falta espacio entre atributos.
+errUnquotedAttributeStartLt=“<” al principio de valor de atributo sin comillas. Causa probable: “>” falta justo antes.
+errUnquotedAttributeStartGrave=“`” al principio de un valor de atributo sin comillas. Causa probable: usar el carácter erróneo como comilla.
+errUnquotedAttributeStartEquals=“=” al principio de un valor de atributo sin comillas. Causa probable: signo igual duplicado/extraviado.
+errAttributeValueMissing=Falta valor de atributo.
+errBadCharBeforeAttributeNameLt=Se ha encontrado “<” cuando se esperaba un nombre de atributo. Causa probable: falta un “>” justo antes.
+errEqualsSignBeforeAttributeName=Se ha encontrado “=” cuando se esperaba un nombre de atributo. Causa probable: falta el nombre del atributo.
+errBadCharAfterLt=Carácter erróneo tras “<”. Causa probable: “<” no escapado. Prueba a escaparlo como “&lt;”.
+errLtGt=Se ha encontrado “<>”. Causas probables: “<” no escapado (escápelo como “&lt;”) o etiqueta de inicio mal escrita.
+errProcessingInstruction=Se ha encontrado “<?”. Causa probable: se ha intentado usar una instrucción de proceso XML en HTML (las instrucciones de proceso XML no se admiten en HTML).
+errUnescapedAmpersandInterpretedAsCharacterReference=La cadena que sigue a “&” se ha interpretado como una referencia a carácter (“&” probablemente debería haber sido escapado como “&amp;”).
+errNotSemicolonTerminated=La referencia a carácter con nombre no terminaba con un punto y coma (o bien debería haberse escapado “&” como “&amp;”).
+errNoNamedCharacterMatch=“&” no ha comenzado una referencia a carácter (“&” probablemente debería haber sido escapado como “&amp;”).
+errQuoteBeforeAttributeName=Se ha encontrado una comilla cuando se esperaba un nombre de atributo. Causa probable: falta un “=” justo antes.
+errLtInAttributeName=“<” en un nombre de atributo. Causa probable: “>” falta justo antes.
+errQuoteInAttributeName=Comilla en nombre de atributo. Causa probable: la comilla correspondiente falta en algún lugar anterior.
+errExpectedPublicId=Se esperaba un identificador público pero el doctype ha terminado.
+errBogusDoctype=Doctype simulado.
+maybeErrAttributesOnEndTag=La etiqueta de cierre tenía atributos.
+maybeErrSlashInEndTag=“/” extraviada al final de una etiqueta de cierre.
+errNcrNonCharacter=Referencia a carácter se expande a no-carácter.
+errNcrSurrogate=Referencia a carácter se expande a un surrogado.
+errNcrControlChar=Referencia a carácter se expande a carácter de control.
+errNcrCr=Una referencia numérica a carácter expandida a retorno de carro.
+errNcrInC1Range=Una referencia numérica a carácter expandida al rango de controles C1.
+errEofInPublicId=Fin de fichero dentro de un identificador público.
+errEofInComment=Fin de fichero dentro de un comentario.
+errEofInDoctype=Fin de fichero dentro de un doctype.
+errEofInAttributeValue=Fin de fichero alcanzado dentro del valor de un atributo. Se ignora la etiqueta.
+errEofInAttributeName=Fin de fichero encontrado en un nombre de atributo. Se ignora la etiqueta.
+errEofWithoutGt=Se ha encontrado el fin de fichero sin que la etiqueta anterior termine con “>”. Se ignora la etiqueta.
+errEofInTagName=Fin de fichero encontrado mientras se busca el nombre de una etiqueta. Se ignora la etiqueta.
+errEofInEndTag=Fin de fichero dentro de una etiqueta de cierre. Se ignora la etiqueta.
+errEofAfterLt=Fin de fichero tras “<”.
+errNcrOutOfRange=Referencia a carácter fuera del rango Unicode admisible.
+errNcrUnassigned=Referencia a carácter se expande a punto de código permanentemente no asignado.
+errDuplicateAttribute=Atributo duplicado.
+errEofInSystemId=Fin de fichero dentro de un identificador de sistema.
+errExpectedSystemId=Se esperaba un identificador de sistema pero el doctype ha terminado.
+errMissingSpaceBeforeDoctypeName=Falta espacio antes del nombre de doctype.
+errNestedComment=Se ha detectado “<!--” dentro de un comentario. Causa probable: comentario anidado (no permitido).
+errNcrZero=Referencia a carácter se expande a cero.
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=Falta espacio entre la palabra clave “SYSTEM” y el entrecomillado en el doctype.
+errNoSpaceBetweenPublicAndSystemIds=Falta espacio entre los identificadores público y de sistema en el doctype.
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=Falta espacio entre la palabra clave “PUBLIC” y el entrecomillado en el doctype.
+
+# Tree builder errors
+errDeepTree=El árbol de documentos es demasiado profundo. El árbol será aplanado a 513 elementos de profundidad.
+errStrayStartTag2=Etiqueta de apertura “%1$S” extraviada.
+errStrayEndTag=Etiqueta de cierre “%1$S” extraviada.
+errUnclosedElements=Etiqueta de cierre “%1$S” encontrada, pero había elementos abiertos.
+errUnclosedElementsImplied=Etiqueta de cierre “%1$S” implícita, pero había elementos abiertos.
+errUnclosedElementsCell=Se cerró implícitamente una celda de tabla, pero había elementos abiertos.
+errStrayDoctype=Doctype extraviado.
+errAlmostStandardsDoctype=Doctype del modo casi estándar. Se esperaba “<!DOCTYPE html>”.
+errQuirkyDoctype=Doctype de compatibilidad con extensiones no estándares. Se esperaba “<!DOCTYPE html>”.
+errAlmostStandardsDoctypeVerbose=Esta página está en modo casi estándar. El diseño de la página puede verse afectado. Para el modo estándar usa “<!DOCTYPE html>”.
+errQuirkyDoctypeVerbose=Esta página está en modo Quirks. El diseño de la página puede verse afectado. Para el modo estándar usa “<!DOCTYPE html>”.
+errNonSpaceInTrailer=Carácter distinto de espacio al final de la página.
+errNonSpaceAfterFrameset=Carácter distinto de espacio tras “frameset”.
+errNonSpaceInFrameset=Carácter distinto de espacio en “frameset”.
+errNonSpaceAfterBody=Carácter distinto de espacio tras body.
+errNonSpaceInColgroupInFragment=Carácter distinto de espacio en “colgroup” al interpretar fragmento.
+errNonSpaceInNoscriptInHead=Carácter distinto de espacio dentro de “noscript” dentro de “head”.
+errFooBetweenHeadAndBody=Elemento “%1$S” entre “head” y “body”.
+errStartTagWithoutDoctype=Encontrada etiqueta de inicio sin ver primero un doctype. Se esperaba “<!DOCTYPE html>”.
+errNoSelectInTableScope=Falta “select” en el ámbito de la tabla.
+errStartSelectWhereEndSelectExpected=Etiqueta de inicio “select” donde se esperaba la etiqueta de cierre.
+errStartTagWithSelectOpen=Etiqueta de inicio “%1$S” con “select“ abierto.
+errBadStartTagInNoscriptInHead=Etiqueta de inicio incorrecta "%1$S" en "noscript" en "head".
+errImage=Se ha encontrado una etiqueta de inicio “image”.
+errFooSeenWhenFooOpen2=Se vio una etiqueta de inicio "%1$S" pero un elemento del mismo tipo ya estaba abierto.
+errHeadingWhenHeadingOpen=Un encabezado no puede ser hijo de otro encabezado.
+errFramesetStart=Encontrada etiqueta de inicio “frameset”.
+errNoCellToClose=No hay celda que cerrar.
+errStartTagInTable=Etiqueta de inicio “%1$S” vista en “table”.
+errFormWhenFormOpen=Se ha encontrado una etiqueta de inicio “form”, pero ya había un elemento “form” activo. No se permiten formularios anidados. Se ignorará la etiqueta.
+errTableSeenWhileTableOpen=Se ha encontrado una etiqueta de inicio para “table” pero el “table” anterior aún está abierto.
+errStartTagInTableBody=Etiqueta de inicio “%1$S” en cuerpo de tabla.
+errEndTagSeenWithoutDoctype=Etiqueta de cierre encontrada sin ver primero un doctype. Se esperaba “<!DOCTYPE html>”.
+errEndTagAfterBody=Se ha encontrado una etiqueta de cierre después de que “body” haya sido cerrado.
+errEndTagSeenWithSelectOpen=Etiqueta de cierre “%1$S” con “select“ abierto.
+errGarbageInColgroup=Basura en fragmento “colgroup”.
+errEndTagBr=Etiqueta de cierre “br”.
+errNoElementToCloseButEndTagSeen=Falta elemento “%1$S” en el ámbito pero se ha visto una etiqueta de cierre “%1$S”.
+errHtmlStartTagInForeignContext=Etiqueta HTML de inicio “%1$S” en un contexto de espacio de nombres ajeno.
+errNoTableRowToClose=No hay fila de tabla que cerrar.
+errNonSpaceInTable=Caracteres distintos de espacio descolocados dentro de una tabla.
+errUnclosedChildrenInRuby=Hijos no cerrados en “ruby”.
+errStartTagSeenWithoutRuby=Etiqueta de inicio “%1$S” vista sin que haya un elemento “ruby” abierto.
+errSelfClosing=Sintaxis de autocierre (“/>”) usada en un elemento HTML no vacío. Se ignora la barra y se trata como una etiqueta de inicio.
+errNoCheckUnclosedElementsOnStack=Elementos no cerrados en pila.
+errEndTagDidNotMatchCurrentOpenElement=La etiqueta de cierre “%1$S” no concordaba con el nombre del elemento abierto actualmente (“%2$S”).
+errEndTagViolatesNestingRules=La etiqueta de cierre “%1$S” viola las reglas de anidación.
+errEndWithUnclosedElements=Etiqueta de cierre “%1$S” encontrada, pero había elementos sin cerrar.
+errListUnclosedStartTags=Elemento o elementos sin cerrar.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/xmlparser.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout/xmlparser.properties
new file mode 100644
index 0000000000..bb65cca72e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = No hay memoria libre
+2 = error de sintaxis
+3 = no se encuentra el elemento
+4 = mal formado
+5 = token no cerrado
+6 = token no cerrado
+7 = etiqueta sin pareja
+8 = atributo duplicado
+9 = contenido incorrecto tras un elemento XML del documento
+10 = referencia a entidad con parámetro ilegal
+11 = entidad no definida
+12 = referencia a entidad recursiva
+13 = entidad asíncrona
+14 = referencia a número de carácter no válido
+15 = referencia a entidad binaria
+16 = referencia a entidad externa en un atributo
+17 = declaración de texto o XML en un lugar distinto del principio de la entidad
+18 = codificación desconocida
+19 = la codificación especificada en la declaración XML es incorrecta
+20 = sección CDATA no cerrada
+21 = error al procesar una referencia a entidad externa
+22 = el documento no es independiente
+23 = estado inesperado del intérprete
+24 = entidad declarada en entidad de parámetro
+27 = prefijo no vinculado a un espacio de nombres
+28 = no debe desdeclarar el prefijo
+29 = marcado incompleto en entidad parámetro
+30 = declaración XML mal formada
+31 = declaración de texto mal formada
+32 = caracteres ilegales en id pública
+38 = el prefijo reservado (xml) no debe ser desdeclarado o asociado a otro nombre de espacio de nombres
+39 = el prefijo reservado (xmlns) no debe ser declarado o desdeclarado
+40 = el prefijo no debe estar limitado a uno de los nombres reservados de espacio de nombres
+
+# %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 = Error de lectura XML: %1$S\nUbicación: %2$S\nNúmero de línea %3$u, columna %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = . Se esperaba: </%S>.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout_errors.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/layout_errors.properties
new file mode 100644
index 0000000000..5ef5aff6ca
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=El atributo "coords" de la etiqueta <area shape="rect"> no está en el formato "izquierda, arriba, derecha, abajo".
+ImageMapCircleWrongNumberOfCoords=El atributo "coords" de la etiqueta <area shape="circle"> no está en el formato "centro-x,centro-y,radio".
+ImageMapCircleNegativeRadius=El atributo "coords" de la etiqueta <area shape="circle"> tiene un radio negativo.
+ImageMapPolyWrongNumberOfCoords=El atributo "coords" de la etiqueta <area shape="poly"> no está en el formato "x1,y1,x2,y2 …".
+ImageMapPolyOddNumberOfCoords=Al atributo "coords" de la etiqueta <area shape="poly"> le falta la última coordenada "y" (el formato correcto "x1,y1,x2,y2 …").
+
+ScrollLinkedEffectFound3=Este sitio parece usar un efecto de posicionamiento "scroll-linked". Puede que no funcione bien con desplazamiento asíncrono; mira https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html para más detalles y únase a la discusión sobre herramientas y funcionalidades relacionadas.
+
+## 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=La animación no puede ser ejecutada en el compositor porque el área del cuadro (%1$S) es demasiado grande respecto al visor (más 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=La animación no se puede ejecutar en el compositor porque el tamaño del marco (%1$S, %2$S) es demasiado grande respecto al tamaño de la ventanilla (mayor de (%3$S, %4$S)) o mayor que el valor máximo permitido (%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=Las animaciones de transformaciones ‘backface-visibility: hidden’ no pueden ejecutarse en el compositor
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=Las animaciones de ‘transform’ en elementos con transformaciones SVG no pueden ejecutarse en el compositor
+CompositorAnimationWarningTransformWithGeometricProperties=Las animaciones de ‘transform’ no pueden ejecutarse en el compositor cuando las propiedades geométricas son animadas en el mismo elemento al mismo tiempo
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=La animación de "transform" no se puede ejecutar en el compositor porque debería sincronizarse con las animaciones de propiedades geométricas que comenzaron al mismo tiempo
+CompositorAnimationWarningTransformFrameInactive=La animación no puede ejecutarse en el compositor porque el cuadro no fue marcado activo para ‘transform’
+CompositorAnimationWarningTransformIsBlockedByImportantRules=No se puede ejecutar la animación de transformación en el compositor porque las propiedades relativas a la transformación están anuladas por reglas !important
+CompositorAnimationWarningOpacityFrameInactive=La animación no puede ejecutarse en el compositor porque el cuadro no fue marcado activo para ‘opacity’
+CompositorAnimationWarningHasRenderingObserver=La animación no puede ser corrida en el compositor ya que el elemento tiene observadores de generación (-moz-element o recorte/máscara SVG)
+CompositorAnimationWarningHasCurrentColor=Las animaciones de ‘background-color’ no se pueden ejecutar en el compositor con el fotograma clave de ‘current-color’.
+
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=Esta página utiliza la propiedad no estándar “zoom”. Considere usar calc() en los valores de propiedad relevantes, o usar “transform” junto con “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=Al generar el elemento <html>, los valores utilizados de las propiedades CSS “writing-mode”, “direction” y “text-orientation” en el elemento <html> se toman de los valores calculados del elemento <body>, no de los valores propios del elemento <html>. Considera ajustar estas propiedades en la pseudo-clase CSS :root. Para más información, revisa “The Principal Writing Mode” (El modo de escritura principal) en 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=El anclaje de desplazamiento se deshabilitó en un contenedor de desplazamiento debido a demasiados ajustes consecutivos (%1$S) con muy poca distancia total (%2$S px promedio, %3$S px total).
+
+ForcedLayoutStart=El diseño fue forzado antes de que la página se cargará completamente. Si las hojas de estilo aún no se encuentran cargadas, esto podría causar que hayan artefactos en el contenido sin estilo.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/mathml/mathml.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/mathml/mathml.properties
new file mode 100644
index 0000000000..3a5d6f23be
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Marcado no válido: <%1$S> no se permite como hijo de <%2$S>.
+ChildCountIncorrect=Marcado no válido: número incorrecto de hijos en la etiqueta <%1$S/>.
+DuplicateMprescripts=Marcado no válido: más de un <mprescripts/> en <mmultiscripts/>.
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=Código invalido: Se espera un elemento Base en <mmultiscripts/>. No encontrado.
+SubSupMismatch=Marcado no válido: par incompleto de subíndice/superíndice en <mmultiscripts/>.
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=Error al analizar el valor '%1$S' para el atributo '%2$S' de <%3$S/>. Se ha ignorado el atributo.
+AttributeParsingErrorNoTag=Error al analizar el valor '%1$S' para el atributo '%2$S'. Se ha ignorado el atributo.
+LengthParsingError=Error al analizar el valor de atributo de MathML '%1$S' como longitud. Se ha ignorado el atributo.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/narrate.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/narrate.properties
new file mode 100644
index 0000000000..6696b5c272
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Escuchar (%S)
+back = Atrás
+# %S is the keyboard shortcut for the start command
+start-label = Inicio (%S)
+# %S is the keyboard shortcut for the stop command
+stop-label = Detener (%S)
+# Keyboard shortcut to toggle the narrate feature
+narrate-key-shortcut = N
+forward = Adelante
+speed = Velocidad
+selectvoicelabel = Voz:
+# Default voice is determined by the language of the document.
+defaultvoice = Predeterminado
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/nsWebBrowserPersist.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..b050d714d0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=No se pudo guardar %S porque fue imposible leer el archivo origen.\n\nInténtalo más tarde, o pónte en contacto con el administrador del servidor.
+writeError=No se pudo guardar %S debido a un error desconocido.\n\nIntenta guardarlo en un lugar distinto.
+launchError=No se pudo abrir %S debido a un error desconocido.\n\nIntenta guardarlo en un medio de almacenamiento para después abrirlo.
+diskFull=No hay espacio suficiente en tu medio de almacenamiento para guardar %S.\n\nPrueba eliminar archivos innecesarios o guardarlo en un lugar distinto.
+readOnly=No se pudo guardar %S porque la unidad de almacenamiento, carpeta o archivo está protegido contra escritura.\n\nObten los permisos necesarios e intenta guardarlo nuevamente o prueba guardarlo en un lugar distinto.
+accessError=No se pudo guardar %S porque no puedes modificar el contenido de esa carpeta.\n\nModifica las propiedades de la carpeta y vuelve a intentarlo, o intenta guardarlo en un lugar distinto.
+SDAccessErrorCardReadOnly=La tarjeta SD está en uso. No se pudo bajar archivo.
+SDAccessErrorCardMissing=No hay tarjeta SD. No se pudo bajar el archivo.
+helperAppNotFound=No se pudo abrir %S porque la aplicación auxiliar asociada no existe. Modifica la asociación en tus preferencias.
+noMemory=No hay memoria suficiente para completar la operación.\n\nCierra algunas aplicaciones y vuelve a intentarlo.
+title=Descargando %S
+fileAlreadyExistsError=No se pudo guardar %S porque ya existe un archivo con el mismo nombre en la carpeta '_files'.\n\nIntenta guardarlo en un lugar distinto.
+fileNameTooLongError=No se pudo guardar %S porque el nombre del archivo es demasiado largo.\n\nIntenta guardarlo con un nombre más corto.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/printdialog.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/printdialog.properties
new file mode 100644
index 0000000000..d9f6f3378a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Imprimir
+optionsTabLabelGTK=Opciones
+
+# Mac titles:
+optionsTitleMac=Opciones:
+appearanceTitleMac=Apariencia:
+pageHeadersTitleMac=Encabezados:
+pageFootersTitleMac=Pie de páginas:
+
+# Windows titles:
+optionsTitleWindows=Opciones
+
+# 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=Ingorar escala y S_hrink para ajustar el ancho de página
+selectionOnly=Imprimir selección _Only
+printBGOptions=Imprimir fondos
+printBGColors=Imprimir colores de fondo
+printBGImages=Imprimir imágenes de fondo
+headerFooter=Encabezado y pie de página
+left=Izquierda
+center=Centro
+right=Derecha
+headerFooterBlank=--nada--
+headerFooterTitle=Título
+headerFooterURL=Dirección
+headerFooterDate=Fecha/Hora
+headerFooterPage=Página #
+headerFooterPageTotal=Página # de #
+headerFooterCustom=Personalizar...
+customHeaderFooterPrompt=Por favor, introduce el texto del encabezado/pie
+
+summarySelectionOnlyTitle=Imprimir selección
+summaryShrinkToFitTitle=Ajustar a la página
+summaryPrintBGColorsTitle=Imprimir Colores de fondo
+summaryPrintBGImagesTitle=Imprimir Imágenes de fondo
+summaryHeaderTitle=Encabezados
+summaryFooterTitle=Pies de página
+summaryNAValue=N/A
+summaryOnValue=Encender
+summaryOffValue=Apagar
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/printing.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/printing.properties
new file mode 100644
index 0000000000..7e1c9d699a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 (pagenumber): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+pagenumber=%1$d
+
+# Page number formatting
+## @page_number The current page number
+## @page_total The total number of pages
+#LOCALIZATION NOTE (pageofpages): Do not translate %ld in the following line.
+# Place the word %ld where the page number and number of pages should be
+# The first %ld will receive the the page number
+# the second %ld will receive the total number of pages
+pageofpages=%1$d de %2$d
+
+PrintToFile=Imprimir a archivo
+print_error_dialog_title=Error en la impresora
+printpreview_error_dialog_title=Error en la vista previa
+
+# 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=Ocurrió un error al imprimir.
+
+PERR_ABORT=El trabajo de impresión se canceló o abortó.
+PERR_NOT_AVAILABLE=Some printing functionality is not currently available.
+PERR_NOT_IMPLEMENTED=Ciertas características de impresión no están aún implementadas.
+PERR_OUT_OF_MEMORY=There is not enough free memory to print.
+PERR_UNEXPECTED=There was an unexpected problem while printing.
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=No hay impresoras disponibles.
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=No hay impresoras disponibles, no se puede mostrar la vista previa.
+PERR_GFX_PRINTER_NAME_NOT_FOUND=The selected printer could not be found.
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=No se pudo abrir el archivo de salida para la impresión.
+PERR_GFX_PRINTER_STARTDOC=Printing failed while starting the print job.
+PERR_GFX_PRINTER_ENDDOC=Printing failed while completing the print job.
+PERR_GFX_PRINTER_STARTPAGE=Printing failed while starting a new page.
+PERR_GFX_PRINTER_DOC_IS_BUSY=Cannot print this document yet, it is still being loaded.
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=Cannot print-preview this document yet, it is still being loaded.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/resetProfile.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/resetProfile.properties
new file mode 100644
index 0000000000..500ef3ec8a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Parece que no has iniciado %S en un tiempo. ¿Quieres limpiarlo para una nueva experiencia? Y a propósito, ¡bienvenido de nuevo!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=Parece que se ha reinstalado %S. ¿Quieres limpiarlo para una nueva experiencia, como arrancar de cero?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=Restablecer %S…
+refreshProfile.resetButton.accesskey=e
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/caps.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/caps.properties
new file mode 100644
index 0000000000..3e772a7b1b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Error de seguridad: el contenido en %S no se puede cargar o enlazar con %S.
+CheckSameOriginError = Error de seguridad: el contenido en %S no puede cargar datos de %S.
+ExternalDataError = Error de seguridad: El contenido en %S ha intentado cargar %S, pero no puede cargar datos externos cuando está siendo usado como una imagen.\u0020
+
+CreateWrapperDenied = Permiso denegado al crear el wrapper para el objeto de la clase %S
+CreateWrapperDeniedForOrigin = Se denegó el permiso a <%2$S> para crear el wrapper al objeto de clase %1$S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/csp.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/csp.properties
new file mode 100644
index 0000000000..bf84a7d275
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Las opciones para esta página han bloqueado la carga de un recurso: %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 = Las opciones de esta página han bloqueado la carga de un recurso en %2$S ("%1$S").
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = Ha ocurrido una violación de una política CSP de información únicamente ("%1$S"). Se ha permitido el comportamiento y se ha enviado un informe CSP.
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = Los ajustes de la página observaron la carga de un recurso en %2$S ("%1$S"). Se está enviando un informe CSP.
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = Tried to send report to invalid URI: "%1$S"
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = couldn't parse report URI: %1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = Couldn't process unknown directive '%1$S'
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = Ignorando opción desconocida %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = Ignorando fuente duplicada %1$S
+# LOCALIZATION NOTE (ignoringNonAsciiToken):
+# %1$S defines the name of the directive
+# %2$S is the token string containing non-ASCII characters.
+ignoringNonAsciiToken = Ignorando la directiva ‘%1$S’ con el token que no es ASCII ‘%2$S’
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = Origen '%1$S' ignorado (no se permite cuando se indica a través del elemento 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 = Ignorando “%1$S” dentro de %2$S: nonce-source o hash-source especificado
+# 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 = Ignorando “%1$S” dentro de %2$S: ‘estricto-dinámico’ especificado
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = Ignorando fuente “%1$S” (Solo soportado dentro de 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 = Ignorando ‘unsafe-eval’ o ‘wasm-unsafe-eval dentro de “%1$S”.
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = Palabra clave ‘strict-dynamic’ dentro de “%1$S” con un nonce o hash no válido puede bloquear la carga de todos los scripts
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = La URI de informe (%1$S) debe ser una URI HTTP o HTTPS.
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = Este sitio (%1$S) tiene una política Report-Only sin una URI de informe. CSP no bloqueará y no puede informar de violaciones de esta política.
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = Failed to parse unrecognized source %1$S
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = Actualizando solicitud insegura '%1$S' para usar '%2$S'
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = Ignorando srcs para directiva '%1$S'
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = Interpretando %1$S como nombre de servidor, no como palabra clave. si pretendías que fuera una palabra clave, usa '%2$S' (entre comillas simples).
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = La directiva '%1$S' no está implementada. Se ignorarán la directiva y los valores.
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = Bloqueando solicitud insegura '%1$S'.
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = Ignorando ‘%1$S‘ ya que no contiene ningún parámetro.
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = Ignorando directiva de sandbox al enviar en una política de solo reporte ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=Ignorar ‘%1$S’ por la directiva ‘%2$S’.
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = Ignorar fuente “%1$S” (no compatible dentro de ‘%2$S’).
+
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+obsoleteBlockAllMixedContent = Ignorando ‘%1$S’ porque la actualización de visualización de contenido mezclado hace obsoleto block-all-mixed-content.
+
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = Couldn't parse invalid source %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = Couldn't parse invalid host %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = Couldn't parse port in %1$S
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = Duplicate %1$S directives detected. All but the first instance will be ignored.
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = No se puede interpretar la bandera de sandbox ‘%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 = Política de seguridad de contenido: %S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/security.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/security/security.properties
new file mode 100644
index 0000000000..3e1db4e543
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Bloqueada la carga del contenido mezclado "%1$S"
+BlockMixedActiveContent = Se bloqueó la carga del contenido activo mixto "%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=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: CORS desactivado).
+CORSDidNotSucceed2=Solicitud de origen cruzado bloqueada: La misma política de origen no permite la lectura de recursos remotos en %1$S. (Razón: Solicitud CORS sin éxito). Código de estado: %2$S.
+CORSOriginHeaderNotAdded=Solicitud de origen cruzado bloqueada: La misma política de origen no permite la lectura de recursos remotos en %1$S. (Razón: La cabecera CORS ‘Origin’ no puede ser agregada).
+CORSExternalRedirectNotAllowed=Solicitud de origen cruzado bloqueada: La misma política de origen no permite la lectura de recursos remotos en %1$S. (Razón: Redirección externa de solicitud CORS no permitida).
+CORSRequestNotHttp=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: la solicitud CORS no es http).
+CORSMissingAllowOrigin2=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: falta la cabecera CORS 'Access-Control-Allow-Origin'). Código de estado: %2$S.
+CORSMultipleAllowOriginNotAllowed=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S. (razón: falta la cabecera CORS ‘Access-Control-Allow-Origin’ no esta permitido).
+CORSAllowOriginNotMatchingOrigin=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: la cabecera CORS 'Access-Control-Allow-Origin' no coincide con '%2$S').
+CORSNotSupportingCredentials=Solicitud de orígenes cruzados bloqueados: La misma política de origen deshabilita la lectura remota del elemento en ‘%1$S’. (Razón: La credencial no está soportada si el encabezado CORS ‘Access-Control-Permitir-Origen' está ‘*’).
+CORSMethodNotFound=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: token no se ha encontrado el método en la cabecera CORS 'Access-Control-Allow-Methods').
+CORSMissingAllowCredentials=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: se esperaba 'true' en la cabecera CORS 'Access-Control-Allow-Credentials').
+CORSPreflightDidNotSucceed3=Solicitud de origen cruzado bloqueada: La misma política de origen no permite la lectura de recursos remotos en %1$S. (Razón: la respuesta CORS preliminar "preflight" no ha tenido éxito). Código de estado: %2$S.
+CORSInvalidAllowMethod=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: token '%2$S' no válido en la cabecera CORS 'Access-Control-Allow-Methods').
+CORSInvalidAllowHeader=Solicitud desde otro origen bloqueada: la política de mismo origen impide leer el recurso remoto en %1$S (razón: token '%2$S' no válido en la cabecera CORS 'Access-Control-Allow-Headers').
+CORSMissingAllowHeaderFromPreflight2=Solicitud de origen cruzado bloqueada: La política de mismo origen (Same Origin Policy) no permite la lectura de recursos remotos en %1$S. (Motivo: La cabecera ‘%2$S’ no está permitida de acuerdo a la cabecera ‘Access-Control-Allow-Headers’ de la verificación previa de la respuesta CORS).
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security: Ocurrió un error desconocido procesando el encabezado especificado por el sitio.
+STSCouldNotParseHeader=Strict-Transport-Security: el sitio ha especificado una cabecera que no se ha podido interpretar correctamente.
+STSNoMaxAge=Strict-Transport-Security: el sitio ha especificado una cabecera que no incluía una directiva 'max-age'.
+STSMultipleMaxAges=Strict-Transport-Security: el sitio ha especificado una cabecera que incluía múltiples directivas 'max-age'.
+STSInvalidMaxAge=Strict-Transport-Security: el sitio ha especificado una cabecera que incluía una directiva 'max-age' no válida.
+STSMultipleIncludeSubdomains=Strict-Transport-Security: el sitio ha especificado una cabecera que incluía múltiples directivas 'includeSubDomains'.
+STSInvalidIncludeSubdomains=Strict-Transport-Security: el sitio ha especificado una cabecera que incluía una directiva 'includeSubDomains' no válida.
+STSCouldNotSaveState=Strict-Transport-Security: ha sucedido un error marcando el sitio como un servidor Strict-Transport-Security.
+
+InsecurePasswordsPresentOnPage=Campos de contraseña presentes en una página insegura (http://). Esto es un riesgo de seguridad que permite que se roben las credenciales de inicio de sesión de los usuarios.
+InsecureFormActionPasswordsPresent=Campos de contraseña presentes en un formulario con una acción de formulario insegura (http://). Esto es un riesgo de seguridad que permite que se roben las credenciales de inicio de sesión de los usuarios.
+InsecurePasswordsPresentOnIframe=Campos de contraseña presentes en un iframe inseguro (http://). Esto es un riesgo de seguridad que permite que se roben las credenciales de inicio de sesión de los usuarios.
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=Cargando contenido activo mixto (inseguro) en un página segura "%1$S"
+LoadingMixedDisplayContent2=Cargando contenido mixto (inseguro) para mostrar en una página segura "%1$S"
+LoadingMixedDisplayObjectSubrequestDeprecation=La carga de contenido mixto (inseguro) “%1$S” dentro de un complemento en una página segura se desaconseja y pronto será bloqueada.
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = Se bloqueó la descarga de contenido inseguro "%S".
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=Un iframe que tiene tanto allow-scripts como allow-same-origin en su atributo sandbox puede eliminar su condición de confinamiento.
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=Un iframe que tiene tanto allow-top-navigation como allow-top-navigation-by-user-activation para su atributo sandbox permitirá la navegación de nivel superior.
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=El elemento script tiene un resumen (hash) mal formado en su atributo integrity: "%1$S". El formato correcto es "<hash algorithm>-<hash value>".
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=El hash contenido en el atributo integrity tiene la longitud errónea.
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=El hash contenido en el atributo integrity no ha podido ser decodificado.
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource="%1$S" no es apto para comprobaciones de integridad porque ni tiene CORS habilitado ni es del mismo origen.
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=Algoritmo resumen no admitido en el atributo integrity: "%1$S"
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=El atributo integrity no contiene ningún metadato válido.
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=Este sitio usa el código RC4 para el cifrado, el cual es obsoleto e inseguro.
+
+DeprecatedTLSVersion2=Este sitio utiliza una versión obsoleta de TLS. Actualiza a TLS 1.2 o 1.3.
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=El recurso de “%1$S” se bloqueó debido a la falta de coincidencia del tipo MIME (“%2$S”) (X-Content-Type-Options: nosniff).
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=Advertencia de cabecera X-Content-Type-Options: el valor fue “%1$S”; ¿Quizá querías enviar “nosniff”?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=El recurso de “%1$S” no fue mostrado por un tipo MIME desconocido, incorrecto o ausente (X-Content-Type-Options: nosniff).
+
+BlockScriptWithWrongMimeType2=El script de “%1$S” se bloqueó por un tipo MIME no permitido (“%2$S”).
+WarnScriptWithWrongMimeType=El script de “%1$S” fue cargado a pesar de que su tipo MIME (“%2$S”) no es un tipo MIME de JavaScript válido.
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=La carga de script desde “%1$S” con importScripts() fue bloqueada por un tipo MIME (“%2$S”) no permitido.
+BlockWorkerWithWrongMimeType=Se bloqueó la carga del Worker desde “%1$S” debido a un tipo MIME no permitido (“%2$S”).
+BlockModuleWithWrongMimeType=Se bloqueó la carga de un módulo de “%1$S” debido a un tipo MIME no permitido (“%2$S”).
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=Navegación de datos de nivel superior: URI no permitido (Bloqueado cargando: “%1$S”)
+
+BlockRedirectToDataURI=Redireccionando a datos: URI no permitida (Bloqueada la carga de: “%1$S”)
+
+# 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=Se bloqueó la carga de script desde el archivo: URI (“%1$S”) porque su tipo MIME (“%2$S”) no es un tipo MIME válido de JavaScript.
+
+# LOCALIZATION NOTE: “%S” is the whole URI of the loaded file.
+BlockExtensionScriptWithWrongExt=Se bloqueó la carga del script con el URI “%S” porque la extensión del archivo no está permitida.
+
+RestrictBrowserEvalUsage=Los usos eval() y eval-like no están permitidos en el proceso padre o en contextos del sistema (uso bloqueado en “%1$S”)
+
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=Actualizando solicitud de visualización insegura ‘%1$S’ para usar ‘%2$S’
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=El encabezado Clear-Site-Data forzó la limpieza de datos “%S”.
+UnknownClearSiteDataValue=Encabezado Clear-Site-Data encontrado. Valor desconocido “%S”.
+
+# Reporting API
+ReportingHeaderInvalidJSON=Encabezado del reporte: el valor JSON recibido no es válido.
+ReportingHeaderInvalidNameItem=Encabezado del reporte: nombre inválido para el grupo.
+ReportingHeaderDuplicateGroup=Encabezado del reporte: ignorando grupo duplicado llamado “%S”.
+ReportingHeaderInvalidItem=Encabezado del reporte: ignorando ítem inválido llamado “%S”.
+ReportingHeaderInvalidEndpoint=Encabezado del reporte: ignorando el punto final inválido para el ítem llamado “%S”.
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=Encabezado del reporte: ignorando URL del punto de término “%1$S” para el ítem llamado “%2$S”.
+
+FeaturePolicyUnsupportedFeatureName=Feature Policy: Saltándose una función de nombre no compatible “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= Feature Policy: Saltándose lista de autorización vacía para la función: “%S”.
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=Feature Policy: Saltándose el valor permitido no compatible para “%S”.
+
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=Cabecera HTTP Referrer: la longitud supera el límite de “%1$S” bytes, reduciendo la cabecera hasta el origen: “%2$S”
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=Cabecera HTTP Referrer: la longitud del origen supera el límite de “%1$S” bytes, eliminando la cabecera con origen: “%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=Política de referentes: Políticas menos restrictivas, incluidas las de ‘no-referrer-when-downgrade’,‘"origin-when-cross-origin’ y ‘unsafe-url’, serán ignoradas pronto para la solicitud de sitios cruzados: %S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Política de referentes: Ignorando la política de referencias menos restringida “%1$S” para la solicitud de sitios cruzados: %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 = Cabecera X-Frame-Options inválida encontrada al cargar “%2$S”: “%1$S” no es una directiva válida.
+# 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=La carga de “%2$S” en un marco es denegada por una directiva “X-Frame-Options“ ajustada a “%1$S“.
+
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = Actualizando solicitud insegura “%1$S” para usar “%2$S”.
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = No se actualiza la solicitud insegura “%1$S” porque está excluida.
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = Ha fallado la actualización de solicitud insegura “%1$S”. (%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = Falló la actualización de la solicitud insegura “%S”. Regresando nuevamente a “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 = Actualización de la conexión TCP especulativa insegura “%1$S” para usar “%2$S”.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = La descarga de “%S” fue bloqueada porque el iframe desencadenante tiene la bandera de caja de arena establecida.
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+SandboxBlockedCustomProtocols = Navegación bloqueada al protocolo personalizado “%S” desde un contexto de espacio aislado.
+
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = No se ha recibido entrada o estaba vacía. Devolviendo un DocumentFragment vacío.
+
+CORSAllowHeaderFromPreflightDeprecation=Cross-Origin Request Warning: The Same Origin Policy will disallow reading the remote resource at %1$S soon. (Reason: When the `Access-Control-Allow-Headers` is `*`, the `Authorization` header is not covered. To include the `Authorization` header, it must be explicitly listed in CORS header `Access-Control-Allow-Headers`).
+# 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=None of the “%1$S” hashes in the integrity attribute match the content of the subresource. The computed hash is “%2$S”.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/svg/svg.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/svg/svg.properties
new file mode 100644
index 0000000000..5158f032fb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Valor no esperado %2$S al interpretar el atributo %1$S.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/viewSource.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/viewSource.properties
new file mode 100644
index 0000000000..aefaca7008
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Ir a la línea
+goToLineText = Introduzca número de línea
+invalidInputTitle = Entrada no válida
+invalidInputText = El número de línea introducido no es válido.
+outOfRangeTitle = No se encontró la línea
+outOfRangeText = No se encontró la línea especificada.
+viewSelectionSourceTitle = Fuente DOM de la selección
+
+context_goToLine_label = Ir a la línea…
+context_goToLine_accesskey = L
+context_wrapLongLines_label = Ajustar líneas largas
+context_highlightSyntax_label = Resaltar sintaxis
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/wizard.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/wizard.properties
new file mode 100644
index 0000000000..c907f2827f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Bienvenido a %S
+default-last-title=Completando el %S
+default-first-title-mac=Introducción
+default-last-title-mac=Conclusión
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/xslt/xslt.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/xslt/xslt.properties
new file mode 100644
index 0000000000..0f649ef093
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Falló el procesamiento de una hoja de estilo XSLT.
+2 = Falló el procesamiento de una expresión XPath.
+3 =
+4 = La transformación XSLT ha fallado.
+5 = Función XSLT/XPath no válida.
+6 = La hoja de estilo XSLT (posiblemente) contiene una recursión.
+7 = Valor ilegal de atributo en XSLT 1.0.
+8 = Se esperaba que una expresión XPath devolviera un NodeSet.
+9 = La transformación XSLT terminó por <xsl:message>.
+10 = Ocurrió un error de red al cargar una hoja de estilo XSLT:
+11 = Una hoja de estilo XSLT no tiene tipo MIME XML:
+12 = Una hoja de estilo XSLT se importa o incluye directa o indirectamente a sí misma:
+13 = Se llamó a una función XPath con un número incorrecto de argumentos.
+14 = Se llamó a una función de extensión XPath desconocida.
+15 = Fallo en el análisis XPath: se esperaba ')':
+16 = Fallo en el análisis XPath: eje inválido:
+17 = Fallo en el análisis XPath: se esperaba un test de nombre o tipo de nodo (Name o NodeType):
+18 = Fallo en el análisis XPath: se esperaba ']':
+19 = Fallo en el análisis XPath: nombre de variable no válido:
+20 = Fallo en el análisis XPath: fin de expresión inesperado:
+21 = Fallo en el análisis XPath: se esperaba un operador:
+22 = Fallo en el análisis XPath: literal no cerrado:
+23 = Fallo en el análisis XPath: no se esperaba ':':
+24 = Fallo en el análisis XPath: no se esperaba '!' (usa 'not()' para negar):
+25 = Fallo en el análisis XPath: se ha encontrado un carácter ilegal:
+26 = Fallo en el análisis XPath: se esperaba un operador binario:
+27 = Se ha bloqueado la carga de una hoja XSLT por motivos de seguridad.
+28 = Se intenta evaluar una expresión no válida.
+29 = Llave no cerrada.
+30 = Se intenta crear un elemento con un QName no válido.
+31 = Una asociación de variable oculta otra asociación de variable dentro de la misma plantilla.
+32 = Llamada a la función clave no permitida.
+
+LoadingError = Error al cargar la hoja de estilo: %S
+TransformError = Error durante la transformación XSLT: %S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/xul.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/global/xul.properties
new file mode 100644
index 0000000000..aef5b644f5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=La instrucción de proceso <?%1$S?> ya no tiene ningún efecto fuera del prólogo (vea el bug 360119).
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning-toolbar.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..c537bb0950
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Barra de herramientas del calendario">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "C">
+<!ENTITY lightning.toolbar.task.name "Barra de herramientas de tareas">
+<!ENTITY lightning.toolbar.task.name.accesskey "T">
+
+<!ENTITY lightning.toolbar.sync.label "Sincronizar">
+<!ENTITY lightning.toolbar.sync.tooltip "Recargar calendario y sincronizar cambios">
+<!ENTITY lightning.toolbar.delete.label "Eliminar">
+<!ENTITY lightning.toolbar.delete.tooltip "Eliminar eventos o tareas seleccionados">
+<!ENTITY lightning.toolbar.edit.label "Editar">
+<!ENTITY lightning.toolbar.edit.tooltip "Editar evento o tarea seleccionada">
+<!ENTITY lightning.toolbar.gototoday.label "Ir al día de hoy">
+<!ENTITY lightning.toolbar.gototoday.tooltip "Ir al día de hoy">
+<!ENTITY lightning.toolbar.print.label "Imprimir">
+<!ENTITY lightning.toolbar.print.tooltip "Imprimir eventos o tareas">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "Calendario">
+<!ENTITY lightning.toolbar.calendar.tooltip "Cambiar a la pestaña calendario">
+<!ENTITY lightning.toolbar.calendar.accesskey "C">
+<!ENTITY lightning.toolbar.task.label "Tareas">
+<!ENTITY lightning.toolbar.task.tooltip "Cambiar a la pestaña tareas">
+<!ENTITY lightning.toolbar.task.accesskey "T">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "Evento">
+<!ENTITY lightning.toolbar.newevent.tooltip "Crear un nuevo evento">
+<!ENTITY lightning.toolbar.newtask.label "Tarea">
+<!ENTITY lightning.toolbar.newtask.tooltip "Crear una nueva tarea">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "Día">
+<!ENTITY lightning.toolbar.day.accesskey "D">
+<!ENTITY lightning.toolbar.week.label "Semana">
+<!ENTITY lightning.toolbar.week.accesskey "W">
+<!ENTITY lightning.toolbar.multiweek.label "Multisemana">
+<!ENTITY lightning.toolbar.multiweek.accesskey "u">
+<!ENTITY lightning.toolbar.month.label "Mes">
+<!ENTITY lightning.toolbar.month.accesskey "M">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "Menú de aplicaciones">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "Desplegar el menú de &brandShortName;">
+<!ENTITY lightning.toolbar.calendarmenu.label "Panel del calendario">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "P">
+<!ENTITY lightning.toolbar.calendarpane.label "Mostrar panel del calendario">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "P">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.dtd
new file mode 100644
index 0000000000..f14614cf00
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.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/. -->
+
+<!-- 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 "Calendario">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "Evento…">
+<!ENTITY lightning.menupopup.new.event.accesskey "E">
+<!ENTITY lightning.menupopup.new.task.label "Tarea…">
+<!ENTITY lightning.menupopup.new.task.accesskey "T">
+<!ENTITY lightning.menupopup.new.calendar.label "Calendario…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.calendar.label "Archivo del calendario…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "C">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label "Calendario">
+<!ENTITY lightning.menu.view.calendar.accesskey "n">
+<!ENTITY lightning.menu.view.tasks.label "Tareas">
+<!ENTITY lightning.menu.view.tasks.accesskey "k">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "Eventos y tareas">
+<!ENTITY lightning.menu.eventtask.accesskey "n">
+
+<!-- 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 "Correo electrónico:">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "Preferir agendar el correo electrónico del lado del cliente">
+<!-- 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 "Por ahora, puedes habilitar esto después de configurar este calendario en las propiedades si el servidor del calendario se encarga de agendarlo.">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "Esta opción solo está disponible si el servidor de calendario maneja la programación. La habilitación permitirá volver a la programación estándar basada en correo electrónico en lugar de dejarla en el servidor.">
+
+<!-- The notifications settings in the properties dialog -->
+<!ENTITY lightning.calendarproperties.notifications.label "Notificaciones">
+<!ENTITY lightning.calendarproperties.globalNotifications.label "Preferencias globales de notificación...">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "Aceptar">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "Aceptar invitación al evento">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "Aceptar todas">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "Aceptar invitación al evento para todas las ocurrencias del evento">
+<!ENTITY lightning.imipbar.btnAdd.label "Agregar">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "Agregar el evento al calendario">
+<!ENTITY lightning.imipbar.btnDecline.label "Rechazar">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "Rechazar invitación al evento">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "Rechazar todas">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "Rechazar invitación al evento para todas las ocurrencias del evento">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "Rechazar">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "Rechazar la contrapropuesta">
+<!ENTITY lightning.imipbar.btnDelete.label "Eliminar">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "Eliminar del calendario">
+<!ENTITY lightning.imipbar.btnDetails.label "Detalles…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "Mostrar detalles del evento">
+<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "No me muestres estos mensajes">
+<!ENTITY lightning.imipbar.btnGoToCalendar.label "Calendario">
+<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "Ir a la pestañas de calendario">
+<!ENTITY lightning.imipbar.btnMore.label "Más">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "Haz clic para mostrar más opciones">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "Volver a confirmar">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "Enviar una reconfirmación al organizador">
+<!ENTITY lightning.imipbar.btnReschedule.label "Volver a programar">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "Reprogramar el evento">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "Guardar una copia">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "Guardar una copia del evento en el calendario independientemente en respuesta al organizador. Se borrará la lista de asistentes.">
+<!ENTITY lightning.imipbar.btnTentative.label "Provisional">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "Aceptar provisionalmente una invitación al evento">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "Todas provisionales">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "Aceptar invitación al evento para todas las ocurrencias del evento">
+<!ENTITY lightning.imipbar.btnUpdate.label "Actualizar">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "Actualizar evento en calendario">
+<!ENTITY lightning.imipbar.description "Este mensaje contiene una invitación a un evento.">
+
+<!ENTITY lightning.imipbar.btnSend.label "Enviar una respuesta ahora">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "Enviar una respuesta al organizador">
+<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "Enviar una respuesta para la serie completa al organizador">
+<!ENTITY lightning.imipbar.btnDontSend.label "No enviar una respuesta">
+<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "Cambiar tu estado de participación sin enviar una respuesta al organizador">
+<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "Cambiar tu estado de participación para la serie sin enviar una respuesta al organizador">
+
+<!-- Lightning specific keybindings -->
+<!ENTITY lightning.keys.event.showCalendar.key "C">
+<!ENTITY lightning.keys.event.showTasks.key "D">
+<!ENTITY lightning.keys.event.new "I">
+<!ENTITY lightning.keys.todo.new "D">
+
+<!-- Account Central page -->
+<!ENTITY lightning.acctCentral.newCalendar.label "Crear un nuevo calendario">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "Ver mini mes">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "Mostrar mini día">
+<!ENTITY todaypane.showMiniday.accesskey "">
+<!ENTITY todaypane.showNone.label "No mostrar ningúna">
+<!ENTITY todaypane.showNone.accesskey "N">
+<!ENTITY todaypane.showTodayPane.label "Mostrar vista de hoy">
+<!ENTITY todaypane.showTodayPane.accesskey "o">
+<!ENTITY todaypane.statusButton.label "Vista de hoy">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.properties
new file mode 100644
index 0000000000..c8b619f19e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/lightning/lightning.properties
@@ -0,0 +1,201 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=Lightning
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.description=Calendarización integrada y agendarización para tu cliente de correo electrónico
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Proyecto Mozilla Calendar
+
+# Lightning branding
+brandShortName=Lightning
+
+# Task mode title
+taskModeApplicationTitle=Tareas
+
+# Tab titles
+tabTitleCalendar=Calendario
+tabTitleTasks=Tareas
+
+# Html event display in message
+imipHtml.header=Invitación a evento
+imipHtml.summary=Título:
+imipHtml.location=Ubicación:
+imipHtml.when=Cuándo:
+imipHtml.organizer=Organizador:
+imipHtml.description=Descripción:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=Adjuntos:
+imipHtml.comment=Comentarios:
+imipHtml.attendees=Asistentes:
+# 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=Enlace relacionado:
+imipHtml.canceledOccurrences=Asistencias canceladas:
+imipHtml.modifiedOccurrences=Asistencias modificadas:
+imipHtml.newLocation=Nueva ubicación: %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=(delegado de %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=(delegado a %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 preside el evento.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S no es participante.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=%1$S es un participante opcional.
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=%1$S es un participante requerido.
+
+# 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 ha confirmado asistencia.
+# 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 ha declinado asistencia.
+# 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 ha delegado la asistencia a %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 aún necesita respuesta.
+# 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 ha confirmado tentativamente su asistencia.
+
+# 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 (grupo)
+# 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 (recurso)
+# 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 (cuarto)
+# 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=El evento ha sido añadido a tu calendario.
+imipCanceledItem2=El evento ha sido eliminado de tu calendario.
+imipUpdatedItem2=El evento ha sido actualizado.
+imipBarCancelText=Este mensaje contiene una cancelación de evento.
+imipBarCounterErrorText=Este mensaje contiene una contrapropuesta a una invitación que no puede ser procesada.
+imipBarCounterPreviousVersionText=Este mensaje contiene una contrapropuesta a una versión anterior de una invitación.
+imipBarCounterText=Este mensaje contiene una contrapropuesta a una invitación.
+imipBarDisallowedCounterText=Este mensaje contiene una contrapropuesta, sin embargo tú deshabilitaste contraproponer para este evento.
+imipBarDeclineCounterText=Este mensaje contiene una respuesta a tu contrapropuesta.
+imipBarRefreshText=Este mensaje pide una actualización de evento.
+imipBarPublishText=Este mensaje contiene un evento.
+imipBarRequestText=Este mensaje contiene una invitación a un evento.
+imipBarSentText=Este mensaje contiene un evento enviado.
+imipBarSentButRemovedText=Este mensaje contiene un evento enviado que no ya no está en tu calendario.
+imipBarUpdateText=Este mensaje contiene una actualización a un evento existente.
+imipBarUpdateMultipleText=Este mensaje contiene actualizaciones a los eventos múltiples existentes.
+imipBarUpdateSeriesText=Este mensaje contiene un actualización a la existente serie de eventos.
+imipBarAlreadyProcessedText=Este mensaje contiene un evento que ya ha sido procesado.
+imipBarProcessedNeedsAction=Este mensaje contiene un evento que tú no has respondido aún.
+imipBarProcessedMultipleNeedsAction=Este mensaje contiene múltiples eventos que aún no has respondido.
+imipBarProcessedSeriesNeedsAction=Este mensaje contiene una serie de eventos que aún no has respondido.
+imipBarReplyText=Este mensaje contiene una respuesta a una invitación.
+imipBarReplyToNotExistingItem=Este mensaje contiene una respuesta referente a un evento que ya no está en tu calendario.
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=Este menaje contiene una respuesta referente a un evento que fue eliminado de tu calendario el %1$S.
+imipBarUnsupportedText=Este mensaje contiene un evento que esta versión de Lightning no puede procesar.
+imipBarUnsupportedText2=Este mensaje contiene un evento que esta versión de %1$S no puede procesar.
+imipBarProcessingFailed=Falló al procesar el mensaje. Estatus: %1$S.
+imipBarCalendarDeactivated=Este mensaje contiene información del evento. Habilita un calendario para manejarlo.
+imipBarNotWritable=No hay calendarios configurados para invitaciones, por favor revisa las propiedades del calendario.
+imipSendMail.title=Notificaciones por correo
+imipSendMail.text=¿Te gustaría mandar una notificación por correo ahora?
+imipNoIdentity=Ninguno
+imipNoCalendarAvailable=No hay calendarios editables disponibles.
+
+itipReplySubject2=Respuesta de la invitación: %1$S
+itipReplyBodyAccept=%1$S ha aceptado tu invitación al evento.
+itipReplyBodyDecline=%1$S ha declinado tu invitación al evento.
+itipReplySubjectAccept2=Aceptado: %1$S
+itipReplySubjectDecline2=Invitación declinada: %1$S
+itipReplySubjectTentative2=Tentativo: %1$S
+itipRequestSubject2=Invitación: %1$S
+itipRequestUpdatedSubject2=Actualizado: %1$S
+itipRequestBody=%1$S te ha invitado a %2$S
+itipCancelSubject2=Cancelado: %1$S
+itipCancelBody=%1$S ha cancelado este evento: %2$S
+itipCounterBody=%1$S ha hecho una contrapropuesta para "%2$S":
+itipDeclineCounterBody=%1$S ha declinado tu contrapropuesta para "%2$S".
+itipDeclineCounterSubject=Contrapropuesta declinada: %1$S
+
+confirmProcessInvitation=Has borrado este ítem recientemente ¿estás seguro de que quieres procesar esta invitación?
+confirmProcessInvitationTitle=¿Procesar invitación?
+
+invitationsLink.label=Invitaciones: %1$S
+
+# LOCALIZATION_NOTE(binaryComponentKnown): This is shown when Lightning is
+# missing the binary component and knows how to calculate the expected version
+# number. To test, remove the binary component from the components/
+# subdirectory and start Lightning, or force install into a different
+# Thunderbird version. In the last part of the sentence it should be made clear
+# that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The current Lightning version
+# %3$S - The expected Lightning version
+binaryComponentKnown=El componente binario requerido para %1$S no pudo ser cargado, probablemente porque se ha usado una combinación de versión incorrecta. Actualmente tienes %1$S %2$S instalado, pero deberías usar una versión de la serie %3$S.
+
+# LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
+# missing the binary component but can't calculate the expected version. This
+# happens in the rare case that Lightning is installed into something other
+# than Thunderbird or Seamonkey. You may link to a different page if you can
+# commit to keeping it up to date, I'd recommend staying with the English page.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The application brand name, e.g. Postbox
+# %3$S - The application version
+# %3$S - The current Lightning version
+binaryComponentUnknown=El componente binario requerido para %1$S no pudo ser cargado, probablemente porque se ha usado una combinación de versión incorrecta. Estás usando %2$S %3$S junto con %1$S %4$S. Por favor revisa https://developer.mozilla.org/en/Calendar/Calendar_Versions para más detalles.
+
+# LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
+# notifies about a version mismatch.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+binaryComponentTitle=Versión %1$S no coincide
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=Si deseas usar este calendario para almacenar invitaciones para otras personas debes asignar un correo de identidad a continuación.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-mapi/mapi.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-mapi/mapi.properties
new file mode 100644
index 0000000000..45a1b1db2c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-mapi/mapi.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/.
+
+# Mail Integration Dialog
+dialogTitle=%S
+dialogText=¿Deseas usar %S como la aplicación de correo predeterminada?
+newsDialogText=¿Deseas usar %S como aplicación de noticias predeterminada?
+feedDialogText=¿Deseas usar %S como aplicación de canales RSS predeterminada?
+checkboxText=No mostrar este diálogo de nuevo
+setDefaultMail=%S no es la aplicación de correo predeterminada. ¿Deseas que sea la aplicación de correo predeterminada?
+setDefaultNews=%S no es la aplicación de noticias predeterminada. ¿Deseas que sea la aplicación de noticias predeterminada?
+setDefaultFeed=%S no es la aplicación de canales RSS predeterminada. ¿Deseas que sea la aplicación de canales RSS predeterminada?
+alreadyDefaultMail=%S ya es la aplicación de correo predeterminada.
+alreadyDefaultNews=%S ya es la aplicación de noticias predeterminada.
+alreadyDefaultFeed=%S ya es la aplicación de canales RSS predeterminada.
+
+# MAPI Messages
+loginText=Por favor, ingresa tu contraseña para %S:
+loginTextwithName=Por favor ingresa tu nombre de usuario y contraseña
+loginTitle=%S
+PasswordTitle=%S
+
+# MAPI Error Messages
+errorMessage=No se pudo establecer %S como la aplicación de correo predeterminada porque no se pudo actualizar una clave del registro. Comprueba con el administrador del sistema que tienes derechos de acceso al registro del sistema y vuelve a intentarlo.
+errorMessageNews=No se pudo establecer %S como la aplicación de noticias predeterminada porque no se pudo actualizar una clave del registro. Comprueba con el administrador del sistema que tienes derechos de acceso al registro del sistema y vuelve a intentarlo.
+errorMessageTitle=%S
+
+# MAPI Security Messages
+mapiBlindSendWarning=Otra aplicación está intentando enviar correo usando tu perfil de usuario. ¿Estás seguro de enviar el correo?
+mapiBlindSendDontShowAgain=Avisarme cuando otras aplicaciones intenten enviar correo en mi nombre
+
+#Default Mail Display String
+# localization note, %S is the vendor name
+defaultMailDisplayTitle=%S
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/am-newsblog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..a118c0a2be
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Habilitar actualizaciones para todos los canales">
+<!ENTITY biffAll.accesskey "E">
+
+<!ENTITY newFeedSettings.label "Configuración predeterminada para nuevos canales">
+
+<!ENTITY manageSubscriptions.label "Administrar suscripciones…">
+<!ENTITY manageSubscriptions.accesskey "M">
+
+<!ENTITY feedWindowTitle.label "Asistente de cuentas de canal">
+<!ENTITY feeds.accountName "Blogs &amp; canales de noticias">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/feed-subscriptions.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..eefc0e3116
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Suscripciones a canales">
+<!ENTITY learnMore.label "Saber más acerca de los canales">
+
+<!ENTITY feedTitle.label "Título:">
+<!ENTITY feedTitle.accesskey "T">
+
+<!ENTITY feedLocation.label "URL del canal:">
+<!ENTITY feedLocation.accesskey "F">
+<!ENTITY feedLocation2.placeholder "Ingresa una URL de canal válida">
+<!ENTITY locationValidate.label "Validar">
+<!ENTITY validateText.label "Verificar validación y recuperar una dirección válida.">
+
+<!ENTITY feedFolder.label "Almacenar los artículos en:">
+<!ENTITY feedFolder.accesskey "S">
+
+<!-- Account Settings and Subscription Dialog -->
+<!ENTITY biffStart.label "Buscar nuevos artículos cada ">
+<!ENTITY biffStart.accesskey "k">
+<!ENTITY biffMinutes.label "minutos">
+<!ENTITY biffMinutes.accesskey "n">
+<!ENTITY biffDays.label "días">
+<!ENTITY biffDays.accesskey "d">
+<!ENTITY recommendedUnits.label "El editor recomienda:">
+
+<!ENTITY quickMode.label "Mostrar el resumen del artículo en vez de cargar la página web">
+<!ENTITY quickMode.accesskey "h">
+
+<!ENTITY autotagEnable.label "Crear etiquetas automáticamentes de los nombres de &lt;categoría&gt; del canal">
+<!ENTITY autotagEnable.accesskey "o">
+<!ENTITY autotagUsePrefix.label "Anteponer etiquetas con:">
+<!ENTITY autotagUsePrefix.accesskey "P">
+<!ENTITY autoTagPrefix.placeholder "Ingresa un prefijo de etiqueta">
+
+<!-- Subscription Dialog -->
+<!ENTITY button.addFeed.label "Agregar">
+<!ENTITY button.addFeed.accesskey "A">
+<!ENTITY button.verifyFeed.label "Verificar">
+<!ENTITY button.verifyFeed.accesskey "V">
+<!ENTITY button.updateFeed.label "Actualizar">
+<!ENTITY button.updateFeed.accesskey "U">
+<!ENTITY button.removeFeed.label "Eliminar">
+<!ENTITY button.removeFeed.accesskey "R">
+<!ENTITY button.importOPML.label "Importar">
+<!ENTITY button.importOPML.accesskey "I">
+<!ENTITY button.exportOPML.label "Exportar">
+<!ENTITY button.exportOPML.accesskey "X">
+<!ENTITY button.exportOPML.tooltip "Exportar canales con estructura de carpetas; ctrl clic o ctrl intro para exportar canales como una lista">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY button.close.label "Cerrar">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/newsblog.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-newsblog/newsblog.properties
new file mode 100644
index 0000000000..05612d1e02
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Verificando el canal…
+subscribe-cancelSubscription=¿Deseas cancelar la suscripción al canal actual?
+subscribe-cancelSubscriptionTitle=Suscribiéndose a un canal de noticias…
+subscribe-feedAlreadySubscribed=Ya tienes una suscripción para este canal.
+subscribe-errorOpeningFile=No se pudo abrir el archivo.
+subscribe-feedAdded=Canal agregado.
+subscribe-feedUpdated=Canal actualizado.
+subscribe-feedMoved=Suscripción al canal movida.
+subscribe-feedCopied=Suscripción al canal copiada.
+subscribe-feedRemoved=Suscripción al canal eliminada.
+subscribe-feedNotValid=La URL del canal no es un canal válido.
+subscribe-feedVerified=La URL del canal ha sido verificada.
+subscribe-networkError=No pudo encontrarse URL del canal. Verifica el nombre e intenta nuevamente.
+subscribe-noAuthError=La URL del canal no está autorizada.
+subscribe-loading=Cargando, favor de esperar…
+
+subscribe-OPMLImportTitle=Seleccionar archivo OPML para importar
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleList=Exportar %S como archivo OPML - Lista de canales
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleStruct=Exportar %S como archivo OPML - Canales con estructura de carpeta
+## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle):
+## %1$S is the brandShortName, %2$S is the name of the feed account folder name.
+subscribe-OPMLExportFileDialogTitle=Exportar OPML de %1$S OPML - %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=MisCanales%1$S-%2$S.opml
+## LOCALIZATION NOTE(subscribe-OPMLImportInvalidFile): %S is the name of the OPML file the user tried to import.
+subscribe-OPMLImportInvalidFile=El archivo %S no parece ser un archivo OPML válido.
+## 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=Se importó #1 canal nuevo.;Se importaron #1 canales nuevos.
+## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms.
+## #1 is the count of new imported entries
+subscribe-OPMLImportUniqueFeeds=Se importó #1 canal nuevo al cual no estabas ya suscrito;Se importaron #1 canales nuevos a los cuales no estabas ya suscrito
+## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds):
+## #1 is total number of elements found in the file
+subscribe-OPMLImportFoundFeeds=(de #1 entrada encontrada);(de #1 entradas totales encontradas)
+## 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=Archivos OPML
+## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name.
+subscribe-OPMLExportDone=Los canales de esta cuenta fueron exportados a %S.
+
+subscribe-confirmFeedDeletionTitle=Eliminar feed
+## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from.
+subscribe-confirmFeedDeletion=¿Seguro deseas desuscribirse del canal: \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=Descargando artículos del canal (%S de %S)…
+
+newsblog-noNewArticlesForFeed=No hay nuevos artículos para este canal.
+## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
+newsblog-networkError=No se pudo encontrar %S. Por favor, comprueba el nombre y vuelve a intentarlo.
+## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
+newsblog-feedNotValid=%S no es un canal válido.
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S usa un certificado de seguridad inválido.
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=%S no está autorizado.
+newsblog-getNewMsgsCheck=Revisando canales para nuevos elementos…
+
+## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
+feeds-accountname=Blogs y canales de noticias
+
+## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
+externalAttachmentMsg=El adjunto MIME está guardado separado del mensaje.
+
+## Import wizard.
+ImportFeedsCreateNewListItem=* Nueva cuenta *
+ImportFeedsNewAccount=Crear e importar en una nueva cuenta de canales
+ImportFeedsExistingAccount=Importar en una cuenta de canales existente
+## 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=nueva
+ImportFeedsExisting=existente
+ImportFeedsDone=La importación de suscripción de canales del archivo %1$S a la cuenta %2$S '%3$S' ha terminado.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-region/region.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-region/region.properties
new file mode 100644
index 0000000000..14e9df18b9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-region/region.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+mailnews.messageid_browser.url=https://groups.google.com/search?as_umsgid=%mid
+
+# Recognize non-standard versions of "Re:" in subjects from localized versions of MS Outlook et al.
+# Specify a comma-separated list without spaces. For example: mailnews.localizedRe=AW,SV
+mailnews.localizedRe=
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/certFetchingStatus.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..5de635fd68
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Descargando certificados">
+<!ENTITY info.message "Buscando el directorio para certificados recibidos. Esto puede tomar unos minutos.">
+<!ENTITY stop.label "Detener búsqueda">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSMIMEOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSMIMEOverlay.dtd
new file mode 100644
index 0000000000..020a713182
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSecurityInfo.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..df96ab84b0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Mensaje de seguridad">
+<!ENTITY subject.plaintextWarning "Atención: las líneas del asunto de mensaje de correo nunca están encriptadas.">
+<!ENTITY status.heading "El contenido de tu mensaje se enviará de la siguiente manera:">
+<!ENTITY status.signed "Firmado digitalmente:">
+<!ENTITY status.encrypted "Encriptado:">
+<!ENTITY status.certificates "Certificados:">
+<!ENTITY view.label "Vista">
+<!ENTITY view.accesskey "V">
+<!ENTITY tree.recipient "Destinatario">
+<!ENTITY tree.status "Estado">
+<!ENTITY tree.issuedDate "Emitido">
+<!ENTITY tree.expiresDate "Expira">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSecurityInfo.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..b5881d14ca
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=No encontrado
+StatusValid=Válido
+StatusExpired=Expirado
+StatusUntrusted=No confiable
+StatusRevoked=Revocado
+StatusInvalid=Inválido
+StatusYes=Sí
+StatusNo=No
+StatusNotPossible=Imposible
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgReadSMIMEOverlay.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..b78c2d13c3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=El mensaje mostrado ha sido firmado digitalmente, pero no todos sus adjuntos han sido descargados aún. Por lo tanto, la firma no puede ser validada. Haz clic en OK para descargar el mensaje completo y validar la firma.
+#
+#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% no puede desencriptar este mensaje
+CantDecryptBody=El remitente encriptó este mensaje para ti, usando uno de tus certificados digitales, sin embargo %brand% no fue capaz de encontrar este certificado y su llave privada correspondiente. <br> Soluciones posibles: <br><ul><li>Si tienes una tarjeta inteligente, por favor insértala ahora.<li>Si estás usando una computadora nueva o estás usando un nuevo perfil %brand%, tendrás que restaurar tu certificado y llave privada desde un respaldo. Los respaldos certificados usualmente terminan en ".p12".</ul>
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgReadSecurityInfo.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..6132d46ba2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Seguridad del mensaje">
+<!ENTITY signatureCert.label "Ver certificado de firma">
+<!ENTITY encryptionCert.label "Ver certificado de encriptación">
+
+<!ENTITY signer.name "Firmado por:">
+<!ENTITY recipient.name "Encriptado por:">
+<!ENTITY email.address "Correo electrónico:">
+<!ENTITY issuer.name "Certificado emitido por:">
+
+<!-- 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/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgSecurityInfo.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger-smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..51d45e83d6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=El mensaje no tiene firma digital
+SINone=Este mensaje no incluye la firma digital del remitente. La ausencia de una firma digital significa que el mensaje pudo haber sido enviado por alguien que finge tener esta dirección de correo electrónico. También es posible que el mensaje haya sido manipulado mientras circulaba por la red. Sin embargo, es poco probable que haya ocurrido alguna de estas posibilidades.
+SIValidLabel=El mensaje está firmado
+SIValid=Este mensaje incluye una firma digital válida. El mensaje no fue manipulado desde que se envió.
+SIInvalidLabel=La firma digital no es válida
+SIInvalidHeader=Este mensaje incluye una firma digital, pero la firma no es válida.
+SIContentAltered=La firma no coincide correctamente con el contenido del mensaje. El mensaje parece que fue manipulado después de que el remitente lo firmara. No deberías confiar en la validez de este mensaje hasta que verifiques su contenido con el remitente.
+SIExpired=El certificado usado para firmar el mensaje parece haber expirado. Comprueba la hora de tu computadora.
+SIRevoked=El certificado usado para firmar el mensaje fue revocado. No deberías confiar en la validez de este mensaje hasta que verifiques su contenido con el remitente.
+SINotYetValid=El certificado utilizado para firmar el mensaje parece que ya no es válido. Comprueba la hora de tu computadora.
+SIUnknownCA=El certificado utilizado para firmar el mensaje fue emitido por una Autoridad Certificadora (CA) desconocida.
+SIUntrustedCA=El certificado utilizado para firmar el mensaje fue emitido por una Autoridad Certificadora (CA) en la que no confías para emitir este tipo de certificado.
+SIExpiredCA=El certificado utilizado para firmar el mensaje fue emitido por una Autoridad Certificadora (CA) cuyo propio certificado ya caducó. Comprueba la hora de tu computadora.
+SIRevokedCA=El certificado utilizado para firmar este mensaje fue emitido por una Autoridad Certificadora (CA) cuyo propio certificado fue revocado. No debería sconfiar en la validez de este mensaje hasta que verifiques su contenido con el remitente.
+SINotYetValidCA=El certificado usado para firmar este mensaje fue emitido por una Autoridad Certificadora (CA) cuyo propio certificado ya no es válido. Comprueba la hora de tu computadora.
+SIInvalidCipher=El mensaje fue firmado usando un cifrado no compatible con esta versión.
+SIClueless=Hay un problema desconocido con esta firma digital. No deberías confiar en la validez de este mensaje hasta que verifiques su contenido con el remitente.
+SIPartiallyValidLabel=El mensaje está firmado
+SIPartiallyValidHeader=Aunque la firma digital es válida, no se puede discernir si el remitente y el firmante son la misma persona.
+SIHeaderMismatch=La dirección de correo indicada en el certificado del firmante es diferente de la dirección de correo que se usó para enviar este mensaje. Por favor, verifica los detalles del certificado de la firma para descubrir quién firmó el mensaje.
+SICertWithoutAddress=El certificado utilizado para firmar el mensaje no contiene una dirección de correo electrónico. Por favor, verifica los detalles del certificado usado para la firma para descubrir quién firmó el mensaje.
+
+## Encryption Information strings
+EINoneLabel2=El mensaje no está cifrado
+EINone=Este mensaje no fue cifrado antes de ser enviado. La información que se manda a Internet sin cifrar puede ser vista por otras personas mientras llega a su destino.
+EIValidLabel=El mensaje está cifrado
+EIValid=Este mensaje fue cifrado antes de ser enviado. El cifrado hace muy difícil que otras personas puedan ver información mientras ésta viaja por la red.
+EIInvalidLabel=El mensaje no puede ser descifrado
+EIInvalidHeader=Este mensaje fue cifrado antes de ser enviado, pero no puede ser descifrado.
+EIContentAltered=Parece que el mensaje fue manipulado durante la transmisión.
+EIClueless=Hay un problema desconocido con este mensaje cifrado.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountManager.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountManager.dtd
new file mode 100644
index 0000000000..ef846d5c9c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountManager.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 AccountManager.xhtml -->
+
+<!ENTITY accountManagerTitle.label "Configuraciones de cuenta">
+<!ENTITY accountManagerCloseButton.label "Cerrar">
+
+<!ENTITY accountActionsButton.label "Acciones de la cuenta">
+<!ENTITY accountActionsButton.accesskey "A">
+<!ENTITY addMailAccountButton.label "Agregar cuenta de correo…">
+<!ENTITY addMailAccountButton.accesskey "A">
+<!ENTITY addIMAccountButton.label "Agregar cuenta de chat…">
+<!ENTITY addIMAccountButton.accesskey "C">
+<!ENTITY addFeedAccountButton.label "Agregar cuenta de canal…">
+<!ENTITY addFeedAccountButton.accesskey "F">
+<!ENTITY setDefaultButton.label "Establecer como predeterminado">
+<!ENTITY setDefaultButton.accesskey "D">
+<!ENTITY removeButton.label "Eliminar cuenta">
+<!ENTITY removeButton.accesskey "R">
+
+<!ENTITY addonsButton.label "Extensiones &amp; Temas">
+
+<!-- AccountManager.xhtml -->
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountWizard.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountWizard.dtd
new file mode 100644
index 0000000000..8783c1e6a1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/AccountWizard.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/. -->
+
+<!-- Entities for AccountWizard -->
+
+<!ENTITY windowTitle.label "Asistente de cuenta">
+<!ENTITY accountWizard.size "width: 40em; height: 38em;">
+
+<!-- Entities for Account Type page -->
+
+<!-- Entities for Identity page -->
+
+<!ENTITY identityTitle.label "Identidad">
+<!ENTITY identityDesc.label "Cada cuenta tiene una identidad, que es la información que te identifica a otros cuando reciben tus mensajes.">
+
+<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY fullnameDesc.label "Ingresa el nombre que te gustaría que aparezca en el campo &quot;De&quot; al enviar mensajes">
+<!-- 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 "(por ejemplo, &quot;John Smith&quot;).">
+<!ENTITY fullnameLabel.label "Tu nombre:">
+<!ENTITY fullnameLabel.accesskey "Y">
+
+<!ENTITY emailLabel.label "Dirección de correo electrónico:">
+<!ENTITY emailLabel.accesskey "E">
+
+<!-- Entities for Incoming Server page -->
+
+<!ENTITY incomingTitle.label "Información del servidor entrante">
+<!ENTITY incomingUsername.label "Nombre de usuario:">
+<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the "&quot;" entities in below line -->
+<!ENTITY newsServerNameDesc.label "Introduce el nombre de tu servidor de noticias (NNTP) (por ejemplo, &quot;news.example.net&quot;).">
+<!ENTITY newsServerLabel.label "Servidor de noticias:">
+<!ENTITY newsServerLabel.accesskey "S">
+
+<!-- Entities for Outgoing Server page -->
+
+<!-- Entities for Account name page -->
+
+<!ENTITY accnameTitle.label "Nombre de la cuenta">
+<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any "&quot;" in below line -->
+<!ENTITY accnameDesc.label "Ingresa el nombre por el que deseas referirte a esta cuenta (por ejemplo, &quot;Cuenta del trabajo&quot;, &quot;Cuenta de casa&quot; o &quot;Cuenta de noticias&quot;).">
+<!ENTITY accnameLabel.label "Nombre de la cuenta:">
+<!ENTITY accnameLabel.accesskey "A">
+
+<!-- Entities for Done (Congratulations) page -->
+
+<!ENTITY completionTitle.label "¡Felicidades!">
+<!ENTITY completionText.label "Por favor, verifica que la información que aparece a continuación es correcta.">
+<!ENTITY newsServerNamePrefix.label "Nombre del servidor de noticias (NNTP):">
+<!ENTITY clickFinish.label "Haz clic en Finalizar para guardar estas configuraciones y salir del Asistente de Cuenta.">
+<!ENTITY clickFinish.labelMac "Haz clic en Hecho para guardar estas configuraciones y salir del Asistente de Cuenta.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/CustomHeaders.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/CustomHeaders.dtd
new file mode 100644
index 0000000000..1737c95e2d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Personalizar encabezados">
+<!ENTITY addButton.label "Agregar">
+<!ENTITY addButton.accesskey "A">
+<!ENTITY removeButton.label "Eliminar">
+<!ENTITY removeButton.accesskey "R">
+<!ENTITY newMsgHeader.label "Nuevo encabezado de mensaje:">
+<!ENTITY newMsgHeader.accesskey "N">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/FilterEditor.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/FilterEditor.dtd
new file mode 100644
index 0000000000..85042a1965
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/FilterEditor.dtd
@@ -0,0 +1,66 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "Reglas de filtrado">
+<!ENTITY filterName.label "Nombre del filtro:">
+<!ENTITY filterName.accesskey "i">
+
+<!ENTITY junk.label "Basura">
+<!ENTITY notJunk.label "No es basura">
+
+<!ENTITY lowestPriorityCmd.label "La más baja">
+<!ENTITY lowPriorityCmd.label "Baja">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY highPriorityCmd.label "Alta">
+<!ENTITY highestPriorityCmd.label "La más alta">
+
+<!ENTITY contextDesc.label "Aplicar filtro cuando:">
+<!ENTITY contextIncomingMail.label "Obtener nuevos mensajes:">
+<!ENTITY contextIncomingMail.accesskey "G">
+<!ENTITY contextManual.label "Ejecutar manualmente">
+<!ENTITY contextManual.accesskey "R">
+<!ENTITY contextBeforeCls.label "Filtrar antes de la clasificación de basura">
+<!ENTITY contextAfterCls.label "Filtrar después de la clasificación de basura">
+<!ENTITY contextOutgoing.label "Después de enviar">
+<!ENTITY contextOutgoing.accesskey "S">
+<!ENTITY contextArchive.label "Archivando">
+<!ENTITY contextArchive.accesskey "A">
+<!ENTITY contextPeriodic.accesskey "e">
+
+<!ENTITY filterActionDesc.label "Ejecutar estas acciones:">
+<!ENTITY filterActionDesc.accesskey "P">
+
+<!ENTITY filterActionOrderWarning.label "Nota: Las acciones de filtrado se ejecutaran en distinto orden.">
+<!ENTITY filterActionOrder.label "Ver orden de ejecución">
+
+<!-- New Style Filter Rule Actions -->
+<!ENTITY moveMessage.label "Mover mensaje a">
+<!ENTITY copyMessage.label "Copiar mensaje a">
+<!ENTITY forwardTo.label "Reenviar mensaje a">
+<!ENTITY replyWithTemplate.label "Responder con plantilla">
+<!ENTITY markMessageRead.label "Marcar como leído">
+<!ENTITY markMessageUnread.label "Marcar como no leído">
+<!ENTITY markMessageStarred.label "Agregar estrella">
+<!ENTITY setPriority.label "Establecer prioridad a">
+<!ENTITY addTag.label "Etiquetar mensaje">
+<!ENTITY setJunkScore.label "Establecer estado de correo basura a">
+<!ENTITY deleteMessage.label "Eliminar mensaje">
+<!ENTITY deleteFromPOP.label "Eliminar del Servidor POP">
+<!ENTITY fetchFromPOP.label "Traer del servidor POP">
+<!ENTITY ignoreThread.label "Ignorar hilo">
+<!ENTITY ignoreSubthread.label "Ignorar subhilo">
+<!ENTITY watchThread.label "Ver hilo">
+<!ENTITY stopExecution.label "Detener ejecución del filtro">
+
+<!ENTITY addAction.tooltip "Agregar una nueva acción">
+<!ENTITY removeAction.tooltip "Eliminar esta acción">
+
+<!-- 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/es-MX/chrome/es-MX/locale/es-MX/messenger/FilterListDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/FilterListDialog.dtd
new file mode 100644
index 0000000000..763c4a93b5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Filtros de mensajes">
+<!ENTITY nameColumn.label "Nombre del filtro">
+<!ENTITY activeColumn.label "Habilitado">
+<!ENTITY newButton.label "Nuevo…">
+<!ENTITY newButton.accesskey "N">
+<!ENTITY newButton.popupCopy.label "Copiar…">
+<!ENTITY newButton.popupCopy.accesskey "C">
+<!ENTITY editButton.label "Editar…">
+<!ENTITY editButton.accesskey "E">
+<!ENTITY deleteButton.label "Eliminar">
+<!ENTITY deleteButton.accesskey "t">
+<!ENTITY reorderTopButton "Mover hasta arriba">
+<!ENTITY reorderTopButton.accessKey "o">
+<!ENTITY reorderTopButton.toolTip "Reordenar filtro para que se ejecute antes que todos los otros">
+<!ENTITY reorderUpButton.label "Subir">
+<!ENTITY reorderUpButton.accesskey "U">
+<!ENTITY reorderDownButton.label "Bajar">
+<!ENTITY reorderDownButton.accesskey "D">
+<!ENTITY reorderBottomButton "Mover al fondo">
+<!ENTITY reorderBottomButton.accessKey "B">
+<!ENTITY reorderBottomButton.toolTip "Reordenar filtro para que se ejecute después que todos los otros">
+<!ENTITY filterHeader.label "Los filtros habilitados se ejecutan automáticamente en el orden indicado debajo.">
+<!ENTITY filtersForPrefix.label "Filtros para:">
+<!ENTITY filtersForPrefix.accesskey "F">
+<!ENTITY viewLogButton.label "Registro de filtros">
+<!ENTITY viewLogButton.accesskey "L">
+<!ENTITY runFilters.label "Ejecutar ahora">
+<!ENTITY runFilters.accesskey "R">
+<!ENTITY stopFilters.label "Detener">
+<!ENTITY stopFilters.accesskey "S">
+<!ENTITY folderPickerPrefix.label "Ejecutar los filtros seleccionados en:">
+<!ENTITY folderPickerPrefix.accesskey "c">
+<!ENTITY helpButton.label "Ayuda">
+<!ENTITY helpButton.accesskey "H">
+<!ENTITY closeCmd.key "W">
+<!ENTITY searchBox.emptyText "Buscar filtros por nombre…">
+
+
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/SearchDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/SearchDialog.dtd
new file mode 100644
index 0000000000..698c5dbaab
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/SearchDialog.dtd
@@ -0,0 +1,37 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- for SearchDialog.xhtml -->
+<!ENTITY searchHeading.label "Buscar mensajes en:">
+<!ENTITY searchHeading.accesskey "h">
+<!ENTITY searchSubfolders.label "Buscar subcarpetas">
+<!ENTITY searchSubfolders.accesskey "e">
+<!ENTITY searchOnServer.label "Ejecutar búsqueda en el servidor">
+<!ENTITY searchOnServer.accesskey "u">
+<!ENTITY resetButton.label "Limpiar">
+<!ENTITY resetButton.accesskey "C">
+<!ENTITY openButton.label "Abrir">
+<!ENTITY openButton.accesskey "n">
+<!ENTITY deleteButton.label "Eliminar">
+<!ENTITY deleteButton.accesskey "D">
+<!ENTITY searchDialogTitle.label "Buscar mensajes">
+<!ENTITY results.label "Resultados">
+<!ENTITY moveButton.label "Mover a">
+<!ENTITY moveButton.accesskey "T">
+<!ENTITY closeCmd.key "W">
+<!ENTITY openInFolder.label "Abrir en carpeta">
+<!ENTITY openInFolder.accesskey "r">
+<!ENTITY saveAsVFButton.label "Guardar como carpeta de búsqueda">
+<!ENTITY saveAsVFButton.accesskey "v">
+
+<!-- for ABSearchDialog.xhtml -->
+<!ENTITY abSearchHeading.label "Buscar en:">
+<!ENTITY abSearchHeading.accesskey "h">
+<!ENTITY propertiesButton.label "Propiedades">
+<!ENTITY propertiesButton.accesskey "P">
+<!ENTITY composeButton.label "Escribir">
+<!ENTITY composeButton.accesskey "W">
+<!ENTITY deleteCardButton.label "Eliminar">
+<!ENTITY deleteCardButton.accesskey "D">
+<!ENTITY abSearchDialogTitle.label "Búsqueda avanzada en la libreta de direcciones">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutDownloads.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutDownloads.dtd
new file mode 100644
index 0000000000..c04decb961
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Archivos guardados">
+<!-- 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 "Abrir carpeta contenedora">
+<!ENTITY cmd.show.accesskey "F">
+<!ENTITY cmd.showMac.label "Mostrar en Finder">
+<!ENTITY cmd.showMac.accesskey "F">
+<!ENTITY cmd.open.label "Abrir">
+<!ENTITY cmd.open.accesskey "O">
+<!ENTITY cmd.removeFromHistory.label "Borrar del historial">
+<!ENTITY cmd.removeFromHistory.accesskey "e">
+<!ENTITY cmd.clearList.label "Borrar lista">
+<!ENTITY cmd.clearList.accesskey "C">
+<!ENTITY cmd.clearList.tooltip "Eliminar todas las entradas de la lista de archivos guardado, excepto lo que se está descargando.">
+<!ENTITY cmd.searchDownloads.label "Buscar…">
+<!ENTITY cmd.searchDownloads.key "F">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutRights.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutRights.properties
new file mode 100644
index 0000000000..91dc6980ff
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Conoce tus derechos…
+buttonAccessKey=K
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutSupportMail.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/aboutSupportMail.properties
new file mode 100644
index 0000000000..9f6ee86dfe
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=ADVERTENCIAS
+# LOCALIZATION NOTE (warningText): Warning text that shows up when private data is included
+warningText=Esto contiene información confidencial que no se debe reenviar o publicar sin permiso.
+
+# LOCALIZATION NOTE (fsType.local): Indicator that the displayed directory is on a local drive
+fsType.local = (Disco local)
+# LOCALIZATION NOTE (fsType.network): Indicator that the displayed directory is on the network
+fsType.network = (Unidad de red)
+# LOCALIZATION NOTE (fsType.unknown): Indicator that we couldn't figure out whether the directory is local or on a network
+fsType.unknown = (Ubicación desconocida)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/accountCreationModel.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/accountCreationModel.properties
new file mode 100644
index 0000000000..63e742ff49
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/accountCreationModel.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/.
+
+# 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=La configuración del archivo XML no contiene la configuración de la cuenta de correo electrónico.
+outgoing_not_smtp.error=El servidor de salida debe ser del tipo SMTP
+
+# verifyConfig.js
+cannot_login.error=Imposible iniciar sesión en el servidor. Puede que se deba a una mala configuración, al nombre de usuario o contraseña.
+
+
+# guessConfig.js
+cannot_find_server.error=No se puede encontrar el servidor
+
+# exchangeAutoDiscover.js
+no_autodiscover.error=El XML AutoDiscover de Exchange no es válido.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/accountCreationUtil.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/accountCreationUtil.properties
new file mode 100644
index 0000000000..fccb252d10
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=El nombre de host está vacío o contiene caracteres prohibidos. Solo se permiten letras, números, y puntos.
+alphanumdash.error=La cadena contiene caracteres no compatibles. Solo se permiten letras, números y _.
+allowed_value.error=Valor proporcionado no está en la lista de permitidos
+url_scheme.error=Esquema URL no permitido
+url_parsing.error=URL no reconocida
+string_empty.error=Debes proporcionar un valor para esta cadena
+boolean.error=No es un valor booleano
+no_number.error=No es un número
+number_too_large.error=Número demasiado grande
+number_too_small.error=Número demasiado pequeño
+
+
+# fetchhttp.js
+cannot_contact_server.error=No se pudo contactar al servidor
+bad_response_content.error=Contenido con respuesta incorrecta
+
+# 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=Falló el inicio de sesión. ¿El usuario/dirección de correo y la contraseña son correctos?
+# 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=Falló el inicio de sesión. El servidor %1$S dijo: %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=Falló la verificación del inicio de sesión por causas desconocidas.
+# 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=lFalló a verificación del inicio de sesión con este mensaje: %1$S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/activity.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/activity.dtd
new file mode 100644
index 0000000000..74cced2530
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Administrador de actividades">
+
+<!ENTITY cmd.close.commandkey "w">
+<!ENTITY cmd.close2.commandkey "j">
+<!ENTITY cmd.close2Unix.commandkey "y">
+<!ENTITY cmd.clearList.label "Limpiar lista">
+<!ENTITY cmd.clearList.tooltip "Eliminar elementos completados, cancelados y fallidos de la lista">
+<!ENTITY cmd.clearList.accesskey "C">
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/activity.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/activity.properties
new file mode 100644
index 0000000000..ff8c21bd7f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Pausado
+processing=Procesando
+notStarted=No iniciado
+failed=Fallido
+waitingForInput=Esperando ingreso
+waitingForRetry=Esperando para reintentar
+completed=Completado
+canceled=Cancelado
+
+# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email.
+sendingMessages=Enviando mensajes
+sendingMessage=Enviando mensaje
+# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sendingMessageWithSubject=Enviando mensajes: %S
+copyMessage=Copiando mensaje a la carpeta de enviados
+sentMessage=Mensaje enviado
+# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sentMessageWithSubject=Mensaje enviado: %S
+failedToSendMessage=Falló al enviar el mensaje
+failedToCopyMessage=Falló al copiar el mensaje
+# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToSendMessageWithSubject=Falló al enviar el mensaje: %S
+# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToCopyMessageWithSubject=Falló al copiar mensaje: %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: Descargando mensaje %1$S de %2$S en %3$S…
+# LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name
+autosyncProcessDisplayText=Tener la carpeta %S al día
+# LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name
+autosyncEventDisplayText=%S está al día
+# LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages
+autosyncEventStatusText=Número total de mensajes descargados: %S
+autosyncEventStatusTextNoMsgs=No hay mensajes descargados
+# LOCALIZATION NOTE (autosyncContextDisplayText): %S will be replaced by the account name
+autosyncContextDisplayText=Sincronizando: %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: Revisando %2$S por nuevos mensajes…
+# LOCALIZATION NOTE (pop3EventDisplayText): %S will be replaced by the account name
+pop3EventDisplayText=%S está al día
+# LOCALIZATION NOTE (pop3EventStatusText): #1 will be replaced by total number of downloaded messages
+pop3EventStatusText=#1 mensaje descargado:#1 mensajes descargados
+pop3EventStatusTextNoMsgs=No hay mensajes para descargar
+
+# Message actions that show up in activity manager
+# LOCALIZATION NOTE (deletedMessages2): #1 number of messages, #2 folder name
+deletedMessages2=Eliminado #1 mensaje de #2:Eliminado #1 mensajes de #2
+# LOCALIZATION NOTE (movedMessages): #1 number of messages, #2 and #3: folder names
+movedMessages=Movido #1 mensaje de #2 a #3;Movidos #1 mensajes de #2 a #3
+# LOCALIZATION NOTE (copiedMessages): #1 number of messages, #2 and #3: folder names
+copiedMessages=Copiado #1 mensaje de #2 a #3:Copiados #1 mensajes de #2 a #3
+# LOCALIZATION NOTE (fromServerToServer): #1 source server, #2 destination server
+fromServerToServer=de #1 a #24
+# LOCALIZATION NOTE (deletedFolder): #1 folder name
+deletedFolder=Carpeta eliminada #1
+emptiedTrash=Papelera vaciada
+# LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names
+movedFolder=Carpeta movida #1 dentro de la carpeta #2
+# LOCALIZATION NOTE (movedFolderToTrash): #1 is the folder name
+movedFolderToTrash=Carpeta movida #1 a la papelera
+# LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names
+copiedFolder=Carpeta copiada #1 dentro de la carpeta #2
+# LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names
+renamedFolder=Carpeta renombrada #1 a #2
+indexing=Indexando mensajes
+# LOCALIZATION NOTE (indexingFolder): #1 is a folder name
+indexingFolder=Indexando mensajes en #1
+indexingStatusVague=Determinando que mensajes indexar
+# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name
+indexingFolderStatusVague=Determinando que mensajes indexar en #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=Indexando #1 de #2 mensaje;Indexando #1 de #2 mensajes (#3% completo)
+# 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=Indexando #1 de #2 mensaje en #4;Indexando #1 de #2 mensajes en #4 (#3% completo)
+# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name
+indexedFolder=Indexado #1 mensaje en #2;Indexados #1 mensajes en #2
+# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing
+indexedFolderStatus=#1 segundo transcurrido;#1 segundos transcurridos
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addbuddy.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addbuddy.dtd
new file mode 100644
index 0000000000..5ab59a8a7c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Agregar contacto">
+<!ENTITY name.label "Nombre de usuario">
+<!ENTITY account.label "Cuenta">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abAddressBookNameDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..378bdd5a53
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nombre de la libreta de direcciones:">
+<!ENTITY name.accesskey "A">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abContactsPanel.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abContactsPanel.dtd
new file mode 100644
index 0000000000..6c5564b564
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades">
+<!ENTITY propertiesMenu.accesskey "i">
+<!ENTITY propertiesCmd.key "i">
+<!ENTITY abPropertiesMenu.label "Propiedades de la agenda de direcciones">
+<!ENTITY abPropertiesMenu.accesskey "i">
+<!ENTITY contactPropertiesMenu.label "Propiedades del contacto">
+<!ENTITY contactPropertiesMenu.accesskey "i">
+<!ENTITY mailingListPropertiesMenu.label "Propiedades de la lista de correo">
+<!ENTITY mailingListPropertiesMenu.accesskey "i">
+
+<!ENTITY abContextMenuButton.tooltip "Mostrar el menú de contexto de la agenda de direcciones">
+<!ENTITY addressbookPicker.label "Agenda de direcciones:">
+<!ENTITY addressbookPicker.accesskey "k">
+<!ENTITY searchContacts.label "Buscar contactos:">
+<!ENTITY searchContacts.accesskey "n">
+<!ENTITY SearchNameOrEmail.label "Nombre o correo electrónico">
+
+<!ENTITY addtoToFieldMenu.label "Agregar a Campo">
+<!ENTITY addtoToFieldMenu.accesskey "A">
+<!ENTITY addtoCcFieldMenu.label "Agregar al campo Cc">
+<!ENTITY addtoCcFieldMenu.accesskey "C">
+<!ENTITY addtoBccFieldMenu.label "Agregar al campo Cco">
+<!ENTITY addtoBccFieldMenu.accesskey "B">
+<!ENTITY deleteAddrBookCard.label "Eliminar">
+<!ENTITY deleteAddrBookCard.accesskey "D">
+<!ENTITY propertiesContext.label "Propiedades">
+<!ENTITY propertiesContext.accesskey "i">
+<!ENTITY abPropertiesContext.label "Propiedades">
+<!ENTITY abPropertiesContext.accesskey "i">
+<!ENTITY editContactContext.label "Editar contacto">
+<!ENTITY editContactContext.accesskey "E">
+<!ENTITY editMailingListContext.label "Editar lista">
+<!ENTITY editMailingListContext.accesskey "E">
+
+<!ENTITY newContactAbContext.label "Nuevo contacto">
+<!ENTITY newContactAbContext.accesskey "C">
+<!ENTITY newListAbContext.label "Nueva lista">
+<!ENTITY newListAbContext.accesskey "L">
+
+<!ENTITY toButton.label "Agregar a Para:">
+<!ENTITY toButton.accesskey "A">
+<!ENTITY ccButton.label "Agregar a Cc:">
+<!ENTITY ccButton.accesskey "C">
+<!ENTITY bccButton.label "Agregar a Cco:">
+<!ENTITY bccButton.accesskey "B">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abMailListDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..90feceb991
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nueva lista de correo">
+
+<!-- Labels and Access Keys -->
+<!ENTITY addToAddressBook.label "Agregar a: ">
+<!ENTITY addToAddressBook.accesskey "A">
+<!ENTITY ListName.label "Nombre de la lista: ">
+<!ENTITY ListName.accesskey "L">
+<!ENTITY ListNickName.label "Apodo de la lista: ">
+<!ENTITY ListNickName.accesskey "N">
+<!ENTITY ListDescription.label "Descripción: ">
+<!ENTITY ListDescription.accesskey "D">
+<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
+<!ENTITY AddressTitle.label "Escribe las direcciones de correo electrónico y agrégalas a la lista de correo:">
+<!ENTITY AddressTitle.accesskey "m">
+<!ENTITY UpButton.label "Mover hacia arriba">
+<!ENTITY DownButton.label "Mover hacia abajo">
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abMainWindow.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..6f7ef32867
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abMainWindow.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 showAsDefault.label "Carpeta de inicio predeterminada">
+<!ENTITY showAsDefault.accesskey "S">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Nombre o correo electrónico">
+
+<!-- Results Pane -->
+<!ENTITY Addrbook.label "Libreta de direcciones">
+<!ENTITY GeneratedName.label "Nombre">
+<!ENTITY PrimaryEmail.label "Correo electrónico">
+
+<!-- Card Summary Pane -->
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abResultsPane.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/abResultsPane.dtd
new file mode 100644
index 0000000000..fc6fa770be
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Agenda">
+<!ENTITY Addrbook.accesskey "B">
+<!ENTITY GeneratedName.label "Nombre">
+<!ENTITY GeneratedName.accesskey "N">
+<!ENTITY PrimaryEmail.label "Correo electrónico">
+<!ENTITY PrimaryEmail.accesskey "E">
+<!ENTITY Company.label "Organización">
+<!ENTITY Company.accesskey "z">
+<!ENTITY _PhoneticName.label "Nombre fonético">
+<!ENTITY _PhoneticName.accesskey "o">
+<!ENTITY NickName.label "Usuario">
+<!ENTITY NickName.accesskey "i">
+<!ENTITY SecondEmail.label "Correo electrónico adicional">
+<!ENTITY SecondEmail.accesskey "l">
+<!ENTITY Department.label "Departamento">
+<!ENTITY Department.accesskey "r">
+<!ENTITY JobTitle.label "Título">
+<!ENTITY JobTitle.accesskey "T">
+<!ENTITY CellularNumber.label "Celular">
+<!ENTITY CellularNumber.accesskey "M">
+<!ENTITY PagerNumber.label "Paginador">
+<!ENTITY PagerNumber.accesskey "P">
+<!ENTITY FaxNumber.label "Fax">
+<!ENTITY FaxNumber.accesskey "F">
+<!ENTITY HomePhone.label "Teléfono de casa">
+<!ENTITY HomePhone.accesskey "H">
+<!ENTITY WorkPhone.label "Teléfono de trabajo">
+<!ENTITY WorkPhone.accesskey "W">
+<!ENTITY ChatName.label "Nombre del chat">
+<!ENTITY ChatName.accesskey "C">
+<!ENTITY sortAscending.label "Ascendente">
+<!ENTITY sortAscending.accesskey "A">
+<!ENTITY sortDescending.label "Descendente">
+<!ENTITY sortDescending.accesskey "D">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/addressBook.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/addressBook.properties
new file mode 100644
index 0000000000..f9ce2840fc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/addressBook.properties
@@ -0,0 +1,179 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=Editar %S
+emptyListName=Debes ingresar un nombre de lista.
+badListNameCharacters=El nombre de la lista no puede contener ninguno de los siguientes caracteres: < > ; , "
+badListNameSpaces=El nombre de una lista no puede contener múltiples espacios adyacentes.
+lastFirstFormat=%S, %S
+firstLastFormat=%S %S
+
+allAddressBooks=Todas las libretas de direcciones
+
+newContactTitle=Nuevo contacto
+# %S will be the contact's display name
+newContactTitleWithDisplayName=Nuevo contacto para %S
+editContactTitle=Editar contacto
+# %S will be the contact's display name
+editContactTitleWithDisplayName=Editar contacto para %S
+# don't translate vCard
+editVCardTitle=Editar vCard
+# %S will be the card's display name, don't translate vCard
+editVCardTitleWithDisplayName=Editar vCard para %S
+
+## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n
+cardRequiredDataMissingMessage=Debes ingresar al menos uno de estos elementos:\nDirección de correo electrónico, Nombre, Apellido, Nombre para mostrar, Organización.
+cardRequiredDataMissingTitle=Falta información requerida
+incorrectEmailAddressFormatMessage=La dirección de correo electrónico principal debe ser de la forma usuario@servidor.
+incorrectEmailAddressFormatTitle=Formato de dirección de correo electrónico incorrecto
+
+viewListTitle=Lista de correo: %S
+mailListNameExistsTitle=La lista de correo ya existe
+mailListNameExistsMessage=Un lista de correo con ese nombre ya existe. Por favor, selecciona un nombre diferente.
+
+propertyPrimaryEmail=Correo electrónico
+propertyListName=Nombre de la lista
+propertySecondaryEmail=Correo electrónico adicional
+propertyNickname=Apodo
+propertyDisplayName=Nombre mostrado
+propertyWork=Trabajo
+propertyHome=Inicio
+propertyFax=Fax
+propertyCellular=Celular
+propertyPager=Buscapersonas
+propertyBirthday=Cumpleaños
+propertyCustom1=Personalizar 1
+propertyCustom2=Personalizar 2
+propertyCustom3=Personalizar 3
+propertyCustom4=Personalizar 4
+
+propertyGtalk=Google Talk
+propertyAIM=AIM
+propertyYahoo=Yahoo!
+propertySkype=Skype
+propertyQQ=QQ
+propertyMSN=MSN
+propertyICQ=ICQ
+propertyXMPP=Jabber ID
+propertyIRC=IRC Nick
+
+## LOCALIZATION NOTE (cityAndStateAndZip):
+## %1$S is city, %2$S is state, %3$S is zip
+cityAndStateAndZip=%1$S, %2$S %3$S
+## LOCALIZATION NOTE (cityAndStateNoZip):
+## %1$S is city, %2$S is state
+cityAndStateNoZip=%1$S, %2$S
+## LOCALIZATION NOTE (cityOrStateAndZip):
+## %1$S is city or state, %2$S is zip
+cityOrStateAndZip=%1$S %2$S
+
+stateZipSeparator=
+
+prefixTo=Para
+prefixCc=Cc
+prefixBcc=Bcc
+addressBook=Agenda de direcciones
+
+# Contact photo management
+browsePhoto=Foto de contactos
+stateImageSave=Guardando la imagen…
+errorInvalidUri=Error: fuente inválida de la imagen.
+errorNotAvailable=Error: Este archivo no es accesible.
+errorInvalidImage=Error: Solo se permiten las imágenes tipo JPG, PNG y GIF.
+errorSaveOperation=Error: No se pudo guardar la imagen.
+
+# mailnews.js
+ldap_2.servers.pab.description=Agenda de direcciones personal
+ldap_2.servers.history.description=Direcciones recolectadas
+## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
+ldap_2.servers.osx.description=Agenda de direcciones de Mac OS X
+
+## LOCALIZATION NOTE (ldap_2.servers.outlook.description is only used on Windows)
+ldap_2.servers.outlook.description=Libreta de direcciones de Outlook
+
+# status bar stuff
+## LOCALIZATION NOTE (totalContactStatus):
+## %1$S is address book name, %2$S is contact count
+totalContactStatus=Contactos totales en %1$S: %2$S
+noMatchFound=No se encuentran coincidencias
+## 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 coincidencia;#1 coincidencias
+
+## 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 contacto copiado;%1$S contactos copiados
+
+## 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 contacto movido;%1$S contactos movidos
+
+# LDAP directory stuff
+invalidName=Por favor, ingresa un nombre válido.
+invalidHostname=Por favor, ingresa un nombre de servidor válido.
+invalidPortNumber=Por favor, ingresa un número de puerto válido.
+invalidResults=Por favor, ingresa un número de campo de resultados válido.
+abReplicationOfflineWarning=Debes estar en línea para realizar una replicación LDAP.
+abReplicationSaveSettings=Los ajustes deben guardarse antes de que un directorio sea descargado.
+
+# For importing / exporting
+## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook
+ExportAddressBookNameTitle=Exportar libreta de direcciones - %S
+LDIFFiles=LDIF
+CSVFiles=Separado por comas
+CSVFilesSysCharset=Separado por comas (caracteres del sistema)
+CSVFilesUTF8=Separador por comas (UTF-8)
+TABFiles=Delimitado por tabuladores
+TABFilesSysCharset=Delimitado por tabuladores (caracteres del sistema)
+TABFilesUTF8=Delimitado por tabuladores (UTF-8)
+VCFFiles=
+SupportedABFiles=Archivos de la libreta de direcciones compatibles
+failedToExportTitle=No se puede exportar
+failedToExportMessageNoDeviceSpace=No se puede exportar la libreta de direcciones, no queda espacio en el dispositivo.
+failedToExportMessageFileAccessDenied=No se puede exportar la libreta de direcciones, acceso al archivo denegado.
+
+# For getting authDN for replication using dlg box
+AuthDlgTitle=Libreta de direcciones Replicación LDAP
+AuthDlgDesc=Para acceder al directorio del servidor, ingresa tu nombre de usuario y contraseña.
+
+# LOCALIZATION NOTE(joinMeInThisChat)
+# use + for spaces
+joinMeInThisChat=Únete+a+mí+en+este+chat.
+
+# For printing
+headingHome=Casa
+headingWork=Trabajo
+headingOther=Otro
+headingChat=Chat
+headingPhone=Teléfono
+headingDescription=Descripción
+headingAddresses=Direcciones
+
+## For address books
+addressBookTitleNew=Nueva libreta de direcciones
+# LOCALIZATION NOTE (addressBookTitleEdit):
+# %S is the current name of the address book.
+# Example: My Custom AB Properties
+addressBookTitleEdit=Propiedades de %S
+duplicateNameTitle=Duplicar nombre del la libreta de direcciones
+# 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=Una libreta de direcciones con este nombre ya existe:\n• %S
+
+# For corrupt .mab files
+corruptMabFileTitle=Archivo de libreta de direcciones corrupto
+corruptMabFileAlert=Una los archivos de tus libretas de direcciones (archivo %1$S) no se puede leer. A nuevo archivo %2$S será creado se hará un respaldo del archivo viejo, llamado %3$S, se creará en el mismo directorio.
+
+# For locked .mab files
+lockedMabFileTitle=Imposible cargar el archivo de la libreta de direcciones
+lockedMabFileAlert=Imposible cargar el archivo %S de la libreta de direcciones. Puede sólo ser de lectura o cerrado por otra aplicación. Por favor, intenta de nuevo más tarde.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/ldapAutoCompErrs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..6557ff1a80
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Problema al iniciar LDAP
+
+## @name ERR_STATE_INITIALIZING
+## @loc none
+1=Ha fallado la conexión al servidor LDAP
+
+## @name ERR_STATE_BINDING
+## @loc none
+2=Ha fallado la conexión al servidor LDAP
+
+## @name ERR_STATE_BOUND
+## @loc none
+3=Problema de comunicaciones con el servidor LDAP
+
+## @name ERR_STATE_SEARCHING
+## @loc none
+4=Problema con la búsqueda de servidor 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=Código de error %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=Servidor no encontrado
+
+## @name GENERIC_ERROR
+## @loc none
+9999=Error desconocido
+
+
+# Hints to for the user, associated with specific error codes (ie error code
+# + 10000)
+
+
+## @name TIMELIMIT_EXCEEDED_HINT
+## @loc none
+10003=Por favor, intenta de nuevo después o contacta con tu Administrador de Sistema.
+
+## @name STRONGAUTH_REQUIRED_HINT
+## @loc none
+10008=La identificación con cifrado fuerte no se admite actualmente.
+
+## @name INVALID_SYNTAX_HINT
+## @loc none
+10021=Verifica que el filtro de búsqueda es correcto, y vuelve a intentarlo, o contacta con el administrador del sistema. Para verificar que el filtro de búsqueda es correcto, desde el menú Edición, elije Preferencias, luego elije Correo y Noticias, y después elije Direcciones. Pulsa Editar directorios, y selecciona el servidor LDAP que estés utilizando. Presiona Editar, y luego haz clic en Avanzadas para mostrar el filtro de búsqueda.
+
+## @name NO_SUCH_OBJECT_HINT
+## @loc none
+10032=Verifica que el DN base es correcto, y vuelve a intentarlo, o contacta al administrador del sistema. Para verificar que el DN base es correcto, desde el menú Edición, selecciona Preferencias, luego elije Correo y Noticias, y después elije Direcciones. Presiona en Editar directorios, y selecciona el servidor LDAP que estés usando. Presiona Editar para mostrar el DN base.
+
+## @name BUSY_HINT
+## @loc none
+10051=Por favor, intenta de nuevo más tarde.
+
+## @name SERVER_DOWN_HINT
+## @loc none
+10081=Verifica que el nombre del host y el número de puerto son correctos y vuelve a intentarlo, o contacta al administrador del sistema. Para verificar que el nombre de host y el puerto son correctos, desde el menú Editar, elije Preferencias, luego elije Correo y Noticias, y después elije Direcciones. Presiona Editar directorios, y selecciona el servidor LDAP que estés usando. Haz clic en Editar para mostrar el nombre de host. Presiona en Avanzadas para mostrar el número de puerto.
+
+## @name TIMEOUT_HINT
+## @loc none
+10085=Por favor, intenta de nuevo más tarde.
+
+## @name FILTER_ERROR_HINT
+## @loc none
+10087=Verifica que el filtro de búsqueda es correcto, y vuelve a intentarlo, o contacta al administrador del sistemas. Para verificar que el filtro de búsqueda es correcto, desde el menú Edición, selecciona Preferencias, luego selecciona Correo y Noticias, y después selecciona Direcciones. Presiona Editar directorios, y selecciona el servidor LDAP que estés utilizando. Presiona Editar, y luego haz clic en Avanzada para mostrar el filtro de búsqueda.
+
+## @name NO_MEMORY_HINT
+## @loc none
+10090=Por favor, cierra algunas ventanas o aplicaciones e intenta de nuevo.
+
+## @name CONNECT_ERROR_HINT
+## @loc none
+10091=Verifica que el nombre del host y el número de puerto sean correctos y vuelve a intentarlo, o contacta al administrador del sistema. Para verificar que el nombre de host y el puerto son correctos, desde el menú Editar, selecciona Preferencias, luego selecciona Correo y Noticias, y después selecciona Direcciones. Presiona Editar directorios, y selecciona el servidor LDAP que estés usando. Haz clic en Editar para mostrar el nombre de host. Presiona en Avanzada para mostrar el número de puerto.
+
+## @name HOST_NOT_FOUND_HINT
+## @loc none
+15000=Verifica que el nombre de host es correcto y vuelve a intentarlo, o contacta al administrador del sistema. Para verificar que el nombre de host es correcto, desde el menú Edición, selecciona Preferencias, luego selecciona Correo y Noticias, y después selecciona Direcciones. Presiona Editar directorios, y selecciona el servidor LDAP que estés utilizando. Haz clic en Editar para mostrar el nombre de host.
+
+## @name GENERIC_HINT
+## @loc none
+19999=Por favor, contacta con tu administrador de sistema.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/pref-directory-add.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/pref-directory-add.dtd
new file mode 100644
index 0000000000..13a214248f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nombre: ">
+<!ENTITY directoryName.accesskey "n">
+<!ENTITY directoryHostname.label "Servidor: ">
+<!ENTITY directoryHostname.accesskey "o">
+<!ENTITY directoryBaseDN.label "DN base: ">
+<!ENTITY directoryBaseDN.accesskey "b">
+<!ENTITY findButton.label "Buscar">
+<!ENTITY findButton.accesskey "f">
+<!ENTITY directorySecure.label "Usar conexión segura (SSL)">
+<!ENTITY directorySecure.accesskey "U">
+<!ENTITY directoryLogin.label "DN bind: ">
+<!ENTITY directoryLogin.accesskey "i">
+<!ENTITY General.tab "General">
+<!ENTITY Offline.tab "Desconectado">
+<!ENTITY Advanced.tab "Avanzadas">
+<!ENTITY portNumber.label "Número de puerto: ">
+<!ENTITY portNumber.accesskey "p">
+<!ENTITY searchFilter.label "Filtro de búsqueda: ">
+<!ENTITY searchFilter.accesskey "f">
+<!ENTITY scope.label "Alcance: ">
+<!ENTITY scope.accesskey "c">
+<!ENTITY scopeOneLevel.label "Un nivel">
+<!ENTITY scopeOneLevel.accesskey "L">
+<!ENTITY scopeSubtree.label "Subárbol">
+<!ENTITY scopeSubtree.accesskey "S">
+<!ENTITY return.label "No devolver más que">
+<!ENTITY return.accesskey "r">
+<!ENTITY results.label "resultados">
+<!ENTITY offlineText.label "Puedes descargar una copia local de este directorio para poder trabajar en ella cuando estés desconectado.">
+<!ENTITY saslMechanism.label "Método de iniciar sesión: ">
+<!ENTITY saslMechanism.accesskey "m">
+<!ENTITY saslOff.label "Simple">
+<!ENTITY saslOff.accesskey "l">
+<!ENTITY saslGSSAPI.label "Kerberos (GSSAPI)">
+<!ENTITY saslGSSAPI.accesskey "K">
+
+<!-- Localization note: this is here because the width of the dialog
+ is determined by the width of the base DN box; and that is likely
+ to vary somewhat with the language.
+-->
+<!ENTITY newDirectoryWidth "36em">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/pref-directory.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/pref-directory.dtd
new file mode 100644
index 0000000000..3b7088a16e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Servidores de directorio LDAP">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Servidor de directorio LDAP:">
+<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line -->
+<!ENTITY directoriesText.label "Selecciona un servidor de directorio LDAP:">
+<!ENTITY directoriesText.accesskey "S">
+<!ENTITY addDirectory.label "Agregar">
+<!ENTITY addDirectory.accesskey "a">
+<!ENTITY editDirectory.label "Editar">
+<!ENTITY editDirectory.accesskey "e">
+<!ENTITY deleteDirectory.label "Eliminar">
+<!ENTITY deleteDirectory.accesskey "d">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/replicationProgress.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/addressbook/replicationProgress.properties
new file mode 100644
index 0000000000..9ff27ce90b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Replicación iniciada…
+changesStarted=Buscando cambios para replicar…
+replicationSucceeded=La replicación se terminó correctamente
+replicationFailed=La replicación falló
+replicationCancelled=Se canceló la replicación
+# LOCALIZATION NOTE
+# do not localize %S. %S is the current entry number (an integer)
+currentCount=Replicando entrada de directorio: %S
+
+downloadButton=Descargar ahora
+downloadButton.accesskey=D
+cancelDownloadButton=Cancelar la descarga
+cancelDownloadButton.accesskey=C
+
+directoryTitleNew=Nuevo directorio LDAP
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=Propiedades de %S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-addressing.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-addressing.dtd
new file mode 100644
index 0000000000..d3a9120393
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Redacción &amp; direcciones">
+<!ENTITY addressingGroupTitle.label "Direcciones">
+<!ENTITY addressingText.label "Cuando se busquen direcciones:">
+<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line -->
+<!ENTITY useGlobal.label "Usar mi configuración de servidor LDAP global para esta cuenta">
+<!ENTITY useGlobal.accesskey "U">
+<!ENTITY editDirectories.label "Editar directorios…">
+<!ENTITY editDirectories.accesskey "E">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "Utilizar un servidor LDAP diferente:">
+<!ENTITY directories.accesskey "d">
+<!ENTITY directoriesNone.label "Ninguno">
+
+<!-- am-addressing.xul -->
+
+<!-- am-addressing.xhtml -->
+
+<!ENTITY compositionGroupTitle.label "Redacción">
+<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line -->
+<!ENTITY useHtml.label "Redactar mensajes en formato HTML">
+<!ENTITY useHtml.accesskey "C">
+<!ENTITY autoQuote.label "Citar automáticamente el mensaje original al responder">
+<!ENTITY autoQuote.accesskey "m">
+<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. -->
+<!ENTITY quoting.label "Cuando citando,">
+<!ENTITY quoting.accesskey "q">
+<!ENTITY aboveQuote.label "iniciar mi respuesta sobre el texto citado">
+<!ENTITY belowQuote.label "iniciar mi respuesta abajo del texto citado">
+<!ENTITY selectAndQuote.label "seleccionar el texto citado">
+<!ENTITY place.label "y colocar mi firma">
+<!ENTITY place.accesskey "s">
+<!ENTITY belowText.label "abajo del texto citado (recomendado)">
+<!ENTITY aboveText.label "bajo mi respuesta (sobre el texto citado)">
+<!ENTITY includeSigOnReply.label "Incluir firma para respuestas">
+<!ENTITY includeSigOnReply.accesskey "I">
+<!ENTITY includeSigOnForward.label "Incluir firma para reenvíos">
+<!ENTITY includeSigOnForward.accesskey "w">
+
+<!ENTITY globalComposingPrefs.label "Preferencias globales de escritura…">
+<!ENTITY globalComposingPrefs.accesskey "G">
+
+<!ENTITY globalAddressingPrefs.label "Preferencias globales de direcciones…">
+<!ENTITY globalAddressingPrefs.accesskey "P">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-advanced.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-advanced.dtd
new file mode 100644
index 0000000000..99f505fbe1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Configuración del servidor saliente (SMTP)">
+
+<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpDescription.label "Al administrar tus identidades, puedes usar un servidor de esta lista seleccionándolo como el servidor saliente (SMTP) o puedes usar el servidor predeterminado desde esta lista seleccionando &quot;Usar servidor predeterminado&quot;.">
+
+<!ENTITY smtpListAdd.label "Agregar…">
+<!ENTITY smtpListAdd.accesskey "d">
+<!ENTITY smtpListEdit.label "Editar…">
+<!ENTITY smtpListEdit.accesskey "E">
+<!ENTITY smtpListDelete.label "Eliminar">
+<!ENTITY smtpListDelete.accesskey "m">
+<!ENTITY smtpListSetDefault.label "Establecer predeterminado">
+<!ENTITY smtpListSetDefault.accesskey "t">
+
+<!ENTITY serverDetails.label "Detalles del servidor seleccionado:">
+<!ENTITY serverDescription.label "Descripción: ">
+<!ENTITY serverName.label "Nombre del servidor: ">
+<!ENTITY serverPort.label "Puerto: ">
+<!ENTITY userName.label "Usuario: ">
+<!ENTITY connectionSecurity.label "Seguridad de la conexión: ">
+<!ENTITY authMethod.label "Método de autentificación: ">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-archiveoptions.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-archiveoptions.dtd
new file mode 100644
index 0000000000..030bedf064
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Opciones de archivo">
+<!ENTITY archiveGranularityPrefix.label "Cuando se archiven mensajes, colocarlos en:">
+<!ENTITY archiveFlat.label "Una única carpeta">
+<!ENTITY archiveFlat.accesskey "s">
+<!ENTITY archiveYearly.label "Carpetas archivadas por año">
+<!ENTITY archiveYearly.accesskey "Y">
+<!ENTITY archiveMonthly.label "Carpetas archivadas por mes">
+<!ENTITY archiveMonthly.accesskey "M">
+<!ENTITY keepFolderStructure.label "Mantener la estructura de carpetas existente para los mensajes archivados">
+<!ENTITY keepFolderStructure.accesskey "K">
+<!ENTITY archiveExample.label "Ejemplo">
+<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default
+ name for the "Archives" folder -->
+<!ENTITY archiveFolderName.label "Archivos">
+<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default
+ name for the "Inbox" folder -->
+<!ENTITY inboxFolderName.label "Bandeja de entrada">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-copies.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-copies.dtd
new file mode 100644
index 0000000000..13ea45a258
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Copias &amp; carpetas">
+<!ENTITY sendingPrefix.label "Cuando se envíen mensajes, automáticamente: ">
+<!ENTITY fccMailFolder.label "Colocar una copia en:">
+<!ENTITY fccMailFolder.accesskey "P">
+<!ENTITY fccReplyFollowsParent.label "Colocar respuestas en la carpeta del mensajes al que se está respondiendo">
+<!ENTITY fccReplyFollowsParent.accesskey "R">
+<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line -->
+<!ENTITY ccAddress.label "Cc a estas direcciones:">
+<!ENTITY ccAddress.accesskey "C">
+<!ENTITY ccAddressList.placeholder "Separar direcciones con comas">
+<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line -->
+<!ENTITY bccAddress.label "Cco a estas direcciones:">
+<!ENTITY bccAddress.accesskey "B">
+<!ENTITY bccAddressList.placeholder "Separar direcciones con comas">
+<!ENTITY saveMessageDlg.label "Mostrar ventana de confirmación cuando se guarden mensajes">
+<!ENTITY saveMessageDlg.accesskey "w">
+<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY sentFolderOn.label "Carpeta &quot;Enviados&quot; en:">
+<!ENTITY sentFolderOn.accesskey "S">
+<!ENTITY sentInOtherFolder.label "Otro:">
+<!ENTITY sentInOtherFolder.accesskey "O">
+<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY archivesTitle.label "Archivos de mensajes">
+<!ENTITY keepArchives.label "Mantener archivos de mensajes en:">
+<!ENTITY keepArchives.accesskey "K">
+<!ENTITY archiveHierarchyButton.label "Opciones de archivo…">
+<!ENTITY archiveHierarchyButton.accesskey "A">
+<!ENTITY archivesFolderOn.label "Carpeta de &quot;archivos&quot; en:">
+<!ENTITY archivesFolderOn.accesskey "n">
+<!ENTITY archiveInOtherFolder.label "Otro:">
+<!ENTITY archiveInOtherFolder.accesskey "h">
+<!ENTITY specialFolders.label "Borradores y plantillas">
+<!ENTITY keepDrafts2.label "Mantener borradores en:">
+<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY draftsFolderOn.label "Carpeta de &quot;borradores&quot; en:">
+<!ENTITY draftsFolderOn.accesskey "D">
+<!ENTITY draftInOtherFolder.label "Otro:">
+<!ENTITY draftInOtherFolder.accesskey "t">
+<!ENTITY keepTemplates.label "Mantener plantillas en:">
+<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY templatesFolderOn.label "Carpeta de &quot;plantillas&quot; en:">
+<!ENTITY templatesFolderOn.accesskey "m">
+<!ENTITY templateInOtherFolder.label "Otro:">
+<!ENTITY templateInOtherFolder.accesskey "e">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-e2e.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-e2e.properties
new file mode 100644
index 0000000000..61bf55a006
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Cifrado de punto a punto
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-identities-list.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-identities-list.dtd
new file mode 100644
index 0000000000..a0ca136605
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Administrar las identidades para esta cuenta. La primera identidad es la predeterminada.">
+<!ENTITY identitiesListAdd.label "Agregar…">
+<!ENTITY identitiesListAdd.accesskey "A">
+<!ENTITY identitiesListEdit.label "Editar…">
+<!ENTITY identitiesListEdit.accesskey "E">
+<!ENTITY identitiesListDefault.label "Establecer predeterminada">
+<!ENTITY identitiesListDefault.accesskey "S">
+<!ENTITY identitiesListDelete.label "Eliminar">
+<!ENTITY identitiesListDelete.accesskey "D">
+<!ENTITY identitiesListClose.label "Cerrar">
+<!ENTITY identitiesListClose.accesskey "C">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-identity-edit.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-identity-edit.dtd
new file mode 100644
index 0000000000..7a551cac91
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Configurar los ajustes para esta identidad:">
+
+<!ENTITY settingsTab.label "Configuraciones">
+<!ENTITY copiesFoldersTab.label "Copias &amp; Carpetas">
+<!ENTITY addressingTab.label "Redacción &amp; direcciones">
+
+<!ENTITY publicData.label "Datos públicos">
+<!ENTITY privateData.label "Datos privados">
+<!ENTITY identityAlias.label "Etiqueta de identidad:">
+<!ENTITY identityAlias.accesskey "b">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-im.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-im.dtd
new file mode 100644
index 0000000000..3baba083f0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades de la cuenta">
+<!ENTITY accountWindow.width "300">
+<!ENTITY account.general "General">
+<!ENTITY account.advanced "Opciones avanzadas">
+<!ENTITY account.name "Usuario:">
+<!ENTITY account.password "Contraseña:">
+<!ENTITY account.alias "Alias:">
+<!ENTITY account.newMailNotification "Notificar al recibir nuevos mensajes">
+<!ENTITY account.autojoin "Entrar automáticamente en estos canales:">
+<!ENTITY account.proxySettings.caption "Ajustes de proxy:">
+<!ENTITY account.proxySettings.change.label "Cambiar…">
+<!ENTITY account.proxySettings.change.accessKey "C">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-junk.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-junk.dtd
new file mode 100644
index 0000000000..45f3a94b69
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Ajustes de correo basura">
+<!ENTITY trainingDescription.label "Si se habilita, primero debes entrenar a &brandShortName; para identificar el correo basura usando el botón Basura para marcar los mensajes como basura o no. Necesitas identificar tanto los mensajes que sean basura como los que no lo sean. Después de eso, &brandShortName; podrá marcar la basura automáticamente.">
+<!ENTITY level.label "Habilitar controles adaptativos de correo basura para este cuenta">
+<!ENTITY level.accesskey "E">
+
+<!ENTITY move.label "Mover mensajes nuevos de correo basura a:">
+<!ENTITY move.accesskey "M">
+<!ENTITY junkFolderOn.label "Carpeta de &quot;correo basura&quot; en:">
+<!ENTITY junkFolderOn.accesskey "J">
+<!ENTITY otherFolder.label "Otro:">
+<!ENTITY otherFolder.accesskey "O">
+<!ENTITY purge1.label "Automáticamente eliminar correo basura de más de">
+<!ENTITY purge1.accesskey "u">
+<!ENTITY purge2.label "días">
+
+<!ENTITY whitelistHeader.label "No marcar automáticamente el correo como basura si el remitente está en: ">
+<!ENTITY whitelistHeader.accesskey "D">
+
+<!ENTITY ispHeadersWarning.label "Si se habilita, &brandShortName; considerará automáticamente los mensajes marcados por este clasificador externo como basura.">
+<!ENTITY ispHeaders.label "Confiar en los encabezados de correo basura de: ">
+<!ENTITY ispHeaders.accesskey "T">
+
+<!ENTITY junkClassification.label "Selección">
+<!ENTITY junkActions.label "Destino y retención">
+
+<!ENTITY globalJunkPrefs.label "Preferencias generales de correo basura…">
+<!ENTITY globalJunkPrefs.accesskey "G">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-main.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-main.dtd
new file mode 100644
index 0000000000..aa7ea805f7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-main.dtd
@@ -0,0 +1,49 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-main.xul -->
+
+<!-- extracted from am-main.xhtml -->
+
+<!ENTITY accountTitle.label "Configuración de cuenta">
+<!ENTITY accountName.label "Nombre de la cuenta:">
+<!ENTITY accountName.accesskey "N">
+<!ENTITY identityTitle.label "Identidad predeterminada">
+<!ENTITY identityDesc.label "Cada cuenta tiene una identidad, la cual es la información que otras personas ven cuando leen tus mensajes.">
+<!ENTITY name.label "Tu nombre:">
+<!ENTITY name.accesskey "Y">
+<!ENTITY email.label "Dirección de correo electrónico:">
+<!ENTITY email.accesskey "E">
+<!ENTITY catchAll.label "Responder desde esta identidad cuando los encabezados de entrega coincidan:">
+<!ENTITY catchAll.accesskey "d">
+<!ENTITY replyTo.label "Dirección de respuesta:">
+<!ENTITY replyTo.accesskey "s">
+<!ENTITY replyTo.placeholder "Los destinatarios responderán a esta otra dirección">
+<!ENTITY organization.label "Organización:">
+<!ENTITY organization.accesskey "O">
+<!ENTITY signatureText.label "Texto de la firma:">
+<!ENTITY signatureText.accesskey "x">
+<!ENTITY signatureHtml.label "Usar HTML (ej.: &lt;b&gt;negrita&lt;/b&gt;)">
+<!ENTITY signatureHtml.accesskey "L">
+<!ENTITY signatureFile.label "Adjuntar la firma desde un archivo (texto, HTML o imagen):">
+<!ENTITY signatureFile.accesskey "t">
+<!ENTITY edit.label "Editar…">
+<!ENTITY choose.label "Elegir…">
+<!ENTITY choose.accesskey "C">
+<!ENTITY editVCard.label "Editar tarjeta…">
+<!ENTITY editVCard.accesskey "d">
+<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
+<!ENTITY attachVCard.label "Adjuntar mi vCard a mensajes">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY manageIdentities.label "Administrar identidades…">
+<!ENTITY manageIdentities.accesskey "M">
+
+<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line -->
+<!ENTITY smtpName.label "Servidor saliente (SMTP):">
+<!ENTITY smtpName.accesskey "u">
+<!ENTITY smtpDefaultServer.label "Usar servidor predeterminado">
+
+<!ENTITY smtpServerEdit.label "Editar servidor SMTP…">
+<!ENTITY smtpServerEdit.accesskey "P">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-mdn.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-mdn.dtd
new file mode 100644
index 0000000000..343816330c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Acuses de recibo">
+<!ENTITY useGlobalPrefs.label "Usar mis preferencias globales de retorno de recibos para estar cuenta">
+<!ENTITY useGlobalPrefs.accesskey "U">
+<!ENTITY globalReceipts.label "Preferencias globales…">
+<!ENTITY globalReceipts.accesskey "G">
+<!ENTITY useCustomPrefs.label "Personalizar acuses de recibos para esta cuenta">
+<!ENTITY useCustomPrefs.accesskey "C">
+<!ENTITY requestReceipt.label "Cuando envíes mensajes, siempre solicita un acuse de recibo">
+<!ENTITY requestReceipt.accesskey "W">
+<!ENTITY receiptArrive.label "Cuando un acuse de recibo llegue:">
+<!ENTITY leaveIt.label "Dejarlo en mi bandeja de entrada">
+<!ENTITY leaveIt.accesskey "I">
+<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary -->
+<!ENTITY moveToSent.label "Mover a mi carpeta de &quot;enviados&quot;">
+<!ENTITY moveToSent.accesskey "M">
+<!ENTITY requestMDN.label "Cuando se me solicite un acuse de recibo:">
+<!ENTITY returnSome.label "Permitir regresar recibos para algunos mensajes">
+<!ENTITY returnSome.accesskey "e">
+<!ENTITY never.label "Nunca envíar un acuse de recibo">
+<!ENTITY never.accesskey "N">
+<!ENTITY notInToCc.label "Si no estoy en el A. o Cc: del mensaje:">
+<!ENTITY notInToCc.accesskey "T">
+<!ENTITY outsideDomain.label "Si el remitente está fuera de mi dominio:">
+<!ENTITY outsideDomain.accesskey "s">
+<!ENTITY otherCases.label "En todos los otros casos:">
+<!ENTITY otherCases.accesskey "o">
+<!ENTITY askMe.label "Preguntarme">
+<!ENTITY alwaysSend.label "Siempre enviar">
+<!ENTITY neverSend.label "Nunca enviar">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-mdn.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-mdn.properties
new file mode 100644
index 0000000000..25514196ca
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Acuses de recibo
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-offline.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-offline.dtd
new file mode 100644
index 0000000000..51fb75b4ab
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Para salvar espacio en disco, no descargues:">
+<!ENTITY doNotDownloadNntp.label "Para salvar espacio en disco, no descargues para su uso sin conexión:">
+<!ENTITY doNotDownloadImap.label "Para salvar espacio en disco, descargar mensajes del servidor y mantener copias locales para usar sin conexión puede ser restringido por antigüedad o tamaño.">
+<!ENTITY allFoldersOffline2.label "Mantener mensajes en todas las carpetas para esta cuenta en esta computadora">
+<!ENTITY allFoldersOffline2.accesskey "o">
+<!ENTITY allFoldersOfflineNote.label "Nota: Cambiar esto afecta a todas las carpetas para esta cuenta. Para establecer carpetas individuales, usa el botón de Avanzado…">
+<!ENTITY offlineNotDownload.label "Mensajes más grandes que">
+<!ENTITY offlineNotDownload.accesskey "M">
+<!ENTITY autosyncNotDownload.label "No descargues mensajes más grandes que">
+<!ENTITY autosyncNotDownload.accesskey "m">
+<!ENTITY kb.label "KB">
+<!ENTITY daysOld.label "días de antigüedad">
+<!ENTITY message.label "mensajes">
+<!ENTITY nntpNotDownloadRead.label "Leer mensajes">
+<!ENTITY nntpNotDownloadRead.accesskey "d">
+<!ENTITY nntpDownloadMsg.label "Mensajes más que">
+<!ENTITY nntpDownloadMsg.accesskey "e">
+<!ENTITY retentionCleanup.label "Para recuperar espacio en disco, mensajes antiguos pueden ser permanentemente eliminados.">
+<!ENTITY retentionCleanupImap.label "Para recuperar espacio en disco, mensajes antiguos pueden ser permanentemente eliminados, tanto copias locales como originales en el servidor remoto.">
+<!ENTITY retentionCleanupPop.label "Para recuperar espacio en disco, mensajes antiguos pueden ser permanentemente eliminados, incluyendo originales en el servidor remoto.">
+<!ENTITY retentionKeepMsg.label "Eliminar mensajes de más de">
+<!ENTITY retentionKeepMsg.accesskey "t">
+<!ENTITY retentionKeepAll.label "No borrar ningún mensaje">
+<!ENTITY retentionKeepAll.accesskey "n">
+<!ENTITY retentionKeepRecent.label "Eliminar todo, excepto los más recientes">
+<!ENTITY retentionKeepRecent.accesskey "b">
+<!ENTITY retentionApplyToFlagged.label "Siempre mantener mensajes destacados">
+<!ENTITY retentionApplyToFlagged.accesskey "k">
+<!ENTITY nntpRemoveMsgBody.label "Eliminar cuerpos de los mensajes de más de">
+<!ENTITY nntpRemoveMsgBody.accesskey "o">
+<!ENTITY offlineSelectNntp.label "Seleccionar grupos de noticias para su uso sin conexión…">
+<!ENTITY offlineSelectNntp.accesskey "S">
+<!ENTITY offlineImapAdvancedOffline.label "Avanzado…">
+<!ENTITY offlineImapAdvancedOffline.accesskey "v">
+<!ENTITY syncGroupTitle.label "Sincronización de mensajes">
+<!ENTITY diskspaceGroupTitle.label "Espacio en disco">
+
+<!-- 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 "Sincronizar todos los mensajes localmente sin importar su antigüedad">
+<!ENTITY allAutosync.accesskey "c">
+<!ENTITY ageAutosyncBefore.label "Sincronizar los más recientes">
+<!ENTITY ageAutosync.accesskey "z">
+<!ENTITY ageAutosyncMiddle.label "">
+<!ENTITY dayAgeInterval.label "Días">
+<!ENTITY weekAgeInterval.label "Semanas">
+<!ENTITY monthAgeInterval.label "Meses">
+<!ENTITY yearAgeInterval.label "Años">
+<!ENTITY ageAutosyncAfter.label "">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-server-advanced.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-server-advanced.dtd
new file mode 100644
index 0000000000..123d6ff4d0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Ajuste de cuenta avanzados">
+<!-- LOCALIZATION NOTE (serverDirectory.label): Do not translate "IMAP" -->
+<!ENTITY serverDirectory.label "Directorio del servidor IMAP:">
+<!ENTITY serverDirectory.accesskey "d">
+<!ENTITY usingSubscription.label "Mostrar sólo las carpetas suscritas">
+<!ENTITY usingSubscription.accesskey "w">
+<!ENTITY dualUseFolders.label "El servidor soporta carpetas que contienen sub-carpetas y mensajes">
+<!ENTITY dualUseFolders.accesskey "f">
+<!ENTITY maximumConnectionsNumber.label "Número máximo de conexiones del servidor a caché">
+<!ENTITY maximumConnectionsNumber.accesskey "M">
+<!-- LOCALIZATION NOTE (namespaceDesc.label): Do not translate "IMAP" -->
+<!ENTITY namespaceDesc.label "Estas preferencias especifican los espacios de nombres en tu servidor IMAP">
+<!ENTITY personalNamespace.label "Espacio de nombres personal:">
+<!ENTITY personalNamespace.accesskey "P">
+<!ENTITY publicNamespace.label "Público (compartido):">
+<!ENTITY publicNamespace.accesskey "u">
+<!ENTITY otherUsersNamespace.label "Otros usuarios:">
+<!ENTITY otherUsersNamespace.accesskey "O">
+<!ENTITY overrideNamespaces.label "Permitir que el servidor reemplace estos espacios de nombres">
+<!ENTITY overrideNamespaces.accesskey "A">
+<!ENTITY pop3DeferringDesc.label "Cuando se descargue correo desde esta cuenta del servidor, usa la siguiente carpeta para almacenar nuevos mensajes:" >
+<!ENTITY accountInbox.label "Bandeja de entrada para esta cuenta">
+<!ENTITY accountInbox.accesskey "s">
+<!ENTITY deferToServer.label "Bandeja de entrada para diferente cuenta">
+<!ENTITY deferToServer.accesskey "d">
+<!ENTITY deferGetNewMail.label "Incluir este servidor al recibir correo nuevo">
+<!ENTITY deferGetNewMail.accesskey "I">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-server-top.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-server-top.dtd
new file mode 100644
index 0000000000..2ee21c9f7d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Almacenamiento de mensajes">
+<!ENTITY securitySettings.label "Ajustes de seguridad">
+<!ENTITY serverSettings.label "Ajustes del servidor">
+<!ENTITY serverType.label "Tipo de servidor:">
+<!ENTITY serverName.label "Nombre del servidor:">
+<!ENTITY serverName.accesskey "S">
+<!ENTITY userName.label "Nombre de usuario:">
+<!ENTITY userName.accesskey "N">
+<!ENTITY port.label "Puerto:">
+<!ENTITY port.accesskey "P">
+<!ENTITY serverPortDefault.label "Predeterminado:">
+<!-- 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 "Revisar si hay nuevos mensajes cada ">
+<!ENTITY biffStart.accesskey "y">
+<!ENTITY biffEnd.label "minutos">
+<!ENTITY useIdleNotifications.label "Permitir al servidor notificaciones automáticas cuando lleguen nuevos mensajes">
+<!ENTITY useIdleNotifications.accesskey "w">
+<!ENTITY connectionSecurity.label "Seguridad de la conexión:">
+<!ENTITY connectionSecurity.accesskey "u">
+<!ENTITY connectionSecurityType-0.label "Ninguna">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, si está disponible">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY authMethod.label "Método de autenticación:">
+<!ENTITY authMethod.accesskey "i">
+<!ENTITY leaveOnServer.label "Dejar mensajes en el servidor">
+<!ENTITY leaveOnServer.accesskey "g">
+<!ENTITY headersOnly.label "Obtener solo encabezados">
+<!ENTITY headersOnly.accesskey "e">
+<!ENTITY deleteByAgeFromServer.label "Durante">
+<!ENTITY deleteByAgeFromServer.accesskey "o">
+<!ENTITY daysEnd.label "días">
+<!ENTITY deleteOnServer2.label "Hasta que los elimine">
+<!ENTITY deleteOnServer2.accesskey "d">
+<!ENTITY downloadOnBiff.label "Automáticamente descargar nuevos mensajes">
+<!ENTITY downloadOnBiff.accesskey "m">
+<!ENTITY deleteMessagePrefix.label "Cuando elimine un mensaje:">
+<!ENTITY modelMoveToTrash.label "Mover a esta carpeta:">
+<!ENTITY modelMoveToTrash.accesskey "o">
+<!ENTITY modelMarkDeleted.label "Marcar como eliminado">
+<!ENTITY modelMarkDeleted.accesskey "k">
+<!ENTITY modelDeleteImmediately.label "Eliminar inmediatamente">
+<!ENTITY modelDeleteImmediately.accesskey "d">
+<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY expungeOnExit.label "Limpiar (&quot;el contenido&quot;) de la bandeja de entrada al salir">
+<!ENTITY expungeOnExit.accesskey "E">
+<!ENTITY emptyTrashOnExit.label "Vaciar papelera al salir">
+<!ENTITY emptyTrashOnExit.accesskey "x">
+<!ENTITY loginAtStartup.label "Comprobar si hay mensajes nuevos al iniciar">
+<!ENTITY loginAtStartup.accesskey "C">
+<!-- LOCALIZATION NOTE (maxMessagesStart.label) : translate below 2 lines with grammar dependency
+ maxMessengerStart.label will be followed by maxMessagesEnd.label with the number
+ of messages between them
+-->
+<!ENTITY maxMessagesStart.label "Pregúntame antes de descargar más que">
+<!ENTITY maxMessagesStart.accesskey "m">
+<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
+<!ENTITY maxMessagesEnd.label "mensajes">
+<!ENTITY alwaysAuthenticate.label "Siempre solicitar auntenticación cuando se conecte a este servidor">
+<!ENTITY alwaysAuthenticate.accesskey "w">
+<!ENTITY newsrcFilePath1.label "Archivo News.rc:">
+<!ENTITY newsrcPicker1.label "Selecciona el archivo News.rc">
+<!ENTITY abbreviate.label "Mostrar los nombres de los grupos de noticias en la carpeta de correo como:">
+<!ENTITY abbreviateOn.label "Nombres completos (Por ejemplo, 'netscape.public.mozilla.mail-news')">
+<!ENTITY abbreviateOff.label "Nombres abreviados (Por ejemplo, 'n.p.m.mail-news')">
+<!ENTITY advancedButton.label "Avanzado…">
+<!ENTITY advancedButton.accesskey "v">
+<!ENTITY serverDefaultCharset2.label "Codificación de texto predeterminada:">
+<!ENTITY localPath1.label "Directorio local:">
+<!ENTITY localFolderPicker.label "Seleccionar directorio local">
+<!ENTITY browseFolder.label "Navegar…">
+<!ENTITY browseFolder.accesskey "B">
+<!ENTITY browseNewsrc.label "Navegar…">
+<!ENTITY browseNewsrc.accesskey "e">
+
+<!ENTITY accountTitle.label "Ajustes de la cuenta">
+<!ENTITY accountSettingsDesc.label "La siguiente es una cuenta especial. No hay identidades asociadas.">
+<!ENTITY storeType.label "Tipo de almacenamiento de mensajes:">
+<!ENTITY storeType.accesskey "T">
+<!ENTITY mboxStore2.label "Archivo por carpeta (mbox)">
+<!ENTITY maildirStore.label "Archivo por mensaje (maildir)">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-serverwithnoidentities.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..25d0d10c53
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nombre de la cuenta:">
+<!ENTITY accountName.accesskey "N">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-smime.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-smime.dtd
new file mode 100644
index 0000000000..b91cbbeb98
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Encriptado de punta a punta">
+<!ENTITY e2eLearnMore.label "Saber más">
+
+<!ENTITY e2eEnc.description "Sin encriptamiento de punta a punta, el contenido de los mensajes se expone fácilmente a tu proveedor de correo electrónico y a la vigilancia masiva.">
+
+<!ENTITY e2eTechPref.description "Tecnología de cifrado preferida:">
+
+<!ENTITY encryptionCert2.message "Certificado personal para encriptado:">
+<!ENTITY digitalSign.certificate.button "Seleccionar…">
+<!ENTITY digitalSign.certificate.accesskey "S">
+<!ENTITY digitalSign.certificate_clear.button "Limpiar">
+<!ENTITY digitalSign.certificate_clear.accesskey "C">
+<!ENTITY encryption.certificate.button "Seleccionar…">
+<!ENTITY encryption.certificate.accesskey "t">
+<!ENTITY encryption.certificate_clear.button "Limpiar">
+<!ENTITY encryption.certificate_clear.accesskey "e">
+<!ENTITY signingGroupTitle.label "Firma digital">
+
+<!ENTITY signingCert2.message "Certificado personal para firma digital:">
+
+<!ENTITY sendingDefaults.label "Configuración predeterminada para envío de mensajes">
+
+<!ENTITY technologyAutomatic.label "Seleccionar automáticamente según las claves o certificados disponibles">
+
+<!ENTITY certificates2.label "S/MIME">
+<!ENTITY manageCerts3.label "Administrar certificados S/MIME">
+<!ENTITY manageCerts3.accesskey "M">
+<!ENTITY manageDevices2.label "Dispositivos de seguridad S/MIME">
+<!ENTITY manageDevices2.accesskey "y">
+
+<!ENTITY technologySMIME.label "Preferir S/MIME">
+<!ENTITY technologyOpenPGP.label "Preferir OpenPGP">
+
+<!ENTITY openpgpKeys.label "OpenPGP">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "Seleccionar certificado">
+<!ENTITY certPicker.info "Certificado:">
+<!ENTITY certPicker.detailsLabel "Detalles del certificado seleccionado:">
+
+<!ENTITY openpgpKey.message "Clave personal para encriptación y firma digital:">
+<!ENTITY openpgpKey.button "Establecer clave personal…">
+<!ENTITY openpgpKey.accesskey "o">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-smime.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-smime.properties
new file mode 100644
index 0000000000..a7d8502129
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/am-smime.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## S/MIME error strings.
+## Note to localization: %S is a placeholder
+NoSenderSigningCert=Pediste firmar digitalmente este mensaje, pero la aplicación no pudo encontrar el certificado que especificaste para firmar en tus preferencias de cuenta de Correo/Noticias o el certificado ha expirado.
+NoSenderEncryptionCert=Pediste cifrar este mensaje, pero la aplicación no pudo encontrar el certificado de cifrado que especificaste en tus preferencias de cuenta de Correo/Noticias o el certificado ha expirado.
+MissingRecipientEncryptionCert=Pediste cifrar este mensaje, pero la aplicación no pudo encontrar un certificado de cifrado para %S.
+ErrorEncryptMail=No se pudo cifrar el mensaje. Verifica que tienes un certificado válido de correo para cada destino y que los certificados especificados en las opciones de cuentas de correo y noticias para esta cuenta de correo son válidos y de confianza.
+ErrorCanNotSignMail=No se pudo firmar el mensaje. Verifica que los certificados especificados en las opciones de cuentas de correo y noticias para esta cuenta de correo son válidos y de confianza.
+
+NoSigningCert=El administrador de certificados no puede localizar un certificado válido que pueda ser utilizado para firmar digitalmente tus mensajes.
+NoSigningCertForThisAddress=El administrador de certificados no pudo localizar un certificado válido que pueda ser usado para firmar digitalmente tus mensajes con una dirección de <%S>.
+NoEncryptionCert=El administrador de certificados no puede localizar un certificado válido que otras personas puedan usar para enviarte mensajes cifrados.
+NoEncryptionCertForThisAddress=El administrador de certificados no pudo localizar un certificado válido que otras personas pueden usar para enviarte mensajes de correo electrónico a la dirección <%S>.
+
+encryption_needCertWantSame=Deberías especificar también un certificado para que lo usen otras personas cuando te envíen mensajes cifrados. ¿Quieres utilizar el mismo certificado para cifrar y descrifrar mensajes que lleguen?
+encryption_wantSame=¿Quieres utilizar el mismo certificado para cifrar y descifrar mensajes que lleguen?
+encryption_needCertWantToSelect=Deberías especificar también un certificado para que lo usen otras personas cuando te envíen mensajes cifrados. ¿Quieres configurar ahora un certificado de cifrado?
+signing_needCertWantSame=Deberías especificar también un certificado para firmar digitalmente tus mensajes. ¿Quieres utilizar el mismo certificado para firmar digitalmente tus mensajes?
+signing_wantSame=¿Quieres usar el mismo certificado para digitalizar tu firma en los mensajes?
+signing_needCertWantToSelect=También deberías especificar un certificado para usar tu firma digital en los mensajes. ¿Quieres configurar un certificado para digitalizar tu firma en los mensajes ahora?
+
+## Strings used by nsMsgComposeSecure
+mime_smimeEncryptedContentDesc=Mensaje encriptado S/MIME
+mime_smimeSignatureContentDesc=Firma criptográfica S/MIME
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=Expedido a:
+CertInfoIssuedBy=Expedido por:
+CertInfoValid=Válido
+CertInfoFrom=de
+CertInfoTo=a
+CertInfoPurposes=Propósitos
+CertInfoEmail=Correo electrónico
+CertInfoStoredIn=Almacenado en:
+NicknameExpired=(expirado)
+NicknameNotYetValid=(no válido aún)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/appUpdate.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/appUpdate.properties
new file mode 100644
index 0000000000..0f7e341419
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Está disponible una nueva actualización de %S.
+# LOCALIZATION NOTE (updateAvailableMessage): %S will be replaced with brandShortName
+updateAvailableMessage=Actualiza tu %S para obtener lo más reciente en velocidad y privacidad.
+updateAvailablePrimaryButtonLabel=Descargar actualización
+updateAvailablePrimaryButtonAccessKey=D
+updateAvailableSecondaryButtonLabel=Ahora no
+updateAvailableSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateManualTitle): %S will be replaced with brandShortName
+updateManualTitle=%S no se puede actualizar a la última versión.
+# LOCALIZATION NOTE (updateManualMessage): %S will be replaced with brandShortName
+updateManualMessage=Descarga una copia nueva de %S y te ayudaremos a instalarlo.
+# LOCALIZATION NOTE (updateManualPrimaryButtonLabel): %S will be replaced with brandShortName
+updateManualPrimaryButtonLabel=Descargar %S
+updateManualPrimaryButtonAccessKey=D
+updateManualSecondaryButtonLabel=Ahora no
+updateManualSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateUnsupportedTitle): %S will be replaced with brandShortName
+updateUnsupportedTitle=No es posible actualizar %S a la última versión.
+# LOCALIZATION NOTE (updateUnsupportedMessage): %S will be replaced with brandShortName
+updateUnsupportedMessage=Tu sistema no soporta la última versión de %S.
+updateUnsupportedPrimaryButtonLabel=Saber más
+updateUnsupportedPrimaryButtonAccessKey=L
+updateUnsupportedSecondaryButtonLabel=Cerrar
+updateUnsupportedSecondaryButtonAccessKey=C
+
+# LOCALIZATION NOTE (updateRestartTitle): %S will be replaced with brandShortName
+updateRestartTitle=Reinicia para actualizar %S.
+# LOCALIZATION NOTE (updateRestartMessage): %S will be replaced with brandShortName
+updateRestartMessage=Después de un reinicio rápido, %S restaurará todas las pestañas y ventanas abiertas.
+updateRestartPrimaryButtonLabel=Reiniciar
+updateRestartPrimaryButtonAccessKey=R
+updateRestartSecondaryButtonLabel=Ahora no
+updateRestartSecondaryButtonAccessKey=N
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/appleMailImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..291262810f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/appleMailImportMsgs.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/.
+
+# Short name of import module
+ApplemailImportName=Apple Mail
+
+# Description of import module
+ApplemailImportDescription=Importar correo local desde Mac OS X Mail
+
+# Success Message
+# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below.
+ApplemailImportMailboxSuccess=Mensajes locales fueron importados exitosamente de %S
+
+# Error Message
+ApplemailImportMailboxBadparam=Un error interno ha ocurrido. Importación fallida. Intenta importar nuevamente.
+
+# Error message
+# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
+ApplemailImportMailboxConverterror=Un error ha ocurrido mientras se importaban mensajes de %S. Lo mensajes no fueron importados.
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/baseMenuOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..f31d66885a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Ayuda">
+<!ENTITY helpMenu.accesskey "H">
+<!-- LOCALIZATION NOTE some localizations of Windows use "?"
+ for the help button in the menubar but Gnome does not. -->
+<!ENTITY helpMenuWin.label "Ayuda">
+<!ENTITY helpMenuWin.accesskey "H">
+<!ENTITY aboutProduct2.label "Acerca de &brandShorterName;">
+<!ENTITY aboutProduct2.accesskey "A">
+<!ENTITY productHelp.label "Ayuda de &brandShortName;">
+<!ENTITY productHelp.accesskey "H">
+
+<!ENTITY productHelp.commandkey "VK_F1">
+<!ENTITY productHelpMac.commandkey "?">
+<!ENTITY productHelpMac.modifiers "accel">
+
+<!ENTITY helpKeyboardShortcuts.label "Atajos de teclado">
+<!ENTITY helpKeyboardShortcuts.accesskey "K">
+
+<!ENTITY helpFeedbackPage.label "Enviar opinión…">
+<!ENTITY helpFeedbackPage.accesskey "S">
+
+<!ENTITY helpShowTour2.label "Recorrido por &brandShorterName;">
+<!ENTITY helpShowTour2.accesskey "o">
+
+<!ENTITY helpGetInvolvedPage.label "Involucrarme">
+<!ENTITY helpGetInvolvedPage.accesskey "I">
+
+<!ENTITY helpDonationsPage.label "Hacer una donación">
+<!ENTITY helpDonationsPage.accesskey "M">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/beckyImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/beckyImportMsgs.properties
new file mode 100644
index 0000000000..63b1ace467
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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! Correo de Internet
+
+# Description of import module
+BeckyImportDescription=Importar correo local de Becky! correo de Internet
+
+# Success Message
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+# The variable %S will contain the name of the Mailbox
+BeckyImportMailboxSuccess=Se importaron los mensajes locales satisfactoriamente de %S.
+
+BeckyImportAddressSuccess=Libreta de direcciones importada
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/charsetTitles.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/charsetTitles.properties
new file mode 100644
index 0000000000..0ff4ef7b7f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Centroeuropeo (ISO-8859-2)
+iso-8859-3.title = Sudeuropeo (ISO-8859-3)
+iso-8859-4.title = Báltico (ISO-8859-4)
+iso-8859-10.title = Nórdico (ISO-8859-10)
+iso-8859-13.title = Báltico (ISO-8859-13)
+iso-8859-14.title = Céltico (ISO-8859-14)
+iso-8859-15.title = Occidental (ISO-8859-15)
+iso-8859-16.title = Rumano (ISO-8859-16)
+windows-1250.title = Centroeuropeo (Windows-1250)
+windows-1252.title = Occidental (Windows-1252)
+windows-1254.title = Turco (Windows-1254)
+windows-1257.title = Báltico (Windows-1257)
+macintosh.title = Occidental (MacRoman)
+x-mac-ce.title = Centroeuropeo (MacCE)
+x-mac-turkish.title = Turco (MacTurkish)
+x-mac-croatian.title = Croata (MacCroatian)
+x-mac-romanian.title = Rumano (MacRomanian)
+x-mac-icelandic.title = Islandés (MacIcelandic)
+iso-2022-jp.title = Japonés (ISO-2022-JP)
+shift_jis.title = Japonés (Shift_JIS)
+euc-jp.title = Japonés (EUC-JP)
+big5.title = Chino tradicional (Big5)
+big5-hkscs.title = Chino tradicional (Big5-HKSCS)
+gb2312.title = Chino simplificado (GB2312)
+gbk.title = Chino simplificado (GBK)
+euc-kr.title = Coreano (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 = Cirílico (ISO-8859-5)
+windows-1251.title = Cirílico (Windows-1251)
+x-mac-cyrillic.title = Cirílico (MacCyrillic)
+x-mac-ukrainian.title = Cirílico/Ucraniano (MacUkrainian)
+koi8-r.title = Cirílico (KOI8-R)
+koi8-u.title = Cirílico/Ucraniano (KOI8-U)
+iso-8859-7.title = Griego (ISO-8859-7)
+windows-1253.title = Griego (Windows-1253)
+x-mac-greek.title = Griego (MacGreek)
+windows-1258.title = Vietnamita (Windows-1258)
+windows-874.title = Tailandés (Windows-874)
+iso-8859-6.title = Arábigo (ISO-8859-6)
+iso-8859-8.title = Hebreo visual (ISO-8859-8)
+iso-8859-8-i.title = Hebreo (ISO-8859-8-I)
+windows-1255.title = Hebreo (Windows-1255)
+windows-1256.title = Arábigo (Windows-1256)
+x-user-defined.title = Usuario definido
+ibm866.title = Cirílico/Ruso (CP-866)
+gb18030.title = Chino simplificado (GB18030)
+x-mac-arabic.title = Arábigo (MacArabic)
+x-mac-farsi.title = Persa (MacFarsi)
+x-mac-hebrew.title = Hebreo (MacHebrew)
+x-mac-devanagari.title = Hindú (MacDevanagari)
+x-mac-gujarati.title = Guyaratí (MacGujarati)
+x-mac-gurmukhi.title = Gurmukhi (MacGurmukhi)
+
+chardet.off.title = (Apagado)
+chardet.universal_charset_detector.title = Universal
+chardet.ja_parallel_state_machine.title = Japonés
+chardet.ko_parallel_state_machine.title = Coreano
+chardet.zhtw_parallel_state_machine.title = Chino tradicional
+chardet.zhcn_parallel_state_machine.title = Chino simplificado
+chardet.zh_parallel_state_machine.title = Chino
+chardet.cjk_parallel_state_machine.title = Asiático oriental
+chardet.ruprob.title = Ruso
+chardet.ukprob.title = Ucraniano
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/chat.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/chat.dtd
new file mode 100644
index 0000000000..24157e0041
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Contactos en línea">
+<!ENTITY offlineContactsHeader.label "Contactos desconectados">
+<!ENTITY conversationsHeader.label "Conversaciones">
+<!ENTITY searchResultConversation.label "Resultados de busqueda">
+<!ENTITY chat.noConv.title "Las conversaciones se desplegaran aqui.">
+<!ENTITY chat.noConv.description "Usar la lista de contactors en el panel a la izquierda para iniciar una conversación.">
+<!ENTITY chat.noPreviousConv.description "&brandShortName; no tiene ninguna conversación almacenada de este contacto.">
+<!ENTITY chat.noAccount.title "Aún no has establecido una cuenta de chat.">
+<!ENTITY chat.noAccount.description "Dejar que &brandShortName; te guíe a través del proceso de configurar tu cuenta de chat.">
+<!ENTITY chat.accountWizard.button "Comenzar">
+<!ENTITY chat.noConnectedAccount.title "Tus cuentas de chat no estan conectadas.">
+<!ENTITY chat.noConnectedAccount.description "Puedes conectarlas desde el cuadro de diálogo 'Estado de chat':">
+<!ENTITY chat.showAccountManager.button "Mostrar el estado del chat">
+
+<!ENTITY chat.participants "Participantes:">
+<!ENTITY chat.previousConversations "Conversaciones anteriores:">
+<!ENTITY chat.ongoingConversation "Conversación en el momento">
+
+<!ENTITY openConversationCmd.label "Iniciar una conversación">
+<!ENTITY openConversationCmd.accesskey "c">
+<!ENTITY closeConversationCmd.label "Cerrar conversación">
+<!ENTITY closeConversationCmd.accesskey "C">
+<!ENTITY aliasCmd.label "Renombrar">
+<!ENTITY aliasCmd.accesskey "R">
+<!ENTITY deleteCmd.label "Eliminar contacto">
+<!ENTITY deleteCmd.accesskey "v">
+
+<!ENTITY openConversationButton.tooltip "Iniciar una conversación">
+<!ENTITY closeConversationButton.tooltip "Cerrar conversación">
+
+<!ENTITY addBuddyButton.label "Agregar contacto">
+<!ENTITY joinChatButton.label "Unirse al chat">
+<!ENTITY chatAccountsButton.label "Mostrar cuentas">
+
+<!ENTITY status.available "Disponible">
+<!ENTITY status.unavailable "No disponible">
+<!ENTITY status.offline "Sin conexión">
+
+<!ENTITY openLinkCmd.label "Abrir enlace…">
+<!ENTITY openLinkCmd.accesskey "O">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/chat.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/chat.properties
new file mode 100644
index 0000000000..d9c597655c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/chat.properties
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chatTabTitle=Chat
+goBackToCurrentConversation.button=Regresar a la conversación actual
+# LOCALIZATION NOTE (startAConversationWith.button):
+# %S is replaced with the display name of a contact.
+startAConversationWith.button=Iniciar una conversación con %S
+
+# LOCALIZATION NOTE (defaultGroup):
+# this is used in the addBuddies dialog if the list of existing groups is empty
+defaultGroup=Contactos
+
+# 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 quiere chatear contigo
+buddy.authRequest.allow.label=Permitir
+buddy.authRequest.allow.accesskey=A
+buddy.authRequest.deny.label=Denegar
+buddy.authRequest.deny.accesskey=D
+
+## LOCALIZATION NOTE (buddy.verificationRequest):
+# Strings used in a notification bar at the top of the chat tab when someone
+# sends a verification request for end-to-end encryption keys.
+# %S is replaced with the display name of the user or, if this is to verify a
+# session of yourself, a string that identifies the session.
+buddy.verificationRequest.label=%S quiere verificar las identidades de los demás
+buddy.verificationRequest.allow.label=Iniciar verificación
+buddy.verificationRequest.allow.accesskey=S
+buddy.verificationRequest.deny.label=Denegar
+buddy.verificationRequest.deny.accesskey=D
+
+# LOCALIZATION NOTE (buddy.deletePrompt.title):
+# %S here will be replaced by the alias (or username) of a buddy about
+# to be removed from the buddy list.
+buddy.deletePrompt.title=¿Eliminar a %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 será eliminado permanentemente de tu lista de amigos %2$S si continúas.
+
+# 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=&Eliminar
+
+displayNameEmptyText=Nombre mostrado
+userIconFilePickerTitle=Seleccionar el nuevo ícono…
+
+# 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á escribiendo…
+chat.hasStoppedTyping=ha dejado de escribir.
+# 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á escribiendo.
+chat.contactHasStoppedTyping=%S ha dejado de escribir.
+
+# LOCALIZATION NOTE (unknownCommand):
+# This is shown when an unknown command (/foo) is attempted. %S is the command.
+unknownCommand=%S no es un comando soportado. Escribe /help para ver la lista de comandos.
+
+#LOCALIZATION NOTE
+# These are special entries in the log tree for the corresponding days.
+log.today=Hoy
+log.yesterday=Ayer
+
+#LOCALIZATION NOTE
+# These are special groups in the log tree for the last 3-7 days and
+# the last 8-14 days.
+log.currentWeek=Esta semana
+log.previousWeek=La semana pasada
+
+# 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=Nuevo mensaje de chat
+
+#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… (y #1 más mensajes);%1$S… (y #1 más mensajes)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/configEditorOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/configEditorOverlay.dtd
new file mode 100644
index 0000000000..3d78799d68
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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/es-MX/chrome/es-MX/locale/es-MX/messenger/converterDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/converterDialog.dtd
new file mode 100644
index 0000000000..2a91ee7fcf
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Convertidor de tipo de almacenamiento de mensaje">
+<!ENTITY converterDialog.continueButton "Continuar">
+<!ENTITY converterDialog.cancelButton "Cancelar">
+<!ENTITY converterDialog.finishButton "Finalizar">
+<!ENTITY converterDialog.complete "La conversión está completa, &brandShortName; se reiniciará.">
+<!ENTITY converterDialog.error "La conversión ha fallado.">
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/converterDialog.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/converterDialog.properties
new file mode 100644
index 0000000000..961b3e0063
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Los mensajes en la cuenta %1$S no se convertirán al formato %2$S. %3$S se reiniciará después de que la conversión esté completa.
+
+# 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=Convirtiendo la cuenta %1$S a %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á diferido a %2$S. Las cuentas diferidas a %3$S: %4$S. Los mensajes en las cuentas %5$S ahora se convertirán al formato %6$S. %7$S se reiniciará después que la conversión esté completa.
+
+# 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=Cuentas diferidas a %1$S: %2$S. Los mensajes en las cuentas %3$S no se convertirán al formato %4$S. %5$S se reiniciará después de que la conversión esté completa.
+
+# 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=Convirtiendo las cuentas %1$S a %2$S…
+
+# LOCALIZATION NOTE (converterDialog.percentDone):
+# %1$S will be replaced by the percentage of conversion that is complete.
+converterDialog.percentDone=%1$S%% hecho
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/custom.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/custom.properties
new file mode 100644
index 0000000000..497b31a526
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=El encabezado introducido contiene un caracter, tal como ';', un caracter no imprimible, un caracter que no es ascii, o un caracter ascii de ocho bits. Por favor, elimina el caracter inválido y vuelve a intentarlo.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/customizeToolbar.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/customizeToolbar.dtd
new file mode 100644
index 0000000000..0b9a9bb414
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Personalizar barra de herramientas">
+<!ENTITY dialog.dimensions "width: 92ch; height: 36em;">
+<!ENTITY instructions.description "Puedes agregar o eliminar elementos arrastrándolos desde otras barra de herramientas.">
+<!ENTITY show.label "Mostrar:">
+<!ENTITY iconsAndText.label "Íconos y texto">
+<!ENTITY icons.label "Íconos">
+<!ENTITY text.label "Texto">
+<!ENTITY iconsBesideText.label "Íconos a un lado del texto">
+<!ENTITY useSmallIcons.label "Usar íconos pequeños">
+<!ENTITY restoreDefaultSet.label "Restaurar predeterminado">
+<!ENTITY showTitlebar2.label "Barra de título">
+<!ENTITY extraDragSpace2.label "Espacio de arrastre">
+<!ENTITY saveChanges.label "Hecho">
+<!ENTITY undoChanges.label "Deshacer cambios">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/customizeToolbar.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/customizeToolbar.properties
new file mode 100644
index 0000000000..d2d31d2b1c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Nueva barra de herramientas
+enterToolbarName=Ingresar un nombre para esta barra de herramientas:
+enterToolbarDup=Ya existe una barra de herramientas con el nombre “%S”. Por favor, ingrese un nombre diferente.
+enterToolbarBlank=Debes ingresar un nombre para crear una nueva barra de herramientas.
+separatorTitle=Separador
+springTitle=Espacio flexible
+spacerTitle=Espacio
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/downloadheaders.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/downloadheaders.dtd
new file mode 100644
index 0000000000..9256748af0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/downloadheaders.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY all.label "Descargar todos los encabezados">
+<!ENTITY all.accesskey "D">
+
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!ENTITY download.label "Descargar">
+<!ENTITY download.accesskey "o">
+<!--LOCALIZATION NOTE (headers.label): see note for download.label -->
+<!ENTITY headers.label "encabezados">
+<!ENTITY headers.accesskey "h">
+<!ENTITY mark.label "Marcar los encabezados restantes como leídos">
+<!ENTITY mark.accesskey "M">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/editContactOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/editContactOverlay.dtd
new file mode 100644
index 0000000000..668a7fb98d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Eliminar">
+<!ENTITY editContactPanelDeleteContact.accesskey "l">
+
+<!ENTITY editContactName.label "Nombre:">
+<!ENTITY editContactName.accesskey "N">
+
+<!ENTITY editContactEmail.label "Correo electrónico:">
+<!ENTITY editContactEmail.accesskey "E">
+
+<!ENTITY editContactAddressBook.label "Libreta de direcciones:">
+<!ENTITY editContactAddressBook.accesskey "A">
+
+<!ENTITY editContactPanelDone.label "Hecho">
+<!ENTITY editContactPanelDone.accesskey "D">
+
+<!ENTITY contactMoveDisabledWarning.description "No puedes cambiar la libreta de direcciones porque el contacto está en una lista de correo.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/editContactOverlay.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/editContactOverlay.properties
new file mode 100644
index 0000000000..f4c1ef218f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Editar contacto
+viewTitle=Ver contacto
+
+editDetailsLabel=Editar detalles
+editDetailsAccessKey=t
+viewDetailsLabel=Ver detalles
+viewDetailsAccessKey=t
+
+deleteContactTitle=Eliminar contacto
+deleteContactMessage=¿Estás seguro que quieres eliminar este contacto?
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/fieldMapImport.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/fieldMapImport.dtd
new file mode 100644
index 0000000000..1e21f085d1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Siguiente">
+<!ENTITY fieldMapImport.next.accesskey "N">
+<!ENTITY fieldMapImport.previous.label "Anterior">
+<!ENTITY fieldMapImport.previous.accesskey "P">
+<!ENTITY fieldMapImport.text "Usa subir y bajar para elegir el orden los campos de la libreta de direcciones de la izquierda para importar en la parte derecha. Desmarca los elementos que no quieras importar.">
+<!ENTITY fieldMapImport.up.label "Subir">
+<!ENTITY fieldMapImport.up.accesskey "U">
+<!ENTITY fieldMapImport.down.label "Bajar">
+<!ENTITY fieldMapImport.down.accesskey "D">
+<!ENTITY fieldMapImport.fieldListTitle "Campos de la libreta de direcciones">
+<!ENTITY fieldMapImport.dataTitle "Registros de datos a importar">
+<!ENTITY fieldMapImport.skipFirstRecord.label "Primer registro contiene nombres de campo">
+<!ENTITY fieldMapImport.skipFirstRecord.accessKey "F">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/filter.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/filter.properties
new file mode 100644
index 0000000000..66406ba728
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/filter.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/.
+
+mustSelectFolder=Debes seleccionar una carpeta de destino.
+enterValidEmailAddress=Ingresa una dirección de correo válida a quien reenviar.
+pickTemplateToReplyWith=Elegir una plantilla para responder.
+mustEnterName=Debes darle un nombre a este filtro.
+cannotHaveDuplicateFilterTitle=Nombre de filtro duplicado
+cannotHaveDuplicateFilterMessage=El nombre del filtro que has ingresado ya existen. Por favor, ingresa un filtro con otro nombre.
+mustHaveFilterTypeTitle=No has seleccionado un evento filtrado
+mustHaveFilterTypeMessage=Tienes que seleccionar por lo menos un evento cuando se ha aplicado este filtro. Si no deseas ejecutar cualquier filtro durante cualquier evento, desmarca su estado activado del dialogo de los filtros de mensajes.
+deleteFilterConfirmation=¿Estás seguro que quieres eliminar el/los filtros seleccionado(s)?
+matchAllFilterName=Coincidir todos los mensajes
+filterListBackUpMsg=Tus filtros no funcionan porque el archivo msgFilterRules.dat, que contiene tus filtros, no se puede leer. Se creará un nuevo archivo msgFilterRules.dat y se hará una copia del antiguo en el mismo directorio, llamado rulesbackup.dat.
+customHeaderOverflow=Excediste el límite de 50 encabezados personalizados. Por favor, elimina una o más encabezados personalizados y vuelve a intentarlo.
+filterCustomHeaderOverflow=Tus filtros han excedido el límite de 50 encabezados personalizados. Por favor, edita el archivo msgFilterRules.dat, que contiene tus filtros, para utilizar menos encabezados personalizados.
+invalidCustomHeader=Uno de tus filtros utiliza un encabezado personalizado que contiene un caracter no válido, tal como ':', un caracter no imprimible, un caracter no-ASCII o un caracter con el octavo bit activado. Por favor, edita el archivo msgFilterRules.dat, que contiene tus filtros, para eliminar los caracteres no válidos de tus encabezados personalizados.
+continueFilterExecution=Ha fallado la aplicación del filtro %S. ¿Quieres continuar aplicando filtros?
+promptTitle=Ejecutando filtros
+promptMsg=En este momento estás procesando el filtrado de mensajes.\n¿Quieres continuar aplicando filtros?
+stopButtonLabel=Detener
+continueButtonLabel=Continuar
+# LOCALIZATION NOTE(cannotEnableIncompatFilter)
+# %S=the name of the application
+cannotEnableIncompatFilter=Este filtro fue probablemente creado por una versión de %S nueva o incompatible. No se puede habilitar este filtro porque no sabemos cómo aplicarlo.
+dontWarnAboutDeleteCheckbox=No me preguntes de nuevo
+# LOCALIZATION NOTE(copyToNewFilterName)
+# %S=the name of the filter that is being copied
+copyToNewFilterName=Copia de %S
+# LOCALIZATION NOTE(contextPeriodic.label): Semi-colon list of plural forms.
+# #1=the number of minutes
+contextPeriodic.label=Periódicamente, cada minuto; Periódicamente, cada #1 minutos
+
+# LOCALIZATION NOTE(filterFailureWarningPrefix)
+# %1$S=filter error action
+# %2$S=error code as hexadecimal string.
+filterFailureWarningPrefix=Falló el filtro: "%1$S" con código de error=%2$S mientras se intentaba:
+filterFailureSendingReplyError=Ocurrió un error mientras se enviaba la respuesta
+filterFailureSendingReplyAborted=Falló el envío de la respuesta
+filterFailureMoveFailed=Falló al mover
+filterFailureCopyFailed=Falló la copia
+
+filterFailureAction=Error al aplicar la acción de filtro
+
+searchTermsInvalidTitle=Buscar términos inválidos
+# LOCALIZATION NOTE(searchTermsInvalidRule)
+# %1$S=search attribute name from the invalid rule
+# %2$S=search operator from the bad rule
+searchTermsInvalidRule=Este filtro no puede guardarse porque el término de búsqueda "%1$S %2$S" no es válido en el contexto actual.
+# LOCALIZATION NOTE(filterActionOrderExplanation)
+# Keep the \n\n that mean 2 linebreaks.
+filterActionOrderExplanation=Cuando un mensaje coincida con este filtro, las acciones se ejecutarán en este orden:\n\n
+filterActionOrderTitle=Orden real de acciones
+## 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 de %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 ítem; #1 ítems
+# for junk mail logging / mail filter logging
+# LOCALIZATION NOTE(junkLogDetectStr)
+# %1$S=author, %2$S=subject, %3$S=date
+junkLogDetectStr=Mensaje basura eliminado desde %1$S - %2$S a %3$S
+# LOCALIZATION NOTE(logMoveStr)
+# %1$S=message id, %2$S=folder URI
+logMoveStr=id de mensaje movido = %1$S a %2$S
+# LOCALIZATION NOTE(logCopyStr)
+# %1$S=message id, %2$S=folder URI
+logCopyStr=id de mensaje copiado = %1$S a %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=Mensaje del filtro "%1$S": %2$S
+# LOCALIZATION NOTE(filterLogDetectStr)
+# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date
+filterLogDetectStr=Filtro aplicado "%1$S" al mensaje desde %2$S - %3$S a %4$S
+filterMissingCustomAction=Falta de acción personalizada
+filterAction2=prioridad cambiada
+filterAction3=eliminado
+filterAction4=marcar como leído
+filterAction5=hilo eliminado
+filterAction6=hilo visto
+filterAction7=destacado
+filterAction8=etiquetado
+filterAction9=respondido
+filterAction10=reenviado
+filterAction11=ejecución detenida
+filterAction12=eliminado del servidor POP3
+filterAction13=dejado en servidor POP3
+filterAction14=puntuación de spam
+filterAction15=cuerpo descargado de servidor POP3
+filterAction16=copiado a la carpeta
+filterAction17=etiquetado
+filterAction18=subhilo ignorado
+filterAction19=marcado como no leído
+# 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/es-MX/chrome/es-MX/locale/es-MX/messenger/folderProps.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderProps.dtd
new file mode 100644
index 0000000000..ee6c6a010b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades">
+
+<!ENTITY generalInfo.label "Información general">
+<!ENTITY folderRebuildSummaryFileTip2.label "Reconstruir índice de archivo de resumen">
+<!ENTITY folderRebuildSummaryFile2.label "Reparar carpeta">
+<!ENTITY folderRebuildSummaryFile2.accesskey "R">
+<!ENTITY folderRebuildSummaryFile.explanation "A veces el archivo de índice de carpetas (.msf) se daña y pueden desaparecer mensajes o pueden seguir mostrándose mensajes borrados; reparar la carpeta puede corregir estos problemas.">
+<!ENTITY folderIncludeInGlobalSearch.label "Incluir mensajes en esta carpeta en los resultados de búsqueda global">
+<!ENTITY folderIncludeInGlobalSearch.accesskey "G">
+
+<!ENTITY retention.label "Política de retención">
+<!ENTITY retentionUseAccount.label "Usar mi configuración de cuenta">
+<!ENTITY retentionUseAccount.accesskey "U">
+<!ENTITY daysOld.label "días">
+<!ENTITY message.label "mensajes">
+<!ENTITY retentionCleanup.label "Para recuperar espacio en disco, los mensajes antiguos serán permanentemente eliminados.">
+<!ENTITY retentionCleanupImap.label "Para recuperar espacio en disco, los mensajes antiguos serán permanentemente eliminados, tanto copias locales como los originales en el servidor remoto.">
+<!ENTITY retentionCleanupPop.label "Para recuperar espacio en disco, los mensajes antiguos serán permanentemente eliminados, incluyendo los originales en el servidor remoto.">
+<!ENTITY retentionDeleteMsg.label "Eliminar mensajes de más de">
+<!ENTITY retentionDeleteMsg.accesskey "m">
+<!ENTITY retentionKeepAll.label "No eliminar ningún mensaje">
+<!ENTITY retentionKeepAll.accesskey "A">
+<!ENTITY retentionKeepRecent.label "Eliminar todo excepto lo más reciente">
+<!ENTITY retentionKeepRecent.accesskey "l">
+<!ENTITY retentionApplyToFlagged.label "Siempre mantener mensajes destacados">
+<!ENTITY retentionApplyToFlagged.accesskey "e">
+
+<!ENTITY folderSynchronizationTab.label "Sincronización">
+<!ENTITY folderCheckForNewMessages2.label "Cuando se estén obteniendo nuevos mensajes para esta cuenta, siempre revisar esta carpeta">
+<!ENTITY folderCheckForNewMessages2.accesskey "c">
+
+<!ENTITY offlineFolder.check.label "Seleccionar esta carpeta para su uso sin conexión">
+<!ENTITY offlineFolder.check.accesskey "S">
+<!ENTITY offlineFolder.button.label "Descargar ahora">
+<!ENTITY offlineFolder.button.accesskey "D">
+
+<!ENTITY selectofflineNewsgroup.check.label "Seleccionar este grupo de noticias para su uso sin conexión">
+<!ENTITY selectofflineNewsgroup.check.accesskey "o">
+<!ENTITY offlineNewsgroup.button.label "Descargar ahora">
+<!ENTITY offlineNewsgroup.button.accesskey "D">
+
+<!ENTITY folderProps.name.label "Nombre:">
+<!ENTITY folderProps.name.accesskey "N">
+<!ENTITY folderProps.color.label "Color del ícono:">
+<!ENTITY folderProps.color.accesskey "I">
+<!ENTITY folderProps.reset.tooltip "Restaurar color predeterminado">
+<!ENTITY folderProps.location.label "Ubicación:">
+<!ENTITY folderProps.location.accesskey "L">
+
+<!ENTITY folderSharingTab.label "Compartir">
+<!ENTITY privileges.button.label "Privilegios…">
+<!ENTITY privileges.button.accesskey "P">
+<!ENTITY permissionsDesc.label "Tienes los siguientes permisos:">
+<!ENTITY folderOtherUsers.label "Otros con acceso a esta carpeta:">
+<!ENTITY folderType.label "Tipo de carpeta:">
+
+<!ENTITY folderQuotaTab.label "Cuota">
+<!ENTITY folderQuotaUsage.label "Uso:">
+<!ENTITY folderQuotaStatus.label "Estado:">
+
+<!ENTITY numberOfMessages.label "Número de mensajes:">
+<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number -->
+<!ENTITY numberUnknown.label "desconocido">
+<!ENTITY sizeOnDisk.label "Tamaño del disco:">
+<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size -->
+<!ENTITY sizeUnknown.label "desconocido">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderWidgets.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderWidgets.properties
new file mode 100644
index 0000000000..2f5b00f0a6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Bandeja de entrada global (%S)
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S en %2$S
+chooseFolder=Elegir carpeta…
+chooseAccount=Elegir cuenta…
+noFolders=No hay carpetas dispomibles
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderpane.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/folderpane.dtd
new file mode 100644
index 0000000000..be00eef00e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nombre">
+<!ENTITY unreadColumn.label "Sin leer">
+<!ENTITY totalColumn.label "Total">
+<!ENTITY folderSizeColumn.label "Tamaño">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/gloda.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/gloda.properties
new file mode 100644
index 0000000000..464502935d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Cuenta
+gloda.message.attr.account.includeLabel=almacenada en cualquiera de:
+gloda.message.attr.account.excludeLabel=no almacenada en:
+gloda.message.attr.account.remainderLabel=otras cuentas:
+gloda.message.attr.account.mustMatchLabel=debe estar en #1
+gloda.message.attr.account.cantMatchLabel=no puede estar en #1
+
+# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in
+# which the message is stored.
+gloda.message.attr.folder.facetNameLabel=Carpeta
+gloda.message.attr.folder.includeLabel=almacenada en cualquiera de:
+gloda.message.attr.folder.excludeLabel=no almacenada en:
+gloda.message.attr.folder.remainderLabel=otras carpetas:
+gloda.message.attr.folder.mustMatchLabel=debe estar en #1
+gloda.message.attr.folder.cantMatchLabel=no puede estar en #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 mi parte
+
+# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.toMe.facetNameLabel=A mi
+
+# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.involves.facetNameLabel=Gente
+gloda.message.attr.involves.includeLabel=involucrando cualquiera de:
+gloda.message.attr.involves.excludeLabel=no involucrando:
+gloda.message.attr.involves.remainderLabel=otros participantes:
+gloda.message.attr.involves.mustMatchLabel=debe contener #1
+gloda.message.attr.involves.cantMatchLabel=no puede contener #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=Fecha
+
+# 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=Adjuntos
+
+# 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=Lista de correo
+gloda.message.attr.mailing-list.noneLabel=Ninguno
+gloda.message.attr.mailing-list.includeLabel=recibido en cualquiera de:
+gloda.message.attr.mailing-list.excludeLabel=no recibido en ninguna de:
+gloda.message.attr.mailing-list.remainderLabel=otras listas de correo:
+gloda.message.attr.mailing-list.mustMatchLabel=debe estar en #1
+gloda.message.attr.mailing-list.cantMatchLabel=no puede estar en #1
+gloda.message.attr.mailing-list.mustMatchSomeLabel=debe estar en una lista de correo
+gloda.message.attr.mailing-list.mustMatchNoneLabel=no puede estar en una lista de correo
+
+# 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=Etiquetas
+gloda.message.attr.tag.noneLabel=Ninguna
+gloda.message.attr.tag.includeLabel=etiquetado cualquiera de:
+gloda.message.attr.tag.excludeLabel=sin etiquetar:
+gloda.message.attr.tag.remainderLabel=otras etiquetas:
+gloda.message.attr.tag.mustMatchLabel=debe estar etiquetado #1
+gloda.message.attr.tag.cantMatchLabel=no puede estar etiquetado #1
+gloda.message.attr.tag.mustMatchSomeLabel=debe estar etiquetado
+gloda.message.attr.tag.mustMatchNoneLabel=no puede estar etiquetado
+
+# 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=Destacados
+
+# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has
+# read the message or not.
+gloda.message.attr.read.facetNameLabel=Leídos
+
+# 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=Responder a
+
+# 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=Reenviados
+
+# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME
+# types defined in MimeTypeCategories to labels.
+# LOCALIZATION NOTE (gloda.mimetype.category.archives.label): Archive is
+# referring to things like zip files, tar files, tar.gz files, etc.
+gloda.mimetype.category.archives.label=Archivos
+gloda.mimetype.category.documents.label=Documentos
+gloda.mimetype.category.images.label=Imágenes
+# 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=Multimedia (audio, video)
+gloda.mimetype.category.pdf.label=Archivos 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=Otros
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaComplete.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaComplete.properties
new file mode 100644
index 0000000000..d57db9cb72
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Mensajes etiquetados: #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=Mensajes mencionados: #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=Mensajes mencionados: #1
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaFacetView.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaFacetView.dtd
new file mode 100644
index 0000000000..a94ab61ecd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Filtros">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.loading.label): Label that appears when
+ the search results take a long time to appear. -->
+<!ENTITY glodaFacetView.loading.label "Buscando&#8230;">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.empty.label): Label that appears when
+ there are no results that match the search query. -->
+<!ENTITY glodaFacetView.empty.label "No hay mensajes que coincidan con tu búsqueda">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.pageMore.label): Label at the bottom
+ of the results list to show more hits. -->
+<!ENTITY glodaFacetView.pageMore.label "Más &#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 "Mostrar resultados como lista">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.tooltip):
+ The tooltip to display when hovering over the openEmailAsList label. -->
+<!ENTITY glodaFacetView.openEmailAsList.tooltip "Mostrar todos los mensajes de correo electrónico de la vista activa en una nueva pestaña">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaFacetView.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/glodaFacetView.properties
new file mode 100644
index 0000000000..2d25cf4928
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Buscar
+
+# 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=Buscar
+
+# 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=Resultados para:
+
+# 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=Buscar para #1
+glodaFacetView.constraints.query.fulltext.andJoinWord=y
+glodaFacetView.constraints.query.fulltext.orJoinWord=o
+
+# 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=Buscando mensajes
+
+# 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=involucrando #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=etiquetado:
+
+
+# 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=Listar todo #1;Listar todo #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=incluyendo algo de esto:
+# 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=excluyendo:
+# 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=otro:
+
+# 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=debe coincidir #1
+glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel=no puede tener un valor
+
+# 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=no puede coincidir #1
+glodaFacetView.facets.mustMatchSomeLabel.fallbackLabel=debe tener un valor
+
+# 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=eliminar restricción
+glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel=eliminar restricción
+
+# 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=Vacío
+
+# LOCALIZATION NOTE (glodaFacetView.facets.filter.attachmentTypes.allLabel):
+# The label to use when all types of attachments are being displayed.
+glodaFacetView.facets.filter.attachmentTypes.allLabel=Cualquier tipo
+
+# 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=para:
+
+# 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=(sin asunto)
+
+# 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=de #1;de #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=Alternar línea de tiempo
+# 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=Ordenar por relevancia
+# 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=Ordenar por fecha
+
+# 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=, y #1 otro;, y #1 otros
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imAccountWizard.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imAccountWizard.dtd
new file mode 100644
index 0000000000..ab7c962d5c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Asistente de cuenta de chat">
+
+<!ENTITY accountProtocolTitle.label "Red de chat">
+<!ENTITY accountProtocolInfo.label "Por favor, elige la red de tu cuenta de chat.">
+<!ENTITY accountProtocolField.label "Red:">
+<!ENTITY accountProtocolGetMore.label "Obtener más…">
+
+<!ENTITY accountUsernameTitle.label "Nombre de usuario">
+<!ENTITY accountUsernameDuplicate.label "¡Esta cuenta ya está configurada!">
+
+<!ENTITY accountPasswordTitle.label "Contraseña">
+<!ENTITY accountPasswordInfo.label "Por favor, ingresa tu contraseña en el cuadro de texto siguiente.">
+<!ENTITY accountPasswordField.label "Contraseña:">
+<!ENTITY accountPasswordManager.label "La contraseña ingresada será almacenada en el administrador de contraseña. Deja este espacio vacío si quieres que tu contraseña ser solicitada cada vez que te conectes a tu cuenta.">
+
+<!ENTITY accountAdvancedTitle.label "Opciones avanzadas">
+<!ENTITY accountAdvancedInfo.label "Siéntete libre de saltarte este paso si quieres.">
+<!ENTITY accountAdvanced.newMailNotification.label "Notificar sobre nuevos mensajes">
+<!ENTITY accountAliasGroupbox.caption "Alias local">
+<!ENTITY accountAliasField.label "Alias:">
+<!ENTITY accountAliasInfo.label "Esto solamente se mostrará durante las conversiones que tengas, los contactos no lo verán.">
+<!ENTITY accountProxySettings.caption "Configuración del proxy">
+<!ENTITY accountProxySettings.change.label "Cambiar…">
+<!ENTITY accountProxySettings.change.accessKey "C">
+
+<!ENTITY accountSummaryTitle.label "Resumen">
+<!ENTITY accountSummaryInfo.label "Un resumen de la información que ingresaste se mostrará a continuación. Por favor, revísala antes de que la cuenta sea creada.">
+<!ENTITY accountSummary.connectNow.label "Conectar esta cuenta ahora.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imAccounts.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imAccounts.properties
new file mode 100644
index 0000000000..50491607e8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Opciones de %S
+accountUsername=Nombre de usuario:
+# 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=Por favor, ingresa el nombre de usuario para tu cuenta de %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=Por favor, ingresa el nombre de usuario (%1$S) para cuenta de %2$S.
+
+# LOCALIZATION NOTE (account.connection.error):
+# %S is the error message.
+account.connection.error=Error: %S
+# LOCALIZATION NOTE (account.connection.errorUnknownPrpl)
+# %S is the id (not very user friendly; hence the quotes) of the missing plugin.
+account.connection.errorUnknownPrpl=No hay un plugin para el protocolo '%S'.
+account.connection.errorEnteringPasswordRequired=Se necesita una contraseña para conectar a esta cuenta.
+account.connection.errorCrashedAccount=Un error ha ocurrido mientras se conectada a esta cuenta.
+# LOCALIZATION NOTE (account.connection.progress):
+# %S is a message indicating progress of the connection process
+account.connection.progress=Conectando: %S…
+account.connecting=Conectando…
+account.connectedForSeconds=Conectado por unos segundos.
+# 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=Conectado por %1$S %2$S y %3$S %4$S.
+account.connectedForSingle=Conectado por cerca de %1$S %2$S.
+account.reconnectInDouble=Reconexión in %1$S %2$S y %3$S %4$S.
+account.reconnectInSingle=Reconexión en %1$S %2$S.
+
+requestAuthorizeTitle=Solicitud de autorización
+# LOCALIZATION NOTE (requestAuthorizeAllow, requestAuthorizeDeny):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+requestAuthorizeAllow=&Permitir
+requestAuthorizeDeny=&Denegar
+# LOCALIZATION NOTE (requestAuthorizeText):
+# %S is a contact username.
+requestAuthorizeText=%S te ha agregado a su lista de amigos, ¿deseas permitirle que te vea?
+
+accountsManager.notification.button.accessKey=C
+accountsManager.notification.button.label=Conectar ahora
+accountsManager.notification.userDisabled.label=Deshabilitaste conexiones automáticas.
+accountsManager.notification.safeMode.label=La configuración de conexión automática ha sido ignorada porque la aplicación está actualmente ejecutándose en modo seguro.
+accountsManager.notification.startOffline.label=La configuración de conexión automática ha sido ignorada porque la aplicación inició en modo sin conexión.
+accountsManager.notification.crash.label=La última ejecución falló inesperadamente mientras se conectada. Las conexiones automáticas han sido deshabilitadas para darte la oportunidad de editar tu configuración.
+# 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=Una sesión anterior terminó repentinamente al conectarse con una cuenta nueva o editada. No ha sido conectada de modo que puedas editar su configuración,;Una sesión anterior terminó repentinamente al conectar #1 nuevas cuentas o editadas. Estas cuentas no fueron conectadas de modo que se pueda editar la configuración.
+accountsManager.notification.other.label=La conexión automática ha sido deshabilitada.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imapMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imapMsgs.properties
new file mode 100644
index 0000000000..5c3214c6fd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/imapMsgs.properties
@@ -0,0 +1,268 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the imap code to display progress/status/error messages
+#
+
+#LOCALIZATION NOTE(imapAlertDialogTile): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+imapAlertDialogTitle=Alerta para la %S
+
+# Status - opening folder
+imapStatusSelectingMailbox=Abriendo carpeta %S…
+
+# Status - create folder
+imapStatusCreatingMailbox=Creando carpeta…
+
+# 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=Eliminando carpeta %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=Renombrando carpeta %S…
+
+# Status - looking for mailboxes
+imapStatusLookingForMailbox=Buscando carpetas…
+
+# 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=Suscribiéndose a la carpeta %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=Eliminando suscripción de la carpeta %S…
+
+# Status - searching imap folder
+imapStatusSearchMailbox=Buscando carpeta…
+
+# Status - closing a folder
+imapStatusCloseMailbox=Cerrando carpeta…
+
+# Status - compacting a folder
+imapStatusExpungingMailbox=Compactando carpeta…
+
+# Status - logging out
+imapStatusLoggingOut=Saliendo…
+
+# Status - checking server capabilities
+imapStatusCheckCompat=Comprobando las características del servidor de correo…
+
+# Status - logging on
+imapStatusSendingLogin=Enviando información de inicio de sesión…
+
+# Status - auth logon
+imapStatusSendingAuthLogin=Enviando información de inicio de sesión…
+
+imapDownloadingMessage=Descargando mensaje…
+
+# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below.
+imapGettingACLForFolder=Obteniendo carpeta ACL…
+
+imapGettingServerInfo=Obteniendo información de la configuración del servidor…
+
+imapGettingMailboxInfo=Obteniendo información de la configuración del buzón…
+
+imapEmptyMimePart=Esta parte del cuerpo del mensaje se descargará bajo demanda.
+
+# 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=Descargando encabezado del mensaje %1$S de %2$S en %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=Descargando bandera de mensaje %1$S de %2$S en %3$S…
+
+imapDeletingMessages=Eliminando mensajes…
+
+imapDeletingMessage=Eliminando mensaje…
+
+# 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=Moviendo mensaje a %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=Moviendo mensaje a %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=Copiando mensajes a %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=Copiando mensaje a %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=Descargando mensaje %1$S de %2$S en %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=Encontrada la carpeta: %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=Ingresa tu contraseña para %1$S en %2$S:
+
+# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below.
+imapServerNotImap4=El servidor de correo %S no es un servidor de correo 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=Ingresa tu contraseña para %1$S
+
+imapUnknownHostError=Ha fallado al conectar al servidor %S.
+imapOAuth2Error=Autenticación fallada mientras se conectaba al servidor %S.
+
+imapConnectionRefusedError=No se pudo conectar al servidor de correo %S; la conexión fue rechazada.
+
+imapNetTimeoutError=La conexión al servidor %S se terminó.
+
+imapTlsError=Hubo un error de TLS que no puede ser anulado. Error de negociación o probablemente la versión del certificado usado por el servidor %S sea incompatible.
+
+# Status - no messages to download
+imapNoNewMessages=No hay nuevos mensajes en el servidor.
+
+imapDefaultAccountName=Correo para %S
+
+imapSpecialChar2=El caracter %S está reservado en este servidor imap. Elige otro nombre.
+
+imapPersonalSharedFolderTypeName=Carpeta personal
+
+imapPublicFolderTypeName=Carpeta pública
+
+imapOtherUsersFolderTypeName=Otros usuarios de la carpeta
+
+imapPersonalFolderTypeDescription=Esta es una carpeta de correo personal. No está compartida.
+
+imapPersonalSharedFolderTypeDescription=Esta es una carpeta de correo personal. Ha sido compartida.
+
+imapPublicFolderTypeDescription=Esta es una carpeta pública.
+
+imapOtherUsersFolderTypeDescription=Esta es una carpeta de correo compartida por el usuario '%S'.
+
+imapAclFullRights=Control total
+
+imapAclLookupRight=Buscar
+
+imapAclReadRight=Leer
+
+imapAclSeenRight=Establecer estado leído/no leído
+
+imapAclWriteRight=Escribir
+
+imapAclInsertRight=Insertar (copiar en)
+
+imapAclPostRight=Publicar
+
+imapAclCreateRight=Crear subcarpeta
+
+imapAclDeleteRight=Eliminar mensajes
+
+imapAclAdministerRight=Administrar carpeta
+
+imapServerDoesntSupportAcl=Este servidor no soporta carpetas compartidas.
+
+imapAclExpungeRight=Borrar
+
+imapServerDisconnected= El servidor %S se ha desconectado. El servidor puede tener algún problema o pudo ser un problema con la red.
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder.
+imapSubscribePrompt=¿Te gustaría suscribirte a %1$S?
+
+imapServerDroppedConnection=Imposible conectarse al servidor IMAP. Puedes haber excedido número máximo \
+de conexiones a este servidor. Si es así, usa la opción de configuración avanzada de Servidor IMAP para \
+reducir el número de conexiones realizadas.
+
+# 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=La información de cuota no está disponible porque la carpeta no está abierta.
+
+# The imap capability response reports that QUOTA is not supported.
+imapQuotaStatusNotSupported=Este servidor no soporta cuotas.
+
+# The getqutaroot command succeeded but reported no quota information.
+imapQuotaStatusNoQuota2=Esta carpeta no da información de cuota.
+
+# Folder properties were requested by the user (right-click) before the getquotaroot
+# command was sent.
+imapQuotaStatusInProgress=Información de cuota aún no disponible.
+
+# Out of memory
+imapOutOfMemory=La aplicación se ha quedado sin memoria.
+
+# 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=Copiando mensaje %1$S de %2$S a %3$S…
+
+# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapMoveFolderToTrash=¿Estás seguro que quieres eliminar la carpeta '%S'?
+
+# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapDeleteNoTrash=Eliminar esta carpeta no se podrá deshacer y eliminará todos los mensajes que contenga y sus subcarpetas. ¿Seguro que deseas eliminar la carpeta '%S'?
+
+imapDeleteFolderDialogTitle=Eliminar carpeta
+
+imapDeleteFolderButtonLabel=&Eliminar carpeta
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainSSL=El servidor IMAP %S no parece soportar contraseñas cifradas. Si acabas de configurar esta cuenta, intenta cambiar a 'Contraseña normal' el 'Método de autenticación' en 'Configuración de cuenta | Configuración del servidor'. Si solía funcionar y ahora de repente falla, contacta a tu administrador o proveedor de correo electrónico.
+
+# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname
+imapAuthChangePlainToEncrypt=El servidor IMAP %S no permite contraseñas en texto plano. Intenta cambiar a 'Contraseña cifrada' el 'Método de autenticación' en 'Configuración de cuenta |Configuración del servidor'.
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainNoSSL=El servidor IMAP %S parece no soportar contraseñas cifradas. Si acabas de configurar esta cuenta, intenta cambiar a 'Contraseña, trasmitida inseguramente' como 'Método de autenticación' en 'Configuración de cuenta | Configuración del servidor'. Si solía funcionar y ahora de repente falla, es un escenario común sobre como alguien puede robarte tu contraseña.
+
+# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
+imapAuthMechNotSupported=El servidor IMAP %S no soporta el método de autenticación seleccionado. Cambia el 'Método de autenticación' en 'Configuración de cuenta | Configuración del servidor'.
+
+# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
+imapAuthGssapiFailed=El ticket Kerberos/GSSAPI no fue aceptado por el servidor IMAP %S. Verifica que iniciaste sesión en 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=El comando actual no tuvo éxito. El servidor de correo para la cuenta %1$S respondió: %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=La operación actual en '%2$S' no tuvo éxito. El servidor de correo para la cuenta %1$S respondió: %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=Alerta desde la cuenta %1$S: %2$S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/importDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/importDialog.dtd
new file mode 100644
index 0000000000..696bdd736b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Importar">
+<!ENTITY importAll.label "Importar todo">
+<!ENTITY importAll.accesskey "E">
+<!ENTITY importMail.label "Correo">
+<!ENTITY importMail.accesskey "M">
+<!ENTITY importFeeds.label "Suscripciones a canales">
+<!ENTITY importFeeds.accesskey "d">
+<!ENTITY importAddressbook.label "Libretas de direcciones">
+<!ENTITY importAddressbook.accesskey "A">
+<!ENTITY importSettings.label "Configuración">
+<!ENTITY importSettings.accesskey "S">
+<!ENTITY importFilters.label "Filtros">
+<!ENTITY importFilters.accesskey "F">
+
+<!ENTITY importTitle.label "Asistente de importación de &brandShortName;">
+<!ENTITY importShortDesc.label "Importar correo, libretas de direcciones, configuración y filtros de otros programas">
+
+<!ENTITY importDescription1.label "Este asistente importará mensajes de correo, entradas en la libreta de direcciones, suscripciones a canales, preferencias, y/o filtros de otros programas de coreo y formatos comunes de libretas de direcciones a &brandShortName;.">
+<!ENTITY importDescription2.label "Cuando hayan sido importados, podrás acceder a ellos desde &brandShortName;.">
+
+<!ENTITY selectDescription.label "Por favor, seleccionar el tipo de archivo que te gustaría importar:">
+<!ENTITY selectDescriptionB.label "Por favor, selecciona una cuenta existente o crea una nueva cuenta:">
+<!ENTITY selectDescription.accesskey "P">
+<!ENTITY acctName.label "Nombre:">
+<!ENTITY acctName.accesskey "N">
+<!ENTITY noModulesFound.label "No se encontró ninguna aplicación o archivo para importar datos.">
+
+<!ENTITY back.label "&lt; Atrás">
+<!ENTITY forward.label "Siguiente &gt;">
+<!ENTITY finish.label "Finalizar">
+<!ENTITY cancel.label "Cancelar">
+
+<!ENTITY select.label "o selecciona el tipo de material para importar:">
+
+<!ENTITY title.label "Título">
+<!ENTITY processing.label "Importando…">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/importMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/importMsgs.properties
new file mode 100644
index 0000000000..3899544045
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/importMsgs.properties
@@ -0,0 +1,304 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the import code to display status/error
+# and informational messages
+
+# Success message when no address books are found to import
+## @name IMPORT_NO_ADDRBOOKS
+## @loc None
+2000=No se encontraron libretas de direcciones para importar.
+
+# Error: Address book import not initialized
+## @name IMPORT_ERROR_AB_NOTINITIALIZED
+## @loc None
+2001=No se ha podido importar la libreta de direcciones: error de inicialización.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_AB_NOTHREAD
+## @loc None
+2002=Imposible importar la libreta de direcciones: no se pudo crear el hilo de importación.
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_GETABOOK
+## @loc None
+# LOCALIZATION NOTE (Error 2003): Do not translate the word "%S" below.
+2003=Error importando %S: No se pudo crear libreta de direcciones.
+
+# Success message when no mailboxes are found to import
+## @name IMPORT_NO_MAILBOXES
+## @loc None
+2004=No se encontraron buzones a importar
+
+# Error: Mailbox import not initialized
+## @name IMPORT_ERROR_MB_NOTINITIALIZED
+## @loc None
+2005=Imposible importar buzones. Error de inicialización
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_MB_NOTHREAD
+## @loc None
+2006=Imposible importar buzones. No se pudo crear un hilo de proceso para importar
+
+# Error: Unable to create the proxy object for importing mailboxes
+## @name IMPORT_ERROR_MB_NOPROXY
+## @loc None
+2007=Imposible importar buzones, no se pudo crear objetos intermedios para los buzones de destino
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_FINDCHILD
+## @loc None
+# LOCALIZATION NOTE (Error 2008): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2008=Error creando buzones de destino. No se pudo encontrar el buzón %S
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_CREATE
+## @loc None
+# LOCALIZATION NOTE (Error 2009): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2009=Error importando buzón %S. No se ha podido crear un buzón de destino
+
+# Error: No destination folder to import mailboxes
+## @name IMPORT_ERROR_MB_NODESTFOLDER
+## @loc None
+2010=No se ha podido crear una carpeta para importar el correo
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_START
+## @loc None
+2100=Nombre
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2101=Apellido
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2102=Mostrar nombre
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2103=Nombre de usuario
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2104=Correo principal
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2105=Correo secundario
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2106=Teléfono de trabajo
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2107=Teléfono de casa
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2108=Número de fax
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2109=Buscapersonas
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2110=Teléfono celular
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2111=Dirección de casa
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2112=Dirección de casa 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2113=Ciudad actual
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2114=Estado
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2115=Código postal
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2116=País donde vives
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2117=Dirección del trabajo
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2118=Dirección del trabajo 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2119=Ciudad donde trabajas
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2120=Estado donde trabajas
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2121=Código postal de tu trabajo
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2122=País donde trabajas
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2123=Cargo
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2124=Departamento
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2125=Organización
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2126=Página web 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2127=Página web 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2128=Año de nacimiento
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2129=Mes de nacimiento
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2130=Día de nacimiento
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2131=Personalizado 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2132=Personalizado 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2133=Personalizado 3
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2134=Personalizado 4
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2135=Notas
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_END
+## @loc None
+2136=Nombre para mostrar en pantalla
+
+#Error strings
+ImportAlreadyInProgress=Operación de importación en curso. Vuelve a intentarlo cuando la operación actual haya terminado.
+
+#Error strings for settings import
+ImportSettingsBadModule=No se ha podido cargar el módulo de configuración
+ImportSettingsNotFound=No se encontró la configuración. Comprueba que la aplicación está instalada en la computadora.
+ImportSettingsFailed=Un error ha ocurrido mientras se importaba la configuración. Algo o todo de las configuraciones pueden no haber sido importadas.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportSettingsSuccess=Configuraciones fueron importadas desde %S
+
+#Error string for mail import
+ImportMailBadModule=No se pudo cargar el módulo para importar correo
+ImportMailNotFound=No se pudo encontrar correo para importar. Revisa para estar seguro que la aplicación de correo está correctamente instalada en esta máquina.
+ImportEmptyAddressBook=No se pudo importar agenda de direcciones vacía %S.
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailFailed=Ha ocurrido un error importando correo desde %S
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailSuccess=Correo fue exitosamente importado desde %S
+
+# Error string for address import
+ImportAddressBadModule=No se pudo cargar el módulo para importar agenda de direcciones.
+ImportAddressNotFound=No se encontró ningún agenda de direcciones para importar. Comprueba que la aplicación seleccionada está correctamente instalada o que el formato del archivo sea correcto.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressFailed=Un error ha ocurrido importando direcciones desde %S.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressSuccess=Direcciones importadas correctamente desde %S.
+
+# Error string for filters import
+ImportFiltersBadModule=No se puede cargar el módulo de importación de filtros.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersFailed=Un error ha ocurrido importando filtros desde %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersSuccess=Filtros correctamente importados desde %S.
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersPartial=Filtros parcialmente importados desde %S. Advertencias a continuación:
+
+#Progress strings
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MailProgressMeterText=Convirtiendo buzones de correo de %S
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+AddrProgressMeterText=Convirtiendo libretas de direcciones de %S
+
+#Import file dialog strings
+ImportSelectSettings=Selecciona el archivo de configuración
+ImportSelectMailDir=Seleccionar directorio de correo
+ImportSelectAddrDir=Seleccionar directorio de libreta de direcciones
+ImportSelectAddrFile=Seleccionar el archivo de la libreta de direcciones
+
+# Folder Names for imported Mail
+DefaultFolderName=Correo importado
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportModuleFolderName=Importar %S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/joinChat.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/joinChat.dtd
new file mode 100644
index 0000000000..c2865a2f84
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Unirse al chat">
+<!ENTITY name.label "Sala">
+<!ENTITY optional.label "(opcional)">
+<!ENTITY account.label "Cuenta">
+<!ENTITY autojoin.label "Auto-unirse a esta sala de chat">
+<!ENTITY autojoin.accesskey "A">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/junkLog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/junkLog.dtd
new file mode 100644
index 0000000000..10b9e41fb6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Registro de correo basura adaptativo">
+<!ENTITY adaptiveJunkLogInfo.label "Control de actividad del registro del correo basura adaptativo.">
+<!ENTITY clearLog.label "Limpiar registro">
+<!ENTITY clearLog.accesskey "C">
+<!ENTITY closeLog.label "Cerrar">
+<!ENTITY closeLog.accesskey "o">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/localMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/localMsgs.properties
new file mode 100644
index 0000000000..71a0cadf1a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/localMsgs.properties
@@ -0,0 +1,140 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the local mail code to display progress/status/error messages
+#
+
+# LOCALIZATION NOTE(pop3ErrorDialogTitle): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+pop3ErrorDialogTitle=Error con la cuenta %S
+
+# LOCALIZATION NOTE (pop3EnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+pop3EnterPasswordPromptTitleWithUsername=Ingresa tu contraseña para %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=Ingresa tu contraseña para %1$S en %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=Por favor, ingresa una nueva contraseña para el usuario %1$S en %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=Descargando mensaje %1$S de %2$S…
+
+# Status - connecting to host
+hostContact=Servidor contactado, enviando información de conexión…
+
+# Status - no messages to download
+noNewMessages=No hay nuevos mensajes.
+
+# 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=Recibidos %1$S de %2$S mensajes
+
+# 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=Creando archivo de resumen para %S…
+
+# Status - parsing folder
+localStatusDocumentDone=Hecho
+
+# Status - pop3 server error
+#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line.
+pop3ServerError=Se ha producido un error en la conexión con el servidor de correo POP3.
+
+# Status - pop3 user name failed
+pop3UsernameFailure=Envío del nombre de usuario no fue exitoso.
+
+# Status - password failed
+#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below.
+# Place the word %1$S where the user name should appear.
+pop3PasswordFailed=Envío de contraseña para el usuario %1$S no fue exitoso.
+
+# Status - write error occurred
+pop3MessageWriteError=Error al guardar los mensajes de correo. Comprueba que tiene permisos de escritura en el directorio y suficiente espacio en disco.
+
+# Status - retr failure from the server
+pop3RetrFailure=El comando RETR no se completó con éxito. Error al recuperar el mensaje.
+
+# Status - password undefined
+pop3PasswordUndefined=Error obteniendo contraseña de correo.
+
+# Status - username undefined
+pop3UsernameUndefined=No se ha especificado el usuario para este servidor. Por favor, indica uno en el menú de configuración de la cuenta y vuelve a intentarlo.
+
+# Status - list failure
+pop3ListFailure=El comando LIST no se completó con éxito. Error al obtener el ID y tamaño de un mensaje.
+
+# Status - delete error
+pop3DeleFailure=El comando DELE no se completó con éxito. Error al marcar un mensaje como borrado.
+
+# Status - stat failed
+pop3StatFail=El comando STAT no se completó con éxito. Error al obtener el número de mensajes y sus tamaños.
+
+#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
+pop3ServerSaid= El servidor de correo %S respondió:
+
+#LOCALIZATION NOTE (pop3TempServerError): %S is where the POP3 server name will appear.
+pop3TempServerError=Error temporal de %S al recuperan mensajes nuevos. \
+La operación se reintentará en la siguiente comprobación de nuevos mensajes.
+
+copyingMessagesStatus=Copiando mensajes %S de %S a %S
+
+movingMessagesStatus=Moviendo mensajes %S de %S a %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=La cuenta %S está siendo procesada. Espera hasta que se complete el proceso para obtener los mensajes.
+
+pop3TmpDownloadError=Hubo un error descargando el siguiente mensaje: \nDe: %S\n Asunto: %S\n Este mensaje puede contener un virus o no hay espacio suficiente en disco. ¿Omitir este mensaje?
+
+# 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=El servidor de correo POP3 (%S) no soporta UIDL o XTND XLST, que son requeridos para implementar las opciones de ``Dejar en el servidor'', ``Tamaño máximo de mensaje'' o ``Recuperar solamente encabezados''. Para descargar el correo, deshabilita estas opciones en la configuración del servidor para tu servidor de correo en la ventana de Opciones de cuenta.
+
+# 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=El servidor de correo POP3 (%S) no soporta el comando TOP. Sin soporte de servidor para ésto, no podemos implementar las preferencias de ``Tamaño máximo de mensaje'' o ``Recuperar solamente encabezados''. Ésta opción ha sido deshabilitada y los mensajes se descargarán sin importar su tamaño.
+
+nsErrorCouldNotConnectViaTls=No se puede establecer una conexión TLS con el servidor POP3. El servidor puede estar caído o puede estar configurado incorrectamente. Verifica la configuración correcta en las opciones de servidor para tu servidor de correo el la ventana de Configuración de cuenta e intenta nuevamente.
+
+# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+pop3MoveFolderToTrash=¿Estás seguro que quieres eliminar la carpeta '%S'?
+
+pop3DeleteFolderDialogTitle=Eliminar carpeta
+
+pop3DeleteFolderButtonLabel=&Eliminar carpeta
+
+pop3AuthInternalError=Error interno de estado durante autenticación al servidor POP3. Este es un error interno, inesperado en la aplicación, puedes reportarlo como un error.
+
+pop3AuthChangeEncryptToPlainNoSSL=Este servidor POP3 no parece soportar contraseñas cifradas. Si acabas de configurar esta cuenta, intenta cambiar a 'Contraseña, trasmitida inseguramente' como 'Método de autenticación' en 'Configuración de cuenta | Configuración del servidor'. Si solía funcionar y ahora de repente falla, es un escenario común sobre como alguien puede robar tu contraseña.
+
+pop3AuthChangeEncryptToPlainSSL=Este servidor POP3 no parece soportar contraseñas cifradas. Si acabas de configurar esta cuenta, intenta cambiar a 'Contraseña normal' como 'Método de autenticación' en 'Configuración de cuenta | Configuración del servidor'. Si solía funcionar y ahora de repente falla, contacta a su administrador o proveedor de correo electrónico.
+
+pop3AuthChangePlainToEncrypt=Este servidor POP3 no parece soportar contraseñas en texto plano. Intenta cambiar a 'Contraseña cifrada' el 'Método de autenticación' en 'Configuración de cuenta | Configuración del servidor'.
+
+# Authentication server caps and pref don't match
+pop3AuthMechNotSupported=El servidor de correo no soporta el método de autenticación seleccionado. Cambia el 'Método de autenticación' en 'Configuración de cuenta | Configuración del servidor'.
+
+# Status - Could not log in to GSSAPI, and it was the only method
+pop3GssapiFailure=El ticket Kerberos/GSSAPI no fue aceptado por el servidor POP. Verifica que iniciaste sesión en Kerberos/GSSAPI.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailEditorOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..4187a76668
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Enviar página…">
+<!ENTITY sendPage.accesskey "g">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailOverlay.dtd
new file mode 100644
index 0000000000..e6a852116e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Mensaje">
+<!ENTITY newMessageCmd.accesskey "m">
+
+<!ENTITY newContactCmd.label "Contacto de la libreta de direcciones…">
+<!ENTITY newContactCmd.accesskey "C">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailViewList.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailViewList.dtd
new file mode 100644
index 0000000000..0c2ca6c903
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Personalizar las vistas de mensajes">
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailViewSetup.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailViewSetup.dtd
new file mode 100644
index 0000000000..1997350532
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Configuración de vistas de mensajes">
+<!ENTITY mailViewHeading.label "Nombre de la vista de mensajes:">
+<!ENTITY mailViewHeading.accesskey "e">
+<!ENTITY searchTermCaption.label "Cuando se selecciona esta vista, mostrar solo los mensajes que:">
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailviews.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mailviews.properties
new file mode 100644
index 0000000000..ec118e7ea8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Personas que conozco
+mailViewRecentMail=Correo reciente
+mailViewLastFiveDays=Últimos 5 días
+mailViewNotJunk=No basura
+mailViewHasAttachments=Tiene adjuntos
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/markByDate.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/markByDate.dtd
new file mode 100644
index 0000000000..c4b9b00db0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Marcar mensajes como leídos por fecha">
+<!ENTITY markByDateLower.label "Marcar mensajes como leídos de:">
+<!ENTITY markByDateLower.accesskey "F">
+<!ENTITY markByDateUpper.label "A:">
+<!ENTITY markByDateUpper.accesskey "T">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messenger.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messenger.dtd
new file mode 100644
index 0000000000..7622984628
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Carpeta…">
+<!ENTITY newFolderCmd.accesskey "F">
+<!ENTITY closeTabCmd2.label "Cerrar pestaña">
+<!ENTITY closeTabCmd2.accesskey "C">
+<!ENTITY closeOtherTabsCmd2.label "Cerrar las otras pestañas">
+<!ENTITY closeOtherTabsCmd2.accesskey "o">
+<!ENTITY recentlyClosedTabsCmd.label "Pestañas recientemente cerradas">
+<!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 "Mover a ventana nueva">
+<!ENTITY moveToNewWindow.accesskey "W">
+<!ENTITY newVirtualFolderCmd.label "Búsqueda guardada...">
+<!ENTITY newVirtualFolderCmd.accesskey "S">
+<!ENTITY newCreateEmailAccountCmd.label "Obtener una nueva cuenta de correo...">
+<!ENTITY newCreateEmailAccountCmd.accesskey "G">
+<!ENTITY newExistingEmailAccountCmd.label "Cuenta de correo existente...">
+<!ENTITY newExistingEmailAccountCmd.accesskey "E">
+<!ENTITY newIMAccountCmd.label "Cuenta del chat…">
+<!ENTITY newIMAccountCmd.accesskey "C">
+<!ENTITY newFeedAccountCmd.label "Cuenta del canal…">
+<!ENTITY newFeedAccountCmd.accesskey "d">
+<!ENTITY newIMContactCmd.label "Contacto del chat…">
+<!ENTITY newIMContactCmd.accesskey "h">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "Mensaje">
+<!ENTITY newMessageCmd.accesskey "m">
+<!ENTITY newContactCmd.label "Contacto de la libreta de direcciones…">
+<!ENTITY newContactCmd.accesskey "C">
+<!ENTITY openMenuCmd.label "Abrir">
+<!ENTITY openMenuCmd.accesskey "O">
+<!ENTITY openMessageFileCmd.label "Abrir mensaje guardado...">
+<!ENTITY openMessageFileCmd.accesskey "O">
+<!ENTITY saveAsMenu.label "Guardar como">
+<!ENTITY saveAsMenu.accesskey "S">
+<!ENTITY saveAsFileCmd.key "s">
+<!ENTITY saveAsTemplateCmd.label "Plantilla">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY getNewMsgForCmd.label "Obtener mensajes nuevos para">
+<!ENTITY getNewMsgForCmd.accesskey "w">
+<!ENTITY getAllNewMsgCmdPopupMenu.label "Todas las cuentas">
+<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "A">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.label "Cuenta actual">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.accesskey "C">
+<!ENTITY getNextNMsgCmd2.label "Obtener nuevos mensajes siguientes">
+<!ENTITY getNextNMsgCmd2.accesskey "t">
+<!ENTITY sendUnsentCmd.label "Enviar mensajes no enviados">
+<!ENTITY sendUnsentCmd.accesskey "d">
+<!ENTITY subscribeCmd.label "Suscribir…">
+<!ENTITY subscribeCmd.accesskey "b">
+<!ENTITY deleteFolder.label "Eliminar carpeta">
+<!ENTITY deleteFolder.accesskey "e">
+<!ENTITY renameFolder.label "Renombrar carpeta…">
+<!ENTITY renameFolder.accesskey "R">
+<!ENTITY renameFolder.key "VK_F2">
+<!ENTITY compactFolders.label "Carpetas compactas">
+<!ENTITY compactFolders.accesskey "F">
+<!ENTITY emptyTrashCmd.label "Vaciar papelera">
+<!ENTITY emptyTrashCmd.accesskey "y">
+<!ENTITY offlineMenu.label "Sin conexión">
+<!ENTITY offlineMenu.accesskey "I">
+<!ENTITY offlineGoOfflineCmd.label "Trabajar sin conexión">
+<!ENTITY offlineGoOfflineCmd.accesskey "w">
+<!ENTITY synchronizeOfflineCmd.label "Descargar/Sync ahora…">
+<!ENTITY synchronizeOfflineCmd.accesskey "S">
+<!ENTITY settingsOfflineCmd2.label "Configuración sin conexión">
+<!ENTITY settingsOfflineCmd2.accesskey "e">
+<!ENTITY downloadSelectedCmd.label "Obtener mensajes seleccionados">
+<!ENTITY downloadSelectedCmd.accesskey "I">
+<!ENTITY downloadStarredCmd.label "Obtener mensajes destacados">
+<!ENTITY downloadStarredCmd.accesskey "a">
+<!ENTITY printCmd.label "Imprimir…">
+<!ENTITY printCmd.accesskey "P">
+<!ENTITY printCmd.key "p">
+
+<!-- Edit Menu -->
+<!ENTITY deleteMsgCmd.label "Borrar mensaje">
+<!ENTITY deleteMsgCmd.accesskey "D">
+<!ENTITY undeleteMsgCmd.label "Recuperar mensaje eliminado">
+<!ENTITY undeleteMsgCmd.accesskey "d">
+<!ENTITY deleteMsgsCmd.label "Borrar mensajes seleccionados">
+<!ENTITY deleteMsgsCmd.accesskey "D">
+<!ENTITY undeleteMsgsCmd.label "Recuperar mensajes seleccionados">
+<!ENTITY undeleteMsgsCmd.accesskey "d">
+<!ENTITY deleteFolderCmd.label "Eliminar carpeta">
+<!ENTITY deleteFolderCmd.accesskey "D">
+<!ENTITY unsubscribeNewsgroupCmd.label "Cancelar suscripción">
+<!ENTITY unsubscribeNewsgroupCmd.accesskey "b">
+<!ENTITY selectMenu.label "Seleccionar">
+<!ENTITY selectMenu.accesskey "S">
+<!ENTITY all.label "Todas">
+<!ENTITY all.accesskey "A">
+<!ENTITY selectThreadCmd.label "Hilo">
+<!ENTITY selectThreadCmd.accesskey "T">
+<!ENTITY selectThreadCmd.key "a">
+<!ENTITY selectFlaggedCmd.label "Mensajes destacados">
+<!ENTITY selectFlaggedCmd.accesskey "S">
+<!ENTITY menuFavoriteFolder.label "Carpeta de favoritos">
+<!ENTITY menuFavoriteFolder.accesskey "v">
+<!ENTITY folderPropsCmd2.label "Propiedades">
+<!ENTITY folderPropsFolderCmd2.label "Propiedades de la carpeta">
+<!ENTITY folderPropsNewsgroupCmd2.label "Propiedades de grupo de noticias">
+<!ENTITY folderPropsCmd.accesskey "o">
+<!ENTITY undoDeleteMsgCmd.label "Recuperar mensaje eliminado">
+<!ENTITY redoDeleteMsgCmd.label "Rehacer mensaje eliminado">
+<!ENTITY undoMoveMsgCmd.label "Rehacer mensaje movido">
+<!ENTITY redoMoveMsgCmd.label "Rehacer mensaje movido">
+<!ENTITY undoCopyMsgCmd.label "Rehacer mensaje copiado">
+<!ENTITY redoCopyMsgCmd.label "Rehacer mensaje copiado">
+<!ENTITY undoMarkAllCmd.label "Deshacer marcar como leídos">
+<!ENTITY redoMarkAllCmd.label "Rehacer marcar como leídos">
+<!ENTITY undoDefaultCmd.label "Deshacer">
+<!ENTITY undoDefaultCmd.accesskey "U">
+<!ENTITY redoDefaultCmd.label "Rehacer">
+<!ENTITY redoDefaultCmd.accesskey "R">
+
+<!-- View Menu -->
+<!ENTITY menubarCmd.label "Barra de menú">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showMessengerToolbarCmd.label "Barra de herramientas del correo">
+<!ENTITY showMessengerToolbarCmd.accesskey "o">
+<!ENTITY customizeToolbar.label "Personalizar…">
+<!ENTITY customizeToolbar.accesskey "C">
+
+<!ENTITY messagePaneLayoutStyle.label "Diseño">
+<!ENTITY messagePaneLayoutStyle.accesskey "L">
+<!ENTITY messagePaneClassic.label "Vista clásica">
+<!ENTITY messagePaneClassic.accesskey "C">
+<!ENTITY messagePaneWide.label "Vista amplia">
+<!ENTITY messagePaneWide.accesskey "W">
+<!ENTITY messagePaneVertical.label "Vista vertical">
+<!ENTITY messagePaneVertical.accesskey "V">
+<!ENTITY showFolderPaneCmd.label "Panel de la carpeta">
+<!ENTITY showFolderPaneCmd.accesskey "F">
+<!ENTITY showFolderPaneColsCmd.label "Columnas del panel de la carpeta">
+<!ENTITY showFolderPaneColsCmd.accesskey "P">
+<!ENTITY showMessageCmd.label "Panel del mensaje">
+<!ENTITY showMessageCmd.accesskey "M">
+
+<!ENTITY folderView.label "Carpetas">
+<!ENTITY folderView.accesskey "F">
+<!ENTITY unifiedFolders.label "Unificado">
+<!ENTITY unifiedFolders.accesskey "n">
+<!ENTITY allFolders.label "Todas">
+<!ENTITY allFolders.accesskey "A">
+<!ENTITY unreadFolders.label "Sin leer">
+<!ENTITY unreadFolders.accesskey "U">
+<!ENTITY favoriteFolders.label "Favorito">
+<!ENTITY favoriteFolders.accesskey "F">
+<!ENTITY recentFolders.label "Reciente">
+<!ENTITY recentFolders.accesskey "R">
+<!ENTITY compactVersion.label "Vista compacta">
+<!ENTITY compactVersion.accesskey "C">
+
+<!-- Sort Menu -->
+<!ENTITY sortMenu.label "Ordenar por">
+<!ENTITY sortMenu.accesskey "S">
+<!ENTITY sortByDateCmd.label "Fecha">
+<!ENTITY sortByDateCmd.accesskey "e">
+<!ENTITY sortByReceivedCmd.label "Recibido">
+<!ENTITY sortByReceivedCmd.accesskey "v">
+<!ENTITY sortByStarCmd.label "Destacar">
+<!ENTITY sortByStarCmd.accesskey "S">
+<!ENTITY sortByAttachmentsCmd.label "Adjuntos">
+<!ENTITY sortByAttachmentsCmd.accesskey "m">
+<!ENTITY sortByPriorityCmd.label "Prioridad">
+<!ENTITY sortByPriorityCmd.accesskey "P">
+<!ENTITY sortBySizeCmd.label "Tamaño">
+<!ENTITY sortBySizeCmd.accesskey "z">
+<!ENTITY sortByStatusCmd.label "Estado">
+<!ENTITY sortByStatusCmd.accesskey "u">
+<!ENTITY sortByTagsCmd.label "Etiquetas">
+<!ENTITY sortByTagsCmd.accesskey "g">
+<!ENTITY sortByJunkStatusCmd.label "Estado no deseado">
+<!ENTITY sortByJunkStatusCmd.accesskey "J">
+<!ENTITY sortBySubjectCmd.label "Asunto">
+<!ENTITY sortBySubjectCmd.accesskey "b">
+<!ENTITY sortByFromCmd.label "De">
+<!ENTITY sortByFromCmd.accesskey "F">
+<!ENTITY sortByRecipientCmd.label "Destinatario">
+<!ENTITY sortByRecipientCmd.accesskey "c">
+<!ENTITY sortByCorrespondentCmd.label "Corresponsales de">
+<!ENTITY sortByCorrespondentCmd.accesskey "n">
+<!ENTITY sortByUnreadCmd.label "Leer">
+<!ENTITY sortByUnreadCmd.accesskey "R">
+<!ENTITY sortByOrderReceivedCmd.label "Orden recibida">
+<!ENTITY sortByOrderReceivedCmd.accesskey "O">
+<!ENTITY sortAscending.label "Ascendente">
+<!ENTITY sortAscending.accesskey "A">
+<!ENTITY sortDescending.label "Descendente">
+<!ENTITY sortDescending.accesskey "D">
+<!ENTITY sortThreaded.label "Anidado">
+<!ENTITY sortThreaded.accesskey "T">
+<!ENTITY sortUnthreaded.label "Sin anidar">
+<!ENTITY sortUnthreaded.accesskey "h">
+<!ENTITY groupBySort.label "Agrupados por tipo">
+<!ENTITY groupBySort.accesskey "G">
+<!ENTITY msgsMenu.label "Mensajes">
+<!ENTITY msgsMenu.accesskey "M">
+<!ENTITY threads.label "Hilos">
+<!ENTITY threads.accesskey "e">
+<!ENTITY allMsgsCmd.label "Todos">
+<!ENTITY allMsgsCmd.accesskey "A">
+<!ENTITY expandAllThreadsCmd.label "Ampliar todos los hilos">
+<!ENTITY expandAllThreadsCmd.accesskey "E">
+<!ENTITY expandAllThreadsCmd.key "*">
+<!ENTITY collapseAllThreadsCmd.label "Colapsar todos los hilos">
+<!ENTITY collapseAllThreadsCmd.accesskey "C">
+<!ENTITY collapseAllThreadsCmd.key "\">
+<!ENTITY unreadMsgsCmd.label "Sin leer">
+<!ENTITY unreadMsgsCmd.accesskey "U">
+<!ENTITY threadsWithUnreadCmd.label "Hilos con sin leer">
+<!ENTITY threadsWithUnreadCmd.accesskey "T">
+<!ENTITY watchedThreadsWithUnreadCmd.label "Hilos vistos con sin leer">
+<!ENTITY watchedThreadsWithUnreadCmd.accesskey "W">
+<!ENTITY ignoredThreadsCmd.label "Ignorar hilos">
+<!ENTITY ignoredThreadsCmd.accesskey "i">
+
+<!ENTITY headersMenu.label "Encabezados">
+<!ENTITY headersMenu.accesskey "H">
+<!ENTITY headersAllCmd.label "Todos">
+<!ENTITY headersAllCmd.accesskey "A">
+<!ENTITY headersNormalCmd.label "Normal">
+<!ENTITY headersNormalCmd.accesskey "N">
+<!ENTITY bodyMenu.label "Cuerpo del mensaje como">
+<!ENTITY bodyMenu.accesskey "B">
+<!ENTITY bodyAllowHTML.label "HTML original">
+<!ENTITY bodyAllowHTML.accesskey "H">
+<!ENTITY bodySanitized.label "HTML simple">
+<!ENTITY bodySanitized.accesskey "S">
+<!ENTITY bodyAsPlaintext.label "Texto plano">
+<!ENTITY bodyAsPlaintext.accesskey "P">
+<!ENTITY bodyAllParts.label "Todas las partes del cuerpo">
+<!ENTITY bodyAllParts.accesskey "A">
+
+<!ENTITY bodyMenuFeed.label "Cuerpo del mensaje de la noticia como">
+<!ENTITY bodyMenuFeed.accesskey "B">
+<!ENTITY viewFeedWebPage.label "Página web">
+<!ENTITY viewFeedWebPage.accesskey "W">
+<!ENTITY viewFeedSummary.label "Resumen">
+<!ENTITY viewFeedSummary.accesskey "m">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "Formato predeterminado">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "D">
+
+<!ENTITY viewAttachmentsInlineCmd.label "Mostrar datos adjuntos en línea">
+<!ENTITY viewAttachmentsInlineCmd.accesskey "A">
+
+<!ENTITY pageSourceCmd.label "Fuente del mensaje">
+<!ENTITY pageSourceCmd.accesskey "o">
+<!ENTITY pageSourceCmd.key "u">
+<!ENTITY getNewMessagesCmd.key "y">
+<!ENTITY getAllNewMessagesCmd.key "Y">
+
+<!-- Search Menu -->
+<!ENTITY findMenu.label "Buscar">
+<!ENTITY findMenu.accesskey "F">
+<!ENTITY findCmd.label "Buscar en este mensaje…">
+<!ENTITY findCmd.accesskey "F">
+<!ENTITY findCmd.key "f">
+<!ENTITY findAgainCmd.label "Buscar de nuevo">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key "g">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.key "g">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+<!ENTITY searchMailCmd.label "Buscar mensajes…">
+<!ENTITY searchMailCmd.accesskey "M">
+<!ENTITY searchMailCmd.key "f">
+<!ENTITY glodaSearchCmd.label "Búsqueda global…">
+<!ENTITY glodaSearchCmd.accesskey "G">
+<!ENTITY searchAddressesCmd.label "Buscar direcciones…">
+<!ENTITY searchAddressesCmd.accesskey "S">
+
+<!-- Go Menu -->
+<!ENTITY goMenu.label "Ir">
+<!ENTITY goMenu.accesskey "G">
+<!ENTITY nextMenu.label "Siguiente">
+<!ENTITY nextMenu.accesskey "N">
+<!ENTITY nextMsgCmd.label "Mensaje">
+<!ENTITY nextMsgCmd.accesskey "M">
+<!ENTITY nextMsgCmd.key "f">
+<!ENTITY nextUnreadMsgCmd.label "Mensaje sin leer">
+<!ENTITY nextUnreadMsgCmd.accesskey "U">
+<!ENTITY nextUnreadMsgCmd.key "n">
+<!ENTITY nextStarredMsgCmd.label "Mensaje destacado">
+<!ENTITY nextStarredMsgCmd.accesskey "S">
+<!ENTITY nextUnreadThread.label "Hilo sin leer">
+<!ENTITY nextUnreadThread.accesskey "T">
+<!ENTITY nextUnreadThread.key "t">
+<!ENTITY prevMenu.label "Anterior">
+<!ENTITY prevMenu.accesskey "P">
+<!ENTITY prevMsgCmd.label "Mensaje">
+<!ENTITY prevMsgCmd.accesskey "M">
+<!ENTITY prevMsgCmd.key "b">
+<!ENTITY prevUnreadMsgCmd.label "Mensaje sin leer">
+<!ENTITY prevUnreadMsgCmd.accesskey "U">
+<!ENTITY prevUnreadMsgCmd.key "p">
+<!ENTITY goForwardCmd.label "Adelante">
+<!ENTITY goForwardCmd.accesskey "F">
+<!ENTITY goForwardCmd.commandKey "">
+<!ENTITY goBackCmd.label "Atrás">
+<!ENTITY goBackCmd.accesskey "B">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goChatCmd.label "Chat">
+<!ENTITY goChatCmd.accesskey "c">
+<!ENTITY prevStarredMsgCmd.label "Mensaje destacado">
+<!ENTITY prevStarredMsgCmd.accesskey "S">
+<!ENTITY folderMenu.label "Carpeta">
+<!ENTITY folderMenu.accesskey "O">
+<!ENTITY goRecentlyClosedTabs.label "Pestañas cerradas recientemente">
+<!ENTITY goRecentlyClosedTabs.accesskey "R">
+<!ENTITY startPageCmd.label "Página de inicio de correo">
+<!ENTITY startPageCmd.accesskey "S">
+
+<!-- Message Menu -->
+<!ENTITY msgMenu.label "Mensaje">
+<!ENTITY msgMenu.accesskey "M">
+<!ENTITY newMsgCmd.label "Mensaje nuevo">
+<!ENTITY newMsgCmd.accesskey "N">
+<!ENTITY newNewMsgCmd.label "Mensaje">
+<!ENTITY newNewMsgCmd.accesskey "M">
+<!ENTITY archiveMsgCmd.label "Archivo">
+<!ENTITY archiveMsgCmd.accesskey "">
+<!ENTITY archiveMsgCmd.key "a">
+<!ENTITY cancelNewsMsgCmd.label "Cancelar mensaje">
+<!ENTITY cancelNewsMsgCmd.accesskey "C">
+<!ENTITY replyMsgCmd.label "Responder">
+<!ENTITY replyMsgCmd.accesskey "R">
+<!ENTITY replyMsgCmd.key "r">
+<!ENTITY replySenderCmd.label "Responder solo al remitente">
+<!ENTITY replySenderCmd.accesskey "R">
+<!ENTITY replyNewsgroupCmd2.label "Seguimiento al grupo de noticias">
+<!ENTITY replyNewsgroupCmd2.accesskey "u">
+<!ENTITY replyToAllMsgCmd.label "Responder a todos">
+<!ENTITY replyToAllMsgCmd.accesskey "p">
+<!ENTITY replyToAllMsgCmd.key "r">
+<!ENTITY replyToListMsgCmd.label "Responder a todos">
+<!ENTITY replyToListMsgCmd.accesskey "L">
+<!ENTITY replyToListMsgCmd.key "i">
+<!ENTITY forwardMsgCmd.label "Adelante">
+<!ENTITY forwardMsgCmd.accesskey "F">
+<!ENTITY forwardMsgCmd.key "l">
+<!ENTITY forwardAsMenu.label "Reenviar como">
+<!ENTITY forwardAsMenu.accesskey "o">
+<!ENTITY forwardAsInline.label "En línea">
+<!ENTITY forwardAsInline.accesskey "E">
+<!ENTITY forwardAsAttachmentCmd.label "Adjunto">
+<!ENTITY forwardAsAttachmentCmd.accesskey "A">
+<!ENTITY editAsNewMsgCmd.label "Editar como nuevo mensaje">
+<!ENTITY editAsNewMsgCmd.accesskey "E">
+<!ENTITY editAsNewMsgCmd.key "e">
+<!ENTITY editDraftMsgCmd.label "Editar mensaje borrador">
+<!ENTITY editDraftMsgCmd.accesskey "D">
+<!ENTITY editTemplateMsgCmd.label "Editar plantilla">
+<!ENTITY editTemplateMsgCmd.accesskey "P">
+<!ENTITY newMsgFromTemplateCmd.label "Nuevo mensaje de plantilla">
+<!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" -->
+<!ENTITY createFilter.label "Crear filtro del mensaje…">
+<!ENTITY createFilter.accesskey "a">
+<!ENTITY moveMsgToMenu.label "Mover a">
+<!ENTITY moveMsgToMenu.accesskey "M">
+<!ENTITY moveCopyMsgRecentMenu.label "Reciente">
+<!ENTITY moveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY copyMessageLocation.label "Copiar dirección del mensaje">
+<!ENTITY copyMessageLocation.accesskey "M">
+<!ENTITY copyMsgToMenu.label "Copiar a">
+<!ENTITY copyMsgToMenu.accesskey "C">
+<!ENTITY moveToFolderAgain.label "Mover de nuevo">
+<!ENTITY moveToFolderAgain.accesskey "i">
+<!ENTITY moveToFolderAgainCmd.key "m">
+<!ENTITY killThreadMenu.label "Ignorar hilo">
+<!ENTITY killThreadMenu.accesskey "I">
+<!ENTITY killThreadMenu.key "k">
+<!ENTITY killSubthreadMenu.label "Ignorar subhilo">
+<!ENTITY killSubthreadMenu.accesskey "S">
+<!ENTITY killSubthreadMenu.key "k">
+<!ENTITY watchThreadMenu.label "Observar hilo">
+<!ENTITY watchThreadMenu.accesskey "O">
+<!ENTITY watchThreadMenu.key "o">
+<!ENTITY tagMenu.label "Etiqueta">
+<!ENTITY tagMenu.accesskey "g">
+<!ENTITY tagCmd0.key "0">
+<!ENTITY tagCmd1.key "1">
+<!ENTITY tagCmd2.key "2">
+<!ENTITY tagCmd3.key "3">
+<!ENTITY tagCmd4.key "4">
+<!ENTITY tagCmd5.key "5">
+<!ENTITY tagCmd6.key "6">
+<!ENTITY tagCmd7.key "7">
+<!ENTITY tagCmd8.key "8">
+<!ENTITY tagCmd9.key "9">
+<!ENTITY markMenu.label "Marcar">
+<!ENTITY markMenu.accesskey "k">
+<!ENTITY toggleReadCmd.key "m">
+<!ENTITY markAsReadCmd.label "Como leídos">
+<!ENTITY markAsReadCmd.accesskey "C">
+<!ENTITY markAsUnreadCmd.label "Como no leídos">
+<!ENTITY markAsUnreadCmd.accesskey "N">
+<!ENTITY markThreadAsReadCmd.label "Marcar hilo como leído">
+<!ENTITY markThreadAsReadCmd.accesskey "M">
+<!ENTITY markThreadAsReadCmd.key "r">
+<!ENTITY markReadByDateCmd.label "Como leído por fecha…">
+<!ENTITY markReadByDateCmd.accesskey "F">
+<!ENTITY markReadByDateCmd.key "f">
+<!ENTITY markAllReadCmd.label "Todos leídos">
+<!ENTITY markAllReadCmd.accesskey "T">
+<!ENTITY markAllReadCmd.key "t">
+<!ENTITY markStarredCmd.label "Agregar estrella">
+<!ENTITY markStarredCmd.accesskey "E">
+<!ENTITY markStarredCmd.key "E">
+<!ENTITY markAsJunkCmd.label "Como correo basura">
+<!ENTITY markAsJunkCmd.accesskey "B">
+<!ENTITY markAsJunkCmd.key "b">
+<!ENTITY markAsNotJunkCmd.label "Como legítimo">
+<!ENTITY markAsNotJunkCmd.accesskey "L">
+<!ENTITY markAsNotJunkCmd.key "l">
+<!ENTITY recalculateJunkScoreCmd.label "Ejecutar controles de correo basura">
+<!ENTITY recalculateJunkScoreCmd.accesskey "C">
+<!ENTITY openMessageWindowCmd.label "Abrir mensaje">
+<!ENTITY openMessageWindowCmd.accesskey "A">
+<!ENTITY openMessageWindowCmd.key "a">
+<!ENTITY openInConversationCmd.label "Abrir en conversación">
+<!ENTITY openInConversationCmd.accesskey "s">
+<!ENTITY openInConversationCmd.key "o">
+<!ENTITY openAttachmentListCmd.label "Adjuntos">
+<!ENTITY openAttachmentListCmd.accesskey "h">
+<!ENTITY openFeedMessage1.label "Cuando se abran mensajes">
+<!ENTITY openFeedMessage1.accesskey "A">
+<!ENTITY openFeedWebPage.label "Abrir como página web">
+<!ENTITY openFeedWebPage.accesskey "W">
+<!ENTITY openFeedSummary.label "Abrir como resumen">
+<!ENTITY openFeedSummary.accesskey "R">
+<!ENTITY openFeedWebPageInMP.label "Alternar entre Página web y Resumen en el Panel de mensajes">
+<!ENTITY openFeedWebPageInMP.accesskey "T">
+
+<!-- Windows Menu -->
+<!ENTITY windowMenu.label "Ventana">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Herramientas">
+<!ENTITY tasksMenu.accesskey "H">
+<!ENTITY messengerCmd.label "Correo &amp; Grupos de noticias">
+<!ENTITY messengerCmd.accesskey "N">
+<!ENTITY addressBookCmd.label "Libreta de direcciones">
+<!ENTITY addressBookCmd.accesskey "D">
+<!ENTITY addressBookCmd.key "D">
+<!ENTITY addonNoPrefs.label "No hay configuraciones de complementos.">
+<!ENTITY activitymanager.label "Administrador de actividades">
+<!ENTITY activitymanager.accesskey "v">
+<!ENTITY imAccountsStatus.label "Estado del chat">
+<!ENTITY imAccountsStatus.accesskey "C">
+<!ENTITY imStatus.available "Disponible">
+<!ENTITY imStatus.unavailable "No disponible">
+<!ENTITY imStatus.offline "Sin conexión">
+<!ENTITY imStatus.showAccounts "Mostrar cuentas…">
+<!ENTITY joinChatCmd.label "Unirse al chat…">
+<!ENTITY joinChatCmd.accesskey "t">
+<!ENTITY savedFiles.label "Archivos guardados">
+<!ENTITY savedFiles.accesskey "l">
+<!ENTITY savedFiles.key "j">
+<!ENTITY filtersCmd2.label "Filtros de mensajes">
+<!ENTITY filtersCmd2.accesskey "F">
+<!ENTITY filtersApply.label "Ejecutar filtros en la carpeta">
+<!ENTITY filtersApply.accesskey "R">
+<!ENTITY filtersApplyToSelection.label "Ejecutar filtros en mensajes seleccionados">
+<!ENTITY filtersApplyToSelection.accesskey "u">
+<!ENTITY filtersApplyToMessage.label "Ejecutar filtros en mensaje">
+<!ENTITY filtersApplyToMessage.accesskey "u">
+<!ENTITY runJunkControls.label "Ejecutar filtro de correo no deseado en la carpeta">
+<!ENTITY runJunkControls.accesskey "C">
+<!ENTITY deleteJunk.label "Borrar mensajes marcados como no deseados en la carpeta">
+<!ENTITY deleteJunk.accesskey "D">
+<!ENTITY importCmd.label "Importar…">
+<!ENTITY importCmd.accesskey "m">
+<!ENTITY exportCmd.label "Exportar…">
+<!ENTITY exportCmd.accesskey "x">
+<!ENTITY clearRecentHistory.label "Borrar historial reciente…">
+<!ENTITY clearRecentHistory.accesskey "H">
+<!ENTITY accountManagerCmd2.label "Configuración de cuenta">
+<!ENTITY accountManagerCmd2.accesskey "S">
+<!-- LOCALIZATION NOTE (accountManagerCmdUnix.accesskey):
+ Belongs to accountManagerCmd.label, which is placed under the Edit menu
+ on Unix systems
+ -->
+<!ENTITY accountManagerCmdUnix2.accesskey "A">
+
+<!-- Developer Tools Submenu -->
+<!ENTITY devtoolsMenu.label "Herramientas de desarrollador">
+<!ENTITY devtoolsMenu.accesskey "e">
+<!ENTITY devToolboxCmd.label "Caja de herramientas del desarrollador">
+<!ENTITY devToolboxCmd.accesskey "H">
+<!ENTITY devToolboxCmd.commandkey "i">
+<!ENTITY debugAddonsCmd.label "Depurar complementos">
+<!ENTITY debugAddonsCmd.accesskey "A">
+<!ENTITY errorConsoleCmd.label "Consola de errores">
+<!ENTITY errorConsoleCmd.accesskey "E">
+<!ENTITY errorConsoleCmd.commandkey "j">
+
+<!-- Mail Toolbar -->
+<!ENTITY getMsgButton1.label "Obtener mensajes">
+<!ENTITY newMsgButton.label "Redactar">
+<!ENTITY replyButton.label "Responder">
+<!ENTITY replyAllButton.label "Responder a todos">
+<!ENTITY replyListButton.label "Responder a la lista">
+<!ENTITY forwardButton.label "Reenviar">
+<!ENTITY fileButton.label "Archivo">
+<!ENTITY archiveButton.label "Archivar">
+<!ENTITY openConversationButton.label "Conversación">
+<!ENTITY nextButton.label "Siguiente">
+<!ENTITY nextButtonToolbarItem.label "Siguiente no leído">
+<!ENTITY nextMsgButton.label "Siguiente">
+<!ENTITY previousButton.label "Anterior">
+<!ENTITY previousButtonToolbarItem.label "Anterior no leído">
+<!ENTITY previousMsgButton.label "Previo">
+<!ENTITY backButton1.label "Atrás">
+<!ENTITY goForwardButton1.label "Avanzar">
+<!ENTITY deleteItem.title "Borrar">
+<!ENTITY markButton.label "Marcar">
+<!ENTITY printButton.label "Imprimir">
+<!ENTITY stopButton.label "Detener">
+<!ENTITY throbberItem.title "Indicador de actividad">
+<!ENTITY junkItem.title "No deseado">
+<!ENTITY addressBookButton.label "Libreta de direcciones">
+<!ENTITY chatButton.label "Chat">
+<!ENTITY glodaSearch.title "Búsqueda global">
+<!ENTITY searchItem.title "Búsqueda rápida">
+<!ENTITY mailViewsToolbarItem.title "Vistas de correo">
+<!ENTITY folderLocationToolbarItem.title "Ubicación de la carpeta">
+<!ENTITY tagButton.label "Etiqueta">
+<!ENTITY compactButton.label "Compactar">
+<!ENTITY appmenuButton.label "AppMenu">
+
+<!-- Mail Toolbar Tooltips-->
+<!ENTITY advancedButton.tooltip "Búsqueda avanzada">
+<!ENTITY getMsgButton.tooltip "Obtener mensajes nuevos">
+<!ENTITY getAllNewMsgCmd.label "Obtener todos los mensajes nuevos">
+<!ENTITY getAllNewMsgCmd.accesskey "O">
+<!ENTITY newMsgButton.tooltip "Redactar nuevo mensaje">
+<!ENTITY replyButton.tooltip "Responder al mensaje">
+<!ENTITY replyAllButton.tooltip "Responder al remitente y todos los destinatarios">
+<!ENTITY replyListButton.tooltip "Responder a lista de correos">
+<!ENTITY forwardButton.tooltip "Reenviar mensaje seleccionado">
+<!ENTITY forwardAsInline.tooltip "Reenviar mensaje seleccionado como texto en línea">
+<!ENTITY forwardAsAttachment.tooltip "Reenviar mensaje seleccionado como adjunto">
+<!ENTITY fileButton.tooltip "Archivar mensaje seleccionado">
+<!ENTITY archiveButton.tooltip "Archivar mensajes seleccionados">
+<!ENTITY openMsgConversationButton.tooltip "Mostrar conversación del mensaje seleccionado">
+<!ENTITY nextButton.tooltip "Cambiar al siguiente mensaje no leído">
+<!ENTITY nextMsgButton.tooltip "Cambiar al siguiente mensaje">
+<!ENTITY previousButton.tooltip "Cambiar al mensaje previo no leído">
+<!ENTITY previousMsgButton.tooltip "Cambiar al mensaje previo">
+<!ENTITY goForwardButton.tooltip "Siguiente">
+<!ENTITY goBackButton.tooltip "Anterior">
+<!ENTITY markButton.tooltip "Marcar mensajes">
+<!ENTITY printButton.tooltip "Imprimir este mensaje">
+<!ENTITY stopButton.tooltip "Detener la transferencia actual">
+<!ENTITY addressBookButton.tooltip "Ir a la libreta de direcciones">
+<!ENTITY chatButton.tooltip "Mostrar la pestaña de Chat">
+<!ENTITY tagButton.tooltip "Etiquetas de mensajes">
+<!ENTITY compactButton.tooltip "Quitar mensajes borrados de la carpeta seleccionada">
+<!ENTITY appmenuButton1.tooltip "Mostrar el menú de &brandShortName;">
+
+<!-- Toolbar Button Popup -->
+<!ENTITY buttonMenuForwardAsInline.label "Reenviar incorporado">
+<!ENTITY buttonMenuForwardAsAttachment.label "Reenviar como adjunto">
+
+<!-- Remote Content Button Popup -->
+<!ENTITY remoteContentOptionsAllowForMsg.label "Mostrar contenido remoto en este mensaje">
+<!ENTITY remoteContentOptionsAllowForMsg.accesskey "M">
+<!ENTITY editRemoteContentSettings.label "Editar opciones de contenido remoto…">
+<!ENTITY editRemoteContentSettings.accesskey "E">
+<!ENTITY editRemoteContentSettingsUnix.label "Editar preferencias de contenido remoto…">
+<!ENTITY editRemoteContentSettingsUnix.accesskey "E">
+
+<!-- Phishing Button Popup -->
+<!ENTITY phishingOptionIgnore.label "Ignorar advertencia en este mensaje">
+<!ENTITY phishingOptionIgnore.accesskey "n">
+<!ENTITY phishingOptionSettings.label "Editar opciones de detección de fraudes…">
+<!ENTITY phishingOptionSettings.accesskey "d">
+<!ENTITY phishingOptionSettingsUnix.label "Editar preferencias de detección de fraudes…">
+<!ENTITY phishingOptionSettingsUnix.accesskey "d">
+
+<!-- AppMenu Popup -->
+<!ENTITY appmenuNewMsgCmd.label "Nuevo mensaje">
+<!ENTITY appmenuNewContactCmd.label "Contacto de libreta de direcciones…">
+<!ENTITY appmenuEditMenu.label "Editar">
+<!ENTITY appmenuToolbarLayout.label "Personalizar…">
+<!ENTITY appmenuSelectThread.label "Seleccionar hilo">
+<!ENTITY appmenuSelectFlagged.label "Seleccionar mensajes con estrella">
+
+<!-- Tags Menu Popup -->
+<!ENTITY addNewTag.label "Nueva etiqueta…">
+<!ENTITY addNewTag.accesskey "N">
+<!ENTITY manageTags.label "Administrar etiquetas…">
+<!ENTITY manageTags.accesskey "A">
+
+<!-- Folder Pane -->
+<!ENTITY folderNameColumn.label "Nombre">
+<!ENTITY folderUnreadColumn.label "No leído">
+<!ENTITY folderTotalColumn.label "Total">
+<!ENTITY folderSizeColumn.label "Tamaño">
+
+<!-- Folder Pane Context Menu -->
+<!ENTITY folderContextGetMessages.label "Obtener mensajes">
+<!ENTITY folderContextGetMessages.accesskey "O">
+<!ENTITY folderContextMarkAllFoldersRead.label "Marcar todas las carpetas como leídas">
+<!ENTITY folderContextPauseAllUpdates.label "Pausar todas las actualizaciones">
+<!ENTITY folderContextPauseUpdates.label "Pausar actualizaciones">
+<!ENTITY folderContextPauseUpdates.accesskey "U">
+<!ENTITY folderContextOpenInNewWindow.label "Abrir en una ventana nueva">
+<!ENTITY folderContextOpenInNewWindow.accesskey "A">
+<!ENTITY folderContextOpenNewTab.label "Abrir en una pestaña nueva">
+<!ENTITY folderContextOpenNewTab.accesskey "T">
+<!ENTITY folderContextNew.label "Nueva subcarpeta…">
+<!ENTITY folderContextNew.accesskey "N">
+<!ENTITY folderContextRename.label "Renombrar">
+<!ENTITY folderContextRename.accesskey "R">
+<!ENTITY folderContextRemove.label "Borrar">
+<!ENTITY folderContextRemove.accesskey "B">
+<!ENTITY folderContextCompact.label "Compactar">
+<!ENTITY folderContextCompact.accesskey "C">
+<!ENTITY folderContextEmptyTrash.label "Vaciar papelera">
+<!ENTITY folderContextEmptyTrash.accesskey "e">
+<!ENTITY folderContextEmptyJunk.label "Vaciar correo no deseado">
+<!ENTITY folderContextEmptyJunk.accesskey "V">
+<!ENTITY folderContextSendUnsentMessages.label "Enviar mensajes no enviados">
+<!ENTITY folderContextSendUnsentMessages.accesskey "d">
+<!ENTITY folderContextUnsubscribe.label "Desuscribir">
+<!ENTITY folderContextUnsubscribe.accesskey "U">
+<!ENTITY folderContextMarkNewsgroupRead.label "Marcar grupo de noticias como leído">
+<!ENTITY folderContextMarkNewsgroupRead.accesskey "r">
+<!ENTITY folderContextMarkMailFolderRead.label "Marcar carpeta como leída">
+<!ENTITY folderContextMarkMailFolderRead.accesskey "c">
+<!ENTITY folderContextSubscribe.label "Suscribir…">
+<!ENTITY folderContextSubscribe.accesskey "b">
+<!ENTITY folderContextSearchForMessages.label "Buscar mensajes…">
+<!ENTITY folderContextSearchForMessages.accesskey "B">
+<!ENTITY folderContextProperties2.label "Propiedades">
+<!ENTITY folderContextProperties2.accesskey "P">
+<!ENTITY folderContextFavoriteFolder.label "Carpeta favorita">
+<!ENTITY folderContextFavoriteFolder.accesskey "a">
+<!ENTITY folderContextSettings2.label "Preferencias">
+<!ENTITY folderContextSettings2.accesskey "e">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "Nombre o dirección contiene:">
+<!ENTITY SearchNameOrEmail.accesskey "N">
+
+<!-- Gloda Search Bar -->
+<!ENTITY glodaSearchBar.placeholder "Buscar mensajes…">
+
+<!-- Quick Search Menu Bar -->
+<!ENTITY searchSubjectMenu.label "Asunto">
+<!ENTITY searchFromMenu.label "Remitente">
+<!ENTITY searchSubjectOrFromMenu.label "Asunto o Remitente">
+<!ENTITY searchRecipient.label "Para o Cc">
+<!ENTITY searchSubjectOrRecipientMenu.label "Asunto, Para o Cc">
+<!ENTITY searchMessageBody.label "Mensaje completo">
+<!ENTITY saveAsVirtualFolderMenu.label "Guardar búsqueda como carpeta…">
+
+<!-- Thread Pane -->
+<!ENTITY selectColumn.label "Seleccionar mensajes">
+<!ENTITY threadColumn.label "Conversación">
+<!ENTITY fromColumn.label "Remitente">
+<!ENTITY recipientColumn.label "Destinatario">
+<!ENTITY correspondentColumn.label "Participantes">
+<!ENTITY subjectColumn.label "Asunto">
+<!ENTITY dateColumn.label "Fecha">
+<!ENTITY priorityColumn.label "Prioridad">
+<!ENTITY tagsColumn.label "Etiqueta">
+<!ENTITY accountColumn.label "Cuenta">
+<!ENTITY statusColumn.label "Estado">
+<!ENTITY sizeColumn.label "Tamaño">
+<!ENTITY junkStatusColumn.label "Estado de correo no deseado">
+<!ENTITY unreadColumn.label "No leído">
+<!ENTITY totalColumn.label "Total">
+<!ENTITY readColumn.label "Leído">
+<!ENTITY receivedColumn.label "Recibido">
+<!ENTITY starredColumn.label "Con estrella">
+<!ENTITY locationColumn.label "Ubicación">
+<!ENTITY idColumn.label "Orden de recibido">
+<!ENTITY attachmentColumn.label "Adjuntos">
+<!ENTITY deleteColumn.label "Eliminar">
+
+<!-- Thread Pane Tooltips -->
+<!ENTITY columnChooser2.tooltip "Seleccionar columnas para mostrar">
+<!ENTITY selectColumn.tooltip "Alternar seleccionar todos los mensajes">
+<!ENTITY threadColumn2.tooltip "Mostrar conversaciones">
+<!ENTITY fromColumn2.tooltip "Ordenar por remitente">
+<!ENTITY recipientColumn2.tooltip "Ordenar por destinatario">
+<!ENTITY correspondentColumn2.tooltip "Ordenar por participantes">
+<!ENTITY subjectColumn2.tooltip "Ordenar por asunto">
+<!ENTITY dateColumn2.tooltip "Ordenar por fecha">
+<!ENTITY priorityColumn2.tooltip "Ordenar por prioridad">
+<!ENTITY tagsColumn2.tooltip "Ordenar por etiquetas">
+<!ENTITY accountColumn2.tooltip "Ordenar por cuenta">
+<!ENTITY statusColumn2.tooltip "Ordenar por estado">
+<!ENTITY sizeColumn2.tooltip "Ordenar por tamaño">
+<!ENTITY junkStatusColumn2.tooltip "Ordenar por estado de correo no deseado">
+<!ENTITY unreadColumn2.tooltip "Número de mensajes no leídos en la conversación">
+<!ENTITY totalColumn2.tooltip "Total de mensajes en la conversación">
+<!ENTITY readColumn2.tooltip "Ordenar por leído">
+<!ENTITY receivedColumn2.tooltip "Ordenar por fecha de recepción">
+<!ENTITY starredColumn2.tooltip "Ordenar por estrella">
+<!ENTITY locationColumn2.tooltip "Ordenar por ubicación">
+<!ENTITY idColumn2.tooltip "Ordenar por orden de recepción">
+<!ENTITY attachmentColumn2.tooltip "Ordenar por adjuntos">
+<!ENTITY deleteColumn.tooltip "Eliminar un mensaje">
+
+<!-- Thread Pane Context Menu -->
+<!ENTITY contextNewMsgFromTemplate.label "Nuevo mensaje desde plantilla">
+<!ENTITY contextOpenNewWindow.label "Abrir mensaje en nueva ventana">
+<!ENTITY contextOpenNewWindow.accesskey "V">
+<!-- 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 "Abrir mensaje en una nueva pestaña">
+<!ENTITY contextOpenNewTab.accesskey "A">
+<!ENTITY contextOpenConversation.label "Abrir mensaje en conversación">
+<!ENTITY contextOpenConversation.accesskey "n">
+<!ENTITY contextOpenContainingFolder.label "Abrir mensaje en carpeta contenedora">
+<!ENTITY contextOpenContainingFolder.accesskey "n">
+<!ENTITY contextEditMsgAsNew.label "Editar como nuevo mensaje">
+<!ENTITY contextEditMsgAsNew.accesskey "E">
+<!ENTITY contextEditDraftMsg.label "Editar borrador">
+<!ENTITY contextEditTemplate.label "Editar plantilla">
+<!ENTITY contextEditTemplate.accesskey "T">
+<!ENTITY contextArchive.label "Archivar">
+<!ENTITY contextArchive.accesskey "h">
+<!ENTITY contextReplySender.label "Responder solo al remitente">
+<!ENTITY contextReplySender.accesskey "R">
+<!ENTITY contextReplyNewsgroup2.label "Seguir grupo de noticias">
+<!ENTITY contextReplyNewsgroup2.accesskey "u">
+<!ENTITY contextReplyAll.label "Responder a todos">
+<!ENTITY contextReplyAll.accesskey "A">
+<!ENTITY contextReplyList.label "Responder a lista">
+<!ENTITY contextReplyList.accesskey "L">
+<!ENTITY contextForward.label "Reenviar">
+<!ENTITY contextForward.accesskey "R">
+<!ENTITY contextForwardAsMenu.label "Reenviar como">
+<!ENTITY contextForwardAsMenu.accesskey "o">
+<!ENTITY contextForwardAsInline.label "En el cuerpo del mensaje">
+<!ENTITY contextForwardAsInline.accesskey "E">
+<!ENTITY contextForwardAsAttachmentItem.label "Adjunto">
+<!ENTITY contextForwardAsAttachmentItem.accesskey "A">
+<!ENTITY contextMultiForwardAsAttachment.label "Reenviar como adjuntos">
+<!ENTITY contextMultiForwardAsAttachment.accesskey "o">
+<!ENTITY contextMoveMsgMenu.label "Mover a">
+<!ENTITY contextMoveMsgMenu.accesskey "M">
+<!ENTITY contextMoveCopyMsgRecentMenu.label "Reciente">
+<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.label "Favoritos">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.accesskey "F">
+<!ENTITY contextCopyMsgMenu.label "Copiar a">
+<!ENTITY contextCopyMsgMenu.accesskey "C">
+<!ENTITY contextKillThreadMenu.label "Ignorar conversación">
+<!ENTITY contextKillSubthreadMenu.accesskey "b">
+<!ENTITY contextKillThreadMenu.accesskey "I">
+<!ENTITY contextKillSubthreadMenu.label "Ignorar subconversación">
+<!ENTITY contextWatchThreadMenu.label "Observar conversación">
+<!-- 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 "Guardar como…">
+<!ENTITY contextSaveAs.accesskey "G">
+<!ENTITY contextPrint.label "Imprimir…">
+<!ENTITY contextPrint.accesskey "I">
+<!ENTITY contextPrintPreview.label "Vista previa">
+<!ENTITY contextPrintPreview.accesskey "v">
+
+<!-- LOCALIZATION NOTE (columnPicker.applyTo.label):
+ This option in the thread pane column picker pops up a sub-menu containing
+ the "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" options. This item indicates
+ a desire to apply the currently displayed set of columns to some other
+ folder(s). The sub-menu items indicate whether we want to apply it to just
+ a folder or also its children.
+ -->
+<!ENTITY columnPicker.applyTo.label "Aplicar columnas a…">
+<!-- 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 "Carpeta…">
+<!-- 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 "Carpeta y subcarpetas…">
+<!-- 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 "Esta carpeta">
+
+<!-- Media (video/audio) controls -->
+<!ENTITY contextPlay.label "Reproducir">
+<!ENTITY contextPlay.accesskey "p">
+<!ENTITY contextPause.label "Pausa">
+<!ENTITY contextPause.accesskey "P">
+<!ENTITY contextMute.label "Silenciar">
+<!ENTITY contextMute.accesskey "M">
+<!ENTITY contextUnmute.label "No silenciar">
+<!ENTITY contextUnmute.accesskey "o">
+
+<!-- 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 "Buscar #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 "Agregar a libreta de direcciones…">
+<!ENTITY AddToAddressBook.accesskey "B">
+<!ENTITY AddDirectlyToAddressBook.label "Agregar a la libreta de direcciones">
+<!ENTITY AddDirectlyToAddressBook.accesskey "A">
+<!ENTITY EditContact1.label "Editar contacto">
+<!ENTITY EditContact1.accesskey "E">
+<!ENTITY ViewContact.label "Ver contacto">
+<!ENTITY ViewContact.accesskey "V">
+<!ENTITY SubscribeToNewsgroup.label "Suscribir a grupo de noticias">
+<!ENTITY SubscribeToNewsgroup.accesskey "N">
+<!ENTITY SendMessageTo.label "Redactar mensaje a">
+<!ENTITY SendMessageTo.accesskey "s">
+<!ENTITY CopyEmailAddress.label "Copiar dirección de correo">
+<!ENTITY CopyEmailAddress.accesskey "C">
+<!ENTITY CopyNameAndEmailAddress.label "Copiar nombre y dirección de correo">
+<!ENTITY CopyNameAndEmailAddress.accesskey "N">
+<!ENTITY CopyNewsgroupName.label "Copiar nombre de grupo de noticias">
+<!ENTITY CopyNewsgroupName.accesskey "C">
+<!ENTITY CopyNewsgroupURL.label "Copiar URL del grupo de noticias">
+<!ENTITY CopyNewsgroupURL.accesskey "U">
+<!ENTITY CreateFilterFrom.label "Crear filtro desde…">
+<!ENTITY CreateFilterFrom.accesskey "F">
+<!ENTITY reportPhishingURL.label "Informar correo electrónico fraudulento">
+<!ENTITY reportPhishingURL.accesskey "o">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Agregar diccionarios…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Content Pane Context Menu -->
+<!ENTITY saveLinkAsCmd.label "Guardar enlace como…">
+<!ENTITY saveLinkAsCmd.accesskey "G">
+<!ENTITY saveImageAsCmd.label "Guardar imagen como…">
+<!ENTITY saveImageAsCmd.accesskey "m">
+<!ENTITY copyLinkCmd.label "Copiar dirección del enlace">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyImageAllCmd.label "Copiar imagen">
+<!ENTITY copyImageAllCmd.accesskey "I">
+<!ENTITY copyEmailCmd.label "Copiar dirección de correo">
+<!ENTITY copyEmailCmd.accesskey "E">
+<!ENTITY stopCmd.label "Detener">
+<!ENTITY stopCmd.accesskey "S">
+<!ENTITY reloadCmd.label "Recargar">
+<!ENTITY reloadCmd.accesskey "R">
+<!ENTITY openInBrowser.label "Abrir en navegador">
+<!ENTITY openInBrowser.accesskey "o">
+<!ENTITY openLinkInBrowser.label "Abrir enlace en navegador">
+<!ENTITY openLinkInBrowser.accesskey "o">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "Listo">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.label "Minimizar">
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY bringAllToFront.label "Traer todo al frente">
+<!ENTITY zoomWindow.label "Acercar">
+
+<!-- Mac OS X Application Menu (Cocoa widgets) -->
+<!ENTITY preferencesCmdMac2.label "Preferencias">
+<!ENTITY preferencesCmdMac.commandkey ",">
+<!ENTITY preferencesCmdMac.modifiers "accel">
+<!ENTITY servicesMenuMac.label "Servicios">
+<!ENTITY hideThisAppCmdMac.label "Ocultar &brandShortName;">
+<!ENTITY hideThisAppCmdMac.commandkey "O">
+<!ENTITY hideThisAppCmdMac.modifiers "accel">
+<!ENTITY hideOtherAppsCmdMac.label "Ocultar otras">
+<!ENTITY hideOtherAppsCmdMac.commandkey "t">
+<!ENTITY hideOtherAppsCmdMac.modifiers "accel,alt">
+<!ENTITY showAllAppsCmdMac.label "Mostrar todo">
+
+<!-- Mac OS X Dock Icon pop-up menu -->
+<!ENTITY dockOptions.label "Opciones de ícono de aplicación…">
+<!ENTITY writeNewMessageDock.label "Escribir nuevo mensaje">
+<!ENTITY openAddressBookDock.label "Abrir libreta de direcciones">
+
+<!-- Content tab Navigation buttons -->
+<!ENTITY browseBackButton.tooltip "Regresar una página">
+<!ENTITY browseForwardButton.tooltip "Adelantar una página">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messenger.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messenger.properties
new file mode 100644
index 0000000000..56a5f0e44b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messenger.properties
@@ -0,0 +1,769 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=Borrar cuenta…
+newFolderMenuItem=Carpeta…
+newSubfolderMenuItem=Subcarpeta…
+newFolder=Nueva carpeta…
+newSubfolder=Nueva subcarpeta…
+markFolderRead=Marcar carpeta como leída;Marcar carpetas como leídas
+markNewsgroupRead=Marcar grupo como leído;Marcar grupos como leídos
+folderProperties=Propiedades de carpeta
+newTag=Nueva etiqueta…
+# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms.
+# #1 is the number of news messages to get.
+getNextNewsMessages=Obtener el siguiente mensaje de noticias;Obtener los siguientes #1 mensajes de noticias
+advanceNextPrompt=¿Ir al siguiente mensaje no leído en %S?
+titleNewsPreHost=en
+replyToSender=Responder al remitente
+reply=Responder
+EMLFiles=Archivos de correo
+OpenEMLFiles=Abrir mensaje
+# LOCALIZATION NOTE(defaultSaveMessageAsFileName): Do not translate ".eml"
+# in the line below. Also, the complete file name should be 8.3.
+defaultSaveMessageAsFileName=mensaje.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=Guardar mensaje como
+SaveAttachment=Guardar adjunto
+SaveAllAttachments=Guardar todos los adjuntos
+DetachAttachment=Quitar adjunto
+DetachAllAttachments=Quitar todos los adjuntos
+ChooseFolder=Seleccionar carpeta
+MessageLoaded=Mensaje cargado…
+PreviewTitle=%S - %S
+saveAttachmentFailed=Imposible guardar el adjunto. Por favor, compruebe el nombre del archivo y vuelva a intentar.
+saveMessageFailed=Imposible guardar el mensaje. Por favor, compruebe el nombre del archivo y vuelva a intentar.
+fileExists=%S ya existe. ¿Desea reemplazarlo?
+# LOCALIZATION NOTE(failedToReadFile): %1$S is replaced by the file name, %2$S is replaced by the reason the file load failed.
+failedToReadFile=Falló la lectura del archivo: %1$S razón: %2$S
+
+downloadingNewsgroups=Descargando grupos de noticias para usar sin conexión
+downloadingMail=Descargando correo para uso sin conexión
+sendingUnsent=Enviando mensajes no enviados
+
+folderExists=Ya existe una carpeta con ese nombre. Intente un nombre diferente.
+# 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=Una subcarpeta con el nombre '%1$S' ya existe en la carpeta '%2$S'. ¿Desea mover esta carpeta usando en nuevo nombre '%3$S'?
+folderCreationFailed=La carpeta no pudo crearse porque el nombre que ha especificado contiene un carácter no reconocido. Ingrese un nombre diferente y vuelva a intentar.
+
+compactingFolder=Compactando carpeta %S…
+# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain.
+compactingDone=Compactación terminada (aprox. %1$S ahorrado).
+
+confirmFolderDeletionForFilter=Al borrar la carpeta '%S' se desactivarán los filtros asociados. ¿Seguro que quiere borrar la carpeta?
+alertFilterChanged=Los filtros asociados con esta carpeta serán actualizados.
+filterDisabled=No se pudo encontrar la carpeta '%S', por lo que los filtros asociados con esta carpeta serán desactivados. Compruebe que la carpeta existe, y que los filtros apuntan a una carpeta de destino válida.
+filterFolderDeniedLocked=Los mensajes no pudieron ser filtrados a la carpeta '%S' porque hay otra operación en curso.
+parsingFolderFailed=No se pudo abrir la carpeta %S porque ésta está en uso por alguna otra operación. Por favor, espera que termine esa operación y selecciona esa carpeta de nuevo.
+deletingMsgsFailed=No se pudieron eliminar mensajes en la carpeta %S porque está en uso por alguna otra operación. Por favor, espere que esa operación concluya y vuelva a intentar.
+alertFilterCheckbox=No volver a avisarme.
+compactFolderDeniedLock=La carpeta '%S' no puede ser compactada porque hay otra operación en curso. Por favor, inténtelo más tarde.
+compactFolderWriteFailed=La carpeta '%S' no se pudo compactar porque falló la escritura en la carpeta. Compruebe que tiene suficiente espacio en disco y privilegios de escritura en el directorio, y vuelva a intentar.
+compactFolderInsufficientSpace=Algunas carpetas (ej. '%S') no pueden compactarse porque no hay suficiente espacio libre en disco. Borre algunos archivo e intente nuevamente.
+filterFolderHdrAddFailed=Los mensajes no pudieron ser filtrados a la carpeta '%S' porque falló agregarle un mensaje. Verifique que la carpeta se está mostrando correctamente o trate de repararla desde las propiedades de carpeta.
+filterFolderWriteFailed=Los mensajes no pudieron ser filtrados a la carpeta '%S' porque falló la escritura a esa carpeta. Compruebe que tiene suficiente espacio en disco y permiso de escritura en el directorio, e inténtelo de nuevo.
+copyMsgWriteFailed=Los mensajes no han podido ser movidos o copiados a la carpeta '%S' porque falló la escritura en esa carpeta. Para conseguir más espacio, desde el menú Archivo, escoja primero Vaciar papelera, y luego escoja Compactar carpetas, y vuelva a intentar.
+cantMoveMsgWOBodyOffline=Cuando se encuentra en modo sin conexión, no puede mover o copiar mensajes que no hayan sido descargados para su uso sin conexión. Desde la ventana de Correo, abra el menú Archivo, escoja Sin conexión, y luego escoja Trabajar con conexión, y vuelva a intentar.
+operationFailedFolderBusy=La operación ha fallado porque otra operación está usando la carpeta. Por favor, espere a que ésta termine e inténtelo de nuevo.
+folderRenameFailed=No se pudo renombrar la carpeta. Quizá la carpeta está siendo reconstruida, o el nuevo nombre de la carpeta no es válido.
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%1$S en %2$S
+# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
+filterFolderTruncateFailed=Ha sucedido un error al truncar la bandeja de entrada tras filtrar un mensaje a la carpeta '%1$S'. Necesitas cerrar %2$S y borrar INBOX.msf.
+
+mailboxTooLarge=La carpeta %S está llena y no puede contener ningún mensaje más. Para hacer lugar para más mensajes, borre los correos viejos o no deseados y compacte la carpeta.
+outOfDiskSpace=No hay espacio suficiente en disco para descargar nuevos mensajes. Intente borrar correos viejos, vaciar la Papelera y compactar sus carpetas de correo e intente nuevamente.
+errorGettingDB=No se puede abrir el archivo resumen de %S. Quizás hubo un error en disco o la ruta completa es demasiado larga.
+defaultServerTag=(Predeterminado)
+
+# Used in message database list view to provide a text value for graphic based cells.
+messageUnread=No leído
+messageHasFlag=Con estrella
+messageHasAttachment=Tiene adjunto
+messageJunk=No deseado
+messageExpanded=Expandido
+messageCollapsed=Colapsado
+
+# Used in the SMTP Account Settings panel when a server value has no properties
+smtpServerList-NotSpecified=<no especificado>
+smtpServer-ConnectionSecurityType-0=Ninguno
+smtpServer-ConnectionSecurityType-1=STARTTLS, si esta disponible
+smtpServer-ConnectionSecurityType-2=STARTTLS
+smtpServer-ConnectionSecurityType-3=SSL/TLS
+smtpServers-confirmServerDeletionTitle=Borrar servidor
+smtpServers-confirmServerDeletion=¿Seguro desea borrar el servidor: \n %S?
+
+# Account Settings - Both Incoming and SMTP server
+authNo=Sin autenticación
+authOld=Contraseña, método original (inseguro)
+authPasswordCleartextInsecurely=Contraseña, transmitida de forma insegura
+authPasswordCleartextViaSSL=Contraseña normal
+authPasswordEncrypted=Contraseña cifrada
+authKerberos=Kerberos / GSSAPI
+authExternal=Certificado TLS
+authNTLM=NTLM
+authOAuth2=OAuth2
+authAnySecure=Cualquier método seguro (obsoleto)
+authAny=Cualquier método (inseguro)
+
+# 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=Escriba la contraseña para %1$S en %2$S
+
+# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below
+serverType-nntp=Servidor de noticias (NNTP)
+# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below
+serverType-pop3=Servidor de correo POP
+# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below
+serverType-imap=Servidor de correo IMAP
+serverType-none=Almacén de correo local
+
+sizeColumnTooltip2=Ordenar por tamaño
+sizeColumnHeader=Tamaño
+linesColumnTooltip2=Ordenar por número de líneas
+linesColumnHeader=Líneas
+
+# 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=Obtener nuevos mensajes para %S
+# Used to separate email addresses in a list. Note the trailing space ', '
+getMsgButtonTooltip.listSeparator=,\u0020
+
+# status feedback stuff
+documentDone=
+documentLoading=Cargando mensaje…
+
+# 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=Sincronizando mensajes en %1$S desde %2$S…
+
+unreadMsgStatus=Sin leer: %S
+selectedMsgStatus=Seleccionados: %S
+totalMsgStatus=Total: %S
+
+# localized folder names
+
+localFolders=Carpetas locales
+
+# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed
+inboxFolderName=Bandeja de entrada
+trashFolderName=Papelera
+sentFolderName=Enviados
+draftsFolderName=Borradores
+templatesFolderName=Plantillas
+outboxFolderName=Bandeja de salida
+junkFolderName=Correo basura
+archivesFolderName=Archivos
+
+# "Normal" priority is often blank,
+# depending on the consumers of these strings
+priorityLowest=La más baja
+priorityLow=Baja
+priorityNormal=Normal
+priorityHigh=Alta
+priorityHighest=La más alta
+
+#Group by date thread pane titles
+today=Hoy
+yesterday=Ayer
+lastWeek=La semana pasada
+last7Days=Los últimos 7 días
+twoWeeksAgo=Hace dos semanas
+last14Days=Los últimos 14 días
+older=Antiguo
+futureDate=Futuro
+
+#Grouped By Tags
+untaggedMessages=Mensajes sin etiqueta
+
+# Grouped by status
+messagesWithNoStatus=Sin estado
+
+#Grouped by priority
+noPriority=Sin prioridad
+
+#Grouped by has attachments
+noAttachments=Sin adjuntos
+attachments=Adjuntos
+
+#Grouped by starred
+notFlagged=No destacado
+groupFlagged=Destacado
+
+# defaults descriptions for tag prefs listed in mailnews.js
+# (we keep the .labels. names for backwards compatibility)
+mailnews.tags.remove=Eliminar todas las etiquetas
+mailnews.labels.description.1=Importante
+mailnews.labels.description.2=Trabajo
+mailnews.labels.description.3=Personales
+mailnews.labels.description.4=Para hacer
+mailnews.labels.description.5=Después
+
+# 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=Respondido
+forwarded=Reenviado
+redirected=Redirigido
+new=Nuevo
+read=Leído
+flagged=Destacado
+
+# for junk status picker in search and mail views
+junk=Correo basura
+
+# for junk score origin picker in search and mail views
+junkScoreOriginPlugin=Plugin
+junkScoreOriginFilter=Filtro
+junkScoreOriginWhitelist=Lista blanca
+junkScoreOriginUser=Usuario
+junkScoreOriginImapFlag=Bandera IMAP
+
+# for the has attachment picker in search and mail views
+hasAttachments=Tiene adjuntos
+
+# for the Tag picker in search and mail views.
+tag=Etiquetas
+
+# LOCALIZATION NOTE(andOthers):
+# for multiple authors, add this abbreviation to the first author to indicate
+# there are more; for the From column in the threadpane message list.
+andOthers=et al.
+
+# whether to also show phonetic fields in the addressbook
+# LOCALIZATION NOTE(mail.addr_book.show_phonetic_fields):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.show_phonetic_fields=falso
+
+# 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=verdadero
+
+# offline msg
+nocachedbodybody2=El cuerpo de este mensaje no se descargado desde \
+el servidor para lectura sin conexión. Para leer este mensaje, \
+debes conectarte a la red, elegir Sin conexión desde \
+el menú Archivo y entonces deseleccionar Trabajar Sin Conexión. \
+En el futuro, puedes seleccionar que mensajes o carpetas leer sin conexión. Para hacer \
+esto, elige Sin Conexión desde el menú archivo y entonces seleccionas Descargar/Sincronizar ahora. \
+Puedes ajustar el espacio del disco que usarás para prevenir la descarga de mensajes \
+grandes.
+
+# 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=Correo
+newsAcctType=Noticias
+feedsAcctType=Canales
+
+# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
+nocachedbodytitle=<TITLE>Conéctate para ver este mensaje</TITLE>\n
+
+# mailWindowOverlay.js
+confirmUnsubscribeTitle=Confirmar la cancelación de suscripción
+confirmUnsubscribeText=¿Estás seguro/a que quieres eliminar la suscripción de %S?
+confirmUnsubscribeManyText=¿Estás seguro/a que quieres eliminar la suscripción a estos grupos de noticias?
+restoreAllTabs=Restaurar todas las pestañas
+
+confirmMarkAllFoldersReadTitle=Marcar todas las carpetas como leídas
+confirmMarkAllFoldersReadMessage=¿Estás seguro que quieres marcar todos los mensajes en todas las carpetas de esta cuenta como leídos?
+
+# LOCALIZATION NOTE(junkBarMessage): %S is brand
+junkBarMessage=%S cree que este mensaje es correo basura.
+junkBarButton=No es correo basura
+junkBarButtonKey=N
+junkBarInfoButton=Saber más
+junkBarInfoButtonKey=L
+
+# LOCALIZATION NOTE(remoteContentBarMessage): %S is brand
+remoteContentBarMessage=Para proteger tu privacidad, %S ha bloqueado contenido remoto en este mensaje.
+remoteContentPrefLabel=Opciones
+remoteContentPrefAccesskey=O
+remoteContentPrefLabelUnix=Preferencias
+remoteContentPrefAccesskeyUnix=P
+
+# LOCALIZATION NOTE(remoteAllowResource): %S is origin
+remoteAllowResource=Permitir contenido remoto desde %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=Permitir contenido remoto desde el #1 origen enumerado arriba;Permitir contenido remoto desde todos los #1 orígenes enumerados arriba
+
+phishingBarMessage=Este mensaje puede ser una estafa.
+phishingBarPrefLabel=Opciones
+phishingBarPrefAccesskey=O
+phishingBarPrefLabelUnix=Preferencias
+phishingBarPrefAccesskeyUnix=P
+
+mdnBarIgnoreButton=Ignorar solicitud
+mdnBarIgnoreButtonKey=n
+mdnBarSendReqButton=Enviar recibo
+mdnBarSendReqButtonKey=S
+
+draftMessageMsg=Este es un mensaje borrador.
+draftMessageButton=Editar
+draftMessageButtonKey=E
+
+# msgHdrViewOverlay.js
+openLabel=Abrir
+openLabelAccesskey=O
+saveLabel=Guardar como…
+saveLabelAccesskey=A
+detachLabel=Desanexar…
+detachLabelAccesskey=D
+deleteLabel=Eliminar
+deleteLabelAccesskey=E
+openFolderLabel=Abrir carpeta contenedora
+openFolderLabelAccesskey=F
+deleteAttachments=Los siguientes adjuntos se eliminarán permanentemente desde este mensaje:\n%S\nEsta acción no se puede deshacer. ¿Deseas continuar?
+detachAttachments=Los siguientes adjuntos han sido guardados exitosamente y ahora se eliminarán permanentemente desde este mensajes:\n%S\nEsta acción no se puede deshacer. ¿Deseas continuar?
+deleteAttachmentFailure=Ha fallado al eliminar los adjuntos seleccionados.
+emptyAttachment=Este adjunto aparecer como vacío.\nPor favor, revísalo con la persona que te lo envío.\nA menudo, los cortafuegos de la empresa o los programas antivirus destruirán los archivos adjuntos.
+externalAttachmentNotFound=Este archivo separado o enlace adjunto ya no se encuentra o es inaccesible en esta ubicación.
+
+# LOCALIZATION NOTE (attachmentCount): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of attachments
+attachmentCount=#1 adjunto;#1 adjuntos
+
+# 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 adjunto:
+
+# LOCALIZATION NOTE (attachmentSizeUnknown): The string to show for the total
+# size of all attachments when none of the attachments' sizes can be detected.
+attachmentSizeUnknown=tamaño desconocido
+
+# 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=al menos %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=Adjuntos:
+
+# Connection Error Messages
+# LOCALIZATION NOTE(unknownHostError): %S is the server name
+unknownHostError=Ha fallado al conectar al servidor %S.
+# LOCALIZATION NOTE(connectionRefusedError): %S is the server name
+connectionRefusedError=No se puede conectar al servidor %S; la conexión fue rechazada.
+# LOCALIZATION NOTE(netTimeoutError): %S is the server name
+netTimeoutError=El tiempo de espera para el servidor %S se ha agotado.
+# LOCALIZATION NOTE(netResetError): %S is the server name
+netResetError=La conexión al servidor %S se reinició.
+# LOCALIZATION NOTE(netInterruptError): %S is the server name
+netInterruptError=La conexión al servidor %S fue interrumpida.
+
+recipientSearchCriteria=Asunto o Destinatario contiene:
+fromSearchCriteria=Sujeto o De contiene:
+
+# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages
+biffNotification_message=tiene %1$S nuevo mensaje
+biffNotification_messages=tiene %1$S nuevos mensajes
+
+# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_message=%1$S ha recibido %2$S nuevo mensaje
+
+# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_messages=%1$S ha recibido %2$S nuevos mensajes
+
+# 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 desde %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 recibido #2 nuevo mensaje;#1 recibidos #2 nuevos mensajes
+
+# For the Quota tab in the mail folder properties dialog
+quotaPercentUsed=%S%% lleno
+# for quota in main window (commandglue.js)
+percent=%S%%
+quotaTooltip2=Cuota IMAP: %S utilizado del %S total. Haz clic para más detalles.
+
+# for message views
+confirmViewDeleteTitle=Confirmar
+confirmViewDeleteMessage=¿Estás seguro que quieres borrar esta vista?
+
+# for virtual folders
+confirmSavedSearchTitle=Confirmar borrado
+confirmSavedSearchDeleteMessage=¿Estás seguro que quieres borrar esta búsqueda guardada?
+
+## @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=Ingresa tu contraseña para %1$S en %2$S:
+
+## @name ENTER_PASSWORD_PROMPT_TITLE
+## @loc None
+passwordTitle=Contraseña para el servidor de correo requerida
+
+# for checking if the user really wants to open lots of messages in separate windows.
+openWindowWarningTitle=Confirmar
+# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openWindowWarningConfirmation=Abrir #1 mensaje puede tardar. ¿Continuar?;Abrir #1 mensajes puede tardar. ¿Continuar?
+
+# for checking if the user really wants to open lots of messages in tabs.
+openTabWarningTitle=Confirmar
+# LOCALIZATION NOTE (openTabWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openTabWarningConfirmation=Abrir #1 mensaje puede tardar. ¿Continuar?;Abrir #1 mensajes puede tardar. ¿Continuar?
+
+# for warning the user that a tag they're trying to create already exists
+tagExists=Ya existe una etiqueta con este nombre.
+
+# title of the edit tag dialog
+editTagTitle=Editar etiqueta
+
+# for the virtual folder list dialog title
+# %S is the name of the saved search folder
+editVirtualFolderPropertiesTitle=Editar propiedades de búsqueda guardada para %S
+# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders
+virtualFolderSourcesChosen=#1 carpeta elegida;#1 carpetas elegidas
+
+#alert to inform the user to choose one or more folders to search for a saved search folder
+alertNoSearchFoldersSelected=Debe elegir al menos una carpeta para buscar la carpeta de búsqueda guardada.
+
+# These are displayed in the message and folder pane windows
+# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units
+byteAbbreviation2=%.*f bytes
+kiloByteAbbreviation2=%.*f KB
+megaByteAbbreviation2=%.*f MB
+gigaByteAbbreviation2=%.*f GB
+teraByteAbbreviation2=%.*f TB
+petaByteAbbreviation2=%.*f PB
+
+## LOCALIZATION NOTE(folderWithAccount):
+## This is used to show folder name together with an account name.
+## %1$S = folder name
+## %2$S = account name
+folderWithAccount=%1$S - %2$S
+## LOCALIZATION NOTE(folderWithUnreadMsgs):
+## This is a concatenation of two strings to compose a folder label with unread messages.
+## %1$S = folder name
+## %2$S = count of unread messages
+folderWithUnreadMsgs=%1$S (%2$S)
+## LOCALIZATION NOTE(summarizedValue):
+## This string shows an indication that the value shown is actually a summary
+## accumulated from all subfolders.
+## %S = summarized value from all subfolders
+folderSummarizedSymbolValue=▾%S
+## LOCALIZATION NOTE(subfoldersExplanation):
+## This is a tooltip message shown on the values in the numeric folder pane columns.
+## %1$S = is the count of messages having the respective property, found in the folder under mouse cursor
+## %2$S = is the count of messages having the respective property, found in subfolders of the folder under mouse cursor
+subfoldersExplanation=%1$S en esta carpeta, %2$S en subcarpetas
+
+# Error message if message for a message id wasn't found
+errorOpenMessageForMessageIdTitle=Error abriendo message-id
+errorOpenMessageForMessageIdMessage=Mensaje para message-id %S no fue encontrado
+
+# Warnings to alert users about phishing urls
+confirmPhishingTitle=Alerta de estafa de correo electrónico
+linkMismatchTitle=Se detectó una discordancia del enlace
+#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
+confirmPhishingUrl=%1$S cree que este mensaje es una estafa. Los enlaces en el mensaje pueden estar intentando suplantar las páginas web que deseas visitar. ¿Estás seguro que deseas visitar %2$S?
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=El enlace en el que hizo clic recientemente parece conducir a otro sitio que el indicado en el texto del enlace. Algunas veces, esto se usa para rastrear si se hizo clic en el enlace, pero también podría ser una estafa.\n \n El texto del enlace indicó que el enlace llevaría a %1$S, pero lleva a %2$S.
+#LOCALIZATION NOTE $1$S is the host name of the indicated host.
+confirmPhishingGoAhead=Ir a %1$S de todas formas
+#LOCALIZATION NOTE %1$S is the host name that was displayed to the user.
+confirmPhishingGoDirect=Ir a %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=Revisar actualizaciones…
+updatesItem_defaultFallback=Revisar actualizaciones…
+updatesItem_default.accesskey=C
+updatesItem_downloading=Descargando %S…
+updatesItem_downloadingFallback=Descargando actualización…
+updatesItem_downloading.accesskey=D
+updatesItem_resume=Continuar descargando %S…
+updatesItem_resumeFallback=Continuar descargando actualización…
+updatesItem_resume.accesskey=D
+updatesItem_pending=Aplicar actualización de descarga ahora…
+updatesItem_pendingFallback=Aplicar actualización descargada ahora…
+updatesItem_pending.accesskey=D
+
+# Folder Pane Header Title Strings
+folderPaneModeHeader_all=Todas las carpetas
+folderPaneModeHeader_unread=Carpetas no leídas
+folderPaneModeHeader_favorite=Carpetas favoritas
+folderPaneModeHeader_recent=Carpetas recientes
+folderPaneModeHeader_smart=Carpetas unificadas
+unifiedAccountName=Carpetas unificadas
+
+# 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=Mover a "%1$S" de nuevo
+moveToFolderAgainAccessKey=t
+#LOCALIZATION NOTE %1$S is the name of the folder we will copy to
+# copyToFolderAgainAccessKey
+# should have the same value as moveToFolderAgainAccessKey as they are the same menu item in the UI
+# copyToFolderAgainAccessKey should also be a letter that occurs before %1$S
+copyToFolderAgain=Copiar a "%1$S" de nuevo
+copyToFolderAgainAccessKey=t
+
+#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender
+mdnBarMessageNormal=%1$S ha pedido ser notificado cuando leas este mensaje.
+#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 ha pedido ser notificado (en %2$S) cuando leas este mensaje.
+
+# mailCommands.js
+emptyJunkFolderTitle=Vaciar "%S"
+emptyJunkFolderMessage=¿Borrar todos los mensajes y subcarpetas de la carpeta Basura?
+emptyJunkDontAsk=No preguntar de nuevo.
+emptyTrashFolderTitle=Vaciar "%S"
+emptyTrashFolderMessage=¿Borrar todos los mensajes y subcarpetas de la Papelera?
+emptyTrashDontAsk=No preguntar de nuevo.
+
+# junkCommands.js
+junkAnalysisPercentComplete=Análisis de basura %S completo
+processingJunkMessages=Procesando mensajes basura
+
+# Messenger bootstrapping messages
+fileNotFoundTitle = No se encontró el archivo
+#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
+fileNotFoundMsg = El archivo %S no existe.
+
+fileEmptyTitle = Archivo vacío
+#LOCALIZATION NOTE(fileEmptyMsg): %S is the filename
+fileEmptyMsg = El archivo %S está vacío.
+
+# 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 más;#1 más
+
+# 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=, y #1 más;, y #1 más
+
+# 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=Yo
+
+# LOCALIZATION NOTE (headerfromFieldMe): first person prepositional object
+# pronoun used in the "from" header of the message header pane.
+headerfromFieldMe=Yo
+
+# LOCALIZATION NOTE (headerreply-toFieldMe): first person prepositional
+# object pronoun used in the "reply-to" header of the message header pane.
+headerreply-toFieldMe=Yo
+
+# LOCALIZATION NOTE (headerccFieldMe): first person prepositional object
+# pronoun used in the "cc" header of the message header pane.
+headerccFieldMe=Yo
+
+# LOCALIZATION NOTE (headerbccFieldMe): first person prepositional object
+# pronoun used in the "bcc" header of the message header pane.
+headerbccFieldMe=Yo
+
+expandAttachmentPaneTooltip=Mostrar panel del archivo adjunto
+collapseAttachmentPaneTooltip=Ocultar panel del archivo adjunto
+
+# Shown when content tabs are being loaded.
+loadingTab=Cargando…
+
+confirmMsgDelete.title=Confirmar eliminación
+confirmMsgDelete.collapsed.desc=Esto borrará los mensajes en hilos colapsados. ¿Estás seguro que deseas continuar?
+confirmMsgDelete.deleteNoTrash.desc=Esto borrará los mensajes inmediatamente, sin guardar una copia en la papelera. ¿Estás seguro que deseas continuar?
+confirmMsgDelete.deleteFromTrash.desc=Esto borrará permanentemente los mensajes de la papelera. ¿Estás seguro que deseas continuar?
+confirmMsgDelete.dontAsk.label=No volver a preguntar.
+confirmMsgDelete.delete.label=Eliminar
+
+mailServerLoginFailedTitle=Error al iniciar sesión
+# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount):
+# "%S" is the account name.
+mailServerLoginFailedTitleWithAccount=Error al iniciar sesión en "%S"
+# LOCALIZATION NOTE (mailServerLoginFailed2):
+# %1$S is the host name of the server, %2$S is the user name.
+mailServerLoginFailed2=Inicio de sesión fallido en el servidor %1$S con el usuario %2$S.
+mailServerLoginFailedRetryButton=&Reintentar
+mailServerLoginFailedEnterNewPasswordButton=&Ingresar nueva contraseña
+
+# 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=¿Aplicar cambios?
+# 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=¿Aplicar las columnas de la carpeta actual a %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=¿Aplicar cambios?
+# 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=¿Aplicar las columnas de la carpeta actual a %S y sus subcarpetas?
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message=Este sitio (%S) ha intentado instalar un tema.
+lwthemeInstallRequest.allowButton=Permitir
+lwthemeInstallRequest.allowButton.accesskey=a
+
+lwthemePostInstallNotification.message=Se ha instalado un nuevo tema.
+lwthemePostInstallNotification.undoButton=Deshacer
+lwthemePostInstallNotification.undoButton.accesskey=U
+lwthemePostInstallNotification.manageButton=Administrar temas…
+lwthemePostInstallNotification.manageButton.accesskey=M
+
+# troubleshootModeRestart
+troubleshootModeRestartPromptTitle=Reiniciar en modo de resolución de problemas
+troubleshootModeRestartPromptMessage=El modo de resolución de problemas desactivará todos los complementos y utilizará temporalmente algunas preferencias predeterminadas. \n¿Estás seguro de que deseas reiniciar?
+troubleshootModeRestartButton=Reiniciar
+
+# LOCALIZATION NOTE (downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=Actualizar a %S
+update.downloadAndInstallButton.accesskey=U
+
+# Sanitize
+# LOCALIZATION NOTE (sanitizeDialog2.everything.title): When "Time range to
+# clear" is set to "Everything", the Clear Recent History dialog's title is
+# changed to this. See UI mockup and comment 11 at bug 480169 -->
+sanitizeDialog2.everything.title=Borrar todo el historial
+sanitizeButtonOK=Eliminar ahora
+# 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=Todo el historial se borrará.
+# 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=Se borrarán todos los elementos seleccionados.
+
+learnMoreAboutIgnoreThread=Saber más…
+learnMoreAboutIgnoreThreadAccessKey = L
+undoIgnoreThread=Deshacer ignorar hilo
+undoIgnoreThreadAccessKey=U
+undoIgnoreSubthread=Deshacer ignorar subhilo
+undoIgnoreSubthreadAccessKey=U
+# LOCALIZATION NOTE (ignoredThreadFeedback): #1 is the message thread title
+ignoredThreadFeedback=Las respuestas al hilo "#1" no se mostrarán.
+# LOCALIZATION NOTE (ignoredSubthreadFeedback): #1 is the message subthread title
+ignoredSubthreadFeedback=Las respuestas al subhilo "#1" no se mostrará.
+# LOCALIZATION NOTE (ignoredThreadsFeedback): Semi-colon list of plural forms.
+# #1 is the number of threads
+ignoredThreadsFeedback=No se mostrarán las respuestas al hilo seleccionado;No se mostrarán las respuestas a los #1 hilos que fueron seleccionados.
+# LOCALIZATION NOTE (ignoredSubthreadsFeedback): Semi-colon list of plural forms.
+# #1 is number of subthreads
+ignoredSubthreadsFeedback=No se mostrarán las respuestas al hilo seleccionado;No se mostrarán las respuestas a los #1 hilos que fueron seleccionadas.
+# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved.
+saveAsType=Archivo %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=Buscar %1$S para "%2$S"
+
+# LOCALIZATION NOTE (openSearch.label.truncated): The label used in the
+# autocomplete widget to refer to a search on the web for a short string
+# containing more than 15 characters. %1$S is the search provider to use. %2$S
+# is the string to search for, truncated to 15 characters.
+openSearch.label.truncated=Buscar %1$S para "%2$S…"
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Thunderbird build: 32-bit or 64-bit. These strings are used in parentheses
+# after the Thunderbird version in the About dialog,
+# e.g.: "48.0.2 (32-bit)" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64 bits
+aboutDialog.architecture.thirtyTwoBit = 32 bits
+
+errorConsoleTitle = Consola de errores
+
+# 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 = Atrás
+
+# LOCALIZATION NOTE (folderErrorAlertTitle):
+# %S is a pretty string to identify the folder and account.
+# EXAMPLE: Error - Inbox on bob@example.com
+folderErrorAlertTitle = Error - %S
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdAdvancedEdit.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..b50b32f2b8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades avanzadas del editor">
+<!ENTITY AttName.label "Atributo: ">
+<!ENTITY AttValue.label "Valor: ">
+<!ENTITY PropertyName.label "Propiedad: ">
+<!ENTITY currentattributesfor.label "Atributos actuales para: ">
+<!ENTITY tree.attributeHeader.label "Atributo">
+<!ENTITY tree.propertyHeader.label "Propiedad">
+<!ENTITY tree.valueHeader.label "Valor">
+<!ENTITY tabHTML.label "Atributos HTML">
+<!ENTITY tabCSS.label "Estilo en línea">
+<!ENTITY tabJSE.label "Eventos JavaScript">
+
+<!ENTITY editAttribute.label "Haz click en un ítem de abajo para editar su valor">
+<!ENTITY removeAttribute.label "Eliminar">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdColorPicker.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdColorPicker.dtd
new file mode 100644
index 0000000000..fc78b59503
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdColorPicker.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Color">
+<!ENTITY lastPickedColor.label "Último color elegido">
+<!ENTITY lastPickedColor.accessKey "L">
+<!ENTITY chooseColor1.label "Elige un color:">
+<!ENTITY chooseColor2.label "Ingresa una cadena de color en HTML">
+<!ENTITY chooseColor2.accessKey "H">
+<!ENTITY setColorExample.label "(e.g.&quot;#0000ff&quot; o &quot;azul&quot;):">
+<!ENTITY default.label "Predeterminado">
+<!ENTITY default.accessKey "D">
+<!ENTITY palette.label "Paleta:">
+<!ENTITY standardPalette.label "Estándar">
+<!ENTITY webPalette.label "Todos los colores web">
+<!ENTITY background.label "Fondo para:">
+<!ENTITY background.accessKey "B">
+<!ENTITY table.label "Tabla">
+<!ENTITY table.accessKey "T">
+<!ENTITY cell.label "Celda(s)">
+<!ENTITY cell.accessKey "C">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdConvertToTable.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdConvertToTable.dtd
new file mode 100644
index 0000000000..62db784d77
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 a tabla">
+<!ENTITY instructions1.label "El compositor crea una nueva fila de tabla para cada párrafo en la selección.">
+<!ENTITY instructions2.label "Elige el caracter usado para separar esta selección en columnas:">
+<!ENTITY commaRadio.label "Coma">
+<!ENTITY spaceRadio.label "Espacio">
+<!ENTITY otherRadio.label "Otro caracter:">
+<!ENTITY deleteCharCheck.label "Eliminar caracter separador">
+<!ENTITY collapseSpaces.label "Ignorar espacios extra">
+<!ENTITY collapseSpaces.tooltip "Convertir espacios adyacentes a un separador">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdDialogOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..cc19c968a7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Edición avanzada…">
+<!ENTITY AdvancedEditButton.accessKey "E">
+<!ENTITY AdvancedEditButton.tooltip "Añadir o modificar atributos HTML, atributos de estilo y JavaScript">
+<!ENTITY chooseFileButton.label "Elegir archivo...">
+<!ENTITY chooseFileButton.accessKey "F">
+<!ENTITY chooseFileLinkButton.label "Elegir archivo...">
+<!ENTITY chooseFileLinkButton.accessKey "o">
+<!ENTITY makeUrlRelative.label "La URL es relativa a la ubicación de la página">
+<!ENTITY makeUrlRelative.accessKey "r">
+<!ENTITY makeUrlRelative.tooltip "Cambiar entre URL relativa y absoluta. Para cambiar esto primero debes guardar la página.">
+
+<!ENTITY LinkURLEditField2.label "Ingresar la ubicación de la página web, un archivo local, o selecciona un Ancla con nombre o Encabezado desde el campo de menú de contexto:">
+<!ENTITY LinkURLEditField2.accessKey "w">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdNamedAnchorProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..b2d7713907
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EdNamedAnchorProperties.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "Propiedades del Ancla">
+<!ENTITY anchorNameEditField.label "Nombre del Ancla:">
+<!ENTITY anchorNameEditField.accessKey "N">
+<!ENTITY nameInput.tooltip "Ingresar un nombre único para esta ancla (objetivo)">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorColorProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorColorProperties.dtd
new file mode 100644
index 0000000000..cfbd83cfd6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Colores de página y fondo">
+<!ENTITY pageColors.label "Colores de página">
+<!ENTITY defaultColorsRadio.label "Colores predeterminados de lectura (No establece colores en la página)">
+<!ENTITY defaultColorsRadio.accessKey "D">
+<!ENTITY defaultColorsRadio.tooltip "Usa sólo las configuraciones de color del visualizador (lectores)">
+<!ENTITY customColorsRadio.label "Usar colores personalizados:">
+<!ENTITY customColorsRadio.accessKey "C">
+<!ENTITY customColorsRadio.tooltip "Esta configuración de color reemplaza la configuración del navegador de visualización">
+
+<!ENTITY normalText.label "Texto normal">
+<!ENTITY normalText.accessKey "N">
+<!ENTITY linkText.label "Enlace de texto">
+<!ENTITY linkText.accessKey "L">
+<!ENTITY activeLinkText.label "Enlace de texto activo">
+<!ENTITY activeLinkText.accessKey "A">
+<!ENTITY visitedLinkText.label "Enlace de texto visitado">
+<!ENTITY visitedLinkText.accessKey "V">
+<!ENTITY background.label "Fondo:">
+<!ENTITY background.accessKey "B">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "Imagen de fondo:">
+<!ENTITY backgroundImage.accessKey "m">
+<!ENTITY backgroundImage.tooltip "Usa un archivo de imagen como fondo para tu página">
+<!ENTITY backgroundImage.shortenedDataURI "URI acortada (copiar pondrá la URI completa en el portapapeles)">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorHLineProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..34ddbf1e3e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades de línea horizontal">
+
+<!ENTITY dimensionsBox.label "Dimensiones">
+<!ENTITY heightEditField.label "Alto:">
+<!ENTITY heightEditField.accessKey "G">
+<!ENTITY widthEditField.label "Ancho:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY pixelsPopup.value "pixeles">
+<!ENTITY alignmentBox.label "Alineación">
+<!ENTITY leftRadio.label "Izquierda">
+<!ENTITY leftRadio.accessKey "L">
+<!ENTITY centerRadio.label "Centro">
+<!ENTITY centerRadio.accessKey "C">
+<!ENTITY rightRadio.label "Derecha">
+<!ENTITY rightRadio.accessKey "R">
+
+<!ENTITY threeDShading.label "Sombreado 3-D">
+<!ENTITY threeDShading.accessKey "S">
+<!ENTITY saveSettings.label "Usar como predeterminado">
+<!ENTITY saveSettings.accessKey "D">
+<!ENTITY saveSettings.tooltip "Guardar esta configuración para usar cuando se inserten líneas horizontales nuevas">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorImageProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorImageProperties.dtd
new file mode 100644
index 0000000000..9d57208d54
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades de imagen">
+
+<!ENTITY pixelsPopup.value "pixeles">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "Ubicación de imagen:">
+<!ENTITY locationEditField.accessKey "L">
+<!ENTITY locationEditField.tooltip "Escribe el nombre de archivo o ubicación de la imagen">
+<!ENTITY locationEditField.shortenedDataURI "Datos URI acortados (copiar colocará la URI completa en el portapapeles)">
+<!ENTITY title.label "Consejo:">
+<!ENTITY title.accessKey "T">
+<!ENTITY title.tooltip "El atributo html 'title' que se despliega como consejo">
+<!ENTITY altText.label "Texto alternativo:">
+<!ENTITY altText.accessKey "A">
+<!ENTITY altTextEditField.tooltip "Escribe el texto a desplegar en vez de la imagen">
+<!ENTITY noAltText.label "No usar texto alternativo">
+<!ENTITY noAltText.accessKey "D">
+
+<!ENTITY previewBox.label "Vista previa de imagen">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "Tamaño real:">
+<!ENTITY actualSizeRadio.label "Tamaño real">
+<!ENTITY actualSizeRadio.accessKey "A">
+<!ENTITY actualSizeRadio.tooltip "Revertir imagen al tamaño real">
+<!ENTITY customSizeRadio.label "Tamaño personalizado">
+<!ENTITY customSizeRadio.accessKey "S">
+<!ENTITY customSizeRadio.tooltip "Cambiar el tamaño de imagen como se muestra en la página">
+<!ENTITY heightEditField.label "Alto:">
+<!ENTITY heightEditField.accessKey "G">
+<!ENTITY widthEditField.label "Ancho:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY constrainCheckbox.label "Restringir">
+<!ENTITY constrainCheckbox.accessKey "C">
+<!ENTITY constrainCheckbox.tooltip "Mantener la proporción de la imagen">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "Mapa de imagen">
+<!ENTITY removeImageMapButton.label "Eliminar">
+<!ENTITY removeImageMapButton.accessKey "R">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "Alinear texto a la imagen">
+<!ENTITY bottomPopup.value "Hasta abajo">
+<!ENTITY topPopup.value "Hasta arriba">
+<!ENTITY centerPopup.value "En el centro">
+<!ENTITY wrapRightPopup.value "Ajustar a la derecha">
+<!ENTITY wrapLeftPopup.value "Ajustar a la izquierda">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "Espaciado">
+<!ENTITY leftRightEditField.label "Izquierda y derecha:">
+<!ENTITY leftRightEditField.accessKey "L">
+<!ENTITY topBottomEditField.label "Arriba y abajo:">
+<!ENTITY topBottomEditField.accessKey "T">
+<!ENTITY borderEditField.label "Borde sólido:">
+<!ENTITY borderEditField.accessKey "B">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "Mostrar borde alrededor de la imagen enlazada">
+<!ENTITY showImageLinkBorder.accessKey "B">
+<!ENTITY LinkAdvancedEditButton.label "Edición avanzada de enlace…">
+<!ENTITY LinkAdvancedEditButton.accessKey "L">
+<!ENTITY LinkAdvancedEditButton.tooltip "Añadir o modificar atributos HTML, atributos de estilo y JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "Formulario">
+<!ENTITY imageLocationTab.label "Ubicación">
+<!ENTITY imageDimensionsTab.label "Dimensiones">
+<!ENTITY imageAppearanceTab.label "Apariencia">
+<!ENTITY imageLinkTab.label "Enlace">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertChars.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertChars.dtd
new file mode 100644
index 0000000000..17b7c47fb3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Insertar caracter">
+<!ENTITY category.label "Categoría">
+<!ENTITY letter.label "Letra:">
+<!ENTITY letter.accessKey "L">
+<!ENTITY character.label "Caracter:">
+<!ENTITY character.accessKey "C">
+<!ENTITY accentUpper.label "Acento en mayúsculas">
+<!ENTITY accentLower.label "Acento en minúsculas">
+<!ENTITY otherUpper.label "Otras mayúsculas">
+<!ENTITY otherLower.label "Otras minúsculas">
+<!ENTITY commonSymbols.label "Símbolos comunes">
+<!ENTITY insertButton.label "Insertar">
+<!ENTITY closeButton.label "Cerrar">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertMath.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertMath.dtd
new file mode 100644
index 0000000000..0e7f87a520
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Insertar expresión matemática">
+
+<!ENTITY sourceEditField.label "Introduzca el código fuente LaTeX:">
+
+<!ENTITY options.label "Opciones">
+<!ENTITY optionInline.label "Modo en línea">
+<!ENTITY optionInline.accesskey "N">
+<!ENTITY optionDisplay.label "Modo de visualización">
+<!ENTITY optionDisplay.accesskey "D">
+<!ENTITY optionLTR.label "Dirección de izquierda a derecha">
+<!ENTITY optionLTR.accesskey "L">
+<!ENTITY optionRTL.label "Dirección derecha a izquierda">
+<!ENTITY optionRTL.accesskey "R">
+
+<!ENTITY insertButton.label "Insertar">
+<!ENTITY insertButton.accesskey "I">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertSource.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertSource.dtd
new file mode 100644
index 0000000000..1e6ea9ed26
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Insertar HTML">
+<!ENTITY sourceEditField.label "Introducir etiquetas HTML y texto:">
+<!ENTITY example.label "Ejemplo: ">
+<!-- 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 "¡Hola mundo!">
+<!ENTITY insertButton.label "Insertar">
+<!ENTITY insertButton.accesskey "I">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertTOC.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..f6c9da9782
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Tabla de contenidos">
+<!ENTITY buildToc.label "Crear tabla de contenidos desde:">
+<!ENTITY tag.label "Etiqueta:">
+<!ENTITY class.label "Clase:">
+<!ENTITY header1.label "Nivel 1">
+<!ENTITY header2.label "Nivel 2">
+<!ENTITY header3.label "Nivel 3">
+<!ENTITY header4.label "Nivel 4">
+<!ENTITY header5.label "Nivel 5">
+<!ENTITY header6.label "Nivel 6">
+<!ENTITY makeReadOnly.label "Hacer de sólo lectura la tabla de contenidos">
+<!ENTITY orderedList.label "Enumerar todas las entradas en la tabla de contenidos">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertTable.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorInsertTable.dtd
new file mode 100644
index 0000000000..a8993e7a78
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Insertar tabla">
+
+<!ENTITY size.label "Tamaño">
+<!ENTITY numRowsEditField.label "Filas:">
+<!ENTITY numRowsEditField.accessKey "R">
+<!ENTITY numColumnsEditField.label "Columnas:">
+<!ENTITY numColumnsEditField.accessKey "C">
+<!ENTITY widthEditField.label "Ancho:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY borderEditField.label "Borde:">
+<!ENTITY borderEditField.accessKey "B">
+<!ENTITY borderEditField.tooltip "Escribe un número para el borde de la tabla o cero (0) para dejar sin borde">
+<!ENTITY pixels.label "pixeles">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorLinkProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..7d990a5fb5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades del enlace">
+<!ENTITY LinkURLBox.label "Ubicación del enlace">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorListProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorListProperties.dtd
new file mode 100644
index 0000000000..ee438e8cde
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades de lista">
+
+<!ENTITY ListType.label "Tipo de lista">
+<!ENTITY bulletStyle.label "Estilo viñeta:">
+<!ENTITY startingNumber.label "Empezar en:">
+<!ENTITY startingNumber.accessKey "S">
+<!ENTITY none.value "Ninguno">
+<!ENTITY bulletList.value "Lista de viñeta (sin numeración)">
+<!ENTITY numberList.value "Lista numerada">
+<!ENTITY definitionList.value "Lista de definiciones">
+<!ENTITY changeEntireListRadio.label "Cambiar toda la lista">
+<!ENTITY changeEntireListRadio.accessKey "C">
+<!ENTITY changeSelectedRadio.label "Cambiar sólo ítems seleccionados">
+<!ENTITY changeSelectedRadio.accessKey "I">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorPersonalDictionary.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..af82789e81
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Diccionario personal">
+
+<!ENTITY wordEditField.label "Nueva palabra:">
+<!ENTITY wordEditField.accessKey "N">
+<!ENTITY AddButton.label "Añadir">
+<!ENTITY AddButton.accessKey "A">
+<!ENTITY DictionaryList.label "Palabras en el diccionario:">
+<!ENTITY DictionaryList.accessKey "W">
+<!ENTITY RemoveButton.label "Eliminar">
+<!ENTITY RemoveButton.accessKey "e">
+
+<!ENTITY CloseButton.label "Cerrar">
+<!ENTITY CloseButton.accessKey "C">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorReplace.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorReplace.dtd
new file mode 100644
index 0000000000..6a1063320b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Buscar y reemplazar">
+<!ENTITY findField.label "Buscar texto:">
+<!ENTITY findField.accesskey "n">
+<!ENTITY replaceField.label "Reemplazar con:">
+<!ENTITY replaceField.accesskey "e">
+<!ENTITY caseSensitiveCheckbox.label "Correspondencia exacta de mayúsculas y minúsculas">
+<!ENTITY caseSensitiveCheckbox.accesskey "M">
+<!ENTITY wrapCheckbox.label "Envolver">
+<!ENTITY wrapCheckbox.accesskey "W">
+<!ENTITY backwardsCheckbox.label "Buscar hacia atrás">
+<!ENTITY backwardsCheckbox.accesskey "b">
+<!ENTITY findNextButton.label "Buscar siguiente">
+<!ENTITY findNextButton.accesskey "F">
+<!ENTITY replaceButton.label "Reemplazar">
+<!ENTITY replaceButton.accesskey "R">
+<!ENTITY replaceAndFindButton.label "Reemplazar y buscar">
+<!ENTITY replaceAndFindButton.accesskey "d">
+<!ENTITY replaceAllButton.label "Reemplazar todos">
+<!ENTITY replaceAllButton.accesskey "A">
+<!ENTITY closeButton.label "Cerrar">
+<!ENTITY closeButton.accesskey "C">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorSpellCheck.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..3dee35d0be
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Comprobar ortografía">
+
+<!ENTITY misspelledWord.label "Palabra mal escrita:">
+<!ENTITY wordEditField.label "Reemplazar con:">
+<!ENTITY wordEditField.accessKey "w">
+<!ENTITY checkwordButton.label "Comprobar palabra">
+<!ENTITY checkwordButton.accessKey "k">
+<!ENTITY suggestions.label "Sugerencias:">
+<!ENTITY suggestions.accessKey "u">
+<!ENTITY ignoreButton.label "Ignorar">
+<!ENTITY ignoreButton.accessKey "I">
+<!ENTITY ignoreAllButton.label "Ignorar todo">
+<!ENTITY ignoreAllButton.accessKey "n">
+<!ENTITY replaceButton.label "Reemplazar">
+<!ENTITY replaceButton.accessKey "R">
+<!ENTITY replaceAllButton.label "Reemplazar todos">
+<!ENTITY replaceAllButton.accessKey "A">
+<!ENTITY stopButton.label "Detener">
+<!ENTITY stopButton.accessKey "o">
+<!ENTITY userDictionary.label "Diccionario personal:">
+<!ENTITY moreDictionaries.label "Descargar más diccionarios...">
+<!ENTITY addToUserDictionaryButton.label "Agregar palabra">
+<!ENTITY addToUserDictionaryButton.accessKey "d">
+<!ENTITY editUserDictionaryButton.label "Editar…">
+<!ENTITY editUserDictionaryButton.accessKey "E">
+<!ENTITY recheckButton2.label "Volver a comprobar texto">
+<!ENTITY recheckButton2.accessKey "T">
+<!ENTITY closeButton.label "Cerrar">
+<!ENTITY closeButton.accessKey "C">
+<!ENTITY sendButton.label "Enviar">
+<!ENTITY sendButton.accessKey "S">
+<!ENTITY languagePopup.label "Idioma:">
+<!ENTITY languagePopup.accessKey "L">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorTableProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/EditorTableProperties.dtd
new file mode 100644
index 0000000000..72aad18fce
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Propiedades de tabulación">
+<!ENTITY applyButton.label "Aplicar">
+<!ENTITY applyButton.accesskey "A">
+<!ENTITY closeButton.label "Cerrar">
+<!ENTITY tableTab.label "Tabla">
+<!ENTITY cellTab.label "Celdas">
+<!ENTITY tableRows.label "Filas:">
+<!ENTITY tableRows.accessKey "R">
+<!ENTITY tableColumns.label "Columnas:">
+<!ENTITY tableColumns.accessKey "C">
+<!ENTITY tableHeight.label "Altura:">
+<!ENTITY tableHeight.accessKey "G">
+<!ENTITY tableWidth.label "Ancho:">
+<!ENTITY tableWidth.accessKey "W">
+<!ENTITY tableBorderSpacing.label "Bordes y espacios">
+<!ENTITY tableBorderWidth.label "Borde:">
+<!ENTITY tableBorderWidth.accessKey "B">
+<!ENTITY tableSpacing.label "Espacio:">
+<!ENTITY tableSpacing.accessKey "S">
+<!ENTITY tablePadding.label "Relleno:">
+<!ENTITY tablePadding.accessKey "P">
+<!ENTITY tablePxBetwCells.label "píxeles entre celdas">
+<!ENTITY tablePxBetwBrdrCellContent.label "píxeles entre borde y contenido de celda">
+<!ENTITY tableAlignment.label "Alineación de tabla:">
+<!ENTITY tableAlignment.accessKey "T">
+<!ENTITY tableCaption.label "Leyenda:">
+<!ENTITY tableCaption.accessKey "N">
+<!ENTITY tableCaptionAbove.label "Arriba de la Tabla">
+<!ENTITY tableCaptionBelow.label "Abajo de la tabla">
+<!ENTITY tableCaptionLeft.label "A la izquierda de la tabla">
+<!ENTITY tableCaptionRight.label "A la derecha de la tabla">
+<!ENTITY tableCaptionNone.label "Ninguno">
+<!ENTITY tableInheritColor.label "(Dejar que se muestre el color de la página)">
+
+<!ENTITY cellSelection.label "Selección">
+<!ENTITY cellSelectCell.label "Celda">
+<!ENTITY cellSelectRow.label "Línea">
+<!ENTITY cellSelectColumn.label "Columna">
+<!ENTITY cellSelectNext.label "Siguiente">
+<!ENTITY cellSelectNext.accessKey "N">
+<!ENTITY cellSelectPrevious.label "Anterior">
+<!ENTITY cellSelectPrevious.accessKey "P">
+<!ENTITY applyBeforeChange.label "Se aplicarán los cambios actuales antes de cambiar la selección. ">
+<!ENTITY cellContentAlignment.label "Alineación de contenido">
+<!ENTITY cellHorizontal.label "Horizontal:">
+<!ENTITY cellHorizontal.accessKey "Z">
+<!ENTITY cellVertical.label "Vertical:">
+<!ENTITY cellVertical.accessKey "V">
+<!ENTITY cellStyle.label "Estilo de celda:">
+<!ENTITY cellStyle.accessKey "C">
+<!ENTITY cellNormal.label "Normal">
+<!ENTITY cellHeader.label "Encabezado">
+<!ENTITY cellTextWrap.label "Ajuste de texto: ">
+<!ENTITY cellTextWrap.accessKey "T">
+<!ENTITY cellWrap.label "Ajuste">
+<!ENTITY cellNoWrap.label "No ajustar">
+<!ENTITY cellAlignTop.label "Arriba">
+<!ENTITY cellAlignMiddle.label "Medio">
+<!ENTITY cellAlignBottom.label "Abajo">
+<!ENTITY cellAlignJustify.label "Justificar">
+<!ENTITY cellInheritColor.label "(Dejar que se muestre el color de la tabla)">
+<!ENTITY cellUseCheckboxHelp.label "Usar casillas de verificación para determinar qué propiedades se aplican a todas las celdas seleccionadas">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "Tamaño">
+<!ENTITY pixels.label "píxeles">
+<!ENTITY backgroundColor.label "Color de fondo:">
+<!ENTITY backgroundColor.accessKey "B">
+<!ENTITY AlignLeft.label "Izquierda">
+<!ENTITY AlignCenter.label "Centro">
+<!ENTITY AlignRight.label "Derecha">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties
new file mode 100644
index 0000000000..dc3b433368
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/composeMsgs.properties
@@ -0,0 +1,464 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=No es posible abrir el archivo %S.
+unableToOpenTmpFile=No es posible abrir el archivo temporal %S. Comprueba tu configuración de 'Directorio temporal'.
+unableToSaveTemplate=No es posible guardar tu mensaje como plantilla.
+unableToSaveDraft=No es posible guardar tu mensaje como un borrador.
+couldntOpenFccFolder=No se pudo abrir la carpeta de mensajes enviados. Por favor, comprueba que tus preferencias de Correo son correctas.
+noSender=No se especificó remitente. Por favor, completa su dirección de correo electrónico en las preferencias de Correo y Noticias.
+noRecipients=No se especificaron destinatarios. Por favor, ingresa un destinatario o grupo de noticias en el área de dirección.
+errorWritingFile=Error escribiendo archivo temporal.
+
+## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingFromCommand=Ocurrió un error mientras se enviaba el correo. El servidor de correo respondió: %s. Por favor, verifica que tu dirección de correo electrónico es correcta en las preferencias de correo y vuelve a intentarlo.
+
+## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingDataCommand=Ocurrió un error (SMTP) al enviar el correo. El servidor respondió: %s.
+
+## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response
+errorSendingMessage=Ocurrió un error al enviar el correo. El servidor de correo respondió: %s. Por favor, comprueba el mensaje y vuelve a intentarlo.
+postFailed=Este mensaje no pudo ser publicado porque falló el intento de conexión con el servidor de noticias. El servidor puede no estar disponible o no acepta conexiones. Por favor, verifica que tu configuración del servidor de noticias es correcta y vuelve a intentarlo, o contacta con el administrador de tu red.
+errorQueuedDeliveryFailed=Ocurrió un error al procesar tus mensajes no enviados.
+sendFailed=Falló el envío del mensaje.
+
+## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value
+sendFailedUnexpected=Falló debido a un error inesperado %X. No hay una descripción disponible.
+
+## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing server (SMTP) response
+smtpSecurityIssue=La configuración relacionada a %S debe corregirse.
+
+## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response
+smtpServerError=Ocurrió un error al enviar el correo: Error del servidor (SMTP). El servidor respondió: %s.
+unableToSendLater=No es posible guardar tu mensaje para poder enviarlo más tarde.
+
+## LOCALIZATION NOTE (communicationsError): argument %d is the error code
+communicationsError=Ocurrió un error de comunicación: %d. Por favor, vuelve a intentarlo.
+dontShowAlert=ESTE ES SOLAMENTE UN MARCADOR DE POSICIÓN. NUNCA DEBERÍAS PODER VER ESTA CADENA.
+
+couldNotGetUsersMailAddress2=Ocurrió un error al enviar el correo: la dirección del remitente (De:) no era válida. Por favor verifica que esta dirección de correo electrónico es correcta e intenta de nuevo.
+couldNotGetSendersIdentity=Ocurrió un error al enviar correo: la identidad del remitente no era válida. Por favor verifica la configuración de tu identidad y vuelve a intentarlo.
+
+mimeMpartAttachmentError=Error en el archivo adjunto.
+failedCopyOperation=El mensaje se envió con éxito, pero no pudo copiarse a la carpeta Enviados.
+nntpNoCrossPosting=Solo puedes enviar un mensaje a un servidor de noticias a la vez.
+msgCancelling=Cancelando…
+sendFailedButNntpOk=Tu mensaje ha sido enviado al grupo de noticias pero no ha sido enviado a otros destinatarios.
+errorReadingFile=Error al leer el archivo.
+followupToSenderMessage=El autor de este mensaje ha solicitado que las respuestas sean enviadas únicamente al autor. Si también quieres responder al grupo de noticias, agrega una nueva fila al área de direcciones, selecciona Grupo de la lista de encabezados e ingresa el nombre del grupo de noticias.
+
+## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of the object to be attached
+errorAttachingFile=Hubo un problema al adjuntar %S. Por favor, verifica que tienes acceso al archivo.
+
+## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting
+incorrectSmtpGreeting=Ocurrió un error al enviar el correo: El servidor de correo envió una respuesta incorrecta: %s.
+
+## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient.
+errorSendingRcptCommand=Hubo un error mientras se enviaba el correo: El servidor de correo respondió: \n%1$S.\n Revisa el destinatario "%2$S" e inténtalo de nuevo.
+
+## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP)
+startTlsFailed=Hubo un error mientras se enviaba el correo: No se pudo establecer una conexión segura con el servidor SMTP %S usando STARTTLS porque no anuncia esa funcionalidad . Deshabilita STARTTLS para ese servidor o contacta a u proveedor.
+
+## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account
+smtpPasswordUndefined=Un error ha ocurrido mientras se enviaba el correo: No se pudo obtener la contraseña para %S. El mensaje no fue enviado.
+
+## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response
+smtpSendNotAllowed=Un error ocurrió mientras se enviaba el correo. El servidor de correo respondió: \n%s.\n Por favor, asegúrate de estar usando la identidad correcta para enviar y que el método de autenticación utilizado sea correcto. Verifica que tienes permiso para enviar a través de este servidor SMTP con tus credenciales actuales desde tu red actual.
+
+## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response
+smtpTempSizeExceeded=El tamaño del mensaje que estás tratando de enviar excede el límite del tamaño temporal del servidor. El mensaje no fue enviado; intenta reducir el tamaño del mensaje o espera un poco e intenta de nuevo. El servidor respondió: %s.
+
+## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response
+smtpClientid=El servidor saliente (SMTP) detectó un error en el comando CLIENTID. El mensaje no fue enviado. El servidor respondió: %s
+
+## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response
+smtpClientidPermission=La respuesta del servidor saliente (SMTP) al comando CLIENTID indica que el dispositivo no tiene permitido enviar correo electrónico. El servidor respondió: %s
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit
+smtpPermSizeExceeded1=El tamaño del mensaje que estás tratando de enviar excede el límite del tamaño global (%d bytes) del servidor. El mensaje no fue enviado; reduce el tamaño del mensaje e intenta de nuevo.
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response
+smtpPermSizeExceeded2=El tamaño del mensaje que estás tratando de enviar excede el límite del tamaño global del servidor. El mensaje no fue enviado; reduce el tamaño del mensaje e intenta de nuevo. El servidor respondió: %s.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownServer=Un error ha ocurrido mientras se enviaba el correo: El servidor de salida (SMTP) %S es desconocido. El servidor puede estar configurado incorrectamente. Por favor, verifica que la configuración de tu servidor de salida (SMTP) es correcta e intenta de nuevo.
+
+## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP)
+smtpSendRequestRefused=El mensaje no pudo ser enviado porque la conexión con el servidor de salida (SMTP) %S ha fallado. El servidor puede no estar disponible o está rechazando conexiones SMTP. Por favor, verifica que la configuración de tu servidor de salida (SMTP) es correcta e intenta de nuevo.
+
+## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP)
+smtpSendInterrupted=El mensaje no pudo ser enviado porque la conexión con el servidor de salida (SMTP) %S se perdió en medio de la transacción. Intenta de nuevo.
+
+## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP)
+smtpSendTimeout=El mensaje no pudo ser enviado porque el tiempo de conexión con el servidor de salida (SMTP) %S se ha agotado. Intenta de nuevo.
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownReason=El mensaje no pudo ser enviado usando el servidor de salida (SMTP) %S por alguna razón desconocida. Por favor, verifica que la configuración de tu servidor de salida (SMTP) es correcta e intenta de nuevo.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainNoSsl=El servidor de salida (SMTP) %S no parece soportar contraseñas cifradas. Si acabas de configurar la cuenta, intenta cambiar el 'Método de autenticación' en 'Configuración de cuenta | Servidor de salida (SMTP)' a 'Contraseña, transmitida de forma insegura'. Si funcionaba y dejó de hacerlo, puedes ser suceptible a un robo de contraseña.
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainSsl=El servidor de salida (SMTP) %S parece no soportar contraseñas cifradas. Si solo estás configurando la cuenta, trata de cambiar el 'Método de Autenticación' en ' Configuración de cuenta | Servidor de salida (SMTP)' a 'Contraseña Normal'.
+
+# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname
+smtpHintAuthPlainToEncrypt=El servidor de salida (SMTP) %S no permite contraseñas en texto plano. Por favor, intenta cambiar el 'Método de Autenticación' en ' Configuración de la cuenta | Servidor de salida (SMTP)' a 'Contraseña cifrada'.
+
+# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname
+smtpAuthFailure=No se puede autenticar al servidor de salida(SMTP) %S. Por favor, comprueba la contraseña y verifica el 'Método de Autenticación' en ' Configuración de la cuenta | Servidor de salida (SMTP)'.
+
+# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname
+smtpAuthGssapi=El ticket Kerberos/GSSAPI no fue aceptado por el servidor de salida (SMTP) %S. Por favor verifica que has iniciado sesión en Kerberos/GSSAPI.
+
+# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname
+smtpAuthMechNotSupported=El servidor de salida (SMTP) %S no soporta el método de autenticación seleccionado. Por favor cambia el 'Método de Autenticación' en 'Configuración de la cuenta | Servidor de Salida (SMTP)'.
+
+# LOCALIZATION NOTE (errorIllegalLocalPart2): %s is an email address with an illegal localpart
+errorIllegalLocalPart2=Hay caracteres que no son ASCII en la parte local de la dirección del destinatario %s y tu servidor no es compatible con SMTPUTF8. Cambia esta dirección y vuelve a intentarlo.
+
+## Strings used for the save message dialog shown when the user closes a message compose window
+saveDlogTitle=Guardar mensaje
+
+## 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=¿Guardar este mensaje en la carpeta de borradores (%1$S) y cerrar la ventana Redactar?
+discardButtonLabel=&Descartar cambios
+
+## generics string
+defaultSubject=(sin asunto)
+chooseFileToAttach=Adjuntar archivo(s)
+genericFailureExplanation=Por favor, verifica que la configuración de tu cuenta es correcta e intenta de nuevo.
+
+## LOCALIZATION NOTE (undisclosedRecipients): this string must use only US_ASCII characters
+undisclosedRecipients=destinatarios-no-mostrados
+
+# LOCALIZATION NOTE (chooseFileToAttachViaCloud): %1$S is the cloud
+# provider to save the file to.
+chooseFileToAttachViaCloud=Adjuntar archivo(s) vía %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=Escribir: %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=Imprimir vista previa: %1$S - %2$S
+
+## From field
+msgIdentityPlaceholder=Ingresar desde dirección personalizada para ser usada en lugar de %S
+customizeFromAddressTitle=Personalizar desde dirección
+customizeFromAddressWarning=Si tu proveedor de correo electrónico lo soporta, Personalizar desde dirección permite hacer un pequeño cambio a la dirección Desde sin tener que crear una nueva identidad en Opciones de cuenta. Por ejemplo, si en Desde dirección está Juan Pérez <juan@example.com> podría cambiarla a Juan Pérez <juan+perez@example.com> o Juan <juan@example.com>.
+customizeFromAddressIgnore=No volver a notificarme
+
+## Strings used by the empty subject dialog
+subjectEmptyTitle=Recordatorio de asunto
+subjectEmptyMessage=Tu mensaje no tiene un asunto.
+sendWithEmptySubjectButton=&Enviar sin asunto
+cancelSendingButton=&Cancelar envío
+
+## Strings used by the dialog that informs about the lack of newsgroup support.
+noNewsgroupSupportTitle=Grupos de noticias no soportados
+recipientDlogMessage=Esta cuenta solamente soporta correo. Si continúas, se ignorarán los grupos de noticias.
+
+## Strings used by the alert that tells the user that an e-mail address is invalid.
+addressInvalidTitle=Dirección de destinatario no válida
+addressInvalid=%1$S no es una dirección de correo válida porque no tiene la estructura usuario@servidor. Deberías corregirla antes de enviar el correo electrónico.
+
+## String used by the dialog that asks the user to attach a web page
+attachPageDlogTitle=Por favor, especifica una ubicación para adjuntar
+attachPageDlogMessage=Página web (URL):
+
+## String used for attachment pretty name, when the attachment is a message
+messageAttachmentSafeName=Mensaje adjunto
+
+## String used for attachment pretty name, when the attachment is a message part
+partAttachmentSafeName=Parte del mensaje adjunto
+
+# LOCALIZATION NOTE (attachmentBucketAttachFilesTooltip):
+# This tooltip should be same as attachFile.label in messengercompose.dtd,
+# but without ellipsis (…).
+attachmentBucketAttachFilesTooltip=Adjuntar archivo(s)
+attachmentBucketClearSelectionTooltip=Borrar selección
+attachmentBucketHeaderShowTooltip=Mostrar panel del adjunto
+attachmentBucketHeaderMinimizeTooltip=Minimizar panel del adjunto
+attachmentBucketHeaderRestoreTooltip=Restaurar panel del adjunto
+
+## String used by the Initialization Error dialog
+initErrorDlogTitle=Redactar mensaje
+initErrorDlgMessage=Ocurrió un error mientras se creaba una ventana de redacción de mensaje. Por favor, intenta de nuevo.
+
+## String used if a file to attach does not exist when passed as
+## a command line argument
+errorFileAttachTitle=Adjuntar archivo
+
+## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name.
+errorFileAttachMessage=El archivo %1$S no existe, por lo tanto no pudo ser adjuntado al mensaje.
+
+## 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=Archivo de mensaje
+
+## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name.
+errorFileMessageMessage=El archivo %1$S no existe y no puede ser usado como cuerpo de mensaje.
+
+## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded.
+errorLoadFileMessageMessage=El archivo %1$S no pudo ser cargado como cuerpo de mensaje.
+
+## Strings used by the Save as Draft/Template dialog
+SaveDialogTitle=Guardar mensaje
+
+## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
+SaveDialogMsg=Tu mensaje ha sido guardado en la carpeta %1$S bajo %2$S.
+CheckMsg=No mostrarme este diálogo de nuevo.
+
+## Strings used by the prompt when Quitting while in progress
+quitComposeWindowTitle=Enviando mensaje
+
+## LOCALIZATION NOTE (quitComposeWindowMessage2): don't translate \n
+quitComposeWindowMessage2=%1$S está en el proceso de enviar mensaje.\n¿Te gustaría esperar hasta que el mensaje haya sido enviado antes de salir o salir ahora?
+quitComposeWindowQuitButtonLabel2=&Salir
+quitComposeWindowWaitButtonLabel2=&Esperar
+quitComposeWindowSaveTitle=Guardando mensaje
+
+## LOCALIZATION NOTE (quitComposeWindowSaveMessage): don't translate \n
+quitComposeWindowSaveMessage=%1$S está en el proceso de guardar un mensaje.\n¿Te gustaría esperar hasta que el mensaje haya sido guardado antes de salir o salir ahora?
+
+## Strings used by the prompt for Ctrl-Enter check before sending message
+sendMessageCheckWindowTitle=Enviar mensaje
+sendMessageCheckLabel=¿Estás seguro que estás listo para enviar este mensaje?
+sendMessageCheckSendButtonLabel=Enviar
+assemblingMessageDone=Ensamblando mensaje…Listo
+assemblingMessage=Ensamblando mensaje…
+smtpDeliveringMail=Entregando correo…
+smtpMailSent=Correo enviado correctamente
+assemblingMailInformation=Montando información del correo…
+
+## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment
+gatheringAttachment=Adjuntando %S…
+creatingMailMessage=Creando mensajes de correo…
+
+## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name
+copyMessageStart=Copiando mensaje a la carpeta %S…
+copyMessageComplete=Copiado completo.
+copyMessageFailed=Copiado fallido.
+filterMessageComplete=Filtro completo.
+filterMessageFailed=Filtro fallido.
+
+## LOCALIZATION NOTE (largeMessageSendWarning):
+## Do not translate %S. It is the size of the message in user-friendly notation.
+largeMessageSendWarning=¡Advertencia! Estás por enviar un mensaje del tamaño %S. ¿Estás seguro que quieres hacerlo?
+sendingMessage=Enviando mensaje…
+sendMessageErrorTitle=Error al enviar el mensaje
+postingMessage=Publicando mensaje…
+sendLaterErrorTitle=Error al enviar después
+saveDraftErrorTitle=Error al guardar borrador
+saveTemplateErrorTitle=Error al guardar plantilla
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSaving=Hubo un problema al incluir el archivo %.200S en el mensaje. ¿Deseas continuar guardando el mensaje sin este archivo?
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSending=Hubo un problema entre ellos el archivo %.200S en el mensaje. ¿Te gustaría continuar enviando el mensaje sin este archivo?
+returnToComposeWindowQuestion=¿Te gustaría volver a la ventana de redacción?
+
+## 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 escribió:
+
+## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_ondateauthorwrote=En #2 #3, #1 escribió:
+
+## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_authorwroteondate=#1 escribió el #2 #3:
+
+## reply header in composeMsg
+## user specified
+mailnews.reply_header_originalmessage=-------- Mensaje original --------
+
+## forwarded header in composeMsg
+## user specified
+mailnews.forward_header_originalmessage=-------- Mensaje reenviado --------
+
+## Strings used by the rename attachment dialog
+renameAttachmentTitle=Renombrar adjunto
+renameAttachmentMessage=Nuevo nombre del archivo adjunto:
+
+## Attachment Reminder
+## LOCALIZATION NOTE (mail.compose.attachment_reminder_keywords): comma separated
+## words that should trigger an attachment reminder.
+mail.compose.attachment_reminder_keywords=.doc,.pdf,.xls,.ppt,.rtf,.pps,accesorio,adjuntar,adjunto,colocar,incluido,CV,carta de presentación
+
+remindLaterButton=Recordarme después
+remindLaterButton.accesskey=L
+disableAttachmentReminderButton=Desactivar el recordatorio de adjuntar para el mensaje actual
+attachmentReminderTitle=Recordatorio de adjunto
+attachmentReminderMsg=¿Olvidaste añadir un archivo adjunto?
+
+# LOCALIZATION NOTE (attachmentReminderKeywordsMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of keywords
+attachmentReminderKeywordsMsgs=Se encontró una palabra clave del adjunto:;Se encontraron #1 palabras clave en los adjuntos:
+attachmentReminderOptionsMsg=Las palabras de recordatorio de adjuntos se pueden configurar en preferencias
+attachmentReminderYesIForgot=¡Oh, lo hice!
+attachmentReminderFalseAlarm=No, enviar ahora
+
+# Strings used by the Filelink offer notification bar.
+learnMore.label=Saber más…
+learnMore.accesskey=m
+
+# LOCALIZATION NOTE (bigFileDescription): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of big attached files
+bigFileDescription=Este es un archivo grande. Sería mejor utilizar Filelink.;Estos son archivos grandes. Sería mejor utilizar Filelink.
+bigFileShare.label=Enlace
+bigFileShare.accesskey=l
+bigFileAttach.label=Ignorar
+bigFileAttach.accesskey=i
+bigFileChooseAccount.title=Elegir cuenta
+bigFileChooseAccount.text=Elegir una cuenta en la nube para subir el adjunto
+bigFileHideNotification.title=No subir mis archivos
+bigFileHideNotification.text=No serás notificado si adjuntas más archivos grandes a este mensaje.
+bigFileHideNotification.check=No volver a notificarme de esto.
+
+# 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=Subiendo a %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=Subido a %S
+cloudFileUploadingNotification=Tu archivo está siendo enlazado. Este aparecerá en el cuerpo del mensaje cuando esté listo.;Tus archivos están siendo enlazados. Estos aparecerán en el cuerpo del mensaje cuando estén listos.
+cloudFileUploadingCancel.label=Cancelar
+cloudFileUploadingCancel.accesskey=c
+cloudFilePrivacyNotification=Enlazado completado. Toma en cuenta que adjuntos enlazados pueden ser accesibles a personas que pueden ver o adivinar los enlaces.
+
+## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the
+## word %S. Place the word %S where the host name should appear.
+smtpEnterPasswordPrompt=Ingresa tu contraseña para %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=Ingresa tu contraseña para %2$S en %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=Se necesita contraseña para el servidor saliente (SMTP) %1$S
+
+# LOCALIZATION NOTE (removeAttachmentMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentMsgs=Quitar adjunto;Quitar adjuntos
+
+## 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=Tu mensaje fue enviado pero no se colocó una copia en la carpeta de enviados (%1$S) debido un error de red o a un error de acceso en los archivos.\nPuedes reintentar o guardar el mensaje localmente en %3$S/%1$S-%2$S.
+errorFilteringMsg=Tu mensaje se ha enviado y guardado, pero se produjo un error durante la ejecución de filtros de mensajes en él.
+errorCloudFileAuth.title=Error de autenticación
+
+## 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=El borrador del mensaje no fue copiado a la carpeta de borradores (%1$S) debido a un error de red o un error de acceso a los archivo.\nPuedes reintentar o guardar el borrador localmente en %3$S/%1$S-%2$S.
+buttonLabelRetry2=&Reintentar
+
+## 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=Tu plantilla no fue copiada a tu carpeta de plantillas (%1$S) debido a un error en la red o errores de acceso a los archivos.\nPuedes reintentar o guardar la plantilla localmente a %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=Incapaz de guardar tu mensaje en la carpeta local. Posiblemente ya no tengas espacio de almacenamiento.
+
+## LOCALIZATION NOTE(errorCloudFileAuth.message):
+## %1$S is the name of the online storage service against which the authentication failed.
+errorCloudFileAuth.message=Incapaz de autenticar a %1$S.
+errorCloudFileUpload.title=Error de carga
+
+## 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=No se puede cargar %2$S a %1$S.
+errorCloudFileQuota.title=Error de cuota
+
+## 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=Subir %2$S a %1$S superaría tu cuota de espacio.
+
+errorCloudFileLimit.title=Error de tamaño de archivo
+
+## 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 excede el tamaño máximo de %1$S.
+errorCloudFileOther.title=Error desconocido
+
+## LOCALIZATION NOTE(errorCloudFileOther.message):
+## %1$S is the name of the online storage service that cannot be communicated with.
+errorCloudFileOther.message=Ha ocurrido un error mientras se comunicaba con %1$S.
+errorCloudFileDeletion.title=Error de borrado
+
+## 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=Hubo un problema borrando %2$S desde %1$S.
+errorCloudFileUpgrade.label=Actualizar
+
+## 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=No mostrar esto de nuevo
+replaceButton.label=Reemplazar…
+replaceButton.accesskey=x
+replaceButton.tooltip=Mostrar la ventana Encontrar y Reemplazar
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=Desbloquear %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 ha bloqueado un archivo de ser cargado en este mensaje. Desbloquear el archivo lo incluirá en tu mensaje enviado.;%S ha bloqueado algunos archivos de ser cargados en este mensaje. Desbloquear un archivo lo incluirá en tu mensaje enviado.
+
+blockedContentPrefLabel=Opciones
+blockedContentPrefAccesskey=O
+
+blockedContentPrefLabelUnix=Preferencias
+blockedContentPrefAccesskeyUnix=P
+
+## Recipient pills fields.
+## LOCALIZATION NOTE(confirmRemoveRecipientRowTitle2): %S will be replaced with the field name.
+confirmRemoveRecipientRowTitle2=Eliminar %S direcciones
+## LOCALIZATION NOTE(confirmRemoveRecipientRowBody2): %S will be replaced with the field name.
+confirmRemoveRecipientRowBody2=¿Estás seguro que quieres eliminar las %S direcciones?
+confirmRemoveRecipientRowButton=Eliminar
+
+## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row.
+## It should be larger than the largest Header label and identical to &headersSpace2.style;
+headersSpaceStyle=width: 8em
+
+## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response
+smtpTooManyRecipients=The message was not sent due to exceeding the allowed number of recipients. The server responded: %s.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/editor.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/editor.properties
new file mode 100644
index 0000000000..330c8fa95a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/editor.properties
@@ -0,0 +1,208 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE FILE: embedded "\n" represent HTML breaks (<br>)
+# Don't translate embedded "\n".
+# Don't translate strings like this: %variable%
+# as they will be replaced using JavaScript
+#
+No=No
+Save=Guardar
+More=Más
+Less=Menos
+MoreProperties=Más propiedades
+FewerProperties=Menos propiedades
+PropertiesAccessKey=P
+None=Ninguno
+none=ninguno
+OpenHTMLFile=Abrir archivo HTML
+OpenTextFile=Abrir archivo de texto
+SelectImageFile=Seleccionar archivo de imagen
+SaveDocument=Guardar página
+SaveDocumentAs=Guardar página como
+SaveTextAs=Guardar texto como
+EditMode=Modo edición
+Preview=Vista previa
+Publish=Publicar
+PublishPage=Publicar página
+DontPublish=No publicar
+SavePassword=Usar administrador de contraseñas para guardar esta contraseña
+CorrectSpelling=(ortografía correcta)
+NoSuggestedWords=(sin palabras sugeridas)
+NoMisspelledWord=Sin errores de ortografía
+CheckSpellingDone=Revisión ortográfica terminada.
+CheckSpelling=Revisar ortografía
+InputError=Error
+Alert=Alerta
+CantEditFramesetMsg=El editor no puede editar marcos HTML, o páginas con marcos interlineados. Para marcos, intenta editando la página de cada marco por separado. Para páginas con iframes, guarda una copia de la página y elimina la etiqueta <iframe>.
+CantEditMimeTypeMsg=Este tipo de página no puede ser editada.
+CantEditDocumentMsg=Esta página no puede ser editada por una razón desconocida.
+BeforeClosing=antes de cerrar
+BeforePreview=antes de visualizar en el navegador
+BeforeValidate=antes de validar el documento
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=¿Guardar cambios de "%title%" %reason%?
+PublishPrompt=¿Guardar cambios en "%title%" %reason%?
+SaveFileFailed=¡Fallo al guardar el archivo!
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=%file% no encontrado.
+SubdirDoesNotExist=El subdirectorio "%dir%" no existe en este sitio o el archivo "%file%" está en uso por otro subdirectorio.
+FilenameIsSubdir=El archivo "%file%" ya está en uso por otro subdirectorio.
+ServerNotAvailable=El servidor no está disponible. Revisa tu conexión e intenta de nuevo.
+Offline=No estás conectado. Haz click en el ícono cerca de la esquina inferior derecha de cualquier ventana para conectarte.
+DiskFull=No hay suficiente espacio en disco para guardar el archivo "%file%"
+NameTooLong=El nombre del archivo o subdirectorio es demasiado largo.
+AccessDenied=No tienes permiso de publicar en esta ubicación.
+UnknownPublishError=Ocurrió un error desconocido al publicar.
+PublishFailed=Error al publicar.
+PublishCompleted=Publicación terminada.
+AllFilesPublished=Todos los archivos publicados
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=%x% de %total% fallaron al publicarse.
+# End-Publishing error strings
+Prompt=Pregunta
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=Ingresa usuario y contraseña para el servidor FTP en %host%
+RevertCaption=Revertir al último guardado
+Revert=Revertir
+SendPageReason=antes de enviar esta página
+Send=Enviar
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=Publicando: %title%
+PublishToSite=Publicando al sitio: %title%
+AbandonChanges=¿Descartar cambios no guardados en "%title%" y recargar página?
+DocumentTitle=Título de página
+NeedDocTitle=Por favor ingresa un título para la página actual.
+DocTitleHelp=Esto identifica la página en el título de ventana y marcadores.
+CancelPublishTitle=¿Cancelar publicación?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=Cancelar mientras la publicación está en proceso puede resultar en la transferencia incompleta de tus archivos. ¿Quieres continuar o cancelar?
+CancelPublishContinue=Continuar
+MissingImageError=Por favor ingresa o elige una imagen de tipo gif, jpg o png.
+EmptyHREFError=Por favor, elige una ubicación para crear un nuevo enlace.
+LinkText=Enlace de texto
+LinkImage=Enlace de imagen
+MixedSelection=[Selección mixta]
+Mixed=(mixto)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (no está instalado)
+EnterLinkText=Ingresa el texto a mostrar para el enlace:
+EnterLinkTextAccessKey=T
+EmptyLinkTextError=Por favor, ingresa un texto para este enlace.
+EditTextWarning=Esto reemplazará el contenido existente.
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=El número que ingresaste (%n%) está fuera del rango permitido.
+ValidateNumberMsg=Por favor, ingresa un número entre %min% y %max%.
+MissingAnchorNameError=Por favor, ingresa un nombre para este delimitador.
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError="%name%" ya existe en esta página. Por favor, ingresa un nombre diferente.
+BulletStyle=Estilo de viñeta
+SolidCircle=Círculo sólido
+OpenCircle=Círculo abierto
+SolidSquare=Cuadrado sólido
+NumberStyle=Estilo de número
+Automatic=Automático
+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=pixeles
+Percent=porcentaje
+PercentOfCell=% de celda
+PercentOfWindow=% de ventana
+PercentOfTable=% de tabla
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=sin título-%S
+untitledDefaultFilename=sin título
+ShowToolbar=Mostrar barra de herramientas
+HideToolbar=Ocultar barra de herramientas
+ImapError=No se pudo cargar la imagen
+ImapCheck=\nPor favor elige una nueva ubicación (URL) e intenta de nuevo.
+SaveToUseRelativeUrl=Las URLs relativas sólo pueden ser usadas en páginas que han sido guardadas
+NoNamedAnchorsOrHeadings=(No hay delimitadores o encabezados en esta página)
+TextColor=Color del texto
+HighlightColor=Color de resalte
+PageColor=Color de fondo de página
+BlockColor=Bloquear color de fondo
+TableColor=Color de fondo de tabla
+CellColor=Color de fondo de celda
+TableOrCellColor=Colo de tabla o celda
+LinkColor=Color de texto de enlace
+ActiveLinkColor=Color de enlace activo
+VisitedLinkColor=Color de enlace visitado
+NoColorError=Haz clic en un color o ingresa un color HTML válido
+Table=Tabla
+TableCell=Celda de tabla
+NestedTable=Tabla anidada
+HLine=Línea horizontal
+Link=Enlace
+Image=Imagen
+ImageAndLink=Imagen y enlace
+NamedAnchor=Delimitador
+List=Lista
+ListItem=Elemento de lista
+Form=Formulario
+InputTag=Campo de formulario
+InputImage=Imagen de formulario
+TextArea=Área de texto
+Select=Selección de lista
+Button=Botón
+Label=Etiqueta
+FieldSet=Campo
+Tag=Etiqueta
+MissingSiteNameError=Por favor, ingresa un nombre para esta publicación en el sitio.
+MissingPublishUrlError=Por favor, ingresa una ubicación para publicar este sitio.
+MissingPublishFilename=Por favor, ingresa un nombre de archivo para la página actual.
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError="%name%", ya existe. Por favor, ingresa un nombre de sitio diferente.
+AdvancedProperties=Propiedades avanzadas…
+AdvancedEditForCellMsg=La edición avanzada no está disponible cuando varias celdas están seleccionadas
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=Propiedades %obj%…
+# LOCALIZATION NOTE This character must be in the above string and not conflict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=o
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=Unir celdas seleccionadas
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=Unir con celda de la derecha
+JoinCellAccesskey=j
+# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard
+TableSelectKey=Ctrl+
+# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard
+XulKeyMac=Cmd+
+# LOCALIZATION NOTE (Del): Del key on a keyboard
+Del=Supr
+Delete=Eliminar
+DeleteCells=Eliminar celdas
+DeleteTableTitle=Eliminar filas o columnas
+DeleteTableMsg=Reducir el número de filas o columnas eliminará celdas y sus contenidos. ¿Realmente quieres hacer esto?
+Clear=Limpiar
+#Mouse actions
+Click=Clic
+Drag=Arrastrar
+Unknown=Desconocido
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=x
+RemoveTextStyles=Eliminar todos los estilos de texto
+StopTextStyles=Descontinuar estilos de texto
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=n
+RemoveLinks=Eliminar enlaces
+StopLinks=Descontinuar enlace
+#
+NoFormAction=Se recomienda que ingreses una acción para este formulario. Los formularios que se auto registran son una técnica avanzada que puede no funcionar de forma consistente en todos los navegadores.
+NoAltText=Si la imagen es relevante para el contenido del documento, debes proveer un texto alternativo que aparecerá en navegadores sólo-texto y aparecerá en otros navegadores cuando la imagen está cargando o cuando la carga de imágenes ha sido deshabilitada.
+#
+Malformed=El código no pudo ser convertido de vuelta a un documento porque el código XHTML no es válido.
+NoLinksToCheck=No hay elementos con enlaces para revisar
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/editorOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/editorOverlay.dtd
new file mode 100644
index 0000000000..4a283cbacd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Pegar sin formatear">
+<!ENTITY pasteNoFormatting.accesskey "n">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAsQuotationCmd.label "Pegar como cita">
+<!ENTITY pasteAsQuotationCmd.accesskey "Q">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "Insertar">
+<!ENTITY insertMenu.accesskey "I">
+<!ENTITY insertLinkCmd2.label "Enlace…">
+<!ENTITY insertLinkCmd2.accesskey "L">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "Ancla con nombre…">
+<!ENTITY insertAnchorCmd.accesskey "A">
+<!ENTITY insertImageCmd.label "Imagen…">
+<!ENTITY insertImageCmd.accesskey "I">
+<!ENTITY insertHLineCmd.label "Línea horizontal">
+<!ENTITY insertHLineCmd.accesskey "o">
+<!ENTITY insertTableCmd.label "Tabla…">
+<!ENTITY insertTableCmd.accesskey "T">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "Matemáticas…">
+<!ENTITY insertMathCmd.accesskey "M">
+<!ENTITY insertCharsCmd.label "Caracteres y símbolos…">
+<!ENTITY insertCharsCmd.accesskey "C">
+<!ENTITY insertBreakAllCmd.label "Interrumpir la(s) imágen(es) de abajo">
+<!ENTITY insertBreakAllCmd.accesskey "k">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "Crear enlace…">
+<!ENTITY createLinkCmd.accesskey "k">
+<!ENTITY editLinkCmd.label "Editar enlace en compositor nuevo">
+<!ENTITY editLinkCmd.accesskey "i">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.tooltip "Elegir una fuente">
+<!ENTITY fontfaceMenu.label "Fuente">
+<!ENTITY fontfaceMenu.accesskey "F">
+<!ENTITY fontVarWidth.label "Ancho variable">
+<!ENTITY fontVarWidth.accesskey "V">
+<!ENTITY fontFixedWidth.label "Ancho fijo">
+<!ENTITY fontFixedWidth.accesskey "x">
+<!ENTITY fontFixedWidth.key "T">
+<!ENTITY fontHelvetica.label "Helvetica, Arial">
+<!ENTITY fontHelvetica.accesskey "l">
+<!ENTITY fontTimes.label "Times">
+<!ENTITY fontTimes.accesskey "T">
+<!ENTITY fontCourier.label "Courier">
+<!ENTITY fontCourier.accesskey "C">
+
+<!-- Font Size SubMenu -->
+<!ENTITY FontSizeSelect.tooltip "Elegir tamaño de fuente">
+<!ENTITY decreaseFontSize.label "Más pequeña">
+<!ENTITY decreaseFontSize.accesskey "r">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "Más grande">
+<!ENTITY increaseFontSize.accesskey "g">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "Tamaño">
+<!ENTITY fontSizeMenu.accesskey "z">
+<!ENTITY size-tinyCmd.label "Diminuta">
+<!ENTITY size-tinyCmd.accesskey "T">
+<!ENTITY size-smallCmd.label "Pequeña">
+<!ENTITY size-smallCmd.accesskey "S">
+<!ENTITY size-mediumCmd.label "Mediana">
+<!ENTITY size-mediumCmd.accesskey "M">
+<!ENTITY size-largeCmd.label "Grande">
+<!ENTITY size-largeCmd.accesskey "L">
+<!ENTITY size-extraLargeCmd.label "Extra grande">
+<!ENTITY size-extraLargeCmd.accesskey "x">
+<!ENTITY size-hugeCmd.label "Gigante">
+<!ENTITY size-hugeCmd.accesskey "H">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "Estilo del texto">
+<!ENTITY fontStyleMenu.accesskey "S">
+<!ENTITY styleBoldCmd.label "Negrita">
+<!ENTITY styleBoldCmd.accesskey "B">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "Cursiva">
+<!ENTITY styleItalicCmd.accesskey "I">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "Subrayada">
+<!ENTITY styleUnderlineCmd.accesskey "U">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "Tachada">
+<!ENTITY styleStrikeThruCmd.accesskey "k">
+<!ENTITY styleSuperscriptCmd.label "Superíndice">
+<!ENTITY styleSuperscriptCmd.accesskey "p">
+<!ENTITY styleSubscriptCmd.label "Subíndice">
+<!ENTITY styleSubscriptCmd.accesskey "S">
+<!ENTITY styleNonbreakingCmd.label "Sin salto de línea">
+<!ENTITY styleNonbreakingCmd.accesskey "N">
+<!ENTITY styleEm.label "Énfasis">
+<!ENTITY styleEm.accesskey "E">
+<!ENTITY styleStrong.label "Más énfasis">
+<!ENTITY styleStrong.accesskey "t">
+<!ENTITY styleCite.label "Cita">
+<!ENTITY styleCite.accesskey "C">
+<!ENTITY styleAbbr.label "Abreviatura">
+<!ENTITY styleAbbr.accesskey "A">
+<!ENTITY styleAcronym.label "Acrónimo">
+<!ENTITY styleAcronym.accesskey "r">
+<!ENTITY styleCode.label "Código">
+<!ENTITY styleCode.accesskey "o">
+<!ENTITY styleSamp.label "Salida de muestra">
+<!ENTITY styleSamp.accesskey "m">
+<!ENTITY styleVar.label "Variable">
+<!ENTITY styleVar.accesskey "V">
+
+<!ENTITY formatFontColor.label "Color del texto…">
+<!ENTITY formatFontColor.accesskey "C">
+<!ENTITY tableOrCellColor.label "Color de fondo de tabla o celda…">
+<!ENTITY tableOrCellColor.accesskey "B">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "Eliminar anclas">
+<!ENTITY formatRemoveNamedAnchors.accesskey "R">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "Párrafo">
+<!ENTITY paragraphMenu.accesskey "P">
+<!ENTITY paragraphParagraphCmd.label "Párrafo">
+<!ENTITY paragraphParagraphCmd.accesskey "P">
+<!ENTITY heading1Cmd.label "Encabezado 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "Encabezado 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "Encabezado 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "Encabezado 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "Encabezado 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "Encabezado 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "Dirección">
+<!ENTITY paragraphAddressCmd.accesskey "A">
+<!ENTITY paragraphPreformatCmd.label "Preformato">
+<!ENTITY paragraphPreformatCmd.accesskey "f">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "Lista">
+<!ENTITY formatlistMenu.accesskey "L">
+<!ENTITY noneCmd.label "Ninguno">
+<!ENTITY noneCmd.accesskey "N">
+<!ENTITY listBulletCmd.label "Con viñetas">
+<!ENTITY listBulletCmd.accesskey "B">
+<!ENTITY listNumberedCmd.label "Enumerado">
+<!ENTITY listNumberedCmd.accesskey "m">
+<!ENTITY listTermCmd.label "Término">
+<!ENTITY listTermCmd.accesskey "T">
+<!ENTITY listDefinitionCmd.label "Definición">
+<!ENTITY listDefinitionCmd.accesskey "D">
+<!ENTITY listPropsCmd.label "Lista de propiedades…">
+<!ENTITY listPropsCmd.accesskey "L">
+
+<!ENTITY ParagraphSelect.tooltip "Elegir un formato de párrafo">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "Cuerpo del texto">
+<!ENTITY bodyTextCmd.accesskey "T">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "Alineación">
+<!ENTITY alignMenu.accesskey "A">
+<!ENTITY alignLeft.label "Izquierda">
+<!ENTITY alignLeft.accesskey "L">
+<!ENTITY alignLeft.tooltip "Alinear a la izquierda">
+<!ENTITY alignCenter.label "Centrado">
+<!ENTITY alignCenter.accesskey "C">
+<!ENTITY alignCenter.tooltip "Alinear al centro">
+<!ENTITY alignRight.label "Derecha">
+<!ENTITY alignRight.accesskey "R">
+<!ENTITY alignRight.tooltip "Alinear a la derecha">
+<!ENTITY alignJustify.label "Justificar">
+<!ENTITY alignJustify.accesskey "J">
+<!ENTITY alignJustify.tooltip "Alinear justificado">
+
+<!ENTITY increaseIndent.label "Aumentar indentado">
+<!ENTITY increaseIndent.accesskey "I">
+<!ENTITY increaseIndent.key "]">
+<!ENTITY decreaseIndent.label "Disminuir indentado">
+<!ENTITY decreaseIndent.accesskey "D">
+<!ENTITY decreaseIndent.key "[">
+
+<!ENTITY colorsAndBackground.label "Colores y fondo de página…">
+<!ENTITY colorsAndBackground.accesskey "u">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "Tabla">
+<!ENTITY tableMenu.accesskey "b">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "Seleccionar">
+<!ENTITY tableSelectMenu.accesskey "S">
+
+<!ENTITY tableSelectMenu2.label "Seleccionar tabla">
+<!ENTITY tableSelectMenu2.accesskey "S">
+<!ENTITY tableInsertMenu2.label "Insertar tabla">
+<!ENTITY tableInsertMenu2.accesskey "I">
+<!ENTITY tableDeleteMenu2.label "Eliminar tabla">
+<!ENTITY tableDeleteMenu2.accesskey "D">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "Insertar">
+<!ENTITY tableInsertMenu.accesskey "I">
+<!ENTITY tableTable.label "Tabla">
+<!ENTITY tableTable.accesskey "T">
+<!ENTITY tableRow.label "Fila">
+<!ENTITY tableRows.label "Fila(s)">
+<!ENTITY tableRow.accesskey "R">
+<!ENTITY tableRowAbove.label "Fila arriba">
+<!ENTITY tableRowAbove.accesskey "R">
+<!ENTITY tableRowBelow.label "Fila abajo">
+<!ENTITY tableRowBelow.accesskey "B">
+<!ENTITY tableColumn.label "Columna">
+<!ENTITY tableColumns.label "Columna(s)">
+<!ENTITY tableColumn.accesskey "o">
+<!ENTITY tableColumnBefore.label "Columna antes">
+<!ENTITY tableColumnBefore.accesskey "o">
+<!ENTITY tableColumnAfter.label "Columna después">
+<!ENTITY tableColumnAfter.accesskey "A">
+<!ENTITY tableCell.label "Celda">
+<!ENTITY tableCells.label "Celda(s)">
+<!ENTITY tableCell.accesskey "C">
+<!ENTITY tableCellContents.label "Contenidos de celda">
+<!ENTITY tableCellContents.accesskey "n">
+<!ENTITY tableAllCells.label "Todas las celdas">
+<!ENTITY tableAllCells.accesskey "A">
+<!ENTITY tableCellBefore.label "Celda antes">
+<!ENTITY tableCellBefore.accesskey "C">
+<!ENTITY tableCellAfter.label "Celda después">
+<!ENTITY tableCellAfter.accesskey "f">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "Eliminar">
+<!ENTITY tableDeleteMenu.accesskey "D">
+
+<!-- text for "Join Cells" is in editor.properties
+ ("JoinSelectedCells" and "JoinCellToRight")
+ the access key must exist in both of those strings
+ But value must be set here for accesskey to draw properly
+-->
+<!ENTITY tableJoinCells.label "j">
+<!ENTITY tableJoinCells.accesskey "j">
+<!ENTITY tableSplitCell.label "Dividir celda">
+<!ENTITY tableSplitCell.accesskey "C">
+<!ENTITY convertToTable.label "Crear tabla desde selección">
+<!ENTITY convertToTable.accesskey "r">
+<!ENTITY tableProperties.label "Propiedades de tabla…">
+<!ENTITY tableProperties.accesskey "o">
+
+<!ENTITY imageToolbarCmd.label "Imagen">
+<!ENTITY imageToolbarCmd.tooltip "Insertar nueva imagen o editar propiedades de la imagen seleccionada">
+<!ENTITY hruleToolbarCmd.label "Línea H">
+<!ENTITY hruleToolbarCmd.tooltip "Insertar línea horizontal o editar propiedades de la línea seleccionada">
+<!ENTITY tableToolbarCmd.label "Tabla">
+<!ENTITY tableToolbarCmd.tooltip "Insertar nuevas tablas o editar propiedades de la tabla seleccionada">
+<!ENTITY linkToolbarCmd.label "Enlace">
+<!ENTITY linkToolbarCmd.tooltip "Insertar nuevo enlace o editar las propiedades del enlace seleccionado">
+<!ENTITY anchorToolbarCmd.label "Ancla">
+<!ENTITY anchorToolbarCmd.tooltip "Insertar una nueva ancla o editar las propiedades del ancla seleccionada">
+<!ENTITY TextColorButton.tooltip "Elegir color de texto">
+<!ENTITY BackgroundColorButton.tooltip "Elegir color de fondo">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "Establecer tamaño de fuente">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "Tamaño de fuente más pequeño">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "Tamaño de fuente más grande">
+<!ENTITY boldToolbarCmd.tooltip "Negrita">
+<!ENTITY italicToolbarCmd.tooltip "Cursiva">
+<!ENTITY underlineToolbarCmd.tooltip "Subrayado">
+<!ENTITY bulletListToolbarCmd.tooltip "Aplicar o eliminar lista de viñeta">
+<!ENTITY numberListToolbarCmd.tooltip "Aplicar o eliminar lista enumerada">
+<!ENTITY outdentToolbarCmd.tooltip "Sangría (mover a la izquierda)">
+<!ENTITY indentToolbarCmd.tooltip "Sangría (mover a la derecha)">
+<!ENTITY AlignPopupButton.tooltip "Elegir alineación">
+<!ENTITY InsertPopupButton.tooltip "Insertar un enlace, un ancla, imagen, línea horizontal o tabla">
+<!ENTITY alignLeftButton.tooltip "Alinear texto al margen izquierdo">
+<!ENTITY alignCenterButton.tooltip "Alinear texto centrado">
+<!ENTITY alignRightButton.tooltip "Alinear texto al margen derecho">
+<!ENTITY alignJustifyButton.tooltip "Alinear texto a los márgenes izquierdo y derecho">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "Insertar">
+<!ENTITY insertTOC.accesskey "i">
+<!ENTITY updateTOC.label "Actualizar">
+<!ENTITY updateTOC.accesskey "u">
+<!ENTITY removeTOC.label "Eliminar">
+<!ENTITY removeTOC.accesskey "r">
+<!ENTITY tocMenu.label "Tabla de contenidos…">
+<!ENTITY tocMenu.accesskey "b">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/mailComposeEditorOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/mailComposeEditorOverlay.dtd
new file mode 100644
index 0000000000..715962d86e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Adjuntar esta imagen al mensaje">
+<!ENTITY attachImageSource.accesskey "s">
+
+<!ENTITY attachLinkSource.label "Adjuntar la fuente de este enlace al mensaje">
+<!ENTITY attachLinkSource.accesskey "s">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/messengercompose.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/messengercompose.dtd
new file mode 100644
index 0000000000..cc7a072fe7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Escribir: (sin asunto)">
+
+<!-- File Menu -->
+<!ENTITY fileMenu.label "Archivo">
+<!ENTITY fileMenu.accesskey "f">
+<!ENTITY newMenu.label "Nuevo">
+<!ENTITY newMenu.accesskey "N">
+<!ENTITY newMessage.label "Mensaje">
+<!ENTITY newMessage.accesskey "M">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newContact.label "Libreta de direcciones…">
+<!ENTITY newContact.accesskey "C">
+<!ENTITY attachMenu.label "Adjuntar">
+<!ENTITY attachMenu.accesskey "h">
+<!ENTITY attachCloudCmd.label "Filelink">
+<!ENTITY attachCloudCmd.accesskey "i">
+<!ENTITY attachPageCmd.label "Página web…">
+<!ENTITY attachPageCmd.accesskey "W">
+<!ENTITY remindLater.label "Recordarme después">
+<!ENTITY remindLater.accesskey "L">
+<!ENTITY closeCmd.label "Cerrar">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "c">
+<!ENTITY saveCmd.label "Guardar">
+<!ENTITY saveCmd.key "S">
+<!ENTITY saveCmd.accesskey "s">
+<!ENTITY saveAsCmd.label "Guardar como">
+<!ENTITY saveAsCmd.accesskey "A">
+<!ENTITY saveAsFileCmd.label "Archivo…">
+<!ENTITY saveAsFileCmd.accesskey "F">
+<!ENTITY saveAsDraftCmd.label "Borrador">
+<!ENTITY saveAsDraftCmd.accesskey "D">
+<!ENTITY saveAsTemplateCmd.label "Plantilla">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY sendNowCmd.label "Enviar ahora">
+<!ENTITY sendCmd.keycode "VK_RETURN">
+<!ENTITY sendNowCmd.accesskey "d">
+<!ENTITY sendLaterCmd.label "Enviar más tarde">
+<!ENTITY sendLaterCmd.keycode "VK_RETURN">
+<!ENTITY sendLaterCmd.accesskey "L">
+<!ENTITY printCmd.label "Imprimir…">
+<!ENTITY printCmd.key "P">
+<!ENTITY printCmd.accesskey "P">
+
+<!-- Edit Menu -->
+<!ENTITY editMenu.label "Editar">
+<!ENTITY editMenu.accesskey "e">
+<!ENTITY undoCmd.label "Deshacer">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "u">
+<!ENTITY redoCmd.label "Rehacer">
+<!ENTITY redoCmd.key "Y">
+<!ENTITY redoCmd.accesskey "r">
+<!ENTITY cutCmd.key "X">
+<!ENTITY copyCmd.key "C">
+<!ENTITY pasteCmd.key "V">
+<!ENTITY pasteNoFormattingCmd.key "V">
+<!ENTITY pasteAsQuotationCmd.key "o">
+<!ENTITY editRewrapCmd.accesskey "w">
+<!ENTITY deleteCmd.label "Eliminar">
+<!ENTITY deleteCmd.accesskey "d">
+<!ENTITY editRewrapCmd.label "Ajuste de líneas">
+<!ENTITY editRewrapCmd.key "R">
+<!ENTITY renameAttachmentCmd.label "Renombrar adjunto…">
+<!ENTITY renameAttachmentCmd.accesskey "e">
+<!ENTITY reorderAttachmentsCmd.label "Reordenar los archivos adjuntos…">
+<!ENTITY reorderAttachmentsCmd.accesskey "s">
+<!ENTITY reorderAttachmentsCmd.key "x">
+<!ENTITY selectAllCmd.accesskey "a">
+<!ENTITY findBarCmd.label "Buscar…">
+<!ENTITY findBarCmd.accesskey "F">
+<!ENTITY findBarCmd.key "F">
+<!ENTITY findReplaceCmd.label "Buscar y reemplazar…">
+<!ENTITY findReplaceCmd.accesskey "l">
+<!ENTITY findReplaceCmd.key "H">
+<!ENTITY findAgainCmd.label "Repetir la búsqueda">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.label "Buscar anterior">
+<!ENTITY findPrevCmd.accesskey "v">
+<!ENTITY findPrevCmd.key "G">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+
+<!-- Reorder Attachment Panel -->
+<!ENTITY reorderAttachmentsPanel.label "Reordenar archivos adjuntos">
+<!ENTITY moveAttachmentBundleUpPanelBtn.label "Mover juntos">
+
+<!-- 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 "Ordenar: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.Sort.ZA.label "Ordenar: 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 "Ordenar selección: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.ZA.label "Ordenar selección: Z - A">
+<!ENTITY sortAttachmentsPanelBtn.key "y">
+
+<!-- View Menu -->
+<!ENTITY viewMenu.label "Ver">
+<!ENTITY viewMenu.accesskey "v">
+<!ENTITY viewToolbarsMenuNew.label "Barras de herramientas">
+<!ENTITY viewToolbarsMenuNew.accesskey "T">
+<!ENTITY menubarCmd.label "Barra de menú">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showCompositionToolbarCmd.label "Barra de herramientas del compositor">
+<!ENTITY showCompositionToolbarCmd.accesskey "o">
+<!ENTITY showFormattingBarCmd.label "Barra de formato">
+<!ENTITY showFormattingBarCmd.accesskey "F">
+<!ENTITY showTaskbarCmd.label "Barra de estado">
+<!ENTITY showTaskbarCmd.accesskey "S">
+<!ENTITY customizeToolbar.label "Personalizar…">
+<!ENTITY customizeToolbar.accesskey "C">
+
+<!ENTITY addressSidebar.label "Barra lateral de contactos">
+<!ENTITY addressSidebar.accesskey "o">
+
+<!-- Format Menu -->
+<!ENTITY formatMenu.label "Formato">
+<!ENTITY formatMenu.accesskey "o">
+
+<!-- Options Menu -->
+<!ENTITY optionsMenu.label "Opciones">
+<!ENTITY optionsMenu.accesskey "p">
+<!ENTITY checkSpellingCmd2.label "Comprobar ortografía…">
+<!ENTITY checkSpellingCmd2.key "p">
+<!ENTITY checkSpellingCmd2.key2 "VK_F7">
+<!ENTITY checkSpellingCmd2.accesskey "h">
+<!ENTITY enableInlineSpellChecker.label "Corregir ortográfica conforme escribes">
+<!ENTITY enableInlineSpellChecker.accesskey "S">
+<!ENTITY quoteCmd.label "Citar mensaje">
+<!ENTITY quoteCmd.accesskey "Q">
+
+<!--LOCALIZATION NOTE attachVCard.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCard.label "Adjuntar Tarjeta Personal (vCard)">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY returnReceiptMenu.label "Acuse de recibo">
+<!ENTITY returnReceiptMenu.accesskey "t">
+<!ENTITY dsnMenu.label "Notificación del estado de entrega">
+<!ENTITY dsnMenu.accesskey "N">
+<!ENTITY priorityMenu.label "Prioridad">
+<!ENTITY priorityMenu.accesskey "p">
+<!ENTITY priorityButton.title "Prioridad">
+<!ENTITY priorityButton.tooltiptext "Cambiar la prioridad del mensaje">
+<!ENTITY priorityButton.label "Prioridad:">
+<!ENTITY lowestPriorityCmd.label "La más baja">
+<!ENTITY lowestPriorityCmd.accesskey "l">
+<!ENTITY lowPriorityCmd.label "Baja">
+<!ENTITY lowPriorityCmd.accesskey "o">
+<!ENTITY normalPriorityCmd.label "Normal">
+<!ENTITY normalPriorityCmd.accesskey "n">
+<!ENTITY highPriorityCmd.label "Alta">
+<!ENTITY highPriorityCmd.accesskey "i">
+<!ENTITY highestPriorityCmd.label "La más alta">
+<!ENTITY highestPriorityCmd.accesskey "H">
+<!ENTITY fileCarbonCopyCmd.label "Enviar una copia a">
+<!ENTITY fileCarbonCopyCmd.accesskey "d">
+<!ENTITY fileHereMenu.label "Archivo aquí">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "Herramientas">
+<!ENTITY tasksMenu.accesskey "T">
+<!ENTITY messengerCmd.label "Correo y grupos de noticias">
+<!ENTITY messengerCmd.accesskey "m">
+<!ENTITY messengerCmd.commandkey "1">
+<!ENTITY addressBookCmd.label "Libreta de direcciones">
+<!ENTITY addressBookCmd.accesskey "a">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY accountManagerCmd2.label "Ajustes de la cuenta">
+<!ENTITY accountManagerCmd2.accesskey "S">
+<!ENTITY accountManagerCmdUnix2.accesskey "S">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY minimizeWindow.label "Minimizar">
+<!ENTITY bringAllToFront.label "Traer todo al frente">
+<!ENTITY zoomWindow.label "Zoom">
+<!ENTITY windowMenu.label "Ventana">
+
+<!-- Mail Toolbar -->
+<!ENTITY sendButton.label "Enviar">
+<!ENTITY quoteButton.label "Citar">
+<!ENTITY addressButton.label "Contactos">
+<!ENTITY spellingButton.label "Ortografía">
+<!ENTITY saveButton.label "Guardar">
+<!ENTITY printButton.label "Imprimir">
+
+<!-- Mail Toolbar Tooltips -->
+<!ENTITY sendButton.tooltip "Enviar este mensaje ahora">
+<!ENTITY sendlaterButton.tooltip "Enviar este mensaje después">
+<!ENTITY quoteButton.tooltip "Citar el mensaje anterior">
+<!ENTITY addressButton.tooltip "Selecciona a un destinatario de una libreta de direcciones">
+<!ENTITY spellingButton.tooltip "Revisar ortografía de selección o mensaje entero">
+<!ENTITY saveButton.tooltip "Guardar este mensaje">
+<!ENTITY cutButton.tooltip "Cortar">
+<!ENTITY copyButton.tooltip "Copiar">
+<!ENTITY pasteButton.tooltip "Pegar">
+<!ENTITY printButton.tooltip "Imprimir este mensaje">
+
+<!-- Headers -->
+<!--LOCALIZATION NOTE headersSpaces.style is for aligning the From:, To: and
+ Subject: rows. It should be larger than the largest Header label -->
+<!ENTITY headersSpace2.style "width: 8em;">
+<!ENTITY fromAddr2.label "De">
+<!ENTITY fromAddr.accesskey "r">
+<!ENTITY replyAddr2.label "Responder a">
+<!ENTITY newsgroupsAddr2.label "Grupo de noticias">
+<!ENTITY followupAddr2.label "Seguimiento a">
+<!ENTITY subject2.label "Asunto">
+<!ENTITY subject.accesskey "S">
+<!ENTITY attachmentBucketCloseButton.tooltip "Ocultar panel del archivo adjunto">
+
+<!-- Format Toolbar, imported from editorAppShell.xhtml -->
+<!ENTITY SmileButton.tooltip "Insertar una cara sonriente">
+<!ENTITY smiley1Cmd.label "Sonrisa">
+<!ENTITY smiley2Cmd.label "Fruncir el ceño">
+<!ENTITY smiley3Cmd.label "Guiño">
+<!ENTITY smiley4Cmd.label "Lengua afuera">
+<!ENTITY smiley5Cmd.label "Riendo">
+<!ENTITY smiley6Cmd.label "Avergonzado">
+<!ENTITY smiley7Cmd.label "Indeciso">
+<!ENTITY smiley8Cmd.label "Sorpresa">
+<!ENTITY smiley9Cmd.label "Beso">
+<!ENTITY smiley10Cmd.label "Grito">
+<!ENTITY smiley11Cmd.label "Genial">
+<!ENTITY smiley12Cmd.label "Dinero en la boca">
+<!ENTITY smiley13Cmd.label "Pie en la boca">
+<!ENTITY smiley14Cmd.label "Inocente">
+<!ENTITY smiley15Cmd.label "Llorando">
+<!ENTITY smiley16Cmd.label "Labios sellados">
+
+<!-- Message Pane Context Menu -->
+<!ENTITY spellCheckNoSuggestions.label "No se encontraron sugerencias">
+<!ENTITY spellCheckIgnoreWord.label "Ignorar la palabra">
+<!ENTITY spellCheckIgnoreWord.accesskey "I">
+<!ENTITY spellCheckAddToDictionary.label "Agregar al diccionario">
+<!ENTITY spellCheckAddToDictionary.accesskey "n">
+<!ENTITY undo.label "Deshacer">
+<!ENTITY undo.accesskey "U">
+<!ENTITY cut.label "Cortar">
+<!ENTITY cut.accesskey "t">
+<!ENTITY copy.label "Copiar">
+<!ENTITY copy.accesskey "C">
+<!ENTITY paste.label "Pegar">
+<!ENTITY paste.accesskey "P">
+<!ENTITY pasteQuote.label "Pegar como cita">
+<!ENTITY pasteQuote.accesskey "Q">
+
+<!-- Attachment Item and List Context Menus -->
+<!ENTITY openAttachment.label "Abrir">
+<!ENTITY openAttachment.accesskey "O">
+<!ENTITY delete.label "Borrar">
+<!ENTITY delete.accesskey "D">
+<!ENTITY removeAttachment.label "Eliminar adjunto">
+<!ENTITY removeAttachment.accesskey "M">
+<!ENTITY renameAttachment.label "Renombrar…">
+<!ENTITY renameAttachment.accesskey "R">
+<!ENTITY reorderAttachments.label "Reorganizar adjuntos…">
+<!ENTITY reorderAttachments.accesskey "s">
+<!ENTITY removeAllAttachments.label "Eliminar todos los adjuntos">
+<!ENTITY removeAllAttachments.accesskey "v">
+<!ENTITY selectAll.label "Seleccionar todo">
+<!ENTITY selectAll.accesskey "A">
+<!ENTITY attachCloud.label "FileLink...">
+<!ENTITY attachCloud.accesskey "i">
+<!ENTITY convertCloud.label "Convertir a…">
+<!ENTITY convertCloud.accesskey "C">
+<!ENTITY cancelUpload.label "Cancelar carga">
+<!ENTITY cancelUpload.accesskey "n">
+<!ENTITY convertRegularAttachment.label "Adjunto regular">
+<!ENTITY convertRegularAttachment.accesskey "A">
+<!ENTITY attachPage.label "Adjuntar página 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 "Mostrar inicialmente panel de archivo adjunto">
+<!ENTITY initiallyShowAttachmentPane.accesskey "S">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "Agregar diccionarios…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Title for the address picker panel -->
+<!ENTITY addressesSidebarTitle.label "Contactos">
+
+<!-- Identity popup customize menuitem -->
+<!ENTITY customizeFromAddress.label "Personalizar desde dirección…">
+<!ENTITY customizeFromAddress.accesskey "A">
+
+<!-- Accessibility name for the document -->
+<!ENTITY aria.message.bodyName "Cuerpo del mensaje">
+
+<!-- Status Bar -->
+<!ENTITY languageStatusButton.tooltip "Corrector ortográfico del idioma">
+<!ENTITY encodingStatusPanel.tooltip "Codificación de texto">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/sendProgress.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/sendProgress.dtd
new file mode 100644
index 0000000000..23840b6aa3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Procesando mensaje">
+<!ENTITY status.label "Estado:">
+<!ENTITY progress.label "Progreso:">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/sendProgress.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/messengercompose/sendProgress.properties
new file mode 100644
index 0000000000..72d88c87af
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Enviando mensaje - %S
+titleSendMsg=Enviando mensaje
+# LOCALIZATION NOTE (titleSaveMsgSubject):
+# %S will be replaced by the message subject.
+titleSaveMsgSubject=Guardando mensaje - %S
+titleSaveMsg=Guardando mensaje
+
+# 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=Tu mensaje ha sido enviado.
+messageSaved=Tu mensaje ha sido guardado.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/migration/migration.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/migration/migration.dtd
new file mode 100644
index 0000000000..2e36fdebd8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Importar asistente">
+
+<!ENTITY importFromWin.label "Importar opciones, configuración de la cuenta, libreta de direcciones y otros datos desde:">
+<!ENTITY importFromNonWin.label "Importar preferencias, configuración de cuenta, libreta de direcciones y otros datos desde:">
+<!ENTITY importSourceNotFound.label "No se encontró ninguna aplicación para importar datos.">
+
+<!ENTITY importFromNothing.label "No importar nada">
+<!ENTITY importFromNothing.accesskey "D">
+<!ENTITY importFromSeamonkey3.label "SeaMonkey 2 o superior">
+<!ENTITY importFromSeamonkey3.accesskey "S">
+<!ENTITY importFromOutlook.label "Outlook">
+<!ENTITY importFromOutlook.accesskey "O">
+
+<!ENTITY importSource.title "Importar configuración y carpetas de correo">
+<!ENTITY importItems.title "Elementos para importar">
+<!ENTITY importItems.label "Selecciona los elementos para importar:">
+
+<!ENTITY migrating.title "Importando…">
+<!ENTITY migrating.label "Los siguientes elementos están siento importados…">
+
+<!ENTITY selectProfile.title "Seleccionar perfil">
+<!ENTITY selectProfile.label "Los siguientes perfiles están disponibles para importar desde:">
+
+<!ENTITY done.title "Importación completa">
+<!ENTITY done.label "Los siguientes elementos fueron importados exitosamente:">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/migration/migration.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/migration/migration.properties
new file mode 100644
index 0000000000..50d18e4bdd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Preferencias
+
+1_thunderbird=Preferencias
+
+2_seamonkey=Configuración de cuenta
+2_thunderbird=Ajustes de la cuenta
+2_outlook=Configuración de cuenta
+
+4_seamonkey=Libreta de direcciones
+4_thunderbird=Libretas de direcciones
+4_outlook=Libreta de direcciones
+
+8_seamonkey=Entrenamiento de correo basura
+
+16_seamonkey=Contraseñas guardadas
+
+32_seamonkey=Otros datos
+
+64_seamonkey=Carpetas de grupos de noticias
+
+64_thunderbird=Carpetas de grupos de noticias
+
+128_seamonkey=Carpetas de correo
+128_thunderbird=Carpetas de correo electrónico
+128_outlook=Carpetas de correo
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mime.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mime.properties
new file mode 100644
index 0000000000..91cdf1a963
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Asunto
+
+# Resent-Comments
+## @name MIME_MHTML_RESENT_COMMENTS
+## @loc
+1001=Resent-Comments
+
+# Resent-Date
+## @name MIME_MHTML_RESENT_DATE
+## @loc
+1002=Resent-Date
+
+# Resent-Sender
+## @name MIME_MHTML_RESENT_SENDER
+## @loc
+1003=Resent-Sender
+
+# Resent-From
+## @name MIME_MHTML_RESENT_FROM
+## @loc
+1004=Resent-From
+
+# Resent-To
+## @name MIME_MHTML_RESENT_TO
+## @loc
+1005=Resent-To
+
+# Resent-CC
+## @name MIME_MHTML_RESENT_CC
+## @loc
+1006=Resent-CC
+
+# Date
+## @name MIME_MHTML_DATE
+## @loc
+1007=Fecha
+
+# Sender
+## @name MIME_MHTML_SENDER
+## @loc
+1008=Remitente
+
+# From
+## @name MIME_MHTML_FROM
+## @loc
+1009=De
+
+# Reply-To
+## @name MIME_MHTML_REPLY_TO
+## @loc
+1010=Responder a
+
+# Organization
+## @name MIME_MHTML_ORGANIZATION
+## @loc
+1011=Organización
+
+# To
+## @name MIME_MHTML_TO
+## @loc
+1012=Para
+
+# CC
+## @name MIME_MHTML_CC
+## @loc
+1013=CC
+
+# Newsgroups
+## @name MIME_MHTML_NEWSGROUPS
+## @loc
+1014=Grupos de noticias
+
+# Followup-To
+## @name MIME_MHTML_FOLLOWUP_TO
+## @loc
+1015=Followup-To
+
+# References
+## @name MIME_MHTML_REFERENCES
+## @loc
+1016=Referencias
+
+# Message ID
+## @name MIME_MHTML_MESSAGE_ID
+## @loc
+1021=Message-ID
+
+# BCC
+## @name MIME_MHTML_BCC
+## @loc
+1023=BCC
+
+# Link to doc
+## @name MIME_MSG_LINK_TO_DOCUMENT
+## @loc
+1026=Enlazar al documento
+
+# Get Doc info
+## @name MIME_MSG_DOCUMENT_INFO
+## @loc
+1027=<B>Información del documento:</B>
+
+# Msg Attachment
+## @name MIME_MSG_ATTACHMENT
+## @loc
+1028=Adjunto
+
+# 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=Parte %s
+
+# default forwarded message prefix
+## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
+## @loc
+1041=-------- Mensaje original --------
+
+# Partial Message Truncated
+## @name MIME_MSG_PARTIAL_TRUNCATED
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED=¡Truncado!
+
+# Partial Message Truncated Explanation
+## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=Este mensaje excede el tamaño máximo de mensaje establecido en la configuración de cuenta, así que solamente se descargaron las primeras líneas desde el servidor de correo.
+
+# Partial Message Not Downloaded
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED=No descargado
+
+# Partial Message Not Downloaded Explanation
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=Solamente los encabezados para este mensaje fueron descargados desde el servidor de correo.
+
+# MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @name MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @loc
+MIME_MSG_PARTIAL_CLICK_FOR_REST=Descargar el resto del mensaje.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mimeheader.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/mimeheader.properties
new file mode 100644
index 0000000000..caadec4ad9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Para
+BCC=BCC
+CC=CC
+DATE=Fecha
+DISTRIBUTION=Distribución
+FCC=FCC
+FOLLOWUP-TO=Reenviado-a
+FROM=De
+STATUS=Estado
+LINES=Líneas
+MESSAGE-ID=Message-ID
+MIME-VERSION=MIME-Version
+NEWSGROUPS=Grupos de noticias
+ORGANIZATION=Organización
+REFERENCES=Referencias
+REPLY-TO=Responder a
+RESENT-COMMENTS=Resent-Comments
+RESENT-DATE=Fecha reenviada
+RESENT-FROM=Reenviado de
+RESENT-MESSAGE-ID=ID de mensaje reenviado
+RESENT-SENDER=Resent-Sender
+RESENT-TO=Resent-To
+RESENT-CC=Resent-CC
+SENDER=Remitente
+SUBJECT=Asunto
+APPROVED-BY=Aprobado por
+USER-AGENT=User-Agent
+FILENAME=Nombre de archivo
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/morkImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/morkImportMsgs.properties
new file mode 100644
index 0000000000..4aac85247c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Libreta de direcciones Mork
+
+# Short name of import module
+morkImportName = Base de datos Mork (.mab)
+
+# Description of import module
+morkImportDescription = Importar una libreta de direcciones de SeaMonkey o versiones anteriores de Thunderbird.
+
+morkImportSuccess = ¡Éxito!
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgAccountCentral.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgAccountCentral.dtd
new file mode 100644
index 0000000000..6bed907828
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Correo electrónico">
+<!ENTITY readMsgsLink.label "Leer mensajes">
+<!ENTITY composeMsgLink.label "Escribir nuevo mensaje">
+
+<!ENTITY newsSectionHdr.label "Grupos de noticias">
+<!ENTITY subscribeNewsLink.label "Administrar suscripciones a grupos de noticias">
+
+<!ENTITY feedsSectionHdr.label "Fuentes">
+<!ENTITY subscribeFeeds.label "Administrar suscripciones">
+
+<!ENTITY chat.label "Chat">
+
+<!ENTITY accountsSectionHdr.label "Cuentas">
+<!ENTITY subscribeImapFolders.label "Administrar carpeta de suscripciones">
+<!ENTITY settingsLink.label "Ver configuración de esta cuenta">
+<!ENTITY setupNewAcct.label "Configurar una cuenta:">
+
+<!ENTITY advFeaturesSectionHdr.label "Características avanzadas">
+<!ENTITY searchMsgsLink.label "Buscar mensajes">
+<!ENTITY filtersLink.label "Administrar filtro de mensajes">
+<!ENTITY junkSettings.label "Configuración de correo basura">
+<!ENTITY offlineLink.label "Configuración sin conexión">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgHdrViewOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..e2c7a7958a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Para">
+<!ENTITY fromField4.label "De">
+<!ENTITY senderField4.label "Remitente">
+<!ENTITY author.label "Autor">
+<!ENTITY organizationField4.label "Organización">
+<!ENTITY replyToField4.label "Responder a">
+
+<!ENTITY subjectField4.label "Asunto">
+<!ENTITY ccField4.label "Cc">
+<!ENTITY bccField4.label "Cco">
+<!ENTITY newsgroupsField4.label "Grupos de noticias">
+<!ENTITY followupToField4.label "Redireccionar a">
+<!ENTITY tagsHdr4.label "Etiquetas">
+<!ENTITY dateField4.label "Fecha">
+<!ENTITY userAgentField4.label "Agente de usuario">
+<!ENTITY referencesField4.label "Referencias">
+<!ENTITY messageIdField4.label "ID del mensaje">
+<!ENTITY inReplyToField4.label "En respuesta a">
+<!ENTITY originalWebsite4.label "Sitio web">
+
+<!ENTITY hdrArchiveButton1.label "Archivo">
+<!ENTITY hdrArchiveButton1.tooltip "Archivar este mensaje">
+<!ENTITY hdrSmartReplyButton1.label "Respuesta inteligente">
+<!ENTITY hdrReplyButton1.label "Responder">
+<!ENTITY hdrReplyButton2.tooltip "Responder al remitente de este mensaje">
+<!ENTITY hdrReplyAllButton1.label "Responder a todos">
+<!ENTITY hdrReplyAllButton1.tooltip "Responder al remitente y a todos los destinatarios">
+<!ENTITY hdrReplyListButton1.label "Responder a lista">
+<!ENTITY hdrReplyListButton1.tooltip "Responder a la lista de correo">
+<!ENTITY hdrFollowupButton1.label "Responder">
+<!ENTITY hdrFollowupButton1.tooltip "Publicar una respuesta en este grupo de noticias">
+<!ENTITY hdrForwardButton1.label "Reenviar">
+<!ENTITY hdrForwardButton1.tooltip "Reenviar este mensaje">
+<!ENTITY hdrJunkButton1.label "Basura">
+<!ENTITY hdrJunkButton1.tooltip "Marcar este mensaje como basura">
+<!ENTITY hdrTrashButton1.label "Eliminar">
+<!ENTITY hdrTrashButton1.tooltip "Borrar este mensaje">
+
+<!ENTITY hdrViewToolbarShowFull.label "Mostrar íconos y texto">
+<!ENTITY hdrViewToolbarShowFull.accesskey "a">
+<!ENTITY hdrViewToolbarShowIcons.label "Mostrar íconos solamente">
+<!ENTITY hdrViewToolbarShowIcons.accesskey "I">
+<!ENTITY hdrViewToolbarShowText.label "Mostrar sólo texto">
+<!ENTITY hdrViewToolbarShowText.accesskey "T">
+<!ENTITY hdrViewToolbarAlwaysReplySender.label "Siempre mostrar responder al remitente">
+<!ENTITY hdrViewToolbarAlwaysReplySender.accesskey "R">
+
+<!ENTITY otherActionsButton2.label "Más">
+<!ENTITY otherActionsButton.tooltip "Más acciones">
+<!ENTITY otherActionsOpenConversation1.label "Abrir en conversación">
+<!ENTITY otherActionsOpenConversation1.accesskey "C">
+<!ENTITY otherActionsOpenInNewWindow1.label "Abrir en una ventana nueva">
+<!ENTITY otherActionsOpenInNewWindow1.accesskey "W">
+<!ENTITY otherActionsOpenInNewTab1.label "Abrir en una pestaña nueva">
+<!ENTITY otherActionsOpenInNewTab1.accesskey "T">
+<!ENTITY markAsReadMenuItem1.label "Marcar como leído">
+<!ENTITY markAsReadMenuItem1.accesskey "R">
+<!ENTITY markAsUnreadMenuItem1.label "Marcar como no leído">
+<!ENTITY markAsUnreadMenuItem1.accesskey "r">
+<!ENTITY saveAsMenuItem1.label "Guardar como…">
+<!ENTITY saveAsMenuItem1.accesskey "S">
+<!ENTITY viewSourceMenuItem1.label "Ver fuente">
+<!ENTITY viewSourceMenuItem1.accesskey "V">
+<!ENTITY otherActionsPrint1.label "Imprimir…">
+<!ENTITY otherActionsPrint1.accesskey "P">
+
+<!-- Attachment bar context menu items -->
+<!ENTITY startExpandedCmd.label "Mostrar vista de adjuntos al inicio">
+<!ENTITY startExpandedCmd.accesskey "S">
+
+<!-- Attachment context menu items -->
+<!ENTITY openAttachmentCmd.label "Abrir">
+<!ENTITY openAttachmentCmd.accesskey "O">
+<!ENTITY saveAsAttachmentCmd.label "Guardar como…">
+<!ENTITY saveAsAttachmentCmd.accesskey "S">
+<!ENTITY detachAttachmentCmd.label "Despegar…">
+<!ENTITY detachAttachmentCmd.accesskey "D">
+<!ENTITY deleteAttachmentCmd.label "Eliminar">
+<!ENTITY deleteAttachmentCmd.accesskey "e">
+<!ENTITY openAllAttachmentsCmd.label "Abrir todo…">
+<!ENTITY openAllAttachmentsCmd.accesskey "O">
+<!ENTITY saveAllAttachmentsCmd.label "Guardar todo…">
+<!ENTITY saveAllAttachmentsCmd.accesskey "S">
+<!ENTITY detachAllAttachmentsCmd.label "Despegar todo…">
+<!ENTITY detachAllAttachmentsCmd.accesskey "D">
+<!ENTITY deleteAllAttachmentsCmd.label "Eliminar todo…">
+<!ENTITY deleteAllAttachmentsCmd.accesskey "e">
+
+<!ENTITY openAttachment.tooltip "Abrir el archivo adjunto">
+
+<!ENTITY detachedAttachmentFolder.show.label "Abrir carpeta contenedora">
+<!ENTITY detachedAttachmentFolder.show.accesskey "F">
+<!ENTITY detachedAttachmentFolder.showMac.label "Mostrar en Finder">
+<!ENTITY detachedAttachmentFolder.showMac.accesskey "F">
+
+<!-- Attachment toolbar items -->
+<!ENTITY saveAttachmentButton1.label "Guardar">
+<!ENTITY saveAttachmentButton1.tooltip "Guardar el archivo adjunto">
+<!ENTITY saveAllAttachmentsButton1.label "Guardar todo">
+<!ENTITY saveAllAttachmentsButton1.tooltip "Guardar todos los archivos adjuntos">
+
+<!ENTITY copyLinkCmd.label "Copiar dirección del enlace">
+<!ENTITY copyLinkCmd.accesskey "C">
+
+<!ENTITY CopyMessageId.label "Copiar ID del mensaje">
+<!ENTITY CopyMessageId.accesskey "C">
+<!ENTITY OpenMessageForMsgId.label "Abrir mensaje por ID">
+<!ENTITY OpenMessageForMsgId.accesskey "O">
+<!ENTITY OpenBrowserWithMsgId.label "Abrir navegador con ID del mensaje">
+<!ENTITY OpenBrowserWithMsgId.accesskey "B">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgSynchronize.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgSynchronize.dtd
new file mode 100644
index 0000000000..989f68bb2f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Descargar y sincronizar mensajes">
+<!ENTITY MsgSelect.label "Elementos para usar sin conexión">
+<!ENTITY MsgSyncDesc.label "Si ya has seleccionado las carpetas de correo o grupos de noticias para uso sin conexión, puedes descargarlos y/o sincronizarlos ahora. Si no, utiliza el botón &quot;Seleccionar&quot; para escoger las carpetas de correo y noticias que quieres utilizar sin conexión.">
+<!ENTITY MsgSyncDirections.label "Descargar y/o sincronizar lo siguiente:">
+<!ENTITY syncTypeMail.label "Mensajes de correo">
+<!ENTITY syncTypeMail.accesskey "M">
+<!ENTITY syncTypeNews.label "Mensajes de noticias">
+<!ENTITY syncTypeNews.accesskey "N">
+<!ENTITY sendMessage.label "Enviar mensajes no enviados">
+<!ENTITY sendMessage.accesskey "S">
+<!ENTITY workOffline.label "Trabajar sin conexión una vez que la descarga y/o sincronización esté completa">
+<!ENTITY workOffline.accesskey "W">
+<!ENTITY selectButton.label "Seleccionar…">
+<!ENTITY selectButton.accesskey "E">
+<!ENTITY MsgSelectDesc.label "Seleccionar las carpetas de correo y noticias para usar sin conexión.">
+<!ENTITY MsgSelectInd.label "Descargar">
+<!ENTITY MsgSelectItems.label "Carpetas y grupos de noticias">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgViewPickerOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..2279b8798a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Vista:">
+<!ENTITY viewPicker.accesskey "i">
+<!ENTITY viewAll.label "Todo">
+<!ENTITY viewAll.accesskey "A">
+<!ENTITY viewUnread.label "No leídos">
+<!ENTITY viewUnread.accesskey "U">
+<!ENTITY viewNotDeleted.label "No borrados">
+<!ENTITY viewNotDeleted.accesskey "D">
+<!ENTITY viewTags.label "Etiquetas">
+<!ENTITY viewTags.accesskey "T">
+<!ENTITY viewCustomViews.label "Vistas personalizadas">
+<!ENTITY viewCustomViews.accesskey "V">
+<!ENTITY viewVirtualFolder.label "Guardar vista como carpeta…">
+<!ENTITY viewVirtualFolder.accesskey "S">
+<!ENTITY viewCustomizeView.label "Personalizar…">
+<!ENTITY viewCustomizeView.accesskey "C">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgmdn.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/msgmdn.properties
new file mode 100644
index 0000000000..f81b5d2f6c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Nota: Este acuse de recibo solo informa que el mensaje ha sido mostrado en la computadora del destinatario. No se garantiza de que el destinatario haya leído o entendido el contenido del mensaje.
+MsgMdnDispatched=El mensaje ha sido impreso, enviado por fax o reenviado sin haber sido mostrado al destinatario. No se puede asegurar que el destinatario leerá el mensaje en el futuro.
+MsgMdnProcessed=El mensaje fue procesado por el cliente de correo del destinatario sin ser mostrado. No hay garantía de que el mensaje pueda ser leído con posterioridad.
+MsgMdnDeleted=El mensaje ha sido borrado. La persona a quien lo enviaste quizá no lo haya visto, pero podría restaurarlo posteriormente y leerlo.
+MsgMdnDenied=El destinatario del mensaje no quiere enviar la confirmación del acuse de recibo.
+MsgMdnFailed=Ha ocurrido un fallo. No se ha podido generar adecuadamente el acuse de recibo.
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MsgMdnMsgSentTo=Este es un acuse de recibo para el mensaje que usted envió a %S.
+MdnDisplayedReceipt=Acuse de recibo (mostrado)
+MdnDispatchedReceipt=Acuse de recibo (enviado)
+MdnProcessedReceipt=Acuse de recibo (procesado)
+MdnDeletedReceipt=Acuse de recibo (borrado)
+MdnDeniedReceipt=Acuse de recibo (denegado)
+MdnFailedReceipt=Acuse de recibo (fallado)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/multimessageview.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/multimessageview.dtd
new file mode 100644
index 0000000000..a92cbb9bad
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Resumen de mensajes">
+<!ENTITY selectedmessages.label "Mensajes seleccionados">
+<!ENTITY archiveButton.label "Archivar">
+<!ENTITY deleteButton.label "Eliminar">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/multimessageview.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/multimessageview.properties
new file mode 100644
index 0000000000..0c6bac3bc5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 conversación; #1 conversaciones
+
+# LOCALIZATION NOTE (atLeastNumConversations): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations. We use this when we didn't actually scan the entire
+# list of selected messages, so there may be more conversations than reported
+# (or maybe not!).
+atLeastNumConversations=#1+ conversación; #1+ conversaciones
+
+# 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 mensaje;#1 mensajes
+
+# 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 no leído;, #1 no leídos
+
+# 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 ignorado;, #1 ignorados
+
+# LOCALIZATION NOTE (atLeastNumIgnored): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages. We use this when we
+# didn't actually scan the entire list of selected messages, so there may be
+# more ignored messages than reported (or maybe not!).
+atLeastNumIgnored=, #1+ ignorado;, #1+ ignorados
+
+# LOCALIZATION NOTE (noSubject): What to display for a message if it has no
+# subject.
+noSubject=(sin asunto)
+
+# LOCALIZATION NOTE (messagesTotalSize): A message indicating the total size on
+# disk of the selected messages. #1 is the size, e.g. "123 KB".
+messagesTotalSize=Estos mensajes ocupan #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=Estos mensajes ocupan más 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= (Nota: #1 mensajes seleccionados, se muestran los #2 primeros)
+
+# 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= (Nota: #1 mensajes seleccionados, se muestran los #2 primeros)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/newFolderDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/newFolderDialog.dtd
new file mode 100644
index 0000000000..f8d52b40f9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nueva Carpeta">
+<!ENTITY name.label "Nombre:">
+<!ENTITY name.accesskey "n">
+<!ENTITY description.label "Crear como una subcarpeta de:">
+<!ENTITY description.accesskey "c">
+<!ENTITY folderRestriction1.label "Este servidor restringe las carpetas a dos tipos especiales.">
+<!ENTITY folderRestriction2.label "Permitir que tu nueva carpeta contenga:">
+<!ENTITY foldersOnly.label "Sólo carpetas">
+<!ENTITY messagesOnly.label "Sólo mensajes">
+<!ENTITY accept.label "Crear carpeta">
+<!ENTITY accept.accesskey "r">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/news.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/news.properties
new file mode 100644
index 0000000000..b67a005def
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Descargar encabezados
+downloadHeadersInfoText=Hay %S nuevos encabezados de mensaje para descargar en este grupo de noticias.
+cancelDisallowed=Este mensaje no parece ser tuyo. Solo puedes cancelar tus propias publicaciones no aquellos hechos por otros.
+cancelConfirm=¿Estás seguro de querer cancelar este mensaje?
+messageCancelled=Mensaje cancelado.
+enterUserPassTitle=Nombre de usuario y contraseña del dervidor de noticias requerido
+# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed
+enterUserPassServer=Por favor, ingresa un nombre de usuario y contraseña para %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=Por favor, ingresa un nombre de usuario y contraseña para %1$S en %2$S:
+okButtonText=Descargar
+
+noNewMessages=No hay nuevos mensajes en el servidor.
+# 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=Descargando %1$S de %2$S encabezados para %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=Obteniendo encabezados para filtros: %1$S (%2$S/%3$S) en %4$S
+downloadingArticles=Descargando artículos %S-%S
+bytesReceived=Descargando grupos de noticias: %S recibidos(%SKB leíos a %SKB/sec)
+downloadingArticlesForOffline=Descargando artículos %S-%S en %S
+
+# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from.
+autoUnsubscribeText=El grupo de noticias %1$S no aparenta existir en el host %2$S. ¿Te gustaría de-suscribirte?
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
+autoSubscribeText=¿Te gustaría suscribirte a %1$S?
+
+# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
+# Error - server error
+## @name NNTP_ERROR_MESSAGE
+## @loc None
+-304=Un error(NNTP) de noticias ha ocurrido:
+
+# Error - newsgroup scan error
+## @name NNTP_NEWSGROUP_SCAN_ERROR
+## @loc None
+-305=Un error de noticias ha ocurrido. El escaneo de todos los grupos de noticias está incompleto. Trata de ver todos los grupos de noticias otra vez
+
+# Error - NNTP authinfo failure
+## @name NNTP_AUTH_FAILED
+## @loc None
+-260=Ha ocurrido un error de autorización. Por favor introduce tu nombre y/o contraseña otra vez.
+
+# Error - TCP error
+## @name TCP_ERROR
+## @loc None
+-206=Ha ocurrido un error en la comunicación. Trata de volver a conectarte. Error de TCP:
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/newsError.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/newsError.dtd
new file mode 100644
index 0000000000..563cc33969
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Problema cargando artículo">
+
+<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news
+ error page. -->
+<!ENTITY articleNotFound.title "Artículo no encontrado">
+
+<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news
+ error page. -->
+<!ENTITY articleNotFound.desc "El servidor de noticias informa que no puede encontrar el artículo.">
+
+<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text
+ response from the newsgroup server describing the error. -->
+<!ENTITY serverResponded.title "El servidor de noticias informó:">
+
+<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the
+ article may have expired. -->
+<!ENTITY articleExpired.title "¿Quizá el artículo ha expirado?">
+
+<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's
+ ID. -->
+<!ENTITY trySearching.title "Intenta buscar por artículo:">
+
+<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button
+ to remove all expired articles from the newsgroup. -->
+<!ENTITY removeExpiredArticles.title "Eliminar todos los artículos expirados">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/offline.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/offline.properties
new file mode 100644
index 0000000000..c434c95c21
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Descargar mensajes
+downloadMessagesLabel1=¿Quieres descargar los mensajes para usar sin conexión antes de desconectarte?
+downloadMessagesCheckboxLabel1=Siempre pregúntame cuando me desconecte
+downloadMessagesNow2=&Descargar ahora
+
+# Send Messages Prompt
+sendMessagesWindowTitle1=Mensajes no enviados
+sendMessagesLabel2=¿Quieres enviar tus mensajes no enviados ahora?
+sendMessagesCheckboxLabel1=Siempre pregúntame cuando me conecte
+sendMessagesNow2=&Enviar ahora
+
+processMessagesLater2=&Más tarde
+
+# GetMessages While Offline Prompt
+getMessagesOfflineWindowTitle1=Obtener mensajes
+getMessagesOfflineLabel1=Actualmente estás desconectado. ¿Quieres conectarte para recibir nuevos mensajes?
+
+# Send Messages Offline Prompt
+sendMessagesOfflineWindowTitle1=Mensajes no enviados
+sendMessagesOfflineLabel1=Actualmente estás desconectado. ¿Deseas conectarte en línea para enviar mensajes no enviados?
+
+offlineTooltip=Actualmente estás desconectado.
+onlineTooltip=Estás actualmente en línea.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/offlineStartup.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/offlineStartup.properties
new file mode 100644
index 0000000000..8b4be4391d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Trabajar con conexión
+desc=¿Deseas pasar a modo con conexión?\n\n(Si decides trabajar sin conexión, puedes pasar a modo con conexión más tarde eligiendo 'Trabajar con conexión' del menú Archivo)
+workOnline=Trabajar con conexión
+workOffline=Trabajar sin conexión
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/outlookImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/outlookImportMsgs.properties
new file mode 100644
index 0000000000..bb57bc99e0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/outlookImportMsgs.properties
@@ -0,0 +1,77 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 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=Correo, libretas de direcciones y opciones de Outlook
+
+# Success message
+## @name OUTLOOKIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d"
+## The variable %S will receive the name of the mailbox
+## The variable %d will receive the number of messages
+2002=Bandeja %S, importados %d mensajes
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Parámetro erróneo al importar la bandeja.
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will receive the name of the mailbox
+2004=Error al importar la bandeja %S. Puede que no se hayan importado todos los mensajes de esta bandeja.
+
+# Address book name
+## @name OUTLOOKIMPORT_ADDRNAME
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook"
+2005=Libretas de direcciones de 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=Se ha importado la libreta de direcciones %S
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADPARAM
+## @loc None
+2007=Parámetro erróneo al importar la libreta de direcciones.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2008): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=Error al acceder al archivo de la libreta de direcciones de %S.
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Error al importar la libreta de direcciones %S. Puede que no se hayan importado todas las direcciones.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/pgpmime.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/pgpmime.properties
new file mode 100644
index 0000000000..59a63bedbd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Este es un mensaje cifrado de OpenPGP, pero la ayuda para el descifrado de OpenPGP no está disponible.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/applicationManager.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/applicationManager.properties
new file mode 100644
index 0000000000..0954a616b1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Las siguientes aplicaciones pueden ser usadas para manejar %S.
+
+handleProtocol=enlaces %S
+handleFile=contenido de %S
+
+descriptionWebApp=Esta aplicación web está alojada en:
+descriptionLocalApp=Esta aplicación está alojada en:
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/applications.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/applications.properties
new file mode 100644
index 0000000000..83356f8b4f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=¿Estás seguro que deseas eliminar la cuenta "%S"?
+
+# LOCALIZATION NOTE (addProvider):
+# %S will be replace with the display name of a provider, e.g. DropBox
+addProvider=Agregar %S
+
+notConfiguredYet=Esta cuenta no está configurada aún
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/messagestyle.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/messagestyle.properties
new file mode 100644
index 0000000000..2ab1f2a505
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Predeterminado
+nick1=Florian
+buddy1=florian@im.instantbird.org
+nick2=Patrick
+buddy2=patrick@im.instantbird.org
+message1=¡Hola! :-)
+message2=¿Qué onda?
+message3=¡Estoy probando Thunderbird! ;-)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/preferences.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/preferences/preferences.properties
new file mode 100644
index 0000000000..b86957c03d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Confirmar
+confirmResetJunkTrainingText=¿Estás seguro que quieres restablecer los datos de entrenamiento del filtro adaptativo?
+
+#### Downloads
+desktopFolderName=Escritorio
+myDownloadsFolderName=Mis descargas
+chooseAttachmentsFolderTitle=Seleccionar carpeta
+
+#### Applications
+
+fileEnding=%S archivo
+saveFile=Guardar archivo
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=Usar %S
+useDefault=Usar %S (predeterminado)
+
+useOtherApp=Usar otro…
+fpTitleChooseApp=Seleccionar el programa de ayuda
+manageApp=Detalles de la aplicación…
+alwaysAsk=Preguntar siempre
+delete=Borrar Acción
+confirmDeleteTitle=Borrar Acción
+confirmDeleteText=¿Estás seguro que quieres borrar esta acción?
+
+# 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=Elegir sonido
+
+#### Remote content
+imagepermissionstext=Puedes especificar desde qué sitios web se permitirá la carga de imágenes y otro contenido remoto. También puedes permitir todo el contenido remoto basado en la dirección de correo electrónico del remitente. Escribre la dirección del sitio o dirección de correo electrónico que desees administrar y haz clic en Bloquear o Permitir.
+imagepermissionstitle=Excepciones - Contenido remoto
+
+#### Cookies
+cookiepermissionstitle=Excepciones - Cookies
+cookiepermissionstext=Puedes especificar cuáles sitios tienen permitido o no usar cookies. Escribe la dirección exacta del sitio que quieras administrar y después haz clic en Bloquear, Permitir por esta sesión o Permitir.
+
+#### Cookie Viewer
+hostColon=Servidor:
+domainColon=Dominio:
+forSecureOnly=Solamente conexiones encriptadas
+forAnyConnection=Cualquier tipo de conexión
+expireAtEndOfSession=Al final de la sesión
+
+noCookieSelected=<no se seleccionó cookie>
+cookiesAll=Las siguientes cookies están almacenadas en tu computadora:
+cookiesFiltered=Las siguientes cookies coinciden con tu búsqueda:
+# 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=Eliminar seleccionado;Eliminar seleccionados
+defaultUserContextLabel=Ninguno
+
+####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=Tu caché está usando actualmente %1$S %2$S de espacio en disco
+actualDiskCacheSizeCalculated=Calculando el tamaño del caché…
+
+# LOCALIZATION NOTE (labelDefaultFont): %S = font name
+labelDefaultFont=Predeterminado (%S)
+labelDefaultFontUnnamed=Predeterminado
+
+# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale,
+# e.g. English (United States)
+appLocale.label=Localización de la aplicación: %S
+appLocale.accesskey=o
+# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings,
+# e.g. German (Germany)
+rsLocale.label=Localización de la configuración regional: %S
+rsLocale.accesskey=e
+
+applications-type-pdf = Portable Document Format (PDF)
+
+# LOCALIZATION NOTE (previewInApp): %S = brandShortName
+previewInApp=Vista previa en %S
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/prefs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/prefs.properties
new file mode 100644
index 0000000000..dfc0f6f20c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/prefs.properties
@@ -0,0 +1,90 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the Account Wizard
+#
+enterValidEmail=Por favor, ingresa una dirección de correo electrónico válida.
+accountNameExists=Una cuenta con este nombre ya existe. Por favor, ingresa un nombre de cuenta diferente.
+accountNameEmpty=El nombre de la cuenta no puede estar vacío.
+modifiedAccountExists=Una cuenta con ese nombre de usuario y nombre de servidor ya existe. Por favor, ingresa un nombre de usuario o nombre de servidor diferente.
+userNameChanged=Tu nombre de usuario ha sido actualizado. También puedes necesitar actualizar tu dirección de correo y/o nombre de usuario con esta cuenta.
+serverNameChanged=Ha cambiado el nombre del servidor en la configuración. Por favor, comprueba que todas las carpetas utilizadas por los filtros existen en el nuevo servidor.
+# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name
+junkSettingsBroken=La configuración de basura de la cuenta "%1$S" posiblemente tiene un problema. ¿Deseas revisarlo antes de guardar la configuración de la cuenta?
+# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;)
+localDirectoryChanged=%1$S necesita reiniciar ahora para aplicar el cambio a la configuración de directorio local.
+localDirectoryRestart=Reiniciar
+userNameEmpty=El nombre de usuario no puede estar vacío.
+# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder
+localDirectoryInvalid=La ruta del directorio local "%1$S" es inválido. Por favor, selecciona un directorio diferente.
+# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder
+localDirectoryNotAllowed=El directorio local "%1$S" no es apto para guardar mensajes. Selecciona uno diferente.
+# 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=¿Estás seguro de salir del asistente de creación de cuentas?\n\nSi sales, la información que has capturado se perderá y no se creará la cuenta.
+accountWizard=Asistente de cuenta
+WizardExit=Salir
+WizardContinue=Cancelar
+# when the wizard already has a domain (Should we say something different?)
+enterValidServerName=Por favor, ingresa un nombre de servidor válido.
+failedRemoveAccount=Error al eliminar esta cuenta.
+#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 almacenas el correo nuevo de esta cuenta en la bandeja de entrada de una cuenta distinta, ya no podrás acceder al correo que está descargado de esta cuenta. Si tienes correo en esta cuenta, por favor cópialo a otra cuenta primero.\n\nSi tienes filtros de correo en esta cuenta, debes desactivarlos o cambiar la carpeta de destino. Si cualquier cuenta tiene carpetas especiales en esta cuenta (Enviados, Borradores, Plantillas, Archivos, Basura), debes cambiarlas para que estén en otra cuenta.\n\n¿Todavía deseas guardar el correo de esta cuenta en una cuenta distinta?
+confirmDeferAccountTitle=¿Delegar cuenta?
+
+directoryAlreadyUsedByOtherAccount=El directorio especificado en la opción Directorio Local ya está en uso por la cuenta "%S". Selecciona uno diferente.
+directoryParentUsedByOtherAccount=Un directorio padre del directorio especificado en la opción Directorio Local ya está en uso por la cuenta "%S". Selecciona uno diferente.
+directoryChildUsedByOtherAccount=Un subdirectorio del directorio especificado en la opción Directorio Local ya está en uso por la cuenta "%S". Selecciona uno diferente.
+#Provide default example values for sample email address
+exampleEmailUserName=usuario
+exampleEmailDomain=ejemplo.net
+emailFieldText=Dirección de correo electrónico:
+#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
+defaultEmailText=Ingresa tu dirección de correo. Esta es la dirección que los demás usarán para enviarte correos (por ejemplo, "%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=Ingresa tu %1$S %2$S (por ejemplo, si tu %1$S dirección de correo electrónico es "%3$S", tu %2$S es "%4$S").
+
+# account manager stuff
+prefPanel-server=Configuración del servidor
+prefPanel-copies=Copias y carpetas
+prefPanel-synchronization=Sincronización y almacenamiento
+prefPanel-diskspace=Espacio en disco
+prefPanel-addressing=Composición y direccionamiento
+prefPanel-junk=Configuración de correo basura
+## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
+prefPanel-smtp=Servidor saliente (SMTP)
+
+# account manager multiple identity support
+#LOCALIZATION NOTE: accountName: %1$S
+identity-list-title=Identidades para %1$S
+
+identityDialogTitleAdd=Nueva identidad
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=Editar %S
+
+identity-edit-req=Debes especificar una dirección de correo electrónico válida para esta identidad.
+identity-edit-req-title=Error al crear la identidad
+
+## 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=¿Estás seguro de querer borrar la identidad\n%S?
+## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
+identity-delete-confirm-title=Borrar identidad para %S
+identity-delete-confirm-button=Eliminar
+
+choosefile=Elegir un archivo
+
+forAccount=Para la cuenta "%S"
+
+removeFromServerTitle=Confirmar la eliminación permanente y automática de mensajes
+removeFromServer=Esta configuración borrará permanentemente los mensajes viejos del servidor remoto y del almacenamiento local. ¿Estás seguro que deseas continuar?
+
+confirmSyncChangesTitle=Confirmar los cambios de la sincronización
+confirmSyncChanges=Se modificó el mensaje de la configuración de la sincronización. \n\n ¿Quieres guardar los cambios?
+confirmSyncChangesDiscard=Descartar
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/profileDowngrade.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/profileDowngrade.dtd
new file mode 100644
index 0000000000..c822511dae
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Iniciaste una versión antigua de &brandProductName;">
+<!ENTITY window.style "width: 490px;">
+
+<!ENTITY window.nosync2 "Una versión más reciente de &brandProductName; puede haber hecho cambios en tu perfil que ya no son compatibles con esta versión anterior. Usar este perfil solamente con la versión más reciente, o crear un nuevo perfil para esta instalación de &brandShortName;. Crear un nuevo perfil requiere configurar de nuevo tus cuentas, calendarios y complementos.">
+
+<!ENTITY window.moreinfo "Más información…">
+<!ENTITY window.create "Crear nuevo perfil">
+<!ENTITY window.quit-win "Salir">
+<!ENTITY window.quit-nonwin "Salir">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/removeAccount.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/removeAccount.dtd
new file mode 100644
index 0000000000..93dd1d61d3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Eliminar cuenta y datos">
+<!ENTITY removeButton.label "Eliminar">
+<!ENTITY removeButton.accesskey "R">
+<!ENTITY removeAccount.label "Eliminar información de cuenta">
+<!ENTITY removeAccount.accesskey "a">
+<!ENTITY removeAccount.desc "Elimina solamente el conocimiento de &brandShortName; de esta cuenta. No afecta la cuenta en sí misma en el servidor.">
+<!ENTITY removeData.label "Eliminar datos de mensajes">
+<!ENTITY removeData.accesskey "d">
+<!ENTITY removeDataChat.label "Eliminar datos de la conversación">
+<!ENTITY removeDataChat.accesskey "d">
+<!ENTITY removeDataLocalAccount.desc "Elimina todos los mensajes, carpetas y filtros asociados con esta cuenta del disco local. Esto no afecta algunos mensajes que aún pueden mantenerse en el servidor. No seleccionar si se planea archivar los datos locales o re-usarlos en &brandShortName; más tarde.">
+<!ENTITY removeDataServerAccount.desc "Elimina todos los mensajes, carpetas y filtros asociados con esta cuenta del disco local. Los mensajes y carpetas aún se mantienen en el servidor.">
+<!ENTITY removeDataChatAccount.desc "Elimina todos los registros de conversaciones de esta cuenta guardados en el disco local.">
+<!ENTITY showData.label "Mostrar ubicación de datos">
+<!ENTITY showData.accesskey "S">
+<!ENTITY progressPending "Eliminando datos seleccionados…">
+<!ENTITY progressSuccess "Eliminación exitosa.">
+<!ENTITY progressFailure "Eliminación fallida.">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/removeAccount.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/removeAccount.properties
new file mode 100644
index 0000000000..63243b2896
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=¿Estás seguro que quieres eliminar la cuenta "%S"?
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/renameFolderDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/renameFolderDialog.dtd
new file mode 100644
index 0000000000..6fc6bc9a94
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Renombrar carpeta">
+<!ENTITY rename.label "Ingresa el nuevo nombre de tu carpeta:">
+<!ENTITY rename.accesskey "E">
+<!ENTITY accept.label "Renombrar">
+<!ENTITY accept.accesskey "R">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/sanitize.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/sanitize.dtd
new file mode 100644
index 0000000000..6341ff1d0f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Limpiar historial reciente">
+
+<!-- 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 "Rango de tiempo a limpiar:">
+<!ENTITY clearTimeDuration.accesskey "T">
+<!ENTITY clearTimeDuration.lastHour "Última hora">
+<!ENTITY clearTimeDuration.last2Hours "Últimas dos horas">
+<!ENTITY clearTimeDuration.last4Hours "Últimas cuatro horas">
+<!ENTITY clearTimeDuration.today "Hoy">
+<!ENTITY clearTimeDuration.everything "Todo">
+<!-- Localization note (clearTimeDuration.suffix) - trailing entity for languages
+that require it. -->
+<!ENTITY clearTimeDuration.suffix "">
+
+
+<!ENTITY historyGroup.label "Historial">
+
+<!ENTITY itemHistory.label "Historial de navegación">
+<!ENTITY itemHistory.accesskey "B">
+<!ENTITY itemCookies.label "Cookies">
+<!ENTITY itemCookies.accesskey "C">
+<!ENTITY itemCache.label "Caché">
+<!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 "Esta acción no se podrá deshacer.">
+
+<!ENTITY dialog.width "28em">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/seamonkeyImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/seamonkeyImportMsgs.properties
new file mode 100644
index 0000000000..2bd8586303
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Importar libretas de direcciones, correos y cuentas desde SeaMonkey.
+
+# Success Message for addressbook import
+SeamonkeyImportAddressSuccess=Las libretas de direcciones se importaron correctamente.
+
+# Success Message for mail import
+SeamonkeyImportSettingsSuccess=Los mensajes locales y cuentas fueron importados correctamente.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search-attributes.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search-attributes.properties
new file mode 100644
index 0000000000..b863c5fdc6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Asunto
+From=Remitente
+Body=Contenido
+Date=Fecha
+Priority=Prioridad
+Status=Estado
+To=Para
+Cc=Cc
+ToOrCc=Para o Cc
+AgeInDays=Antigüedad en días
+SizeKB=Tamaño (KB)
+Tags=Etiquetas
+# for AB and LDAP
+AnyName=Cualquier nombre
+DisplayName=Nombre mostrado
+Nickname=Apodo
+ScreenName=Nombre de usuario
+Email=Correo electrónico
+AdditionalEmail=Correo electrónico adicional
+AnyNumber=Cualquier número
+WorkPhone=Teléfono del trabajo
+HomePhone=Teléfono de casa
+Fax=Fax
+Pager=Buscapersonas
+Mobile=Móvil
+City=Ciudad
+Street=Calle
+Title=Título
+Organization=Organización
+Department=Departamento
+# more mailnews
+FromToCcOrBcc=De, Para, Cc o Cco
+JunkScoreOrigin=Origen de la puntuación de correo basura
+JunkPercent=Porcentaje de correo basura
+AttachmentStatus=Estado del adjunto
+JunkStatus=Estado de correo basura
+Label=Etiqueta
+Customize=Personalizar…
+MissingCustomTerm=Falta el término personalizado
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search-operators.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search-operators.properties
new file mode 100644
index 0000000000..61578b6877
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=contiene
+1=no contiene
+2=es
+3=no es
+4=está vacío
+
+5=es anterior a
+6=es posterior a
+
+7=es mayor que
+8=es menor que
+
+9=comienza con
+10=termina con
+
+11=suena como
+12=LdapDwim
+
+13=es más grande que
+14=es menor que
+
+15=NameCompletion
+16=está en mi libreta de direcciones
+17=no está en mi libreta de direcciones
+18=no está vacío
+19=coincidencias
+20=no hay coincidencias
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/search.properties
new file mode 100644
index 0000000000..a38de8231d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Buscando…
+# LOCALIZATION NOTE (matchesFound): #1 number of matches found
+matchesFound=Se encontró #1 coincidencia;Se encontraron #1 coincidencias
+noMatchesFound=No se encontraron coincidencias
+labelForStopButton=Detener
+labelForSearchButton=Buscar
+labelForStopButton.accesskey=S
+labelForSearchButton.accesskey=S
+
+moreButtonTooltipText=Agregar una nueva regla
+lessButtonTooltipText=Eliminar esta regla
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/searchTermOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/searchTermOverlay.dtd
new file mode 100644
index 0000000000..5d479d725f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Coincidir con todos los siguientes">
+<!ENTITY matchAll.accesskey "a">
+<!ENTITY matchAny.label "Que cumplan cualquiera de las siguientes">
+<!ENTITY matchAny.accesskey "o">
+<!ENTITY matchAllMsgs.label "Todos los mensajes">
+<!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/es-MX/chrome/es-MX/locale/es-MX/messenger/shutdownWindow.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/shutdownWindow.properties
new file mode 100644
index 0000000000..b672a7aa9f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Cerrar ventana de progreso
+taskProgress=Procesando %1$S de %2$S tareas
+
+# These strings are loaded by the individual shutdown tasks.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/smime.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/smime.properties
new file mode 100644
index 0000000000..1a6c403b90
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Este es un mensaje <B>ENCRIPTADO</B> o <B>CIFRADO</B>.<br>Esta aplicación de correo no soporta correos encriptados o cifrados.
+
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/smtpEditOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..bf2cb53990
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Ajustes">
+<!ENTITY security.caption "Seguridad y autenticación">
+<!ENTITY serverName.label "Nombre del servidor:">
+<!ENTITY serverName.accesskey "S">
+<!ENTITY serverDescription.label "Descripción:">
+<!ENTITY serverDescription.accesskey "D">
+<!ENTITY serverPort.label "Puerto:">
+<!ENTITY serverPort.accesskey "P">
+<!ENTITY userName.label "Nombre de usuario:">
+<!ENTITY userName.accesskey "m">
+<!ENTITY connectionSecurity.label "Seguridad de la conexión:">
+<!ENTITY connectionSecurity.accesskey "n">
+<!ENTITY connectionSecurityType-0.label "Ninguna">
+<!ENTITY connectionSecurityType-1.label "STARTTLS, si está disponible">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY smtpEditTitle.label "Servidor SMTP">
+<!ENTITY serverPortDefault.label "Predeterminado:">
+<!ENTITY authMethod.label "Método de autenticación:">
+<!ENTITY authMethod.accesskey "i">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/subscribe.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/subscribe.dtd
new file mode 100644
index 0000000000..500a2472c1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Suscribirse">
+<!ENTITY subscribeButton.label "Suscribirse">
+<!ENTITY subscribeButton.accesskey "S">
+<!ENTITY unsubscribeButton.label "Cancelar suscripción">
+<!ENTITY unsubscribeButton.accesskey "U">
+<!ENTITY newGroupsTab.label "Nuevos grupos">
+<!ENTITY newGroupsTab.accesskey "N">
+<!ENTITY refreshButton.label "Recargar">
+<!ENTITY refreshButton.accesskey "R">
+<!ENTITY stopButton.label "Detener">
+<!ENTITY stopButton.accesskey "T">
+<!ENTITY server.label "Cuenta:">
+<!ENTITY server.accesskey "A">
+<!ENTITY subscribedHeader.label "Suscribirse">
+<!-- commenting out until bug 38906 is fixed
+<!ENTITY messagesHeader.label "Messages"> -->
+<!ENTITY namefield.label "Mostrar elementos que contengan:">
+<!ENTITY namefield.accesskey "O">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/subscribe.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/subscribe.properties
new file mode 100644
index 0000000000..89f043bbe3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Selecciona el grupo de noticias a suscribirse:
+subscribeLabel-imap=Selecciona la carpeta a suscribirse:
+currentListTab-nntp.label=Lista de grupo actual
+currentListTab-nntp.accesskey=L
+currentListTab-imap.label=Lista de carpeta
+currentListTab-imap.accesskey=L
+pleaseWaitString=Por favor, espera…
+offlineState=Estás sin conexión. Los elementos no pudieron descargarse del servidor.
+errorPopulating=Error descargando elementos desde el servidor.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/tabmail.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/tabmail.dtd
new file mode 100644
index 0000000000..2927499558
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Cerrar pestaña">
+<!ENTITY listAllTabs.label "Enlistar todas las pestañas">
+<!-- LOCALIZATION NOTE(defaultTabTitle.label): This is the default tab
+ title to show when the tab has no title. -->
+<!ENTITY defaultTabTitle.label "Inicio">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/taskbar.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/taskbar.properties
new file mode 100644
index 0000000000..e7bc31816c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Escribir nuevo mensaje
+taskbar.tasks.composeMessage.description=Escribir un nuevo mensaje.
+taskbar.tasks.openAddressBook.label=Abrir libreta de direcciones
+taskbar.tasks.openAddressBook.description=Abrir tu libreta de direcciones.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/telemetry.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/telemetry.properties
new file mode 100644
index 0000000000..8cbd01bc0e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = ¿Te gustaría ayudar a mejorar %1$S reportando automáticamente el uso de memoria, rendimiento y adaptabilidad a %2$S?
+telemetryLinkLabel = Saber más
+telemetryYesButtonLabel = Sí
+telemetryYesButtonAccessKey = Y
+telemetryNoButtonLabel = No
+telemetryNoButtonAccessKey = N
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/templateUtils.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/templateUtils.properties
new file mode 100644
index 0000000000..2be17028ba
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=ayer
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/textImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/textImportMsgs.properties
new file mode 100644
index 0000000000..9e1d9c09a5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/textImportMsgs.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/.
+
+#
+# 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=Archivo de texto (LDIF, .tab, .csv, .txt)
+
+# Description of import module
+## @name TEXTIMPORT_DESCRIPTION
+## @loc None
+2001=Importar una libreta de direcciones desde un archivo de texto, incluyendo: LDIF (.ldif, .ldi), delimitado por tabuladores (.tab, .txt) o delimitado por comas (.csv).
+
+# Description of import module
+## @name TEXTIMPORT_ADDRESS_NAME
+## @loc None
+2002=Libreta de direcciones de texto
+
+# Description
+## @name TEXTIMPORT_ADDRESS_SUCCESS
+## @loc None
+2003=Importada libreta de direcciones %S
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADPARAM
+## @loc None
+2004=Pasado parámetro erróneo para importar la libreta de direcciones.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+2005=Error al acceder al archivo de la libreta de direcciones %S.
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+2006=Error importando la libreta de direcciones %S. Puede que no se hayan importado todas las direcciones.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/vCardImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/vCardImportMsgs.properties
new file mode 100644
index 0000000000..e1541a4457
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Archivo vCard (.vcf)
+
+vCardImportDescription=Importar una libreta de direcciones desde formato vCard
+
+vCardImportAddressName=Libreta de direcciones vCard
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressSuccess=Libreta de direcciones %S importada
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressBadSourceFile=Error accediendo al archivo de la libreta de direcciones %S.
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressConvertError=Error importando la libreta de direcciones %S, puede que no se hayan importado todas las direcciones.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewLog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewLog.dtd
new file mode 100644
index 0000000000..8b3cb84fb0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Registro de filtros">
+<!ENTITY viewLogInfo.text "El registro de filtros es un archivo que documenta qué filtros fueron ejecutados. Usa la casilla de selección que hay debajo para habilitar el registro.">
+<!ENTITY clearLog.label "Limpiar registro">
+<!ENTITY clearLog.accesskey "C">
+<!ENTITY enableLog.label "Habilitar el registro de filtrado">
+<!ENTITY enableLog.accesskey "E">
+<!ENTITY closeLog.label "Cerrar">
+<!ENTITY closeLog.accesskey "o">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewSource.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewSource.dtd
new file mode 100644
index 0000000000..d181727be8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Fuente de: ">
+
+<!ENTITY editMenu.label "Editar">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY fileMenu.label "Archivo">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY savePageCmd.label "Guardar página como…">
+<!ENTITY savePageCmd.accesskey "A">
+<!ENTITY savePageCmd.commandkey "S">
+<!ENTITY printCmd.label "Imprimir…">
+<!ENTITY printCmd.accesskey "P">
+<!ENTITY printCmd.commandkey "P">
+<!ENTITY closeCmd.label "Cerrar">
+<!ENTITY closeCmd.accesskey "C">
+<!ENTITY closeCmd.commandkey "W">
+
+<!-- LOCALIZATION NOTE :
+textEnlarge.commandkey3, textReduce.commandkey2 and
+textReset.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+<!ENTITY textEnlarge.commandkey "+">
+<!ENTITY textEnlarge.commandkey2 "=">
+<!ENTITY textEnlarge.commandkey3 "">
+<!ENTITY textReduce.commandkey "-">
+<!ENTITY textReduce.commandkey2 "">
+<!ENTITY textReset.commandkey "0">
+<!ENTITY textReset.commandkey2 "">
+
+<!ENTITY goToLineCmd.label "Ir a la línea…">
+<!ENTITY goToLineCmd.accesskey "G">
+<!ENTITY goToLineCmd.commandkey "l">
+
+<!ENTITY viewMenu.label "Ver">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY reloadCmd.label "Recargar">
+<!ENTITY reloadCmd.accesskey "R">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY menu_wrapLongLines.title "Ajustar líneas largas">
+<!ENTITY menu_wrapLongLines.accesskey "W">
+<!ENTITY menu_highlightSyntax.label "Resaltar sintaxis">
+<!ENTITY menu_highlightSyntax.accesskey "H">
+<!ENTITY menu_textSize.label "Tamaño del texto">
+<!ENTITY menu_textSize.accesskey "Z">
+<!ENTITY menu_textEnlarge.label "Aumentar">
+<!ENTITY menu_textEnlarge.accesskey "I">
+<!ENTITY menu_textReduce.label "Reducir">
+<!ENTITY menu_textReduce.accesskey "D">
+<!ENTITY menu_textReset.label "Normal">
+<!ENTITY menu_textReset.accesskey "N">
+
+<!ENTITY findOnCmd.label "Buscar en esta página…">
+<!ENTITY findOnCmd.accesskey "F">
+<!ENTITY findOnCmd.commandkey "f">
+<!ENTITY findAgainCmd.label "Buscar de nuevo">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.commandkey "g">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+<!ENTITY findSelectionCmd.commandkey "e">
+
+<!ENTITY backCmd.label "Atrás">
+<!ENTITY backCmd.accesskey "B">
+<!ENTITY forwardCmd.label "Adelante">
+<!ENTITY forwardCmd.accesskey "F">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.commandKey "]">
+
+<!ENTITY copyLinkCmd.label "Copiar dirección del enlace">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyEmailCmd.label "Copiar dirección de correo electrónico">
+<!ENTITY copyEmailCmd.accesskey "E">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewSource.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewSource.properties
new file mode 100644
index 0000000000..260611a320
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 = Ir a la línea
+goToLineText = Ingresar número de línea
+invalidInputTitle = Ingreso no válido
+invalidInputText = El número de línea ingresado no es válido.
+outOfRangeTitle = Línea no encontrada
+outOfRangeText = La línea especificada no fue encontrada.
+viewSelectionSourceTitle = Fuente DOM de la selección
+viewMathMLSourceTitle = Fuente DOM de MathML
+
+context_goToLine_label = Ir a línea…
+context_goToLine_accesskey = L
+context_wrapLongLines_label = Ajustar líneas largas
+context_highlightSyntax_label = Resaltar sintaxis
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewZoomOverlay.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..5cc1b2812b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Aumentar">
+<!ENTITY fullZoomEnlargeCmd.accesskey "I">
+<!ENTITY fullZoomEnlargeCmd.commandkey "+">
+<!ENTITY fullZoomEnlargeCmd.commandkey2 "="> <!-- + is above this key on many keyboards -->
+<!ENTITY fullZoomEnlargeCmd.commandkey3 "">
+
+<!ENTITY fullZoomReduceCmd.label "Disminuir">
+<!ENTITY fullZoomReduceCmd.accesskey "O">
+<!ENTITY fullZoomReduceCmd.commandkey "-">
+<!ENTITY fullZoomReduceCmd.commandkey2 "">
+
+<!ENTITY fullZoomResetCmd.label "Restablecer">
+<!ENTITY fullZoomResetCmd.accesskey "R">
+<!ENTITY fullZoomResetCmd.commandkey "0">
+<!ENTITY fullZoomResetCmd.commandkey2 "">
+
+<!ENTITY fullZoomToggleCmd.label "Sólo el texto">
+<!ENTITY fullZoomToggleCmd.accesskey "T">
+<!ENTITY fullZoom.label "Zoom">
+<!ENTITY fullZoom.accesskey "Z">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/virtualFolderListDialog.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..92f289f300
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/virtualFolderListDialog.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY virtualFolderListTitle.title "Seleccionar carpeta(s)">
+<!ENTITY virtualFolderDesc.label "Seleccionar la carpeta a buscar:">
+<!ENTITY folderName.label "Nombre de la carpeta">
+<!ENTITY folderSearch.label "Buscar">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/virtualFolderProperties.dtd b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..081d8f3ff5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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 "Nueva carpeta de búsquedas guardadas">
+<!ENTITY name.label "Nombre:">
+<!ENTITY name.accesskey "N">
+<!ENTITY description.label "Crear como subcarpeta de:">
+<!ENTITY description.accesskey "C">
+
+<!ENTITY searchTermCaption.label "Configurar el criterio de búsqueda usado para esta carpeta virtual:">
+
+<!ENTITY folderSelectionCaption.label "Seleccionar las carpetas en las que buscar:">
+<!ENTITY chooseFoldersButton.label "Elegir…">
+<!ENTITY chooseFoldersButton.accesskey "h">
+
+<!ENTITY searchOnline.label "Buscar en línea (da resultados actualizados de carpetas IMAP y de noticias, pero aumenta el tiempo de apertura de la carpeta)">
+<!ENTITY searchOnline.accesskey "S">
+<!ENTITY newFolderButton.label "Crear">
+<!ENTITY newFolderButton.accesskey "r">
+<!ENTITY editFolderButton.label "Actualizar">
+<!ENTITY editFolderButton.accesskey "U">
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/wmImportMsgs.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/messenger/wmImportMsgs.properties
new file mode 100644
index 0000000000..6bf701bf9d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Ajustes 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=Bandeja %1$S, importados %2$d mensajes
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=Mal parámetro pasado al importar bandeja.
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2004=Error accediendo al archivo de la bandeja %S.
+
+# Error message
+## @name WMIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2005=Error importando la bandeja %S, todos los mensajes pueden no ser importados desde esta bandeja.
+
+# Default name of imported addressbook
+## @name WMIMPORT_DEFAULT_NAME
+## @loc None
+2006=Libreta de direcciones de Windows Live Mail
+
+# Autofind description
+## @name WMIMPORT_AUTOFIND
+## @loc None
+2007=Libreta de direcciones de Windows Live Mail (libreta de direcciones 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=Libreta de direcciones %S importada
+
+# Error message
+## @name WMIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=Error importando libreta de direcciones %S, algunas direcciones podrían no haberse importado.
+
+# Error message
+## @name WMIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=Mal parámetro pasado al importar libreta de direcciones.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/downloads/downloads.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..60eb6a9233
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Descargas
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/downloads/unknownContentType.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..cf69312303
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Abriendo %S
+saveDialogTitle=Ingresa el nombre del archivo a guardar…
+defaultApp=%S (predeterminada)
+chooseAppFilePickerTitle=Elegir aplicación auxiliar
+badApp=La aplicación seleccionada ("%S") no se encontró. Comprueba el nombre del archivo o selecciona otra aplicación.
+badApp.title=Aplicación no encontrada
+badPermissions=No se guardó el archivo. No tiene los permisos adecuados. Elija otra carpeta donde guardarlo.
+badPermissions.title=Permisos no válidos para guardar
+unknownAccept.label=Guardar archivo
+unknownCancel.label=Cancelar
+fileType=archivo %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=Archivo de imagen AV1 (AVIF)
+pdfExtHandlerDescription=Formato de documento portátil (PDF)
+svgExtHandlerDescription=Gráficos vectoriales escalables (SVG)
+webpExtHandlerDescription=Imagen WebP
+xmlExtHandlerDescription=Lenguaje de marcado extensible (XML)
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/profile/profileSelection.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..d02edddb86
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Cerrar %S
+restartMessageNoUnlocker2=%S ya se está ejecutando, pero no está respondiendo. Para usar %S, debes cerrar primero el proceso %S existente, reiniciar tu sistema o usar un perfil diferente.
+restartMessageUnlocker=%S ya está ejecutando, pero no responde. Debes cerrar primero el proceso anterior de %S para abrir una nueva ventana.
+restartMessageNoUnlockerMac=Ya hay abierta una copia de %S. Solo puede haber abierta una copia de %S a la vez.
+restartMessageUnlockerMac=Ya hay abierta una copia de %S. La copia en ejecución de %S se cerrará para abrir esta.
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=Perfil: '%S' - Ruta: '%S'
+
+pleaseSelectTitle=Seleccionar perfil
+pleaseSelect=Selecciona un perfil para iniciar %S, o crea un perfil nuevo.
+
+renameProfileTitle=Renombrar perfil
+renameProfilePrompt=Renombrar el perfil "%S" a:
+
+profileNameInvalidTitle=Nombre de perfil no válido
+profileNameInvalid=No se permite el nombre de perfil "%S".
+
+chooseFolder=Elegir directorio de perfil
+profileNameEmpty=No se permite un nombre de perfil en blanco.
+invalidChar=El carácter "%S" no está permitido en los nombres de perfil. Selecciona otro nombre.
+
+deleteTitle=Eliminar perfil
+deleteProfileConfirm=Al eliminar un perfil se quitará de la lista de perfiles y no podrás recuperarlo.\nTambién puedes elegir eliminar los archivos de datos del perfil, incluyendo tu configuración, certificados y otros datos. Esta opción eliminará la carpeta "%S" sin posibilidad de recuperarla.\n¿Realmente quieres eliminar los archivos de este perfil?
+deleteFiles=Eliminar archivos
+dontDeleteFiles=No eliminar archivos
+
+profileCreationFailed=No se ha podido crear el perfil. Es probable que la carpeta seleccionada no tenga permiso de escritura.
+profileCreationFailedTitle=Creación del perfil fallida
+profileExists=Ya existe un perfil con ese nombre. Selecciona otro.
+profileFinishText=Da clic en Finalizar para crear este perfil nuevo.
+profileFinishTextMac=Da clic en Terminado para crear este perfil nuevo.
+profileMissing=Tu perfil %S no se puede cargar. Es posible que no se encuentre o que sea inaccesible.
+profileMissingTitle=Perfil faltante
+profileDeletionFailed=No se ha podido eliminar el perfil ya que puede estar en uso.
+profileDeletionFailedTitle=Fallo en la eliminación
+
+# 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=Datos %S antiguos
+
+flushFailTitle=Cambios no guardados
+flushFailMessage=Un error inesperado ha evitado que se guarden los cambios.
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=Reiniciar %S
+flushFailExitButton=Salir
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/update/updates.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozapps/update/updates.properties
new file mode 100644
index 0000000000..f955967469
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=No, gracias
+noThanksButton.accesskey=N
+restartLaterButton=Reiniciar después
+restartLaterButton.accesskey=d
+restartNowButton=Reiniciar %S
+restartNowButton.accesskey=R
+
+statusFailed=Instalación incorrecta
+
+installSuccess=La actualización se instaló correctamente
+installPending=Instalación pendiente
+patchApplyFailure=No se pudo instalar la actualizacion (ocurrió un error al aplicarla)
+elevationFailure=No tienes los permisos necesarios para instalar esta actualización. Por favor, contacta al administrador del sistema.
+
+check_error-200=Archivo XML mal actualizado (200)
+check_error-403=Acceso denegado (403)
+check_error-404=No se encontró la actualización del archivo XML (404)
+check_error-500=Error interno del Servidor (500)
+check_error-2152398849=Error (razón desconocida)
+check_error-2152398861=Conexión rechazada
+check_error-2152398862=Tiempo de espera agotado para la conexión
+# NS_ERROR_OFFLINE
+check_error-2152398864=No hay conexión de red (Conéctese)
+check_error-2152398867=Puerto no permitido
+check_error-2152398868=No se recibieron datos (intente nuevamente)
+check_error-2152398878=No se encontró el Servidor de actualizaciones (comprueba tu conexión a Internet)
+check_error-2152398890=No se encontró el Servidor Proxy (comprueba tu conexión a Internet)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=No hay conexión de red (Conéctese)
+check_error-2152398919=La transferencia de datos se interrumpió (intente nuevamente)
+check_error-2152398920=La conexión al Servidor Proxy fue rechazada
+check_error-2153390069=Expiró el Certificado del Servidor (de ser necesario, ajuste correctamente la fecha y hora del Sistema)
+check_error-verification_failed=No se pudo verificar la integridad de la actualización
+check_error-move_failed=Error al preparar la actualización para la instalación
+check_error-update_url_not_available=Actualizar URL no disponible
+check_error-connection_aborted=Conexión cancelada
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozldap/ldap.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozldap/ldap.properties
new file mode 100644
index 0000000000..1e20627709
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/mozldap/ldap.properties
@@ -0,0 +1,261 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following two strings are used when prompting the user for authentication
+# information:
+
+## @name AUTH_PROMPT_TITLE
+## @loc none
+authPromptTitle=Contraseña requerida para el servidor LDAP
+
+## @name AUTH_PROMPT_TEXT
+## @loc %1$S should not be localized. It is the hostname of the LDAP server.
+authPromptText=Por favor, ingresa tu contraseña para %1$S.
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+## @name OPERATIONS_ERROR
+## @loc none
+1=Error de operaciones
+
+## @name PROTOCOL_ERROR
+## @loc none
+2=Error de protocolo
+
+## @name TIMELIMIT_EXCEEDED
+## @loc none
+3=Límite de tiempo excedido
+
+## @name SIZELIMIT_EXCEEDED
+## @loc none
+4=Límite de tamaño excedido
+
+## @name COMPARE_FALSE
+## @loc none
+5=Comparar falso
+
+## @name COMPARE_TRUE
+## @loc none
+6=Comparar verdadero
+
+## @name STRONG_AUTH_NOT_SUPPORTED
+## @loc none
+7=Método de autenticación no soportado
+
+## @name STRONG_AUTH_REQUIRED
+## @loc none
+8=Autenticación fuerte requerida
+
+## @name PARTIAL_RESULTS
+## @loc none
+9=Resultados parciales y referente recibidos
+
+## @name REFERRAL
+## @loc none
+10=Recibido referente
+
+## @name ADMINLIMIT_EXCEEDED
+## @loc none
+11=Límite administrativo excedido
+
+## @name UNAVAILABLE_CRITICAL_EXTENSION
+## @loc none
+12=Extensión crítica no disponible
+
+## @name CONFIDENTIALITY_REQUIRED
+## @loc none
+13=Confidencialidad requerida
+
+## @name SASL_BIND_IN_PROGRESS
+## @loc none
+14=Enlace SASL en progreso
+
+## @name NO_SUCH_ATTRIBUTE
+## @loc none
+16=No existe ese atributo
+
+## @name UNDEFINED_TYPE
+## @loc none
+17=Tipo de atributo no definido
+
+## @name INAPPROPRIATE MATCHING
+## @loc none
+18=Coincidencia inapropiada
+
+## @name CONSTRAINT_VIOLATION
+## @loc none
+19=Violación de límite
+
+## @name TYPE_OR_VALUE_EXISTS
+## @loc none
+20=Existe el tipo o valor
+
+## @name INVALID_SYNTAX
+## @loc none
+21=Sintaxis inválida
+
+## @name NO_SUCH_OBJECT
+## @loc none
+32=No existe tal objeto
+
+## @name ALIAS_PROBLEM
+## @loc none
+33=Problema con el alias
+
+## @name INVALID_DN_ SYNTAX
+## @loc none
+34=Sintaxis del DN no válida
+
+## @name IS_LEAF
+## @loc none
+35=El objeto es una hoja
+
+## @name ALIAS_DEREF_PROBLEM
+## @loc none
+36=Problema al desreferenciar el alias
+
+## @name INAPPROPRIATE_AUTH
+## @loc none
+48=Autenticación inapropiada
+
+## @name INVALID_CREDENTIALS
+## @loc none
+49=Credenciales inválidas
+
+## @name INSUFFICIENT_ACCESS
+## @loc none
+50=Acceso insuficiente
+
+## @name BUSY
+## @loc none
+51=El servidor LDAP está ocupado
+
+## @name UNAVAILABLE
+## @loc none
+52=El servidor LDAP no está disponible
+
+## @name UNWILLING_TO_PERFORM
+## @loc none
+53=El servidor LDAP no acepta ejecutar
+
+## @name LOOP_DETECT
+## @loc none
+54=Bucle detectado
+
+## @name SORT_CONTROL_MISSING
+## @loc none
+60=Falta el control de ordenación
+
+## @name INDEX_RANGE_ERROR
+## @loc none
+61=Los resultados de la búsqueda exceden el rango especificado por los desplazamientos
+
+## @name NAMING_VIOLATION
+## @loc none
+64=Violación de nombre
+
+## @name OBJECT_CLASS_VIOLATION
+## @loc none
+65=Violación en la clase de objeto
+
+## @name NOT_ALLOWED_ON_NONLEAF
+## @loc none
+66=La operación no está permitida en un elemento distinto de una hoja
+
+## @name NOT_ALLOWED_ON_RDN
+## @loc none
+67=Operación no permitida en un RDN
+
+## @name ALREADY_EXISTS
+## @loc none
+68=Ya existe
+
+## @name NO_OBJECT_CLASS_MODS
+## @loc none
+69=No se puede modificar la clase del objeto
+
+## @name RESULTS_TOO_LARGE
+## @loc none
+70=Resultados demasiado grandes
+
+## @name AFFECTS_MULTIPLE_DSAS
+## @loc none
+71=Afecta a múltiples servidores
+
+## @name OTHER
+## @loc none
+80=Error desconocido
+
+## @name SERVER_DOWN
+## @loc none
+81=No se puede contactar con el servidor LDAP
+
+## @name LOCAL_ERROR
+## @loc none
+82=Error local
+
+## @name ENCODING_ERROR
+## @loc none
+83=Error de codificación
+
+## @name DECODING_ERROR
+## @loc none
+84=Error de decodificación
+
+## @name TIMEOUT
+## @loc none
+85=El servidor LDAP no respondió en el tiempo permitido
+
+## @name AUTH_UNKNOWN
+## @loc none
+86=Método de identificación desconocido
+
+## @name FILTER_ERROR
+## @loc none
+87=Filtro de búsqueda no válido
+
+## @name USER_CANCELLED
+## @loc none
+88=Operación cancelada por el usuario
+
+## @name PARAM_ERROR
+## @loc none
+89=Parámetro incorrecto en una rutina LDAP
+
+## @name NO_MEMORY
+## @loc none
+90=Memoria agotada
+
+## @name CONNECT_ERROR
+## @loc none
+91=No se puede conectar con el servidor LDAP
+
+## @name NOT_SUPPORTED
+## @loc none
+92=No soportado por esta versión del protocolo LDAP
+
+## @name CONTROL_NOT_FOUND
+## @loc none
+93=Control LDAP solicitado no encontrado
+
+## @name NO_RESULTS_RETURNED
+## @loc none
+94=No se devolvió ningún resultado
+
+## @name MORE_RESULTS_TO_RETURN
+## @loc none
+95=Más resultados a devolver
+
+## @name CLIENT_LOOP
+## @loc none
+96=Bucle de cliente detectado
+
+## @name REFERRAL_LIMIT_EXCEEDED
+## @loc none
+97=Se superó el límite de salto de referencia
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/necko/necko.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/necko/necko.properties
new file mode 100644
index 0000000000..9f8cfb1997
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/necko/necko.properties
@@ -0,0 +1,94 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+3=Resolviendo la dirección de %1$S…
+4=Conectado a %1$S…
+5=Enviando petición a %1$S…
+6=Transfiriendo datos desde %1$S…
+7=Conectando a %1$S…
+8=Leído %1$S\u0020
+9=Escrito %1$S
+10=Esperando a %1$S…
+11=Encontrado %1$S…
+12=Realizando handshake de TLS a %1$S…
+13=Finalizó handshake de TLS para %1$S…
+
+RepostFormData=Esta página web está siendo redirigida a otra dirección. ¿Quieres reenviar los datos que ingresaste en el formulario a la nueva dirección?
+
+# Directory listing strings
+DirTitle=Índice de %1$S
+DirGoUp=Subir al directorio superior.
+ShowHidden=Mostrar objetos ocultos
+DirColName=Nombre
+DirColSize=Tamaño
+DirColMTime=Última modificación
+DirFileLabel=Archivo:\u0020
+
+SuperfluousAuth=Estás a punto de iniciar sesión en "%1$S" con el nombre de usuario "%2$S", pero este sitio web no requiere identificación. Esto podría ser una trampa.\n\n¿Es realmente "%1$S" el sitio web que quieres visitar?
+AutomaticAuth=Estás a punto de iniciar sesión en el sitio "%1$S" con el nombre de usuario "%2$S".
+
+TrackerUriBlocked=El recurso en “%1$S” se ha bloqueado porque el bloqueo de contenido está habilitado.
+UnsafeUriBlocked=El recurso en “%1$S” fue bloqueado por la navegación segura.
+# LOCALIZATION NOTE (CORPBlocked): %1$S is the URL of the blocked resource. %2$S is the URL of the MDN page about CORP.
+CORPBlocked=El recurso en “%1$S” ha sido bloqueado debido a su encabezado de política de recursos de origen cruzado (CORS) o la falta de éste. Mira %2$S
+CookieBlockedByPermission=Solicitud para acceder a cookies o al almacenamiento en “%1$S” fue bloqueado por los permisos de las cookies personalizadas.
+CookieBlockedTracker=Solicitud para acceder a las cookies o al almacenamiento en “%1$S” fue bloqueado porque viene de un rastreador y el bloque de contenido está habilitado.
+CookieBlockedAll=Solicitud para acceder a las cookies o al almacenamiento en “%1$S” fue bloqueado porque estamos bloqueando todas las solicitudes de acceso al almacenamiento.
+CookieBlockedForeign=Solicitud para acceder a las cookies o al almacenamiento en “%1$S” fue bloqueado estamos bloqueando todas las solicitudes de acceso de terceros y el bloqueo de contenido está habilitado.
+# 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=Se ha proporcionado cookie particionada o acceso de almacenamiento a “%1$S” porque se carga en el contexto de terceros y esta habilitada la partición de estado dinámico.
+
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+CookieAllowedForOriginByStorageAccessAPI=Concedido acceso al almacenamiento para el origen “%2$S” en “%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForOriginByHeuristic=Concedido automáticamente acceso al almacenamiento para el origen “%2$S” en “%1$S”.
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForFpiByHeuristic=Acceso al almacenamiento concedido automáticamente para la aislación de primera fuente “%2$S” en “%1$S”.
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecure2=Cookie “%1$S” rechazada porque tiene el atributo “SameSite=None” pero le falta el atributo “secure”.
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta3): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecureForBeta3=La cookie “%1$S” pronto sera rechazada porque tiene el atributo “SameSite” establecido en “Ninguno” sin el atributo “seguro”. Para saber más sobre el atributo “SameSite“, ver %2$S
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+CookieLaxForced2=La cookie “%1$S” tiene la política “SameSite” ajustada a “Lax” porque le falta un atributo “SameSite”, y “SameSite=Lax” es el valor predeterminado para este atributo.
+# 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=La cookie “%1$S” no tiene un valor adecuado para el atributo “SameSite”. Pronto, las cookies sin el atributo “SameSite” o con un valor inválido serán tratadas como “Lax”. Esto se traduce en que la cookie ya no será enviada a contextos de terceros. SI tu aplicación depende en la disponibilidad de esta cookie en esos contextos, por favor añade el atributo “SameSite=None“ a ella. Para conocer más acerca del atributo “SameSite“, lee %2$S
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+CookieSameSiteValueInvalid2=Valor "SameSite“" inválido para la cookie “%1$S”. Los valores soportados son: “Lax“, “Strict“, “None“.
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookieOversize=La cookie “%1$S” no es válida porque su tamaño es demasiado grande. El tamaño máximo es de %2$S B.
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookiePathOversize=La cookie “%1$S” no es válida porque el tamaño de su ruta es demasiado grande. El tamaño máximo es de %2$S B.
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+CookieRejectedByPermissionManager=La cookie "%1$S" ha sido rechazada por los permisos establecidos por el usuario.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+CookieRejectedInvalidCharName=La cookie "%1$S" ha sido rechazada por caracteres no válidos en el nombre.
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+CookieRejectedInvalidDomain=La cookie “%1$S” ha sido rechazada por un dominio no válido.
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+CookieRejectedInvalidPrefix=La cookie “%1$S” ha sido rechazada por un prefijo no válido.
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+CookieRejectedInvalidCharValue=La cookie “%1$S” ha sido rechazada por caracteres no válidos en el valor.
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+CookieRejectedHttpOnlyButFromScript=La cookie “%1$S” ha sido rechazada porque ya hay una cookie HTTP-Only pero el script intentó almacenar una nueva.
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+CookieRejectedSecureButNonHttps=La cookie “%1$S” ha sido rechazada porque una cookie no-HTTPS no se puede establecer como “segura”.
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+CookieRejectedThirdParty=La cookie “%1$S” ha sido rechazada por ser de terceros.
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+CookieRejectedNonsecureOverSecure=La cookie “%1$S” ha sido rechazada porque ya existe una cookie “segura”.
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+CookieRejectedForNonSameSiteness=La cookie “%1$S” ha sido rechazada porque se encuentra en un contexto de sitios cruzados y su “SameSite” es “Lax” o “Strict”.
+
+# LOCALIZATION NOTE (CookieBlockedCrossSiteRedirect): %1$S is the cookie name. Do not translate "SameSite", "Lax" or "Strict".
+CookieBlockedCrossSiteRedirect=Se omitió cookie “%1$S” con el atributo “SameSite” con valor “Lax” o “Strict” por una redirección de sitio cruzado.
+
+# LOCALIZATION NOTE (APIDeprecationWarning): %1$S is the deprecated API; %2$S is the API function that should be used.
+APIDeprecationWarning=Advertencia: ‘%1$S’ obsoleto, por favor usa ‘%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=El recurso en “%1$S” ha sido bloqueado por OpaqueResponseBlocking. Motivo: “%2$S”.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/passwordmgr/passwordmgr.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..416f087b40
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/passwordmgr/passwordmgr.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/.
+
+rememberPassword = Usar el administrador de contraseñas para recordar esta contraseña.
+savePasswordTitle = Confirmar
+# LOCALIZATION NOTE (saveLoginMsg2, saveLoginMsgNoUser2):
+# %S is the login's hostname.
+saveLoginMsg2 = ¿Guardar inicio de sesión para %S?
+saveLoginMsgNoUser2 = ¿Guardar contraseña para %S?
+saveLoginButtonAllow.label = Guardar
+saveLoginButtonAllow.accesskey = S
+saveLoginButtonDeny.label = No guardar
+saveLoginButtonDeny.accesskey = D
+saveLoginButtonNever.label = Nunca guardar
+saveLoginButtonNever.accesskey = e
+# LOCALIZATION NOTE (updateLoginMsg3, updateLoginMsgNoUser3):
+# %S is the login's hostname.
+updateLoginMsg3 = ¿Actualizar inicio de sesión para %S?
+updateLoginMsgNoUser3 = ¿Actualizar contraseña para %S?
+updateLoginMsgAddUsername2 = ¿Añadir nombre de usuario a la contraseña guardada?
+updateLoginButtonText = Actualizar
+updateLoginButtonAccessKey = U
+updateLoginButtonDeny.label = No actualizar
+updateLoginButtonDeny.accesskey = D
+updateLoginButtonDelete.label = Eliminar inicio de sesión guardado
+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 = ¿Te gustaría guardar la contraseña de "%1$S" para %2$S?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = ¿Te gustaría guardar la contraseña para %S?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=Sin nombre de usuario
+togglePasswordLabel=Mostrar contraseña
+togglePasswordAccessKey2=h
+notNowButtonText = Ahora &no
+neverForSiteButtonText = &Nunca para este sitio
+rememberButtonText = &Recordar
+passwordChangeTitle = Confirmar cambio de contraseña
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = ¿Te gustaría actualizar la contraseña de "%S"?
+updatePasswordMsgNoUser = ¿Te gustaría actualizar la contraseña actual?
+userSelectText2 = Selecciona que inicio de sesión actualizar:
+loginsDescriptionAll2=Los inicios de sesión para los siguientes sitios web están almacenados en tu computadora
+
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=Utilizar una contraseña generada con seguridad
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+generatedPasswordWillBeSaved=%S vas a guardar esta contraseña para este sitio 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=Sin nombre de usuario
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=De este sitio 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 = Esta conexión no es segura. Inicios de sesión ingresados aquí pueden ser peligrosos. %1$S
+insecureFieldWarningLearnMore = Aprender más
+
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= Ver inicios de sesión guardados
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pipnss/nsserrors.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..9a8dd75442
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=No es posible comunicar de forma segura. El otro extremo de la conexión no admite cifrado de grado alto.
+SSL_ERROR_US_ONLY_SERVER=No es posible comunicar de forma segura. El otro extremo de la conexión requiere cifrado de grado alto que no está admitido.
+SSL_ERROR_NO_CYPHER_OVERLAP=No se puede comunicar de forma segura con la otra parte: no hay algoritmos de cifrado comunes.
+SSL_ERROR_NO_CERTIFICATE=No es posible encontrar el certificado o clave necesarios para la identificación.
+SSL_ERROR_BAD_CERTIFICATE=No es posible la comunicación de forma segura con el otro extremo de la conexión porque el certificado de éste fue rechazado.
+SSL_ERROR_BAD_CLIENT=El servidor encontró datos erróneos del cliente.
+SSL_ERROR_BAD_SERVER=El cliente encontró datos erróneos del servidor.
+SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=Tipo de certificado no admitido.
+SSL_ERROR_UNSUPPORTED_VERSION=La otra parte está usando una versión del protocolo de seguridad no admitida.
+SSL_ERROR_WRONG_CERTIFICATE=Identificación del cliente fallida: la clave privada en la base de datos de claves no coincide con la clave pública en la base de datos de certificados.
+SSL_ERROR_BAD_CERT_DOMAIN=No es posible comunicar de forma segura con el otro extremo de la conexión porque el nombre de dominio solicitado no coincide con el certificado del servidor.
+SSL_ERROR_POST_WARNING=Código de error SSL no reconocido.
+SSL_ERROR_SSL2_DISABLED=La otra parte sólo admite SSL versión 2, que está desactivado localmente.
+SSL_ERROR_BAD_MAC_READ=SSL ha recibido un registro con un código de identificación de mensaje incorrecto.
+SSL_ERROR_BAD_MAC_ALERT=El otro extremo de la conexión SSL informa de un código de identificación de mensaje incorrecto.
+SSL_ERROR_BAD_CERT_ALERT=El otro extremo de la conexión SSL no puede verificar tu certificado.
+SSL_ERROR_REVOKED_CERT_ALERT=El otro extremo de la conexión SSL ha rechazado tu certificado por considerarlo revocado.
+SSL_ERROR_EXPIRED_CERT_ALERT=El otro extremo de la conexión SSL ha rechazado tu certificado por considerarlo expirado.
+SSL_ERROR_SSL_DISABLED=No se puede conectar: SSL está desactivado.
+SSL_ERROR_FORTEZZA_PQG=No se puede conectar: el otro extremo de la conexión SSL está en otro dominio FORTEZZA.
+SSL_ERROR_UNKNOWN_CIPHER_SUITE=Se ha solicitado una suite de cifrado SSL desconocida.
+SSL_ERROR_NO_CIPHERS_SUPPORTED=No hay suites de cifrado presentes y activas en este programa.
+SSL_ERROR_BAD_BLOCK_PADDING=SSL ha recibido un registro con un ajuste de bloque incorrecto.
+SSL_ERROR_RX_RECORD_TOO_LONG=SSL ha recibido un registro que excedía la longitud máxima permitida.
+SSL_ERROR_TX_RECORD_TOO_LONG=SSL ha intentado enviar un registro que excede la longitud máxima admisible.
+SSL_ERROR_RX_MALFORMED_HELLO_REQUEST=SSL ha recibido un mensaje de negociación Hello Request mal formado.
+SSL_ERROR_RX_MALFORMED_CLIENT_HELLO=SSL ha recibido un mensaje de negociación Client Hello mal formado.
+SSL_ERROR_RX_MALFORMED_SERVER_HELLO=SSL ha recibido un mensaje de negociación Server Hello mal formado.
+SSL_ERROR_RX_MALFORMED_CERTIFICATE=SSL ha recibido un mensaje de negociación Certificate mal formado.
+SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH=SSL ha recibido un mensaje de negociación Server Key Exchange mal formado.
+SSL_ERROR_RX_MALFORMED_CERT_REQUEST=SSL ha recibido un mensaje de negociación de Certificate Request mal formado.
+SSL_ERROR_RX_MALFORMED_HELLO_DONE=SSL ha recibido un mensaje de negociación Server Hello Done mal formado.
+SSL_ERROR_RX_MALFORMED_CERT_VERIFY=SSL ha recibido un mensaje de negociación Certificate Verify mal formado.
+SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH=SSL ha recibido un mensaje de negociación Client Key Exchange mal formado.
+SSL_ERROR_RX_MALFORMED_FINISHED=SSL ha recibido un mensaje de negociación Finished mal formado.
+SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER=SSL ha recibido un registro de cambio de especificaciones de cifrado mal formado.
+SSL_ERROR_RX_MALFORMED_ALERT=SSL ha recibido un registro de alerta mal formada.
+SSL_ERROR_RX_MALFORMED_HANDSHAKE=SSL ha recibido un registro de negociación mal formado.
+SSL_ERROR_RX_MALFORMED_APPLICATION_DATA=SSL ha recibido un registro de datos de aplicación mal formado.
+SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST=SSL ha recibido un mensaje de negociación Hello Request inesperado.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO=SSL ha recibido un mensaje de negociación Client Hello inesperado.
+SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO=SSL ha recibido un mensaje de negociación Server Hello inesperado.
+SSL_ERROR_RX_UNEXPECTED_CERTIFICATE=SSL ha recibido un mensaje de negociación Certificate inesperado.
+SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH=SSL ha recibido un mensaje de negociación Server Key Exchange inesperado.
+SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST=SSL ha recibido un mensaje de negociación Certificate Request inesperado.
+SSL_ERROR_RX_UNEXPECTED_HELLO_DONE=SSL ha recibido un mensaje de negociación Server Hello Done inesperado.
+SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY=SSL ha recibido un mensaje de negociación Certificate Verify inesperado.
+SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH=SSL ha recibido un mensaje de negociación Client Key Exchange inesperado.
+SSL_ERROR_RX_UNEXPECTED_FINISHED=SSL ha recibido un mensaje de negociación Finished inesperado.
+SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER=SSL ha recibido un registro Change Cipher Spec inesperado.
+SSL_ERROR_RX_UNEXPECTED_ALERT=SSL ha recibido un registro Alert inesperado.
+SSL_ERROR_RX_UNEXPECTED_HANDSHAKE=SSL ha recibido un registro de negociación inesperado.
+SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA=SSL ha recibido un registro Application Data inesperado.
+SSL_ERROR_RX_UNKNOWN_RECORD_TYPE=SSL ha recibido un registro con un tipo de contenido desconocido.
+SSL_ERROR_RX_UNKNOWN_HANDSHAKE=SSL ha recibido un mensaje de negociación con un tipo de mensaje desconocido.
+SSL_ERROR_RX_UNKNOWN_ALERT=SSL ha recibido un registro de alerta con una descripción de alerta desconocida.
+SSL_ERROR_CLOSE_NOTIFY_ALERT=El otro extremo de la conexión SSL ha cerrado esta conexión.
+SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT=El otro extremo de la conexión SSL no esperaba un mensaje de negociación que ha recibido.
+SSL_ERROR_DECOMPRESSION_FAILURE_ALERT=El otro extremo de la conexión SSL no ha podido descomprimir con éxito un registro SSL que ha recibido.
+SSL_ERROR_HANDSHAKE_FAILURE_ALERT=El otro extremo de la conexión SSL no ha podido negociar un conjunto aceptable de parámetros de seguridad.
+SSL_ERROR_ILLEGAL_PARAMETER_ALERT=El otro extremo de la conexión SSL ha rechazado un mensaje de negociación por contenido no aceptable.
+SSL_ERROR_UNSUPPORTED_CERT_ALERT=El otro extremo de la conexión SSL no admite certificados del tipo que ha recibido.
+SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=El otro extremo de la conexión SSL ha tenido algún problema no especificado con el certificado que ha recibido.
+SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL ha experimentado un fallo de su generador de números aleatorios.
+SSL_ERROR_SIGN_HASHES_FAILURE=No es posible firmar digitalmente los datos requeridos para verificar tu certificado.
+SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL no ha podido extraer la clave pública del certificado del otro extremo de la conexión.
+SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=Fallo no especificado mientras se procesaba la negociación de intercambio de claves servidor de SSL.
+SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=Fallo no especificado mientras se procesaba la negociación de intercambio de claves cliente de SSL.
+SSL_ERROR_ENCRYPTION_FAILURE=Ha fallado el algoritmo de cifrado de lotes de datos en la suite de cifrado seleccionada.
+SSL_ERROR_DECRYPTION_FAILURE=Ha fallado el algoritmo de descifrado de lotes de datos en la suite de cifrado seleccionada.
+SSL_ERROR_SOCKET_WRITE_FAILURE=Ha fallado un intento de escribir datos cifrados en el socket subyacente.
+SSL_ERROR_MD5_DIGEST_FAILURE=Función resumen MD5 fallida.
+SSL_ERROR_SHA_DIGEST_FAILURE=Función resumen SHA-1 fallida.
+SSL_ERROR_MAC_COMPUTATION_FAILURE=Cálculo MAC fallido.
+SSL_ERROR_SYM_KEY_CONTEXT_FAILURE=No se ha podido crear un contexto de clave simétrica.
+SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=No se ha podido desempaquetar la clave simétrica en el mensaje de intercambio de claves de cliente.
+SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED=El servidor SSL ha intentado usar una clave pública de grado doméstico con una suite de cifrado de exportación.
+SSL_ERROR_IV_PARAM_FAILURE=El código PKCS11 no permite traducir un IV en un parámetro.
+SSL_ERROR_INIT_CIPHER_SUITE_FAILURE=No se ha podido inicializar la suite de cifrado seleccionada.
+SSL_ERROR_SESSION_KEY_GEN_FAILURE=El cliente no ha podido generar claves de sesión para la sesión SSL.
+SSL_ERROR_NO_SERVER_KEY_FOR_ALG=El servidor no tiene clave para el algoritmo de intercambio de claves intentado.
+SSL_ERROR_TOKEN_INSERTION_REMOVAL=El token PKCS#11 se insertó o eliminó mientras la operación estaba en progreso.
+SSL_ERROR_TOKEN_SLOT_NOT_FOUND=No se ha podido encontrar un token PKCS#11 para hacer una operación requerida.
+SSL_ERROR_NO_COMPRESSION_OVERLAP=No se puede comunicar de forma segura con la otra parte: no hay algoritmos de compresión comunes.
+SSL_ERROR_HANDSHAKE_NOT_COMPLETED=No se puede iniciar otra negociación SSL (SSL handshake) hasta que la actual se haya completado.
+SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=Se han recibido de la otra parte valores hash incorrectos de negociación.
+SSL_ERROR_CERT_KEA_MISMATCH=El certificado proporcionado no puede usarse con el algoritmo de intercambio de claves seleccionado.
+SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=No se confía en ninguna autoridad certificadora para la identificación del cliente SSL.
+SSL_ERROR_SESSION_NOT_FOUND=La ID de sesión SSL del cliente no se ha encontrado en el caché de sesión del servidor.
+SSL_ERROR_DECRYPTION_FAILED_ALERT=La otra parte no ha podido descifrar un registro SSL recibido por ella.
+SSL_ERROR_RECORD_OVERFLOW_ALERT=La otra parte ha recibido un registro SSL más largo de lo permitido.
+SSL_ERROR_UNKNOWN_CA_ALERT=La otra parte no reconoce o confía en la CA que emitió tu certificado.
+SSL_ERROR_ACCESS_DENIED_ALERT=La otra parte recibió un certificado válido, pero el acceso fue denegado.
+SSL_ERROR_DECODE_ERROR_ALERT=El otro extremo de la conexión no ha podido decodificar un mensaje de negociación SSL (SSL handshake).
+SSL_ERROR_DECRYPT_ERROR_ALERT=La otra parte indica un fallo en la verificación de la firma o intercambio de claves.
+SSL_ERROR_EXPORT_RESTRICTION_ALERT=La otra parte informa que la negociación no cumple las regulaciones de exportación.
+SSL_ERROR_PROTOCOL_VERSION_ALERT=La otra parte informa de una versión del protocolo incompatible o no admitida.
+SSL_ERROR_INSUFFICIENT_SECURITY_ALERT=El servidor requiere cifrado más segudo del soportado por el cliente.
+SSL_ERROR_INTERNAL_ERROR_ALERT=La otra parte informa que ha experimentado un error interno.
+SSL_ERROR_USER_CANCELED_ALERT=El usuario del otro extremo de la conexión ha cancelado el negociación.
+SSL_ERROR_NO_RENEGOTIATION_ALERT=La otra parte no permite renegociar los parámetros de seguridad SSL.
+SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED=El caché del servidor SSL no está configurado ni desactivado en este socket.
+SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT=El otro extremo de la conexión SSL no admite la extensión hello TLS solicitada.
+SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT=El otro extremo de la conexión SSL no ha podido obtener tu certificado de la URL suministrada.
+SSL_ERROR_UNRECOGNIZED_NAME_ALERT=El otro extremo de la conexión SSL no tiene certificado para el nombre DNS solicitado.
+SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT=El otro extremo de la conexión SSL no ha podido obtener una respuesta OCSP para su certificado.
+SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT=El otro extremo de la conexión SSL ha informado de un valor hash de certificado erróneo.
+SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET=SSL recibió un mensaje inesperado de handshake New Session Ticket.
+SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET=SSL recibió un mensaje de handshake New Session Ticket con formato incorrecto.
+SSL_ERROR_DECOMPRESSION_FAILURE=SSL recibió un registro comprimido que no podrá descomprimirse.
+SSL_ERROR_RENEGOTIATION_NOT_ALLOWED=La renegociación no está permitida por este SSL socket.
+SSL_ERROR_UNSAFE_NEGOTIATION=Peer intentó un handshake al viejo estilo (potencialmente vulnerable).
+SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD=SSL recibió un registro sin comprimir inesperado.
+SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY=SSL ha recibido una clave débil Diffie-Hellman en el servidor de mensaje de negociación de intercambio de claves.
+SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID=SSL recibió datos no válidos de la extensión NPN.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2=Característica SSL no compatible con las conexiones SSL 2.0.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SERVERS=Característica SSL no admitida en los servidores.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_CLIENTS=Característica SSL no admitida en los clientes.
+SSL_ERROR_INVALID_VERSION_RANGE=El intervalo de versiones SSL no es válido.
+SSL_ERROR_CIPHER_DISALLOWED_FOR_VERSION=El interlocutor SSL ha seleccionado una suite de cifrado no permitida en la versión de protocolo elegida.
+SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST=SSL ha recibido un mensaje de negociación Hello Verify Request mal formado.
+SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST=SSL ha recibido un mensaje de negociación Hello Verify Request inesperado.
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION=Característica SSL no admitida en esa versión del protocolo.
+SSL_ERROR_RX_UNEXPECTED_CERT_STATUS=SSL ha recibido un mensaje de negociación Certificate Status inesperado.
+SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM=Algoritmo resumen no admitido utilizado por el interlocutor TLS.
+SSL_ERROR_DIGEST_FAILURE=Falló la función de resumen.
+SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM=Algoritmo de firma incorrecto especificado en un elemento firmado digitalmente.
+SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK=Se activó la extensión de negociación del siguiente protocolo, pero la llamada de respuesta se inicializó antes de necesitarse.
+SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL=El servidor no admite protocolos anunciados por el cliente en la extensión ALPN.
+SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT=El servidor rechazó la negociación porque el cliente degradó a una versión TLS inferior a la que admite el servidor.
+SSL_ERROR_WEAK_SERVER_CERT_KEY=El certificado de servidor incluía una clave pública que era demasiado débil.
+SSL_ERROR_RX_SHORT_DTLS_READ=Sin espacio suficiente en buffer para un registro DTLS.
+SSL_ERROR_NO_SUPPORTED_SIGNATURE_ALGORITHM=No se configuró un algoritmo de firma TLS soportado.
+SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM=El par usó una combinación no soportada de firma y algoritmo hash.
+SSL_ERROR_MISSING_EXTENDED_MASTER_SECRET=El par trató de continuar sin una extensión extended_master_secret correcta.
+SSL_ERROR_UNEXPECTED_EXTENDED_MASTER_SECRET=El par trató de continuar con una extensión extended_master_secret inesperada.
+SEC_ERROR_IO=Ha ocurrido un error de E/S durante la autorización de seguridad.
+SEC_ERROR_LIBRARY_FAILURE=fallo de la biblioteca de seguridad.
+SEC_ERROR_BAD_DATA=biblioteca de seguridad: se han recibido datos incorrectos.
+SEC_ERROR_OUTPUT_LEN=biblioteca de seguridad: error de longitud de salida.
+SEC_ERROR_INPUT_LEN=la biblioteca de seguridad ha experimentado un error de longitud de entrada.
+SEC_ERROR_INVALID_ARGS=biblioteca de seguridad: argumentos no válidos.
+SEC_ERROR_INVALID_ALGORITHM=biblioteca de seguridad: algoritmo no válido.
+SEC_ERROR_INVALID_AVA=biblioteca de seguridad: AVA no válido.
+SEC_ERROR_INVALID_TIME=Cadena de fecha/hora incorrectamente formateada.
+SEC_ERROR_BAD_DER=biblioteca de seguridad: mensaje codificado en DER incorrectamente formateado.
+SEC_ERROR_BAD_SIGNATURE=El certificado de la otra parte tiene una firma no válida.
+SEC_ERROR_EXPIRED_CERTIFICATE=El certificado de la otra parte ha expirado.
+SEC_ERROR_REVOKED_CERTIFICATE=El certificado de la otra parte ha sido revocado.
+SEC_ERROR_UNKNOWN_ISSUER=El emisor del certificado de la otra parte no se reconoce.
+SEC_ERROR_BAD_KEY=La clave pública de la otra parte no es válida.
+SEC_ERROR_BAD_PASSWORD=La contraseña de seguridad introducida es incorrecta.
+SEC_ERROR_RETRY_PASSWORD=La nueva contraseña se ha introducido incorrectamente. Inténtalo de nuevo.
+SEC_ERROR_NO_NODELOCK=biblioteca de seguridad: no hay bloqueo de nodo (nodelock).
+SEC_ERROR_BAD_DATABASE=biblioteca de seguridad: base de datos incorrecta.
+SEC_ERROR_NO_MEMORY=biblioteca de seguridad: fallo de ubicación (allocation) de memoria.
+SEC_ERROR_UNTRUSTED_ISSUER=El emisor del certificado de la otra parte ha sido marcado como no confiable por el usuario.
+SEC_ERROR_UNTRUSTED_CERT=El certificado de la otra parte ha sido marcado como no confiable por el usuario.
+SEC_ERROR_DUPLICATE_CERT=El certificado ya existe en tu base de datos.
+SEC_ERROR_DUPLICATE_CERT_NAME=El nombre del certificado descargado duplica uno ya instalado en tu base de datos.
+SEC_ERROR_ADDING_CERT=Error al agregar el certificado a la base de datos.
+SEC_ERROR_FILING_KEY=Error asociando la llave para este certificado.
+SEC_ERROR_NO_KEY=La clave privada de este certificado no puede encontrarse en la base de datos de claves
+SEC_ERROR_CERT_VALID=Este certificado es válido.
+SEC_ERROR_CERT_NOT_VALID=Este certificado no es válido.
+SEC_ERROR_CERT_NO_RESPONSE=Biblioteca de certificados: no hay respuesta
+SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=El certificado del emisor del certificado ha caducado. Comprueba la fecha y hora de tu sistema.
+SEC_ERROR_CRL_EXPIRED=La CRL del emisor del certificado ha caducado. Actualiza o compruebe la fecha y hora de tu sistema.
+SEC_ERROR_CRL_BAD_SIGNATURE=La CRL del emisor del certificado tiene una firma no válida.
+SEC_ERROR_CRL_INVALID=La nueva CRL tiene un formato no válido.
+SEC_ERROR_EXTENSION_VALUE_INVALID=El valor de la extensión del certificado no es válido.
+SEC_ERROR_EXTENSION_NOT_FOUND=No se ha encontrado una extensión del certificado.
+SEC_ERROR_CA_CERT_INVALID=El certificado del emisor no es válido.
+SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID=La restricción a la longitud de la ruta del certificado no es válida.
+SEC_ERROR_CERT_USAGES_INVALID=El campo de usos del certificado no es válido.
+SEC_INTERNAL_ONLY=**Módulo EXCLUSIVAMENTE interno**
+SEC_ERROR_INVALID_KEY=La clave no admite la operación solicitada.
+SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION=El certificado contiene una extensión crítica desconocida.
+SEC_ERROR_OLD_CRL=La nueva CRL no es posterior a la actual.
+SEC_ERROR_NO_EMAIL_CERT=No cifrado o firmado: aún no tiene un certificado de correo electrónico.
+SEC_ERROR_NO_RECIPIENT_CERTS_QUERY=No cifrado: no tiene ciertificados para cada uno de los recipientes.
+SEC_ERROR_NOT_A_RECIPIENT=No se puede descrifrar: tú no es un destinatario, o bien no se ha encontrado una clave privada o certificado apropiados.
+SEC_ERROR_PKCS7_KEYALG_MISMATCH=No se puede descifrar: el algoritmo de cifrado de clave no coincide con tu certificado.
+SEC_ERROR_PKCS7_BAD_SIGNATURE=Verificación de la firma fallida: o no se ha encontrado firmante, o se han encontrado demasiados firmantes, o los datos son inadecuados o corruptos.
+SEC_ERROR_UNSUPPORTED_KEYALG=Algoritmo de claves no admitido o desconocido.
+SEC_ERROR_DECRYPTION_DISALLOWED=No se puede descifrar: se ha cifrado usando un algoritmo o tamaño de clave no permitidos.
+XP_SEC_FORTEZZA_BAD_CARD=La tarjeta Fortezza no ha sido correctamente inicializada. Retírala y devuélvela a tu emisor.
+XP_SEC_FORTEZZA_NO_CARD=No se han encontrado tarjetas Fortezza
+XP_SEC_FORTEZZA_NONE_SELECTED=No hay tarjeta Fortezza seleccionada
+XP_SEC_FORTEZZA_MORE_INFO=Selecciona una personalidad para obtener más información sobre
+XP_SEC_FORTEZZA_PERSON_NOT_FOUND=Personalidad no encontrada
+XP_SEC_FORTEZZA_NO_MORE_INFO=No hay más información en esa personalidad
+XP_SEC_FORTEZZA_BAD_PIN=PIN no válido
+XP_SEC_FORTEZZA_PERSON_ERROR=No se pueden inicializar las personalidades Fortezza.
+SEC_ERROR_NO_KRL=No se ha encontrado KRL para el certificado de este sitio.
+SEC_ERROR_KRL_EXPIRED=La KRL del certificado de este sitio ha expirado.
+SEC_ERROR_KRL_BAD_SIGNATURE=La KRL del certificado de este sitio tiene una firma no válida.
+SEC_ERROR_REVOKED_KEY=La clave para el certificado de este sitio ha sido revocada.
+SEC_ERROR_KRL_INVALID=La nueva KRL tiene un formato no válido.
+SEC_ERROR_NEED_RANDOM=biblioteca de seguridad: se necesitan datos aleatorios.
+SEC_ERROR_NO_MODULE=biblioteca de seguridad: ningún módulo de seguridad puede ejecutar la operación solicitada.
+SEC_ERROR_NO_TOKEN=La tarjeta o token de seguridad no existe, tiene que ser inicializada, o ha sido eliminada.
+SEC_ERROR_READ_ONLY=biblioteca de seguridad: base de datos de sólo lectura.
+SEC_ERROR_NO_SLOT_SELECTED=No se ha seleccionado una ranura o token.
+SEC_ERROR_CERT_NICKNAME_COLLISION=Ya existe un certificado con el mismo apodo.
+SEC_ERROR_KEY_NICKNAME_COLLISION=Ya existe una clave con el mismo apodo.
+SEC_ERROR_SAFE_NOT_CREATED=error al crear el objeto seguro
+SEC_ERROR_BAGGAGE_NOT_CREATED=error al crear el objeto de transporte (baggage object)
+XP_JAVA_REMOVE_PRINCIPAL_ERROR=No se puede eliminar el principal
+XP_JAVA_DELETE_PRIVILEGE_ERROR=No se puede eliminar el privilegio
+XP_JAVA_CERT_NOT_EXISTS_ERROR=Este principal no tiene un certificado
+SEC_ERROR_BAD_EXPORT_ALGORITHM=Un algoritmo requerido no está permitido.
+SEC_ERROR_EXPORTING_CERTIFICATES=Error al intentar exportar certificados.
+SEC_ERROR_IMPORTING_CERTIFICATES=Error al intentar importar certificados.
+SEC_ERROR_PKCS12_DECODING_PFX=No es posible importar. Error de decodificación. Archivo no válido.
+SEC_ERROR_PKCS12_INVALID_MAC=No es posible importar. MAC no válida. Contraseña incorrecta o archivo corrupto.
+SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM=No es posible importar. Algoritmo MAC no admitido.
+SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=No es posible importar. Sólo se admiten los modos de privacidad e integridad de contraseña.
+SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE=No es posible importar. La estructura del archivo está corrupta.
+SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM=No es posible importar. Algoritmo de cifrado no admitido.
+SEC_ERROR_PKCS12_UNSUPPORTED_VERSION=No es posible importar. Versión del archivo no admitida.
+SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=No es posible importar. Contraseña de privacidad incorrecta.
+SEC_ERROR_PKCS12_CERT_COLLISION=No es posible importar. El mismo apodo existe ya en la base de datos.
+SEC_ERROR_USER_CANCELLED=El usuario ha presionado Cancelar.
+SEC_ERROR_PKCS12_DUPLICATE_DATA=No importado, ya en la base de datos.
+SEC_ERROR_MESSAGE_SEND_ABORTED=Mensaje no enviado.
+SEC_ERROR_INADEQUATE_KEY_USAGE=El uso de la clave del certificado es inapropiada para la operación pretendida.
+SEC_ERROR_INADEQUATE_CERT_TYPE=Tipo de certificado no aprobado para la aplicación.
+SEC_ERROR_CERT_ADDR_MISMATCH=La dirección en el certificado de firma no coincide con la dirección en las cabeceras del mensaje.
+SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY=No es posible importar. Error al intentar importar la clave privada.
+SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN=No es posible importar. Error al intentar importar la cadena de certificados.
+SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME=No es posible exportar. No se puede localizar el certificado o clave por el apodo.
+SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY=No es posible exportar. La clave privada no ha podido ser localizada y exportada.
+SEC_ERROR_PKCS12_UNABLE_TO_WRITE=No es posible exportar. No se puede escribir el archivo de exportación.
+SEC_ERROR_PKCS12_UNABLE_TO_READ=No es posible importar. No se puede leer el archivo de importación.
+SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED=No es posible exportar. La base de datos de claves está corrupta o ha sido borrada.
+SEC_ERROR_KEYGEN_FAIL=No es posible generar el par de claves pública/privada.
+SEC_ERROR_INVALID_PASSWORD=La contraseña introducida no es válida. Por favor, escoge una diferente.
+SEC_ERROR_RETRY_OLD_PASSWORD=Contraseña anterior introducida incorrectamente. Vuelve a intentarlo.
+SEC_ERROR_BAD_NICKNAME=El apodo del certificado ya está en uso.
+SEC_ERROR_NOT_FORTEZZA_ISSUER=La cadena FORTEZZA de la otra parte tiene un certificado que no es de FORTEZZA.
+SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=No se puede mover una clave confidencial a la ranura donde se necesita.
+SEC_ERROR_JS_INVALID_MODULE_NAME=Nombre de módulo no válido.
+SEC_ERROR_JS_INVALID_DLL=Ruta o nombre de archivo de módulo no válido
+SEC_ERROR_JS_ADD_MOD_FAILURE=No es posible agregar el módulo
+SEC_ERROR_JS_DEL_MOD_FAILURE=No es posible eliminar el módulo
+SEC_ERROR_OLD_KRL=La nueva KRL no es posterior a la actual.
+SEC_ERROR_CKL_CONFLICT=La nueva CKL tiene un emisor diferente de la CKL actual. Borra la CKL actual.
+SEC_ERROR_CERT_NOT_IN_NAME_SPACE=La autoridad certificadora de este certificado no tiene permitido emitir un certificado con este nombre.
+SEC_ERROR_KRL_NOT_YET_VALID=La lista de revocación de claves para este certificado no es válida aún.
+SEC_ERROR_CRL_NOT_YET_VALID=La lista de revocación de certificados para este certificado no es válido aún.
+SEC_ERROR_UNKNOWN_CERT=No se ha podido encontrar el certificado solicitado.
+SEC_ERROR_UNKNOWN_SIGNER=No se ha podido encontrar el certificado del firmante.
+SEC_ERROR_CERT_BAD_ACCESS_LOCATION=La dirección del servidor de estado de certificado tiene un formato no válido.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=La respuesta OCSP no puede decodificarse totalmente; es de un tipo desconocido.
+SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=El servidor OCSP ha devuelto datos HTTP inesperados/no válidos.
+SEC_ERROR_OCSP_MALFORMED_REQUEST=El servidor OCSP ha encontrado que la solicitud está corrupta o incorrectamente formada.
+SEC_ERROR_OCSP_SERVER_ERROR=El servidor OCSP ha experimentado un error interno.
+SEC_ERROR_OCSP_TRY_SERVER_LATER=El servidor OCSP sugiere que lo intente de nuevo más tarde.
+SEC_ERROR_OCSP_REQUEST_NEEDS_SIG=El servidor OCSP requiere una firma en esta solicitud.
+SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST=El servidor OCSP ha rechazado esta solicitud como no autorizada.
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS=El servidor OCSP ha devuelto un estado irreconocible.
+SEC_ERROR_OCSP_UNKNOWN_CERT=El servidor OCSP no tiene estado para el certificado.
+SEC_ERROR_OCSP_NOT_ENABLED=Debe activar OCSP antes de ejecutar esta operación.
+SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER=Debe establecer el respondedor OCSP predeterminado antes de ejecutar esta operación.
+SEC_ERROR_OCSP_MALFORMED_RESPONSE=La respuesta del servidor OCSP estaba corrupta o incorrectamente formada.
+SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE=El firmante de la respuesta OCSP no está autorizado a proporcionar el estado de este certificado.
+SEC_ERROR_OCSP_FUTURE_RESPONSE=La respuesta OCSP no es válida aún (contiene una fecha en el futuro).
+SEC_ERROR_OCSP_OLD_RESPONSE=La respuesta OCSP contiene información no actualizada.
+SEC_ERROR_DIGEST_NOT_FOUND=No se ha encontrado el resumen CMS o PKCS #7 en el mensaje firmado.
+SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE=El tipo de mensaje CMS o PKCS #7 no está admitido.
+SEC_ERROR_MODULE_STUCK=El módulo PKCS #11 no se ha podido eliminar porque está aún en uso.
+SEC_ERROR_BAD_TEMPLATE=No se ha podido decodificar los datos ASN.1. La plantilla especificada no era válida.
+SEC_ERROR_CRL_NOT_FOUND=No se ha encontrado CRL apropiada.
+SEC_ERROR_REUSED_ISSUER_AND_SERIAL=Está intentando importar un certificado con el mismo número de serie/emisor que un certificado existente, pero no es el mismo certificado.
+SEC_ERROR_BUSY=NSS no se pudo cerrar. Hay objetos aún en uso.
+SEC_ERROR_EXTRA_INPUT=El mensaje codificado con DER contenía datos extra no usados.
+SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=Curva elíptica no admitida.
+SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=Forma de punto de curva elíptica no admitida.
+SEC_ERROR_UNRECOGNIZED_OID=Identificador de objeto no reconocido.
+SEC_ERROR_OCSP_INVALID_SIGNING_CERT=Certificado de firma OCSP no valido en respuesta OCSP.
+SEC_ERROR_REVOKED_CERTIFICATE_CRL=El certificado está revocado en la lista de revocación de certificados del emisor.
+SEC_ERROR_REVOKED_CERTIFICATE_OCSP=El respondedor OCSP del emisor informa que el certificado está revocado.
+SEC_ERROR_CRL_INVALID_VERSION=La lista de revocación de certificados del emisor tiene un número de versión desconocido.
+SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=La lista de revocación de certificados V1 del emisor tiene una extensión crítica.
+SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=La lista de revocación de certificados V2 del emisor tiene una extensión crítica desconocida.
+SEC_ERROR_UNKNOWN_OBJECT_TYPE=Tipo de objeto especificado desconocido.
+SEC_ERROR_INCOMPATIBLE_PKCS11=El controlador PKCS #11 viola la especificación en una forma incompatible.
+SEC_ERROR_NO_EVENT=No hay disponible ningún nuevo evento de ranura en este momento.
+SEC_ERROR_CRL_ALREADY_EXISTS=La CRL ya existe.
+SEC_ERROR_NOT_INITIALIZED=NSS no está inicializado.
+SEC_ERROR_TOKEN_NOT_LOGGED_IN=La operación ha fallado porque el token PKCS#11 no ha iniciado sesión.
+SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=El certificado configurado del respondedor OCSP no es válido.
+SEC_ERROR_OCSP_BAD_SIGNATURE=La respuesta OCSP tiene una firma no válida.
+SEC_ERROR_OUT_OF_SEARCH_LIMITS=La búsqueda de validación del certificado está fuera de los límites
+SEC_ERROR_INVALID_POLICY_MAPPING=El mapeo de políticas contiene anypolicy
+SEC_ERROR_POLICY_VALIDATION_FAILED=La cadena de certificados no cumple la validación de políticas
+SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=Tipo de ubicación desconocida en la extensión certificado AIA
+SEC_ERROR_BAD_HTTP_RESPONSE=El servidor regresó una mala respuesta HTTP
+SEC_ERROR_BAD_LDAP_RESPONSE=El servidor regresó una respuesta mala del LDAP
+SEC_ERROR_FAILED_TO_ENCODE_DATA=Fallo al codificar datos con el codificador ASN1
+SEC_ERROR_BAD_INFO_ACCESS_LOCATION=Dirección de acceso a información no válida en extensión de certificado
+SEC_ERROR_LIBPKIX_INTERNAL=Ocurrió un error interno Libpkix durante la validación del certificado.
+SEC_ERROR_PKCS11_GENERAL_ERROR=Un módulo PKCS #11 ha devuelto CKR_GENERAL_ERROR, indicando que ha sucedido un error no recuperable.
+SEC_ERROR_PKCS11_FUNCTION_FAILED=Un módulo PKCS #11 ha devuelto CKR_FUNCTION_FAILED, indicando que la función solicitada no se ha podido ejecutar. Si se intenta de nuevo la misma operación podría tener éxito.
+SEC_ERROR_PKCS11_DEVICE_ERROR=Un módulo PKCS #11 ha devuelto CKR_DEVICE_ERROR, indicando que ha ocurrido un problema con el token o slot.
+SEC_ERROR_BAD_INFO_ACCESS_METHOD=Método de acceso a información desconocido en extensión de certificado.
+SEC_ERROR_CRL_IMPORT_FAILED=Error al intentar importar una CRL.
+SEC_ERROR_EXPIRED_PASSWORD=La contraseña ha caducado.
+SEC_ERROR_LOCKED_PASSWORD=La contraseña está bloqueada.
+SEC_ERROR_UNKNOWN_PKCS11_ERROR=Error PKCS #11 desconocido.
+SEC_ERROR_BAD_CRL_DP_URL=URL no válida o no admitida en el nombre del punto de distribución de la CRL.
+SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=El certificado se firmó usando un algoritmo de firma que está desactivado porque no es seguro.
+MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=Este servidor usa key pinning (HPKP) pero no se ha podido construir una cadena de certificados confiables que coincida con el pinset. Las violaciones de key pinning no se pueden solventar.
+MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=El servidor usa un certificado con una extensión básica de restricciones que lo identifica como autoridad de certificación. Esto no debería ser el caso para un certificado emitido correctamente.
+MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=El servidor ha presentado un certificado con un tamaño de clave que es demasiado pequeño para establecer una conexión segura.
+MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=Un certificado X.509 versión 1 que no sea un anclar confiable se usó para emitir el certificado del servidor. Certificados X.509 versión 1 son obsoletos y no se deben usar para firmar otros certificados.  \u00A0
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=El servidor ha presentado un certificado que aún no es válido.
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=Se ha usado un certificado que aún no es válido para emitir el certificado del servidor.
+MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=El algoritmo de firma en el campo de firma del certificado no concuerda con el algoritmo en su campo signatureAlgorithm.
+MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=La respuesta OCSP no incluye un estado para el certificado que se está verificando.
+MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=El servidor ha presentado un certificado con una validez excesivamente amplia.
+MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING=Falta una característica necesaria de TLS.
+MOZILLA_PKIX_ERROR_INVALID_INTEGER_ENCODING=El servidor presentó un certificado que contenía una codificación inválida de un entero. Las causas usuales incluyen números de serie negativos, módulos RSA negativos, y codificaciones que ya no son necesarias.
+MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME=El servidor ha presentado un certificado que aún no es válido.
+MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED=Una restricción de política adicional falló al validar este certificado.
+MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=El certificado no es confiable porque fue autofirmado.
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pipnss/pipnss.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pipnss/pipnss.properties
new file mode 100644
index 0000000000..115a30892e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Ingresa la contraseña para el token PKCS#11 %S.
+
+CertPasswordPromptDefault=Por favor, ingresa tu contraseña 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=Módulo de certificados raíz
+# 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=Serv. criptografía interna PSM
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=Serv. criptografía genéricos
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=Disp. software de seguridad
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=Servicios de cifrado interno PSM
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=Claves privadas del PSM
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=Disp. seguridad software (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=Servicios criptográficos, de clave y certificado 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=%1$s's %2$s ID
+
+CertDumpKUSign=Firmando
+CertDumpKUNonRep=No-repudio
+CertDumpKUEnc=Cifrado de la clave
+CertDumpKUDEnc=Cifrado de datos
+CertDumpKUKA=Aceptación de la clave
+CertDumpKUCertSign=Firmante del certificado
+CertDumpKUCRLSigner=Firmante de la CRL
+
+PSMERR_SSL_Disabled=No se puede conectar de forma segura porque el protocolo ha sido desactivado.
+PSMERR_SSL2_Disabled=No se puede conectar de forma segura porque el sitio usa una versión antigua e insegura del protocolo SSL.
+PSMERR_HostReusedIssuerSerial=Recibiste un certificado no válido. Ponte en contacto con el administrador del servidor o envíales un correo con la siguiente información:\n\nSu certificado contiene el mismo número de serie que otro certificado expedido por la autoridad certificadora. Obtengan un nuevo certificado que contenga un número de serie único.
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=Un error ocurrió durante a una conexión a %1$S. %2$S\n
+
+certErrorIntro=%S usa un certificado de seguridad no válido.
+
+certErrorTrust_SelfSigned=Este certificado no es confiable porque está autofirmado.
+certErrorTrust_UnknownIssuer=No se confía en el certificado porque el certificado emisor es desconocido.
+certErrorTrust_UnknownIssuer2=El servidor podría no estar enviando los certificados intermedios apropiados.
+certErrorTrust_UnknownIssuer3=Puede ser necesario importar un certificado raíz adicional.
+certErrorTrust_CaInvalid=No se confía en el certificado porque fue emitido por un certificado CA no válido.
+certErrorTrust_Issuer=No se confía en el certificado porque no se confía en el certificado emisor.
+certErrorTrust_SignatureAlgorithmDisabled=No se confía en el certificado porque ha sido firmado usando un algoritmo de firma que fue desactivado porque es inseguro.
+certErrorTrust_ExpiredIssuer=No se confía en el certificado porque el certificado emisor ha caducado.
+certErrorTrust_Untrusted=El certificado no procede de una fuente confiable.
+certErrorTrust_MitM=Tu conexión ha sido interceptada por una proxy TLS. Desinstálalo si es posble o configura tu dispositivo para confiar en el certificado raíz.
+
+certErrorMismatch=El certificado no es válido para el nombre %S.
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=El certificado es válido solo para %S.
+certErrorMismatchMultiple=El certificado sólo es válido para los siguientes nombres:
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=El certificado expiró el %1$S. La hora actual es %2$S.
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=El certificado no será válido hasta %1$S. La hora actual es %2$S.
+
+certErrorMitM=Los sitios web demuestran su identidad a través de certificados, los cuales son emitidos por autoridades de certificación.
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+certErrorMitM2=%S está respaldado por Mozilla, la organización sin fines de lucro que administra un almacén de autoridad de certificados (CA) completamente abierto. La tienda de CA ayuda a garantizar que las autoridades de certificación sigan las mejores prácticas para la seguridad del usuario.
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+certErrorMitM3=%S usa el almacén de Mozilla CA para verificar que la conexión sea segura, en lugar de los certificados proporcionados por el sistema operativo del usuario. Por lo tanto, si un antivirus o una red está interceptando una conexión con un certificado de seguridad emitido por una CA que no está en el almacén de la CA de Mozilla, la conexión se considera insegura.
+
+certErrorSymantecDistrustAdministrator=Puedes notificar al administrador del sitio web acerca de este problema.
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=Código de error: %S
+
+P12DefaultNickname=Certificado importado
+CertUnknown=Desconocido
+CertNoEmailAddress=(sin dirección de correo)
+CaCertExists=Este certificado ya está instalado como una autoridad certificadora.
+NotACACert=Esta no es una autoridad certificadora, de modo que no puede importarse en la lista de autoridades certificadoras.
+UserCertIgnoredNoPrivateKey=Este certificado personal no puede ser instalado porque no posees la correspondiente clave privada que se creó cuando se solicitó el certificado.
+UserCertImported=Su certificado personal ha sido instalado. Deberías conservar una copia de seguridad de este certificado.
+CertOrgUnknown=(Desconocido)
+CertNotStored=(No guardado)
+CertExceptionPermanent=Permanente
+CertExceptionTemporary=Temporal
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pippki/pippki.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/pippki/pippki.properties
new file mode 100644
index 0000000000..2dc7061bb5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=¿Quieres confiar en "%S" para los siguientes propósitos?
+unnamedCA=Autoridad certificadora (sin nombre)
+
+getPKCS12FilePasswordMessage=Introduce la contraseña que se usó para cifrar esta copia de respaldo del certificado:
+
+# Client auth
+clientAuthRemember=Recordar esta decisión
+# 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=Organización: "%S"
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=Emitido bajo: "%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=Emitido para: %1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=Número de serie: %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=Válido desde %1$S a %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=Usos de clave: %1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=Direcciones de correo: %1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=Emitido por: %1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=Almacenado en: %1$S
+
+# Page Info
+pageInfo_NoEncryption=Conexión sin cifrar
+pageInfo_Privacy_None1=El sitio web %S no admite cifrado para la página que estás viendo.
+pageInfo_Privacy_None2=La información enviada por Internet sin cifrar puede ser vista por otras personas.\u0020
+pageInfo_Privacy_None4=La página que estás viendo no fue cifrada antes de ser transmitida por 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=Conección encriptada (%1$S, %2$S, llaves bit, %3$S)
+pageInfo_BrokenEncryption=Cifrado dañado (%1$S, claves de %2$S bits, %3$S)
+pageInfo_Privacy_Encrypted1=La página que estás viendo fue cifrada antes de ser transmitida por Internet.
+pageInfo_Privacy_Encrypted2=El cifrado dificulta el acceso a la información transmitida entre equipos por parte de personas no autorizadas. Por lo tanto, es poco probable que alguien más haya leído esta página mientras viajaba por la red.
+pageInfo_MixedContent=Conexión parcialmente cifrada
+pageInfo_MixedContent2=Partes de la página que estás viendo que no fueron cifradas antes de transmitirse por Internet.
+pageInfo_WeakCipher=Tu conexión a este sitio web usa un cifrado débil y no es privado. Otras personas pueden ver tu información o modificar el comportamiento del sitio web.
+pageInfo_CertificateTransparency_Compliant=Este sitio web cumple con la política de certificado de transparencia.
+
+# Token Manager
+password_not_set=(sin definir)
+enable_fips=Habilitar FIPS
+
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/places/places.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/places/places.properties
new file mode 100644
index 0000000000..706bac02cc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/es-MX/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=Menú Marcadores
+BookmarksToolbarFolderTitle=Barra de herramientas
+OtherBookmarksFolderTitle=Otros marcadores
+TagsFolderTitle=Etiquetas
+MobileBookmarksFolderTitle=Marcadores móviles
+
+OrganizerQueryHistory=Historial
+OrganizerQueryDownloads=Descargas
+OrganizerQueryAllBookmarks=Todos los marcadores
+
+# LOCALIZATION NOTE (dateName):
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=Hoy
+finduri-AgeInDays-is-1=Ayer
+finduri-AgeInDays-is=Hace %S días
+finduri-AgeInDays-last-is=Últimos %S días
+finduri-AgeInDays-isgreater=Anterior a %S días
+finduri-AgeInMonths-is-0=Este mes
+finduri-AgeInMonths-isgreater=Más de %S meses
+
+# LOCALIZATION NOTE (localFiles):
+# This is used to generate local files container when history is grouped by site
+localhost=(archivos locales)
+
+# 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/es-MX/chrome/es-MX/locale/pdfviewer/chrome.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..27131c61ab
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/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=Este PDF podría no mostrarse correctamente.
+unsupported_feature_forms=Este documento PDF contiene formularios. La cumplimentación de los campos de formularios no está implementada.
+unsupported_feature_signatures=Este documento PDF contiene firmas digitales. La validación de firmas no es soportada.
+open_with_different_viewer=Abrir con un visor diferente.
+open_with_different_viewer.accessKey=o
diff --git a/thunderbird-l10n/es-MX/chrome/es-MX/locale/pdfviewer/viewer.properties b/thunderbird-l10n/es-MX/chrome/es-MX/locale/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..42bad4145c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/chrome/es-MX/locale/pdfviewer/viewer.properties
@@ -0,0 +1,257 @@
+# 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=Página anterior
+previous_label=Anterior
+next.title=Página siguiente
+next_label=Siguiente
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=Página
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=de {{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}} de {{pagesCount}})
+
+zoom_out.title=Reducir
+zoom_out_label=Reducir
+zoom_in.title=Aumentar
+zoom_in_label=Aumentar
+zoom.title=Zoom
+presentation_mode.title=Cambiar al modo presentación
+presentation_mode_label=Modo presentación
+open_file.title=Abrir archivo
+open_file_label=Abrir
+print.title=Imprimir
+print_label=Imprimir
+
+save.title=Guardar
+save_label=Guardar
+bookmark1.title=Página actual (Ver URL de la página actual)
+bookmark1_label=Página actual
+
+open_in_app.title=Abrir en la aplicación
+open_in_app_label=Abrir en la aplicación
+
+# Secondary toolbar and context menu
+tools.title=Herramientas
+tools_label=Herramientas
+first_page.title=Ir a la primera página
+first_page_label=Ir a la primera página
+last_page.title=Ir a la última página
+last_page_label=Ir a la última página
+page_rotate_cw.title=Girar a la derecha
+page_rotate_cw_label=Girar a la derecha
+page_rotate_ccw.title=Girar a la izquierda
+page_rotate_ccw_label=Girar a la izquierda
+
+cursor_text_select_tool.title=Activar la herramienta de selección de texto
+cursor_text_select_tool_label=Herramienta de selección de texto
+cursor_hand_tool.title=Activar la herramienta de mano
+cursor_hand_tool_label=Herramienta de mano
+
+scroll_page.title=Usar desplazamiento de página
+scroll_page_label=Desplazamiento de página
+scroll_vertical.title=Usar desplazamiento vertical
+scroll_vertical_label=Desplazamiento vertical
+scroll_horizontal.title=Usar desplazamiento horizontal
+scroll_horizontal_label=Desplazamiento horizontal
+scroll_wrapped.title=Usar desplazamiento encapsulado
+scroll_wrapped_label=Desplazamiento encapsulado
+
+spread_none.title=No unir páginas separadas
+spread_none_label=Vista de una página
+spread_odd.title=Unir las páginas partiendo con una de número impar
+spread_odd_label=Vista de libro impar
+spread_even.title=Juntar las páginas partiendo con una de número par
+spread_even_label=Vista de libro par
+
+# Document properties dialog box
+document_properties.title=Propiedades del documento…
+document_properties_label=Propiedades del documento…
+document_properties_file_name=Nombre del archivo:
+document_properties_file_size=Tamaño del archivo:
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} KB ({{size_b}} bytes)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} MB ({{size_b}} bytes)
+document_properties_title=Título:
+document_properties_author=Autor:
+document_properties_subject=Asunto:
+document_properties_keywords=Palabras claves:
+document_properties_creation_date=Fecha de creación:
+document_properties_modification_date=Fecha de modificación:
+# 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=Creador:
+document_properties_producer=Productor PDF:
+document_properties_version=Versión PDF:
+document_properties_page_count=Número de páginas:
+document_properties_page_size=Tamaño de la página:
+document_properties_page_size_unit_inches=in
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=vertical
+document_properties_page_size_orientation_landscape=horizontal
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=Carta
+document_properties_page_size_name_legal=Oficio
+# 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=Vista rápida de la web:
+document_properties_linearized_yes=Sí
+document_properties_linearized_no=No
+document_properties_close=Cerrar
+
+print_progress_message=Preparando documento para impresión…
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=Cancelar
+
+# 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=Cambiar barra lateral
+toggle_sidebar_notification2.title=Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
+toggle_sidebar_label=Cambiar barra lateral
+document_outline.title=Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
+document_outline_label=Esquema del documento
+attachments.title=Mostrar adjuntos
+attachments_label=Adjuntos
+layers.title=Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
+layers_label=Capas
+thumbs.title=Mostrar miniaturas
+thumbs_label=Miniaturas
+current_outline_item.title=Buscar elemento de esquema actual
+current_outline_item_label=Elemento de esquema actual
+findbar.title=Buscar en el documento
+findbar_label=Buscar
+
+additional_layers=Capas adicionales
+# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
+page_landmark=Página {{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=Página {{page}}
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=Miniatura de la página {{page}}
+
+# Find panel button title and messages
+find_input.title=Buscar
+find_input.placeholder=Buscar en el documento…
+find_previous.title=Ir a la anterior frase encontrada
+find_previous_label=Anterior
+find_next.title=Ir a la siguiente frase encontrada
+find_next_label=Siguiente
+find_highlight=Resaltar todo
+find_match_case_label=Coincidir con mayúsculas y minúsculas
+find_match_diacritics_label=Coincidir diacríticos
+find_entire_word_label=Palabras completas
+find_reached_top=Se alcanzó el inicio del documento, se buscará al final
+find_reached_bottom=Se alcanzó el final del documento, se buscará al inicio
+# LOCALIZATION NOTE (find_match_count): The supported plural forms are
+# [one|two|few|many|other], with [other] as the default value.
+# "{{current}}" and "{{total}}" will be replaced by a number representing the
+# index of the currently active find result, respectively a number representing
+# the total number of matches in the document.
+find_match_count={[ plural(total) ]}
+find_match_count[one]={{current}} de {{total}} coincidencia
+find_match_count[two]={{current}} de {{total}} coincidencias
+find_match_count[few]={{current}} de {{total}} coincidencias
+find_match_count[many]={{current}} de {{total}} coincidencias
+find_match_count[other]={{current}} de {{total}} coincidencias
+# 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]=Más de {{limit}} coincidencias
+find_match_count_limit[one]=Más de {{limit}} coinciden
+find_match_count_limit[two]=Más de {{limit}} coincidencias
+find_match_count_limit[few]=Más de {{limit}} coincidencias
+find_match_count_limit[many]=Más de {{limit}} coincidencias
+find_match_count_limit[other]=Más de {{limit}} coincidencias
+find_not_found=No se encontró la frase
+
+# Predefined zoom values
+page_scale_width=Ancho de página
+page_scale_fit=Ajustar página
+page_scale_auto=Zoom automático
+page_scale_actual=Tamaño real
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}}%
+
+# Loading indicator messages
+loading_error=Un error ocurrió al cargar el PDF.
+invalid_file_error=Archivo PDF invalido o dañado.
+missing_file_error=Archivo PDF no encontrado.
+unexpected_response_error=Respuesta inesperada del servidor.
+
+rendering_error=Un error ocurrió al renderizar la página.
+
+# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
+# replaced by the modification date, and time, of the annotation.
+annotation_date_string={{date}}, {{time}}
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with an annotation type from a list defined in
+# the PDF spec (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+text_annotation_type.alt=[{{type}} anotación]
+password_label=Ingresa la contraseña para abrir este archivo PDF.
+password_invalid=Contraseña inválida. Por favor intenta de nuevo.
+password_ok=Aceptar
+password_cancel=Cancelar
+
+printing_not_supported=Advertencia: La impresión no esta completamente soportada por este navegador.
+printing_not_ready=Advertencia: El PDF no cargo completamente para impresión.
+web_fonts_disabled=Las fuentes web están desactivadas: es imposible usar las fuentes PDF embebidas.
+
+# Editor
+editor_free_text2.title=Texto
+editor_free_text2_label=Texto
+editor_ink2.title=Dibujar
+editor_ink2_label=Dibujar
+
+free_text2_default_content=Empieza a escribir…
+
+# Editor Parameters
+editor_free_text_color=Color
+editor_free_text_size=Tamaño
+editor_ink_color=Color
+editor_ink_thickness=Grossor
+editor_ink_opacity=Opacidad
+
+# Editor aria
+editor_free_text2_aria_label=Editor de texto
+editor_ink2_aria_label=Editor de dibujo
+editor_ink_canvas_aria_label=Imagen creada por el usuario
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/branding/brand.ftl b/thunderbird-l10n/es-MX/localization/es-MX/branding/brand.ftl
new file mode 100644
index 0000000000..40d607c6f2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 y los logotipos de Thunderbird son marcas comerciales de la Fundación Mozilla.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/browser/appExtensionFields.ftl b/thunderbird-l10n/es-MX/localization/es-MX/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..054ec93576
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Tema del sistema — automático
+extension-default-theme-description = Seguir la configuración del sistema operativo para botones, menús y ventanas.
+
+extension-thunderbird-compact-light-name = Claro
+extension-thunderbird-compact-light-description = Un tema con colores claros.
+
+extension-thunderbird-compact-dark-name = Oscuro
+extension-thunderbird-compact-dark-description = Un tema con colores oscuros.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/browser/branding/brandings.ftl b/thunderbird-l10n/es-MX/localization/es-MX/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..9ada8da73a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/browser/components/mozSupportLink.ftl b/thunderbird-l10n/es-MX/localization/es-MX/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..f788d8ff90
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Saber más
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-context-menus.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-context-menus.ftl
new file mode 100644
index 0000000000..b1a33e0f47
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Sincronizar
+ .accesskey = S
+calendar-item-context-menu-modify-menuitem =
+ .label = Editar
+ .accesskey = E
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-delete-prompt.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-delete-prompt.ftl
new file mode 100644
index 0000000000..302180975b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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] Eliminar evento
+ *[other] Eliminar eventos
+ }
+calendar-delete-event-prompt-message =
+ { $count ->
+ [one] ¿Realmente deseas eliminar este evento?
+ *[other] ¿Realmente deseas eliminar estos { $count } eventos?
+ }
+calendar-delete-task-prompt-title =
+ { $count ->
+ [one] Eliminar tarea
+ *[other] Eliminar tareas
+ }
+calendar-delete-task-prompt-message =
+ { $count ->
+ [one] ¿Realmente quieres eliminar esta tarea?
+ *[other] ¿Realmente quieres eliminar estas { $count } tareas?
+ }
+calendar-delete-item-prompt-title =
+ { $count ->
+ [one] Eliminar elemento
+ *[other] Eliminar elementos
+ }
+calendar-delete-item-prompt-message =
+ { $count ->
+ [one] ¿Realmente quieres eliminar este elemento?
+ *[other] ¿Realmente quieres eliminar estos { $count } elementos?
+ }
+calendar-delete-prompt-disable-message = No me preguntes de nuevo.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-editable-item.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-editable-item.ftl
new file mode 100644
index 0000000000..4ba90a2405
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Privacidad: Evento privado
+calendar-editable-item-privacy-icon-confidential =
+ .alt = Privacidad: Mostrar solo fecha y hora
+calendar-editable-item-recurrence =
+ .alt = Recurrente
+calendar-editable-item-recurrence-exception =
+ .alt = Excepción recurrente
+calendar-editable-item-todo-icon-task =
+ .alt = Tarea
+calendar-editable-item-todo-icon-completed-task =
+ .alt = Tarea completada
+calendar-editable-item-multiday-event-icon-start =
+ .alt = Comienza el evento de varios días
+calendar-editable-item-multiday-event-icon-continue =
+ .alt = Continúa el evento de varios días
+calendar-editable-item-multiday-event-icon-end =
+ .alt = Termina el evento de varios días
+calendar-editable-item-reminder-icon-alarm =
+ .alt = Se programó una alerta con recordatorio
+calendar-editable-item-reminder-icon-suppressed-alarm =
+ .alt = Hay una alerta de recordatorio programada, pero en este momento está suprimida
+calendar-editable-item-reminder-icon-email =
+ .alt = Se programó un correo electrónico con recordatorio
+calendar-editable-item-reminder-icon-audio =
+ .alt = Un recordatorio con alerta de audio está agendado
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-event-dialog-reminder.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-event-dialog-reminder.ftl
new file mode 100644
index 0000000000..6fab8a47a5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Mostrar una alerta
+calendar-event-reminder-icon-email =
+ .alt = Enviar un correo electrónico
+calendar-event-reminder-icon-audio =
+ .alt = Reproducir una alerta con audio
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-event-listing.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-event-listing.ftl
new file mode 100644
index 0000000000..dfb83ed68b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-event-listing.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/.
+
+calendar-event-listing-close =
+ .tooltiptext = Cerrar el buscador de eventos y la lista de eventos
+
+## Listing columns
+
+calendar-event-listing-column-calendar-name =
+ .label = Nombre de calendario
+ .tooltiptext = Ordenar por nombre de calendario
+calendar-event-listing-column-category =
+ .label = Categoria
+ .tooltiptext = Ordenar por categoría
+# 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 = Hecho
+ .tooltiptext = Ordenar por hechos
+calendar-event-listing-column-completed-date =
+ .label = Completos
+ .tooltiptext = Ordenar por fecha en que se completó
+calendar-event-listing-column-due-date =
+ .label = Vencimiento
+ .tooltiptext = Ordenar por fecha de vencimiento
+calendar-event-listing-column-end-date =
+ .label = Termino
+ .tooltiptext = Ordenar por fecha de termino
+calendar-event-listing-column-location =
+ .label = Ubicación
+ .tooltiptext = Ordenar por ubicación
+calendar-event-listing-column-percent-complete =
+ .label = % completo
+ .tooltiptext = Ordenar por % completo
+calendar-event-listing-column-priority =
+ .label = Prioridad
+ .tooltiptext = Ordenar por prioridad
+calendar-event-listing-column-start-date =
+ .label = Inicio
+ .tooltiptext = Ordenar por fecha de inicio
+calendar-event-listing-column-status =
+ .label = Estado
+ .tooltiptext = Ordenar por estado
+calendar-event-listing-column-time-until-due =
+ .label = Vence en
+ .tooltiptext = Ordenar por duración
+calendar-event-listing-column-title =
+ .label = Título
+ .tooltiptext = Ordenar por título
+
+## Interval dropdown options
+
+calendar-event-listing-interval-calendar-month =
+ .label = Eventos en el calendario este mes
+calendar-event-listing-interval-current-view =
+ .label = Eventos en la vista actual
+calendar-event-listing-interval-next-7-days =
+ .label = Eventos en los siguientes 7 días
+calendar-event-listing-interval-next-14-days =
+ .label = Eventos en los siguientes 14 días
+calendar-event-listing-interval-next-31-days =
+ .label = Eventos en los siguientes 31 días
+calendar-event-listing-interval-selected-day =
+ .label = Día seleccionado actualmente
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-ics-file-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..e25c183a68
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Importar eventos y tareas del calendario
+calendar-ics-file-window-title = Importar eventos y tareas del calendario
+calendar-ics-file-dialog-import-event-button-label = Importar evento
+calendar-ics-file-dialog-import-task-button-label = Importar tarea
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = Importar todo
+calendar-ics-file-accept-button-ok-label = Aceptar
+calendar-ics-file-cancel-button-close-label = Cerrar
+calendar-ics-file-dialog-message-2 = Importar desde archivo:
+calendar-ics-file-dialog-calendar-menu-label = Importar al calendario:
+calendar-ics-file-dialog-items-loading-message =
+ .value = Cargando elementos…
+calendar-ics-file-dialog-search-input =
+ .placeholder = Filtrar elementos…
+calendar-ics-file-dialog-sort-start-ascending =
+ .label = Ordenar por fecha de inicio (primero a último)
+calendar-ics-file-dialog-sort-start-descending =
+ .label = Ordenar por fecha de inicio (último a primero)
+# "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 = Ordenar por título (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 = Ordenar por título (Z > A)
+calendar-ics-file-dialog-progress-message = Importando…
+calendar-ics-file-import-success = ¡Importado correctamente!
+calendar-ics-file-import-error = Ha ocurrido un error y el archivo no se pudo importar.
+calendar-ics-file-import-complete = Importación completa.
+calendar-ics-file-import-duplicates =
+ { $duplicatesCount ->
+ [one] Se ha ignorado un elemento porque ya existe en el calendario de destino.
+ *[other] { $duplicatesCount } se han ignorado porque ya existen en la agenda de destino.
+ }
+calendar-ics-file-import-errors =
+ { $errorsCount ->
+ [one] Ha fallado la importación de un elemento. Comprueba la Consola de Errores para ver los detalles.
+ *[other] { $errorsCount } no se han importado los elementos. Comprueba la Consola de Errores para ver los detalles.
+ }
+calendar-ics-file-dialog-no-calendars = No hay calendarios que puedan importar eventos o tareas.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-invitation-panel.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-invitation-panel.ftl
new file mode 100644
index 0000000000..a096e45fcc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 } te ha invitado a:
+calendar-invitation-panel-status-new = Has sido invitado a este evento.
+calendar-invitation-panel-status-processed = Este evento ya ha sido agregado a tu calendario.
+calendar-invitation-panel-status-updateminor = Este mensaje contiene una actualización para este evento.
+calendar-invitation-panel-status-updatemajor = Este mensaje contiene una actualización para este evento. Debes volver a confirmar tu asistencia.
+calendar-invitation-panel-status-cancelled = Este mensaje contiene una cancelación para este evento.
+calendar-invitation-panel-status-cancelled-notfound = Este mensaje contiene una cancelación de un evento que no se encuentra en tu calendario.
+# Variables:
+# $organizer (String) - The participant that cancelled the invitation.
+calendar-invitation-panel-intro-cancel = { $organizer } ha cancelado:
+# Variables:
+# $summary (String) - A short summary or title of the event.
+calendar-invitation-panel-title = { $summary }
+calendar-invitation-panel-action-button = Guardar
+calendar-invitation-panel-view-button = Ver
+calendar-invitation-panel-update-button = Actualizar
+calendar-invitation-panel-delete-button = Eliminar
+calendar-invitation-panel-accept-button = Sí
+calendar-invitation-panel-decline-button = No
+calendar-invitation-panel-tentative-button = Tal vez
+calendar-invitation-panel-reply-status = * Aún no has decidido ni respondido
+calendar-invitation-panel-more-button = Más
+calendar-invitation-panel-menu-item-save =
+ .label = Guardar en el calendario
+calendar-invitation-panel-menu-item-save-copy =
+ .label = Guardar una copia
+calendar-invitation-panel-menu-item-toggle-changes =
+ .label = Mostrar cambios
+calendar-invitation-panel-prop-title-when = Cuándo:
+calendar-invitation-panel-prop-title-location = Ubicación:
+# 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 = { $startMonth } { $startDay }, { $startYear } – { $endMonth } { $endDay }, { $endYear }
+# Example: September 16 – 20, 2022
+# Variables:
+# $month (String) - The month the interval is in.
+# $startDay (String) - The day of the month the interval starts.
+# $endDay (String) - The day of the month the interval ends.
+# $year (String) - The year the interval is in.
+calendar-invitation-interval-all-day-in-month = { $month } { $startDay } – { $endDay }, { $year }
+# Example: September 16 – October 20, 2022
+# Variables:
+# $startMonth (String) - The month the interval starts.
+# $startDay (String) - The day of the month the interval starts.
+# $endMonth (String) - The month the interval ends.
+# $endDay (String) - The day of the month the interval ends.
+# $year (String) - The year the interval is in.
+calendar-invitation-interval-all-day-between-months = { $startMonth } { $startDay } – { $endMonth } { $endDay }, { $year }
+# Example: Friday, September 16, 2022 15:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-same-date-time = { $startDate } <b>{ $startTime }</b> { $timezone }
+# Example: Friday, September 16, 2022 14:00 – 16:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $endTime (String) - The time the interval ends.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-same-day = { $startDate } <b>{ $startTime }</b> – <b>{ $endTime }</b> { $timezone }
+# Example: Friday, September 16, 2022 14:00 – Tuesday, September 20, 2022 16:00 America/Port of Spain
+# Variables:
+# $startDate (String) - The date the interval starts.
+# $startTime (String) - The time the interval starts.
+# $endDate (String) - The date the interval ends.
+# $endTime (String) - The time the interval ends.
+# $timezone (String) - The timezone the interval is in.
+calendar-invitation-interval-several-days = { $startDate } <b>{ $startTime }</b> – { $endDate } <b>{ $endTime }</b> { $timezone }
+calendar-invitation-panel-prop-title-recurrence = Repeticiones:
+calendar-invitation-panel-prop-title-attendees = Asistentes:
+calendar-invitation-panel-prop-title-description = Descripción:
+# Variables:
+# $count (Number) - The number of attendees with the "ACCEPTED" participation status.
+calendar-invitation-panel-partstat-accepted = { $count } sí
+# Variables:
+# $count (Number) - The number of attendees with the "DECLINED" participation status.
+calendar-invitation-panel-partstat-declined = { $count } no
+# Variables:
+# $count (Number) - The number of attendees with the "TENTATIVE" participation status.
+calendar-invitation-panel-partstat-tentative = { $count } tal vez
+# Variables:
+# $count (Number) - The number of attendees with the "NEEDS-ACTION" participation status.
+calendar-invitation-panel-partstat-needs-action = { $count } pendiente
+# Variables:
+# $count (Number) - The total number of attendees.
+calendar-invitation-panel-partstat-total = { $count } participantes
+calendar-invitation-panel-prop-title-attachments = Adjuntos:
+calendar-invitation-change-indicator-removed = Eliminado
+calendar-invitation-change-indicator-added = Nuevo
+calendar-invitation-change-indicator-modified = Cambiado
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-invitations-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-invitations-dialog.ftl
new file mode 100644
index 0000000000..571cfff959
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Actualmente aceptado
+calendar-invitation-current-participation-status-icon-declined =
+ .alt = Actualmente rechazado
+calendar-invitation-current-participation-status-icon-needs-action =
+ .alt = Actualmente indeciso
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-itip-identity-dialog.ftl
new file mode 100644
index 0000000000..5ae5edae1c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = ¿Colándose en una fiesta?
+calendar-itip-identity-warning = Aún no estás en la lista de invitados.
+calendar-itip-identity-label = Responder como:
+calendar-itip-identity-label-none = Asociar este evento con:
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-print.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-print.ftl
new file mode 100644
index 0000000000..ec346633c8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-print.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-print-layout-label = Layout
+calendar-print-layout-list = Lista
+calendar-print-layout-month-grid = Cuadrícula mensual
+calendar-print-layout-week-planner = Planificador semanal
+calendar-print-filter-label = Qué imprimir
+calendar-print-filter-events = Eventos
+calendar-print-filter-tasks = Tareas
+calendar-print-filter-completedtasks = Tareas completadas
+calendar-print-filter-taskswithnoduedate = Tareas sin fecha de vencimiento
+calendar-print-range-from = Remitente
+calendar-print-range-to = Para
+calendar-print-back-button = Atrás
+calendar-print-next-button = Siguiente
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-recurrence-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-recurrence-dialog.ftl
new file mode 100644
index 0000000000..db0c270559
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Vista previa
+calendar-recurrence-next = Próximo mes
+calendar-recurrence-previous = Mes anterior
+calendar-recurrence-today = Hoy
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..cbcbee71b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-summary-dialog.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-summary-dialog-edit-button =
+ .label = Editar
+ .accesskey = E
+calendar-summary-dialog-edit-menu-button =
+ .label = Editar
+edit-button-context-menu-this-occurrence =
+ .label = Editar solo esta ocurrencia
+ .accesskey = t
+edit-button-context-menu-all-occurrences =
+ .label = Editar todas las ocurrencias
+ .accesskey = a
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-uri-redirect-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..8febd02b28
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Calendario URI Redireccinado
+calendar-uri-redirect-window-title = Calendario URI Redireccinado
+calendar-uri-redirect-description =
+ El servidor está redireccionando el URI para el calendario "{ $calendarName }".
+ ¿Aceptas la redirección y comienzas a usar el nuevo URI para este calendario?
+calendar-uri-redirect-original-uri-label = URI actual:
+calendar-uri-redirect-target-uri-label = Redireccionando al nuevo URI:
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-widgets.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..17bb0fe9bb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Todos los calendarios están deshabilitados en este momento. Habilita un calendario existente o agrega uno nuevo para crear y editar eventos.
+calendar-deactivated-notification-tasks = Todos los calendarios están deshabilitados en este momento. Habilita un calendario existente o agrega uno nuevo para crear y editar tareas.
+calendar-notifications-label = Mostrar notificaciones para eventos futuros
+calendar-add-notification-button =
+ .label = Agregar notificación
+
+## Side panel
+
+calendar-list-header = Calendarios
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-no-reminders-tooltip =
+ .title = { $calendarName } calendario ha sido silenciado
+calendar-enable-button = Habilitar
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-list-item-context-button =
+ .title = { $calendarName } opciones de calendario
+calendar-import-new-calendar = Nuevo calendario…
+ .title = Crear o suscribirte a un nuevo calendario
+calendar-refresh-calendars =
+ .title = Recargar todos los calendarios y sincronizar cambios
+calendar-new-event-primary-button = Nuevo evento
+calendar-new-task-primary-button = Nueva tarea
+
+## Calendar navigation
+
+calendar-nav-button-prev-tooltip-day =
+ .title = Día anterior
+ .accesskey = s
+calendar-nav-button-prev-tooltip-week =
+ .title = Semana anterior
+ .accesskey = s
+calendar-nav-button-prev-tooltip-multiweek =
+ .title = Semana anterior
+ .accesskey = s
+calendar-nav-button-prev-tooltip-month =
+ .title = Mes anterior
+ .accesskey = s
+calendar-nav-button-prev-tooltip-year =
+ .title = Año anterior
+ .accesskey = s
+calendar-nav-button-next-tooltip-day =
+ .title = Día siguiente
+ .accesskey = x
+calendar-nav-button-next-tooltip-week =
+ .title = Próxima semana
+ .accesskey = x
+calendar-nav-button-next-tooltip-multiweek =
+ .title = Próxima semana
+ .accesskey = x
+calendar-nav-button-next-tooltip-month =
+ .title = Próximo mes
+ .accesskey = x
+calendar-nav-button-next-tooltip-year =
+ .title = El próximo año
+ .accesskey = x
+calendar-today-button-tooltip =
+ .title = Ir al día de hoy
+calendar-view-toggle-day = Día
+ .title = Cambiar a vista por día
+calendar-view-toggle-week = Semana
+ .title = Cambiar a vista por semana
+calendar-view-toggle-multiweek = Multisemana
+ .title = Cambiar a vista multisemana
+calendar-view-toggle-month = Mes
+ .title = Cambiar a vista por mes
+
+## Menu on calendar control bar
+
+calendar-control-bar-menu-button =
+ .title = Opciones de diseño de calendario
+calendar-find-events-menu-option =
+ .label = Panel de búsqueda de eventos
+calendar-hide-weekends-option =
+ .label = Sólo días laborales
+calendar-define-workweek-option =
+ .label = Definir los días laborales
+calendar-show-tasks-calendar-option =
+ .label = Mostrar tareas en el calendario
+
+## Calendar Context Menu
+
+calendar-context-menu-previous-day =
+ .label = Día anterior
+ .accesskey = s
+calendar-context-menu-previous-week =
+ .label = Semana anterior
+ .accesskey = s
+calendar-context-menu-previous-multiweek =
+ .label = Semana anterior
+ .accesskey = s
+calendar-context-menu-previous-month =
+ .label = Mes anterior
+ .accesskey = s
+calendar-context-menu-next-day =
+ .label = Día siguiente
+ .accesskey = x
+calendar-context-menu-next-week =
+ .label = Próxima semana
+ .accesskey = x
+calendar-context-menu-next-multiweek =
+ .label = Próxima semana
+ .accesskey = x
+calendar-context-menu-next-month =
+ .label = Próximo mes
+ .accesskey = x
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/category-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..f7ca7cf5cd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Nombre
+category-color-label =
+ .label = Usar color
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/calendar/preferences.ftl b/thunderbird-l10n/es-MX/localization/es-MX/calendar/preferences.ftl
new file mode 100644
index 0000000000..d66ac29f7d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Calendario
+calendar-title-reminder = Recordatorios
+calendar-title-notification = Notificaciones
+calendar-title-category = Categorías
+dateformat-label =
+ .value = Formato de la fecha:
+ .accesskey = D
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = Largo: { $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = Corto: { $date }
+use-system-timezone-radio-button =
+ .label = Usar la zona horaria del sistema
+set-timezone-manually-radio-button =
+ .label = Establecer zona horaria manualmente
+timezone-label =
+ .value = Huso horario:
+weekstart-label =
+ .value = Empezar la semana el:
+ .accesskey = r
+day-1-name =
+ .label = Dom
+day-2-name =
+ .label = Lunes
+day-3-name =
+ .label = Martes
+day-4-name =
+ .label = Miércoles
+day-5-name =
+ .label = Jueves
+day-6-name =
+ .label = Viernes
+day-7-name =
+ .label = Sábado
+show-weeknumber-label =
+ .label = Mostrar número de semana en vistas y mini mes
+ .accesskey = n
+workdays-label =
+ .value = Días laborables:
+day-1-checkbox =
+ .label = Dom
+ .accesskey = S
+day-2-checkbox =
+ .label = Lun
+ .accesskey = M
+day-3-checkbox =
+ .label = Mar
+ .accesskey = T
+day-4-checkbox =
+ .label = Mié
+ .accesskey = W
+day-5-checkbox =
+ .label = Jue
+ .accesskey = h
+day-6-checkbox =
+ .label = Vie
+ .accesskey = F
+day-7-checkbox =
+ .label = Sáb
+ .accesskey = a
+dayweek-legend = Vistas de día y semana
+visible-hours-label =
+ .value = Mostrar:
+ .accesskey = o
+visible-hours-end-label =
+ .value = horas a la vez
+day-start-label =
+ .value = El día comienza a la(s):
+ .accesskey = D
+day-end-label =
+ .value = El día termina a las:
+ .accesskey = y
+midnight-label =
+ .label = Medianoche
+noon-label =
+ .label = Mediodía
+location-checkbox =
+ .label = Mostrar ubicación
+ .accesskey = L
+multiweek-legend = Vistas para múltiples semanas
+number-of-weeks-label =
+ .value = Número de semanas que se muestran (incluso las semanas anteriores):
+ .accesskey = e
+week-0-label =
+ .label = ninguno
+week-1-label =
+ .label = 1 semana
+week-2-label =
+ .label = 2 semanas
+week-3-label =
+ .label = 3 semanas
+week-4-label =
+ .label = 4 semanas
+week-5-label =
+ .label = 5 semanas
+week-6-label =
+ .label = 6 semanas
+previous-weeks-label =
+ .value = Semanas anteriores que se muestran:
+ .accesskey = P
+todaypane-legend = Vista de hoy
+agenda-days =
+ .value = La agenda muestra:
+ .accesskey = g
+event-task-legend = Eventos y tareas
+default-length-label =
+ .value = Evento predeterminado y longitud de la tarea:
+ .accesskey = E
+task-start-label =
+ .value = Fecha de inicio:
+task-start-1-label =
+ .label = Ninguna
+task-start-2-label =
+ .label = Inicio del día
+task-start-3-label =
+ .label = Final del día
+task-start-4-label =
+ .label = Mañana
+task-start-5-label =
+ .label = La próxima semana
+task-start-6-label =
+ .label = Relativo a la hora actual
+task-start-7-label =
+ .label = Relativo al inicio
+task-start-8-label =
+ .label = Relativo a la siguiente hora
+task-due-label =
+ .value = Fecha de fin:
+edit-intab-label =
+ .label = Editar eventos y tareas en una pestaña en lugar de una ventana de diálogo.
+ .accesskey = t
+prompt-delete-label =
+ .label = Preguntar antes de eliminar eventos y tareas.
+ .accesskey = V
+accessibility-legend = Accesibilidad
+accessibility-colors-label =
+ .label = Optimizar colores para accesibilidad
+ .accesskey = c
+reminder-legend = Cuando se vence un recordatorio:
+reminder-play-checkbox =
+ .label = Reproducir un sonido
+ .accesskey = s
+reminder-play-alarm-button =
+ .label = Reproducir
+ .accesskey = P
+reminder-default-sound-label =
+ .label = Usar un sonido predeterminado
+ .accesskey = d
+reminder-custom-sound-label =
+ .label = Usar el siguiente archivo de sonido
+ .accesskey = U
+reminder-browse-sound-label =
+ .label = Navegar…
+ .accesskey = B
+reminder-dialog-label =
+ .label = Mostrar el diálogo del recordatorio
+ .accesskey = x
+missed-reminder-label =
+ .label = Mostrar recordatorios fallados para calendarios editables
+ .accesskey = m
+reminder-default-legend = Valores predeterminados para recordatorios
+default-snooze-label =
+ .value = Longitud de pausa predeterminada:
+ .accesskey = S
+event-alarm-label =
+ .value = Configuración recordatorio predeterminada para eventos:
+ .accesskey = e
+alarm-on-label =
+ .label = Activar
+alarm-off-label =
+ .label = Desactivar
+task-alarm-label =
+ .value = Configuración de recordatorio predeterminada para tareas:
+ .accesskey = a
+event-alarm-time-label =
+ .value = Hora predeterminada de activación de un recordatorio antes de un evento:
+ .accesskey = u
+task-alarm-time-label =
+ .value = Hora predeterminada de activación de un recordatorio antes de una tarea:
+ .accesskey = o
+calendar-notifications-customize-label = Las notificaciones pueden ser personalizadas para cada calendario en la ventana de propiedades del calendario.
+category-new-label = Nueva categoría
+category-edit-label = Editar categoría
+category-overwrite-title = Advertencia: nombre duplicado
+category-overwrite = Ya existe una categoría con ese nombre. ¿Quieres sobrescribirla?
+category-blank-warning = Debes introducir un nombre de categoría.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/chat/matrix.ftl b/thunderbird-l10n/es-MX/localization/es-MX/chat/matrix.ftl
new file mode 100644
index 0000000000..c225dd7ed7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/chat/matrix.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/.
+
+
+### Matrix Protocol strings
+
+
+## Conversation names when a room has no user readable name.
+
+room-name-empty = Conversación vacía
+# Variables:
+# $oldName (String) - The previous name the conversation had before it was
+# removed.
+room-name-empty-had-name = Conversación vacía (era { $oldName })
+# Variables:
+# $participant (String) - The name of one participant that isn't the user.
+# $otherParticipantCount (Number) - The count of other participants apart from
+# the user and $participant.
+room-name-others2 =
+ { $otherParticipantCount ->
+ [one] { $participant } y { $otherParticipantCount } otro
+ [many] { $participant } y { $otherParticipantCount } otros
+ *[other] { $participant } y { $otherParticipantCount } otros
+ }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/crashreporter/aboutcrashes.ftl b/thunderbird-l10n/es-MX/localization/es-MX/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..8950d0e511
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Reportes de fallos
+
+submit-all-button-label = Enviar todo
+delete-button-label = Limpiar todo
+delete-confirm-title = ¿Estás seguro?
+delete-unsubmitted-description = Esto eliminará todos los reportes de errores no enviados y no se puede deshacer.
+delete-submitted-description = Esto eliminará la lista de reportes de errores enviados pero no eliminará los datos enviados. No se puede deshacer.
+
+crashes-unsubmitted-label = Informes de fallos no enviados
+id-heading = ID del reporte
+date-crashed-heading = La fecha falló
+submit-crash-button-label = Enviar
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = Falló
+
+crashes-submitted-label = Reportes de fallos enviados
+date-submitted-heading = Fecha enviada
+view-crash-button-label = Ver
+
+no-reports-label = No se han enviado reportes de fallos.
+no-config-label = Esta aplicación no está configurada para mostrar los reportes de fallos. Debe establecer la preferencia <code>breakpad.reportURL</code>.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/aboutdebugging.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..b65e9cb979
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Depuración - Configuración
+
+# 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 = Depuración - Tiempo de ejecución / { $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 = Este { -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 = Configuración
+
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = USB activado
+
+# 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 desactivado.
+
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = Conectado
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = Desconectado
+
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = No se descubrieron dispositivos.
+
+# 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 = Conectar
+
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = Conectando...
+
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = Falló la conexión
+
+# 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 = La conexión aún está pendiente, verifica si hay mensajes en el navegador de destino
+
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = Tiempo de conexión agotado
+
+# 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 = Esperando al navegador…
+
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = Desconectado
+
+# 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 = Compatibilidad con depuración
+
+# 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 = Ícono de ayuda
+
+# 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 = Actualizar dispositivos
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = Configuración
+
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = Configura el método de conexión con el que deseas depurar remotamente tu dispositivo.
+
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = Usa <a>{ about-debugging-this-firefox-runtime-name }</a> para depurar extensiones y service workers en esta versión de { -brand-shorter-name }.
+
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = Conectar un dispositivo
+
+# 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 = Si habilitas esta opción, se descargarán y agregarán los componentes de depuración necesarios de Android USB para { -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 = Habilitar dispositivos 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 = Deshabilitar dispositivos 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 = Actualizando...
+
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = Habilitado
+about-debugging-setup-usb-status-disabled = Deshabilitado
+about-debugging-setup-usb-status-updating = Actualizando...
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = Habilitar menú de desarrollador en tu dispositivo Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = Habilitar depuración USB en el menú de desarrollador de Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = Habilitar depuración USB en Firefox en el dispositivo Android.
+
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = Conectar el dispositivo Android a tu equipo.
+
+# 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 = ¿Problemas de conexión al dispositivo USB? <a>Solucionar problemas</a>
+
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = Ubicación de la red
+
+# 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 = ¿Problemas de conexión a través de la ubicación de la red? <a>Solucionar problemas</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 = Agregar
+
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = No se han agregado ubicaciones de red.
+
+# 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 = Servidor
+
+# 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 = Eliminar
+
+# 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 = El servidor no es válido “{ $host-value }”. El formato esperado es "nombreDeServidor:numeroDePuerto".
+
+# 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 = El servidor “{ $host-value }” ya está registrado
+
+# 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 = Extensiones temporales
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = Extensiones
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = Pestañas
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = Service Workers
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = Shared Workers
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = Otros Workers
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = Procesos
+
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = Rendimiento del perfil
+
+# 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 configuración de tu navegador no es compatible con Service Workers. <a>Saber más</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 = El navegador conectado tiene una versión antigua ({ $runtimeVersion }). La versión mínima compatible es ({ $minVersion }). Esta es una configuración incompatible y puede hacer que las herramientas de desarrollo fallen. Por favor, actualiza el navegador conectado. <a>Resolución de problemas</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 = Esta versión de Firefox no puede depurar Firefox para Android (68). Recomendamos instalar Firefox para Android Nightly en tu teléfono para realizar pruebas. <a>Más detalles</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 = El navegador conectado es más reciente ({ $runtimeVersion }, buildID { $runtimeID }) que tu { -brand-shorter-name } ({ $localVersion }, buildID { $localID }). Esta es una configuración incompatible y puede hacer que las herramientas de desarrollo fallen. Por favor actualiza Firefox. <a>Resolución de problemas</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 = Desconectar
+
+# 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 = Habilitar solicitud de conexión
+
+# 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 = Deshabilitar solicitud de conexión
+
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = Perfilador
+
+# 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 = Contraer / expandir
+
+# 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 = Todavía nada.
+
+# 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 = Inspeccionar
+
+# 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 = Cargar complemento temporal…
+
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = Ocurrió un error durante la instalación del complemento temporal.
+
+# 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 = Recargar
+
+# 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 = Eliminar
+
+# 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 = Terminar script de fondo
+
+# 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 = Selecciona el archivo manifest.json o .xpi/.zip
+
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = Esta WebExtension tiene un ID temporal. <a>Saber más</a>
+
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = URL del manifiesto
+
+# 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 interno
+
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = Ubicación
+
+# Text displayed for extensions in "runtime" pages, before displaying the extension's ID.
+# For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}".
+about-debugging-extension-id =
+ .label = ID de extensión
+
+# Text displayed for extensions in "runtime" pages, before displaying the status of the
+# extension background script.
+about-debugging-extension-backgroundscript =
+ .label = Script de fondo
+
+# 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 = Ejecutando
+
+# Displayed for extension using a non-persistent background page when is currently stopped.
+about-debugging-extension-backgroundscript-status-stopped = Detenido
+
+# 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 = Push del Service Worker en este momento está deshabilitado para multiproceso { -brand-shorter-name }
+
+# This string is displayed as a label of the button that starts a service worker.
+about-debugging-worker-action-start2 = Inicio
+ .disabledTitle = El inicio del Service Worker en este momento está deshabilitado para multiproceso { -brand-shorter-name }
+
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = Anular el registro
+
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = Fetch
+ .value = Escuchar a eventos fetch
+
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = Fetch
+ .value = No se están escuchando eventos fetch
+
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = En ejecución
+
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = Detenido
+
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = Registrando
+
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = Alcance
+
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = Servicio Push
+
+# Displayed as title of the inspect button when service worker debugging is disabled.
+about-debugging-worker-inspect-action-disabled =
+ .title = La inspección de Service Worker en este momento está deshabilitada para multiproceso { -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 = La pestaña no está completamente cargada y no se puede inspeccionar.
+
+# Displayed instead of the Main Process debug target when the preference
+# `devtools.browsertoolbox.fission` is true.
+about-debugging-multiprocess-toolbox-name = Caja de herramientas multiproceso
+
+# Description for the Multiprocess Toolbox target.
+about-debugging-multiprocess-toolbox-description = Proceso principal y procesos de contenido para el navegador de destino
+
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = Cerrar mensaje
+
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = Detalles del error
+
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = Detalles del aviso
+
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = Detalles
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/accessibility.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..ed06106ed6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Más información
+
+accessibility-text-label-header = Etiquetas textuales y nombres
+
+accessibility-keyboard-header = Teclado
+
+## 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 = Inicializando…
+ .aria-valuetext = Inicializando…
+
+# 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] Verificando { $nodeCount } nodo
+ *[other] Verificando { $nodeCount } nodos
+ }
+
+accessibility-progress-finishing = Finalizando…
+ .aria-valuetext = Finalizando…
+
+## Text entries that are used as text alternative for icons that depict accessibility issues.
+
+accessibility-warning =
+ .alt = Atención
+
+accessibility-fail =
+ .alt = Error
+
+accessibility-best-practices =
+ .alt = Prácticas idóneas
+
+## 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 = Usa el atributo <code>alt</code> para etiquetar elementos <div>area</div> que tengan el atributo <span>href</span>. <a>Saber más</a>
+
+accessibility-text-label-issue-dialog = Los cuadros de diálogo deben etiquetarse. <a>Saber más</a>
+
+accessibility-text-label-issue-document-title = Los documentos deben llevar <code>título</code>. <a>Saber más</a>
+
+accessibility-text-label-issue-embed = El contenido incrustado debe etiquetarse. <a>Saber más información</a>
+
+accessibility-text-label-issue-figure = Las figuras con subtítulos opcionales debieran ser etiquetadas. <a>Saber más más</a>
+
+accessibility-text-label-issue-fieldset = Los elementos <code>fieldset</code> deben ser etiquetados. <a>Saber más</a>
+
+accessibility-text-label-issue-fieldset-legend2 = Usa el elemento <code>legend</code> para etiquetar un <span>fieldset</span>. <a>Saber más</a>
+
+accessibility-text-label-issue-form = Los elementos del formulario deben etiquetarse. <a>Saber más</a>
+
+accessibility-text-label-issue-form-visible = Los elementos de formulario debieran tener una etiqueta de texto visible. <a>Saber más</a>
+
+accessibility-text-label-issue-frame = Los elementos <code>frame</code> deben ser etiquetados. <a>Saber más</a>
+
+accessibility-text-label-issue-glyph = Usa el atributo <code>alt</code> para etiquetar elementos <span>mglyph</span>. <a>Saber más</a>
+
+accessibility-text-label-issue-heading = Los encabezados deben estar etiquetados. <a>Saber más</a>
+
+accessibility-text-label-issue-heading-content = Los encabezados deberían tener contenido de texto visible. <a>Saber más</a>
+
+accessibility-text-label-issue-iframe = Use el atributo <code>title</code> para describir contenido <span>iframe</span>. <a>Saber más</a>
+
+accessibility-text-label-issue-image = El contenido con imágenes debe ser etiquetado. <a>Saber más</a>
+
+accessibility-text-label-issue-interactive = Elementos interactivos deben ser etiquetados. <a>Saber más</a>
+
+accessibility-text-label-issue-optgroup-label2 = Usar el atributo <code>label</code> para etiquetar un <span>optgroup</span>. <a>Saber más</a>
+
+accessibility-text-label-issue-toolbar = Las barras de herramientas deben estar etiquetadas cuando hay más de una barra de herramientas. <a>Saber más</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 = Los elementos que pueden recibir el foco deberían tener una semántica interactiva. <a>Saber más</a>
+
+accessibility-keyboard-issue-tabindex = Evita utilizar el atributo <code>tabindex</code> mayor que cero. <a>Saber más</a>
+
+accessibility-keyboard-issue-action = Los elementos interactivos tienen que poder activarse con el teclado. <a>Saber más</a>
+
+accessibility-keyboard-issue-focusable = Los elementos interactivos tiene que poder recibir el foco. <a>Saber más</a>
+
+accessibility-keyboard-issue-focus-visible = Al elemento enfocable le puede faltar estilo de enfoque. <a>Saber más</a>
+
+accessibility-keyboard-issue-mouse-only = Los elementos en los que se puede hacer clic deben poder enfocarse y tener una semántica interactiva. <a>Saber más</a>
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/application.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/application.ftl
new file mode 100644
index 0000000000..c92b64f683
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Abrir <a>about:debugging</a> para Service Workers de otros dominios
+
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = Cancelar registro
+
+# 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 = Depurar
+ .title = Solo los Service Workers en ejecución pueden ser depurados
+
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = Inspeccionar
+
+# 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 = Iniciar
+
+# 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 = Actualizado <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 = Ejecutando
+
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = Detenido
+
+# Text displayed when no service workers are visible for the current page.
+serviceworker-empty-intro2 = No se encontraron service workers
+
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = Más información
+
+# 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 página actual debe tener un service worker, puedes buscar errores en la <a>Consola</a> o ir al registro de su service worker en el <span>Depurador</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 = Ver service workers de otros dominios
+
+# Header for the Manifest page when we have an actual manifest
+manifest-view-header = Manifiesto de la aplicación
+
+# Header for the Manifest page when there's no manifest to inspect
+manifest-empty-intro2 = No se detectó ningún manifiesto de aplicación web
+
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro-link = Aprende cómo agregar un manifiesto
+
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = Errores y advertencias
+
+# Header for the Identity section of Manifest inspection displayed in the application panel.
+manifest-item-identity = Identidad
+
+# Header for the Presentation section of Manifest inspection displayed in the application panel.
+manifest-item-presentation = Presentación
+
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = Íconos
+
+# Text displayed while we are loading the manifest file
+manifest-loading = Cargando manifiesto...
+
+# Text displayed when the manifest has been successfully loaded
+manifest-loaded-ok = Manifiesto cargado.
+
+# Text displayed as a caption when there has been an error while trying to
+# load the manifest
+manifest-loaded-error = Hubo un error mientras se cargaba el manifiesto:
+
+# Text displayed as an error when there has been a Firefox DevTools error while
+# trying to load the manifest
+manifest-loaded-devtools-error = Error de Firefox DevTools
+
+# Text displayed when the page has no manifest available
+manifest-non-existing = No se encontró manifiesto para inspeccionar.
+
+# 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 = El manifiesto está integrado en una URL de datos.
+
+# Text displayed at manifest icons to label their purpose, as declared
+# in the manifest.
+manifest-icon-purpose = Propósito: <code>{ $purpose }</code>
+
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = Ícono
+
+# 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 = Ícono con tamaños: { $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 = Tamaño de ícono sin especificar
+
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = Manifiesto
+ .alt = Ícono de manifiesto
+ .title = Manifiesto
+
+# Sidebar navigation item for Service Workers sidebar item section
+sidebar-item-service-workers = Service Workers
+ .alt = Ícono de Service Workers
+ .title = Service Workers
+
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = Ícono de advertencia
+ .title = Advertencia
+
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = Ícono de error
+ .title = Error
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/compatibility.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..f4d59f0fe0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Elemento seleccionado
+compatibility-all-elements-header = Todos los problemas
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (obsoleto)
+compatibility-issue-experimental = (experimental)
+compatibility-issue-prefixneeded = (se necesita prefijo)
+compatibility-issue-deprecated-experimental = (obsoleto, experimental)
+compatibility-issue-deprecated-prefixneeded = (obsoleto, se necesita prefijo)
+compatibility-issue-experimental-prefixneeded = (experimental, se necesita prefijo)
+compatibility-issue-deprecated-experimental-prefixneeded = (obsoleto, experimental, prefijo requerido)
+
+## Messages used as labels and titles for buttons in the footer
+
+compatibility-settings-button-label = Ajustes
+compatibility-settings-button-title =
+ .title = Ajustes
+
+## Messages used as headers in settings pane
+
+compatibility-settings-header = Ajustes
+compatibility-target-browsers-header = Navegadores de destino
+
+##
+
+# 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 } ocurrencia
+ *[other] { $number } ocurrencias
+ }
+
+compatibility-no-issues-found = No se encontraron problemas de compatibilidad.
+compatibility-close-settings-button =
+ .title = Cerrar ajustes
+
+# 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 =
+ Problemas de compatibilidad en:
+ { $browsers }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/perftools.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..9f748678d2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/perftools.ftl
@@ -0,0 +1,161 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used in DevTools’ performance-new panel, about:profiling, and
+### the remote profiling panel. There are additional profiler strings in the appmenu.ftl
+### file that are used for the profiler popup.
+
+perftools-intro-title = Ajustes del perfilador
+perftools-intro-description =
+ Las grabaciones abren profiler.firefox.com en una nueva pestaña. Todos los datos se almacenan
+ localmente, pero puedes elegir por subirlos para compartir.
+
+## All of the headings for the various sections.
+
+perftools-heading-settings = Configuración completa
+perftools-heading-buffer = Ajustes de buffer
+perftools-heading-features = Funcionalidades
+perftools-heading-features-default = Funcionalidades (recomendadas activadas de forma predeterminada)
+perftools-heading-features-disabled = Funcionalidades deshabilitadas
+perftools-heading-features-experimental = Experimental
+perftools-heading-threads = Hilos
+perftools-heading-threads-jvm = Subprocesos JVM
+perftools-heading-local-build = Compilación local
+
+##
+
+perftools-description-intro =
+ Las grabaciones abren <a>profiler.firefox.com</a> en una nueva pestaña. Todos los datos son almacenados
+ localmente, pero puedes elegir si quieres subirlos para compartirlos.
+perftools-description-local-build =
+ Si estás perfilando una compilación que hiciste tu, en este
+ equipo, por favor añade el objdir de tu compilación a la lista a continuación para que
+ pueda utilizarse para buscar información simbólica.
+
+## The controls for the interval at which the profiler samples the code.
+
+perftools-range-interval-label = Intervalo de muestra:
+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 = Tamaño del buffer:
+
+perftools-custom-threads-label = Agregar hilos personalizados por nombre:
+
+perftools-devtools-interval-label = Intervalo:
+perftools-devtools-threads-label = Hilos:
+perftools-devtools-settings-label = Ajustes
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+perftools-status-recording-stopped-by-another-tool = Otra herramienta detuvo la grabación.
+perftools-status-restart-required = Se debe reiniciar el navegador para habilitar esta función.
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+perftools-request-to-stop-profiler = Detener la grabación
+perftools-request-to-get-profile-and-stop-profiler = Capturando perfil
+
+##
+
+perftools-button-start-recording = Iniciar grabación
+perftools-button-capture-recording = Capturar la grabación
+perftools-button-cancel-recording = Cancelar grabación
+perftools-button-save-settings = Guardar ajustes y volver
+perftools-button-restart = Reiniciar
+perftools-button-add-directory = Agregar un directorio
+perftools-button-remove-directory = Eliminar lo seleccionado
+perftools-button-edit-settings = Editar ajustes…
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+perftools-thread-gecko-main =
+ .title = Los procesos principales tanto para el proceso padre como para los procesos de contenido
+perftools-thread-compositor =
+ .title = Combina diferentes elementos pintados en la página.
+perftools-thread-dom-worker =
+ .title = Esto se ocupa tanto de los web workers como de los service workers
+perftools-thread-renderer =
+ .title = Cuando WebRender está habilitado, el hilo que ejecuta las llamadas OpenGL
+perftools-thread-render-backend =
+ .title = El hilo WebRender RenderBackend
+perftools-thread-timer =
+ .title = Los temporizadores de manejo de subprocesos (setTimeout, setInterval, nsITimer)
+perftools-thread-style-thread =
+ .title = El cálculo de estilo se divide en múltiples hilos
+pref-thread-stream-trans =
+ .title = Transporte de flujo de red
+perftools-thread-socket-thread =
+ .title = El hilo donde el código de red ejecuta cualquier llamada de socket de bloqueo
+perftools-thread-img-decoder =
+ .title = Hilos de decodificación de imágenes
+perftools-thread-dns-resolver =
+ .title = La resolución de DNS ocurre en este hilo
+perftools-thread-task-controller =
+ .title = Hilos del grupo de subprocesos de TaskController
+perftools-thread-jvm-gecko =
+ .title = El subproceso principal de Gecko JVM
+perftools-thread-jvm-nimbus =
+ .title = Los subprocesos principales para el SDK de experimentos de Nimbus
+perftools-thread-jvm-default-dispatcher =
+ .title = El despachador predeterminado para la biblioteca de rutinas de Kotlin
+perftools-thread-jvm-glean =
+ .title = Los subprocesos principales del SDK de telemetría de Glean
+perftools-thread-jvm-arch-disk-io =
+ .title = Despachador IO para la librería de rutinas de Kotlin
+perftools-thread-jvm-pool =
+ .title = Subprocesos creador en un conjunto de subprocesos sin nombre
+
+##
+
+perftools-record-all-registered-threads = Omitir las selecciones de arriba y grabar todos los hilos registrados
+
+perftools-tools-threads-input-label =
+ .title = Estos nombres de hilos son una lista separada por comas que se utiliza para habilitar la creación de perfiles de los hilos en el perfilador. El nombre debe ser solo una coincidencia parcial del nombre del hilo para que se incluya. Es sensible a los espacios en blanco.
+
+## 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>Nuevo</b>: { -profiler-brand-name } ahora está integrado en las herramientas para desarrolladores. <a>Saber más</a> sobre esta poderosa herramienta.
+
+perftools-onboarding-close-button =
+ .aria-label = Cerrar el mensaje introductorio
+
+## Profiler presets
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/popup/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+perftools-presets-web-developer-label = Desarrollador web
+perftools-presets-web-developer-description = Configuración recomendada para la depuración de la mayoría de aplicaciones web, con poca sobrecarga.
+
+perftools-presets-firefox-label = { -brand-shorter-name }
+perftools-presets-firefox-description = Configuración preestablecida recomendada para crear perfiles de { -brand-shorter-name }.
+
+perftools-presets-graphics-label = Gráficos
+perftools-presets-graphics-description = Preestablecido para investigar errores gráficos en { -brand-shorter-name }.
+
+perftools-presets-media-label = Multimedia
+perftools-presets-media-description2 = Preestablecido para investigar errores de audio y video en { -brand-shorter-name }.
+
+perftools-presets-networking-label = Redes
+perftools-presets-networking-description = Preestablecido para investigar errores de red en { -brand-shorter-name }.
+
+# "Power" is used in the sense of energy (electricity used by the computer).
+perftools-presets-power-label = Energía
+perftools-presets-power-description = Preestablecido para investigar errores de uso de energía en { -brand-shorter-name }, con poca sobrecarga.
+
+perftools-presets-custom-label = Personalizado
+
+##
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/storage.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/storage.ftl
new file mode 100644
index 0000000000..6c063e79cb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/storage.ftl
@@ -0,0 +1,132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Storage Inspector.
+
+# Key shortcut used to focus the filter box on top of the data view
+storage-filter-key = CmdOrCtrl+F
+
+# Hint shown when the selected storage host does not contain any data
+storage-table-empty-text = No hay datos para el servidor seleccionado
+
+# 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 = Ver y editar cookies seleccionando un servidor. <a data-l10n-name="learn-more-link">Saber más</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 = Ver y editar el almacenamiento local seleccionando un servidor. <a data-l10n-name="learn-more-link">Saber más</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 = Ver y editar el almacenamiento de sesión seleccionando un servidor. <a data-l10n-name="learn-more-link">Saber más</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 = Ver y eliminar entradas de IndexedDB seleccionando una base de datos. <a data-l10n-name="learn-more-link">Saber más</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 = Ver y eliminar las entradas de almacenamiento caché seleccionando un almacenamiento. <a data-l10n-name="learn-more-link">Saber más</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 = Ver y editar el almacenamiento de extensión seleccionando un servidor. <a data-l10n-name="learn-more-link">Saber más</a>
+
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = Filtrar elementos
+
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = Filtro de valores
+
+# Add Item button title
+storage-add-button =
+ .title = Agregar ítem
+
+# Refresh button title
+storage-refresh-button =
+ .title = Actualizar elementos
+
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = Eliminar todo
+
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = Eliminar todas las cookies de la sesión
+
+# Context menu action to copy a storage item
+storage-context-menu-copy =
+ .label = Copiar
+
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = Eliminar “{ $itemName }”
+
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = Agregar ítem
+
+# 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 = Eliminar todo desde “{ $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 = Nombre
+storage-table-headers-cookies-value = Valor
+storage-table-headers-cookies-expires = Expira / Tiempo máximo
+storage-table-headers-cookies-size = Tamaño
+storage-table-headers-cookies-last-accessed = Último acceso
+storage-table-headers-cookies-creation-time = Creación
+storage-table-headers-cache-status = Estado
+storage-table-headers-extension-storage-area = Área de almacenamiento
+
+## 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 = Almacenamiento local
+storage-tree-labels-session-storage = Almacenamiento de sesión
+storage-tree-labels-indexed-db = DB indexada
+storage-tree-labels-cache = Almacenamiento en caché
+storage-tree-labels-extension-storage = Almacenamiento de extensiones
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = Ampliar panel
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = Colapsar Panel
+
+# String displayed in the expires column when the cookie is a Session Cookie
+storage-expires-session = Sesión
+
+# Heading displayed over the item value in the sidebar
+storage-data = Datos
+
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = Valor interpretado
+
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = La base de datos “{ $dbName }” será eliminada después de que se cierren todas las conexiones.
+
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = La base de datos “{ $dbName }” no pudo ser eliminada.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/styleeditor.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..415112d8ac
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/styleeditor.ftl
@@ -0,0 +1,51 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+styleeditor-new-button =
+ .tooltiptext = Crear y adjuntar una nueva hoja de estilos al documento
+ .accesskey = N
+styleeditor-import-button =
+ .tooltiptext = Importar y adjuntar una hoja de estilos existente al documento
+ .accesskey = I
+styleeditor-filter-input =
+ .placeholder = Filtrar hojas de estilo
+styleeditor-visibility-toggle =
+ .tooltiptext = Cambiar la visibilidad de la hoja de estilos
+ .accesskey = G
+styleeditor-visibility-toggle-system =
+ .tooltiptext = Las hojas de estilo del sistema no se pueden deshabilitar
+styleeditor-save-button = Guardar
+ .tooltiptext = Guardar esta hoja de estilos a un fichero
+ .accesskey = G
+styleeditor-options-button =
+ .tooltiptext = Opciones del editor de estilos
+styleeditor-at-rules = At-rules
+styleeditor-editor-textbox =
+ .data-placeholder = Escribe CSS aquí.
+styleeditor-no-stylesheet = Esta página no tiene hoja de estilos.
+styleeditor-no-stylesheet-tip = ¿Quizás te gustaría <a data-l10n-name="append-new-stylesheet">adjuntar una nueva hoja de estilos</a>?
+styleeditor-open-link-new-tab =
+ .label = Abrir enlace en una nueva pestaña
+styleeditor-copy-url =
+ .label = Copiar URL
+styleeditor-find =
+ .label = Buscar
+ .accesskey = B
+styleeditor-find-again =
+ .label = Repetir la búsqueda
+ .accesskey = R
+styleeditor-go-to-line =
+ .label = Saltar a la línea…
+ .accesskey = l
+# Label displayed when searching a term that is not found in any stylesheet path
+styleeditor-stylesheet-all-filtered = No se encontró ninguna hoja de estilo.
+
+# 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 } regla
+ *[other] { $ruleCount } reglas.
+ }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/toolbox-options.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..c4008c6259
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/toolbox-options.ftl
@@ -0,0 +1,149 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = Herramientas de desarrollador predeterminadas
+
+# 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 = * No soportado en la actual caja de herramientas
+
+# 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 = Herramientas de desarrollador instaladas por complementos
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = Botones disponibles en la caja de herramientas
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = Temas
+
+## Inspector section
+
+# The heading
+options-context-inspector = Inspector
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = Mostrar estilos de navegador
+options-show-user-agent-styles-tooltip =
+ .title = Activar esto mostrará los estilos por defecto que se cargan por el navegador.
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = Truncar atributos DOM
+options-collapse-attrs-tooltip =
+ .title = Truncar atributos largos en el inspector
+
+# The label for the checkbox option to enable the "drag to update" feature
+options-inspector-draggable-properties-label = Haz clic y arrastra para editar los valores de tamaño
+options-inspector-draggable-properties-tooltip =
+ .title = Haz clic y arrastra para editar los valores de tamaño en la vista de reglas del inspector.
+
+# 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 = Usa resaltadores más simples con prefers-reduced-motion
+options-inspector-simplified-highlighters-tooltip =
+ .title = Habilita resaltadores simplificados cuando se habilita prefers-reduced-motion. Dibuja líneas en lugar de rectángulos rellenados alrededor de los elementos resaltados para evitar efectos de parpadeo.
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = Unidad de color predeterminada
+options-default-color-unit-authored = Como Autoría
+options-default-color-unit-hex = Hex
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-hwb = HWB
+options-default-color-unit-name = Nombres del color
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = Editor de estilos
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = Autocompletar CSS
+options-stylesheet-autocompletion-tooltip =
+ .title = Autocompletar propiedades, valores y selectores CSS en el editor de estilos a medida que escribes
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = Comportamiento de la captura de pantalla
+
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-only-label = Captura de pantalla solo al portapapeles
+options-screenshot-clipboard-tooltip2 =
+ .title = Guarda la captura de pantalla directamente en el portapapeles
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = Reproducir el sonido del obturador de la cámara
+options-screenshot-audio-tooltip =
+ .title = Activa el sonido de la cámara al tomar una captura de pantalla
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = Preferencias de Editor
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = Adivina la sangría basada en contenido de la fuente
+options-sourceeditor-detectindentation-label = Sangrado detectado
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = Insertar automáticamente paréntesis cerrados
+options-sourceeditor-autoclosebrackets-label = Auto cerra paréntesis
+options-sourceeditor-expandtab-tooltip =
+ .title = Usar espacios en lugar del carácter de tabulación
+options-sourceeditor-expandtab-label = Sangría usando espacios
+options-sourceeditor-tabsize-label = Tamaño de la pestaña
+options-sourceeditor-keybinding-label = Combinaciones de teclas
+options-sourceeditor-keybinding-default-label = Predeterminado
+
+## Advanced section
+
+# The heading (this item is also used in perftools.ftl)
+options-context-advanced-settings = Configuración avanzada
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = Desactivar caché HTTP (cuando la caja de herramientas esté abierta)
+options-disable-http-cache-tooltip =
+ .title = Habilitar esta opción deshabilitará el caché HTTP para todas las pestañas que tengan la caja de herramientas abierta. Los Service Workers no están afectados por esta opción.
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = Deshabilitar JavaScript *
+options-disable-javascript-tooltip =
+ .title = Usando esta opción deshabilitará JavaScript para la pestaña actual. Si la pestaña o la caja de herramientas se cierra entonces esta configuración se deshabilitará.
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = Activar cajas de herramientas de depuración de chrome del navegador y del complemento
+options-enable-chrome-tooltip =
+ .title = Activar esta opción te permitirá usar varias herramientas de desarrollador en el contexto del navegador (a través de Herramientas > Desarrollador web > Caja de herramientas del navegador) y depurar complementos desde el administrador de complementos
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = Habilitar depuración remota
+options-enable-remote-tooltip2 =
+ .title = Activar esta opción permitirá depurar esta instancia del navegador de forma remota
+
+# The label for checkbox that toggles custom formatters for objects
+options-enable-custom-formatters-label = Habilita formatos personalizados
+options-enable-custom-formatters-tooltip =
+ .title = Activar esta opción permite que los sitios definan formateadores personalizados para objetos DOM
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = Activar service workers bajo HTTP (cuando la caja de herramientas esté abierta)
+options-enable-service-workers-http-tooltip =
+ .title = Activar esta opción permitirá funcionar a los service workers bajo HTTP en todas las pestañas que tengan abierta la caja de herramientas.
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = Habilitar mapas de fuentes
+options-source-maps-tooltip =
+ .title = Si activas esta opción, las fuentes serán mapeadas en las herramientas.
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * Sólo la sesión actual, recarga la página
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/toolbox.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..278fad6f10
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Fijar en la parte inferior
+toolbox-meatball-menu-dock-left-label = Anclar a la izquierda
+toolbox-meatball-menu-dock-right-label = Anclar a la derecha
+toolbox-meatball-menu-dock-separate-window-label = Ventana dividida
+
+toolbox-meatball-menu-splitconsole-label = Mostrar la consola dividida
+toolbox-meatball-menu-hideconsole-label = Ocultar consola dividida
+
+toolbox-meatball-menu-settings-label = Ajustes
+toolbox-meatball-menu-documentation-label = Documentación…
+toolbox-meatball-menu-community-label = Comunidad…
+
+# 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 = Desactivar la ocultación automática de ventanas emergentes
+
+toolbox-meatball-menu-pseudo-locale-accented = Habilitar idioma “acentuado”
+toolbox-meatball-menu-pseudo-locale-bidi = Habilitar idioma “bidi”
+
+##
+
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
+toolbox-mode-browser-toolbox-label = Modo de caja de herramientas del navegador
+toolbox-mode-browser-console-label = Modo de consola del navegador
+
+toolbox-mode-everything-label = Multiproceso
+toolbox-mode-everything-sub-label = (Más lento)
+toolbox-mode-everything-container =
+ .title = Depurar todo en todos los procesos
+
+toolbox-mode-parent-process-label = Solo proceso principal
+toolbox-mode-parent-process-sub-label = (Rápido)
+toolbox-mode-parent-process-container =
+ .title = Concéntrate únicamente en los recursos del proceso principal.
+
+toolbox-always-on-top-enabled2 = Desactivar siempre visible
+ .title = Esto reiniciará las herramientas de desarrollo
+toolbox-always-on-top-disabled2 = Habilitar siempre visible
+ .title = Esto reiniciará las herramientas de desarrollo
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/tooltips.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..4d90f4b2a4
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/devtools/client/tooltips.ftl
@@ -0,0 +1,118 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools tooltips.
+
+learn-more = <span data-l10n-name="link">Más información</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> no tiene ningún efecto en este elemento ya que no es un contenedor flex ni un contenedor de rejilla.
+
+inactive-css-not-grid-or-flex-container-or-multicol-container = <strong>{ $property }</strong> no tiene ningún efecto en este elemento, ya que no es un contenedor flex, un contenedor grid o un contenedor multicolumna.
+
+inactive-css-not-grid-or-flex-item = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que no es un un ítem grid ni flex.
+
+inactive-css-not-grid-item = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que no es un ítem grid.
+
+inactive-css-not-grid-container = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que no es un contenedor grid.
+
+inactive-css-not-flex-item = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que no es un ítem flex.
+
+inactive-css-not-flex-container = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que no es un contenedor flex.
+
+inactive-css-not-inline-or-tablecell = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que no es un elemento en línea o de celda de tabla.
+
+inactive-css-property-because-of-display = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que su valor de "display" es <strong>{ $display }</strong>.
+
+inactive-css-not-display-block-on-floated = El motor cambió el valor de <strong>display</strong> a <strong>block</strong> porque el elemento es <strong>floated</strong>.
+
+inactive-css-property-is-impossible-to-override-in-visited = No es posible anular <strong>{ $property }</strong> debido a la restricción <strong>:visited</strong>.
+
+inactive-css-position-property-on-unpositioned-box = <strong>{ $property }</strong> no tiene efecto en este elemento ya que no es un elemento posicionado.
+
+inactive-text-overflow-when-no-overflow = <strong>{ $property }</strong> no tiene ningún efecto en este elemento ya que <strong>overflow:hidden</strong> no está establecido.
+
+inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> no tiene efecto en elementos internos de la tabla.
+
+inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> no tiene efecto en elementos internos de la tabla excepto en celdas de la tabla.
+
+inactive-css-not-table = <strong>{ $property }</strong> no tiene efecto en este elemento ya que no es una tabla.
+
+inactive-scroll-padding-when-not-scroll-container = <strong>{ $property }</strong> no tiene efecto en este elemento ya que no tiene desplazamiento.
+
+inactive-css-border-image = </strong>{ $property }<strong> no tiene efecto en este elemento ya que no se puede aplicar a los elementos de la tabla interna donde <strong>border-collapse</strong> está establecido en <strong>collapse</strong> en el elemento de la tabla principal.
+
+inactive-css-ruby-element = <strong>{ $property }</strong> no tiene efecto en este elemento ya que es un elemento ruby. Su tamaño está determinado por el tamaño de fuente del texto ruby.
+
+## 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 = Intenta agregar <strong>display:grid</strong> o <strong>display:flex</strong>. { learn-more }
+
+inactive-css-not-grid-or-flex-container-or-multicol-container-fix = Intenta agregar <strong>display:grid</strong>, <strong>display:flex</strong>, o <strong>columns:2</strong>. { learn-more }
+
+inactive-css-not-grid-or-flex-item-fix-3 = Prueba agregar <strong>display:grid</strong>, <strong>display:flex</strong>, <strong>display:inline-grid</strong> o <strong>display:inline-flex</strong> al elemento padre. { learn-more }
+
+inactive-css-not-grid-item-fix-2 = Intenta agregar <strong>display:grid</strong> o <strong>display:inline-grid</strong> al padre del item. { learn-more }
+
+inactive-css-not-grid-container-fix = Intenta agregar <strong>display:grid</strong> o <strong>display:inline-grid</strong>. { learn-more }
+
+inactive-css-not-flex-item-fix-2 = Intenta agregar <strong>display:flex</strong> o <strong>display:inline-flex</strong> al padre del elemento. { learn-more }
+
+inactive-css-not-flex-container-fix = Intenta agregar <strong>display:flex</strong> o <strong>display:inline-flex</strong>. { learn-more }
+
+inactive-css-not-inline-or-tablecell-fix = Intenta agregar <strong>display:inline</strong> o <strong>display:table-cell</strong>. { learn-more }
+
+inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = Intenta agregar <strong>display:inline-block</strong> o <strong>display:block</strong>. { learn-more }
+
+inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = Intenta agregar <strong>display:inline-block</strong>. { learn-more }
+
+inactive-css-not-display-block-on-floated-fix = Intenta eliminar <strong>float</strong> o agrega <strong>display:block</strong>. { learn-more }
+
+inactive-css-position-property-on-unpositioned-box-fix = Intenta establecer la propiedad <strong>position</strong> en algo diferente a <strong>static</strong>. { learn-more }
+
+inactive-text-overflow-when-no-overflow-fix = Intenta agregar <strong>overflow:hidden</strong>. { learn-more }
+
+inactive-css-not-for-internal-table-elements-fix = Prueba ajustar su propiedad <strong>display</strong> a algo diferente a <strong>table-cell</strong>, <strong>table-column</strong>, <strong>table-row</strong>, <strong>table-column-group</strong>, <strong>table-row-group</strong> o <strong>table-footer-group</strong>. { learn-more }
+
+inactive-css-not-for-internal-table-elements-except-table-cells-fix = Prueba establecer su propiedad <strong>mostrar</strong> a algo diferente de<strong>tabla-columna</strong>, <strong>table-fila</strong>, <strong>table-de gupo de-columnas</strong>, <strong>tabla-de grupo de-filas</strong> o <strong>tabla de grupo de pies de página</strong>. { learn-more }
+
+inactive-css-not-table-fix = Intenta agregar <strong>display:table</strong> o <strong>display:inline-table</strong>. { learn-more }
+
+inactive-scroll-padding-when-not-scroll-container-fix = Intenta agregar <strong>overflow:auto</strong>,<strong>overflow:scrooll</strong>, o<strong>overflow:hidden</strong>. { learn-more }
+
+inactive-css-border-image-fix = En el elemento de la tabla principal, elimina la propiedad o cambia el valor de <strong>border-collapse</strong> a un valor que no sea <strong>collapse</strong>. { learn-more }
+
+inactive-css-ruby-element-fix = Intenta cambiar el <strong>tamaño de fuente</strong> del texto rubí. { 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> no está soportado en los siguientes navegadores:
+
+css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> era una propiedad experimental y ahora está obsoleta según el estándar W3C. No es compatible con los siguientes navegadores:
+
+css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> era una propiedad experimental y ahora está obsoleta según el estándar W3C.
+
+css-compatibility-deprecated-message = <strong>{ $property }</strong> está obsoleta según el estándar W3C. No es compatible con los siguientes navegadores:
+
+css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> está obsoleta según el estándar W3C.
+
+css-compatibility-experimental-message = <strong>{ $property }</strong> era una propiedad experimental. No es compatible con los siguientes navegadores:
+
+css-compatibility-experimental-supported-message = <strong>{ $property }</strong> era una propiedad experimental.
+
+css-compatibility-learn-more-message = <span data-l10n-name="link">Conocer más</span> sobre <strong>{ $rootProperty }</strong>
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/debugger-paused-reasons.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..e4fed5147e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Pausado en la declaración del depurador
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = Pausado en el punto de interrupción
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event breakpoint.
+whypaused-event-breakpoint = Pausado en punto de ruptura de evento
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = Pausado en la excepción
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a DOM mutation breakpoint
+whypaused-mutation-breakpoint = Pausado en mutación de DOM
+
+# The text that is displayed to describe an added node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-added = Agregado:
+
+# The text that is displayed to describe a removed node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-removed = Eliminado:
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a JS execution
+whypaused-interrupted = Pausado en ejecución
+
+# 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 = Pausado durante la entrada y salida
+
+# 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 = Pausado en registrador de eventos
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = Error con punto de interrupción condicional
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an xml http request
+whypaused-xhr = Pausado en XMLHttpRequest
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = Pausado en la promesa de rechazo
+
+# 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 = Pausado en el acceso a la propiedad
+
+# 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 = Pausado al establecer propiedad
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = Pausado en una afirmación
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = Pausado en una función de depuración
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = Depurador pausado
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/highlighters.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..6c2b6c9d8a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Fila { $row } / Columna { $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 = Contenedor de retícula
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid item.
+gridtype-item = Elemento de la retícula
+
+# 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 = Contenedor o elemento de retícula
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex container.
+flextype-container = Contenedor 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 = Elemento 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 = Contenedor o elemento 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 = Selector de nodos de DevTools habilitado. { $action }
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on desktop
+remote-node-picker-notice-action-desktop = Haz clic en un elemento para seleccionarlo en el inspector
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on Android
+remote-node-picker-notice-action-touch = Toca un elemento para seleccionarlo en el Inspector
+
+# The text displayed in the button that is in the notice in the content page when the user
+# clicks on the "Pick an element from the page" in about:devtools-toolbox inspector panel,
+# when debugging a remote page.
+remote-node-picker-notice-hide-button = Ocultar
+
+# 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 = Cuando se activa prefers-reduced-motion, es posible activar un resaltador simplificado en el panel de configuración para evitar que parpadeen los colores.
+
+# Text displayed in a button inside the "simple-highlighters-message" toolbox
+# notification. "Settings" here refers to the DevTools settings panel.
+simple-highlighters-settings-button = Abrir ajustes
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/webconsole-commands.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/devtools/shared/webconsole-commands.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/devtools/startup/key-shortcuts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..bbc2c7ca1e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/dom/XMLPrettyPrint.ftl b/thunderbird-l10n/es-MX/localization/es-MX/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..cc942f6f9b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = El presente archivo XML no parece tener ninguna información de estilo asociada. A continuación se muestra su árbol.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/dom/media.ftl b/thunderbird-l10n/es-MX/localization/es-MX/dom/media.ftl
new file mode 100644
index 0000000000..6c886e7570
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Dispositivo de salida de audio predeterminado
+mediastatus-fallback-title = { -brand-short-name } está reproduciendo contenido multimedia
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/locales-preview/aboutTranslations.ftl b/thunderbird-l10n/es-MX/localization/es-MX/locales-preview/aboutTranslations.ftl
new file mode 100644
index 0000000000..68e9d8aafd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/messenger/about3Pane.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/about3Pane.ftl
new file mode 100644
index 0000000000..cf64da76d5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/about3Pane.ftl
@@ -0,0 +1,300 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Message List Header Bar
+
+quick-filter-button =
+ .title = Alternar la barra de filtro rápido
+quick-filter-button-label = Filtro rápido
+thread-pane-header-display-button =
+ .title = Opciones de visualización de la lista de mensajes
+# Variables:
+# $count (Number) - The number of messages in this folder.
+thread-pane-folder-message-count =
+ { $count ->
+ [one] { $count } Mensaje
+ *[other] { $count } Mensajes
+ }
+thread-pane-header-context-table-view =
+ .label = Vista de tabla
+thread-pane-header-context-cards-view =
+ .label = Vista de tarjetas
+thread-pane-header-context-hide =
+ .label = Ocultar encabezado de lista de mensajes
+
+## 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 = ¿Mantener filtros aplicados al cambiar de carpetas?
+# The tooltip for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread =
+ .title = Mostrar sólo mensajes no leídos
+# The label for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread-label = Sin leer
+# 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 = Mostrar solamente mensajes destacados
+# 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 = Destacados
+# 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 = Mostrar solo mensajes de personas en tu libreta de direcciones
+# 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 = Contacto
+# 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 = Mostrar solo mensajes con etiquetas
+# 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 = Etiquetas
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment =
+ .title = Mostrar solo mensajes con archivos adjuntos
+# The label for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment-label = Adjunto
+# 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 = Sin resultados
+# 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 } mensaje
+ *[other] { $count } mensajes
+ }
+# Keyboard shortcut for the text search box.
+# This should match quick-filter-bar-show in messenger.ftl.
+quick-filter-bar-textbox-shortcut =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘ K
+ *[other] Ctrl+Shift+K
+ }
+# This is the empty text for the text search box.
+# The goal is to convey to the user that typing in the box will filter
+# the messages and that there is a hotkey they can press to get to the
+# box faster.
+quick-filter-bar-textbox =
+ .placeholder = Filtrar estos mensajes <{ quick-filter-bar-textbox-shortcut }>
+# Tooltip of the Any-of/All-of tagging mode selector.
+quick-filter-bar-boolean-mode =
+ .title = Modo de filtrado de etiquetas
+# The Any-of tagging mode.
+quick-filter-bar-boolean-mode-any =
+ .label = Cualquiera de
+ .title = Al menos uno de los siguientes criterios seleccionados debería coincidir
+# The All-of tagging mode.
+quick-filter-bar-boolean-mode-all =
+ .label = Todos
+ .title = Todos los criterios seleccionados deben coincidir
+# 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 = Filtrar mensajes por:
+# The button label that toggles whether the text filter searches the message
+# sender for the string.
+quick-filter-bar-text-filter-sender = Remitente
+# The button label that toggles whether the text filter searches the message
+# recipients (to, cc) for the string.
+quick-filter-bar-text-filter-recipients = Destinatarios
+# The button label that toggles whether the text filter searches the message
+# subject for the string.
+quick-filter-bar-text-filter-subject = Asunto
+# The button label that toggles whether the text filter searches the message
+# body for the string.
+quick-filter-bar-text-filter-body = Contenido
+# 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 = Continuar esta búsqueda en todas las carpetas
+# 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 = Presionar ‘Intro’ de nuevo para continuar la búsqueda de: { $text }
+
+## Folder pane
+
+folder-pane-get-messages-button =
+ .title = Obtener mensajes
+folder-pane-get-all-messages-menuitem =
+ .label = Obtener todos los mensajes nuevos
+ .accesskey = O
+folder-pane-write-message-button = Nuevo mensaje
+ .title = Redactar un nuevo mensaje
+folder-pane-more-menu-button =
+ .title = Opciones del panel de carpetas
+# Context menu item to show/hide different folder types in the folder pane
+folder-pane-header-folder-modes =
+ .label = Modos de carpeta
+# Context menu item to toggle display of "Get messages" button in folder pane header
+folder-pane-header-context-toggle-get-messages =
+ .label = Mostrar “Obtener mensajes”
+# Context menu item to toggle display of "New Message" button in folder pane header
+folder-pane-header-context-toggle-new-message =
+ .label = Mostrar “Nuevo mensaje”
+folder-pane-header-context-hide =
+ .label = Ocultar cabecera del panel de carpetas
+folder-pane-show-total-toggle =
+ .label = Mostrar la cantidad total de mensajes
+folder-pane-mode-context-toggle-compact-mode =
+ .label = Vista compacta
+ .accesskey = C
+
+## Message thread pane
+
+threadpane-column-header-select =
+ .title = Alternar seleccionar todos los mensajes
+threadpane-column-header-select-all =
+ .title = Seleccionar todos los mensajes
+threadpane-column-header-deselect-all =
+ .title = Deseleccionar todos los mensajes
+threadpane-column-label-select =
+ .label = Seleccionar mensajes
+threadpane-column-header-thread =
+ .title = Activar/desactivar conversaciones de mensajes
+threadpane-column-label-thread =
+ .label = Conversación
+threadpane-column-header-flagged =
+ .title = Ordenar por estrella
+threadpane-column-label-flagged =
+ .label = Con estrella
+threadpane-flagged-cell-label = Destacados
+threadpane-column-header-attachments =
+ .title = Ordenar por adjuntos
+threadpane-column-label-attachments =
+ .label = Adjuntos
+threadpane-attachments-cell-label = Adjuntos
+threadpane-column-header-spam =
+ .title = Ordenar por estado de mensaje no deseado
+threadpane-column-label-spam =
+ .label = Spam
+threadpane-spam-cell-label = Spam
+threadpane-column-header-unread-button =
+ .title = Ordenar por estado de lectura
+threadpane-column-label-unread-button =
+ .label = Leer estado
+threadpane-column-header-sender = Remitente
+ .title = Ordenar por remitente
+threadpane-column-label-sender =
+ .label = Remitente
+threadpane-column-header-recipient = Destinatario
+ .title = Ordenar por destinatario
+threadpane-column-label-recipient =
+ .label = Destinatario
+threadpane-column-header-correspondents = Participantes
+ .title = Ordenar por participantes
+threadpane-column-label-correspondents =
+ .label = Participantes
+threadpane-column-header-subject = Asunto
+ .title = Ordenar por asunto
+threadpane-column-label-subject =
+ .label = Asunto
+threadpane-column-header-date = Fecha
+ .title = Ordenar por fecha
+threadpane-column-label-date =
+ .label = Fecha
+threadpane-column-header-received = Recibido
+ .title = Ordenar por fecha de recepción
+threadpane-column-label-received =
+ .label = Recibido
+threadpane-column-header-status = Estado
+ .title = Ordenar por estado
+threadpane-column-label-status =
+ .label = Estado
+threadpane-column-header-size = Tamaño
+ .title = Ordenar por tamaño
+threadpane-column-label-size =
+ .label = Tamaño
+threadpane-column-header-tags = Etiqueta
+ .title = Ordenar por etiquetas
+threadpane-column-label-tags =
+ .label = Etiqueta
+threadpane-column-header-account = Cuenta
+ .title = Ordenar por cuenta
+threadpane-column-label-account =
+ .label = Cuenta
+threadpane-column-header-priority = Prioridad
+ .title = Ordenar por prioridad
+threadpane-column-label-priority =
+ .label = Prioridad
+threadpane-column-header-unread = No leído
+ .title = Número de mensajes no leídos en la conversación
+threadpane-column-label-unread =
+ .label = No leído
+threadpane-column-header-total = Total
+ .title = Total de mensajes en la conversación
+threadpane-column-label-total =
+ .label = Total
+threadpane-column-header-location = Ubicación
+ .title = Ordenar por ubicación
+threadpane-column-label-location =
+ .label = Ubicación
+threadpane-column-header-id = Orden de recibido
+ .title = Ordenar por orden de recepción
+threadpane-column-label-id =
+ .label = Orden de recibido
+threadpane-column-header-delete =
+ .title = Eliminar un mensaje
+threadpane-column-label-delete =
+ .label = Eliminar
+
+## Message state variations
+
+threadpane-message-new =
+ .alt = Indicador de nuevo mensaje
+ .title = Nuevo mensaje
+threadpane-message-replied =
+ .alt = Indicador de respuesta
+ .title = Mensaje respondido
+threadpane-message-redirected =
+ .alt = Indicador de mensaje redirigido
+ .title = Mensaje redirigido
+threadpane-message-forwarded =
+ .alt = Indicador de mensaje reenviado
+ .title = Mensaje reenviado
+apply-columns-to-menu =
+ .label = Aplicar columnas a…
+apply-current-view-to-menu =
+ .label = Aplicar la vista actual a…
+apply-current-view-to-folder =
+ .label = Carpeta…
+apply-current-view-to-folder-children =
+ .label = Carpeta y subcarpetas…
+
+## Apply columns confirmation dialog
+
+apply-changes-to-folder-title = ¿Aplicar cambios?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-message = ¿Aplicar las columnas de la carpeta actual a { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-with-children-message = ¿Aplicar las columnas de la carpeta actual a { $name } y sus subcarpetas?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-message = ¿Aplicar la vista de la carpeta actual a { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-with-children-message = ¿Aplicar la vista de la carpeta actual a { $name } y sus elementos secundarios?
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutAddonsExtra.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutAddonsExtra.ftl
new file mode 100644
index 0000000000..00d566ec47
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutAddonsExtra.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+add-on-options-button =
+ .title = Opciones de complementos
+
+add-on-search-alternative-button-label = Encuentra un complemento alternativo
+
+atn-addons-heading-search-input =
+ .placeholder = Buscar en addons.thunderbird.net
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutDialog.ftl
new file mode 100644
index 0000000000..f6744c95e2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutDialog.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/.
+
+about-update-whats-new = Qué hay de nuevo
+aboutDialog-title =
+ .title = Acerca de { -brand-full-name }
+about-dialog-title = Acerca de { -brand-full-name }
+release-notes-link = Notas de la versión
+update-check-for-updates-button = Buscar actualizaciones
+ .accesskey = C
+update-update-button = Reiniciar para actualizar { -brand-shorter-name }
+ .accesskey = R
+update-checking-for-updates = Buscando actualizaciones…
+update-downloading-message = Descargando actualización — <span data-l10n-name="download-status"></span>
+update-applying = Aplicando actualización…
+update-downloading = <img data-l10n-name="icon"/>Descargando actualización — <span data-l10n-name="download-status"></hspan>
+update-failed = Actualización fallida. <a data-l10n-name="failed-link">Descargar la última versión</a>
+update-admin-disabled = Actualizaciones deshabilitadas por el administrador del sistema
+update-no-updates-found = { -brand-short-name } está actualizado
+update-other-instance-handling-updates = { -brand-short-name } está actualizándose desde otra instancia
+update-manual = Actualizaciones disponibles en <a data-l10n-name="manual-link"/>
+update-unsupported = No puedes realizar más actualizaciones en este sistema. <a data-l10n-name="unsupported-link">Aprender más</a>
+update-restarting = Reiniciando…
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+channel-description = Actualmente estás en <span data-l10n-name="current-channel">{ $channel }</span> el canal de actualizaciones.
+warning-desc-version = { -brand-short-name } es experimental y podría ser inestable.
+warning-desc-telemetry = Envía automáticamente información acerca del rendimiento, hardware, uso y personalizaciones a { -vendor-short-name } para mejorar { -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 }-bit)
+# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
+# Variables:
+# $version (String): version of Thunderbird for Daily builds, e.g. 66.0a1
+# $isodate (String): date in ISO format, e.g. 2019-01-16
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits }-bit)
+aboutdialog-update-checking-failed = Error al buscar actualizaciones.
+community-exp =
+ <a data-l10n-name="community-exp-mozilla-link">
+ { -vendor-short-name }</a>
+ es una <a data-l10n-name="community-exp-credits-link">
+ comunidad global</a>
+ que trabaja unida para mantener la Web abierta, pública y accesible para todos.
+community-2 =
+ { -brand-short-name } es diseñado por <a data-l10n-name="community-mozilla-link">
+ { -vendor-short-name }</a>
+ , una <a data-l10n-name="community-credits-link">
+ comunidad global</a>
+ que trabaja unida para mantener la Web abierta, pública y accesible para todos.
+about-helpus =
+ ¿Quieres ayudar? <a data-l10n-name="helpus-donate-link">
+ Hacer una donación</a> or <a data-l10n-name="helpus-get-involved-link">
+ ¡Participa!</a>
+community-experimental = <a data-l10n-name="community-exp-mozilla-link">{ -vendor-short-name }</a> es una <a data-l10n-name="community-exp-credits-link">comunidad global</a> que trabaja unida para mantener la Web abierta, pública y accesible para todos.
+community-desc = { -brand-short-name } es diseñado por <a data-l10n-name="community-mozilla-link">{ -vendor-short-name }</a>, una <a data-l10n-name="community-credits-link">comunidad global</a> que trabaja unida para mantener la Web abierta, pública y accesible para todos.
+about-donation = ¿Quieres ayudar? <a data-l10n-name="helpus-donate-link">Hacer una donación</a> or <a data-l10n-name="helpus-get-involved-link">¡Participa!</a>
+bottom-links-license = Información de licencia
+bottom-links-rights = Derechos del usuario final
+bottom-links-privacy = Política de privacidad
+cmd-close-mac-command-key =
+ .key = w
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutImport.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutImport.ftl
new file mode 100644
index 0000000000..b08335a2bb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutImport.ftl
@@ -0,0 +1,179 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Importar
+export-page-title = Exportar
+
+## Header
+
+import-start = Importar herramienta
+import-start-title = Importar ajustes o datos desde una aplicación o archivo.
+import-start-description = Selecciona la fuente desde la que deseas importar. Más tarde se te pedirá que elijas qué datos deben importarse.
+import-from-app = Importar desde la aplicación
+import-file = Importar desde un archivo
+import-file-title = Selecciona un archivo para importar su contenido.
+import-file-description = Selecciona importar un perfil, libretas de direcciones o calendarios previamente respaldados.
+import-address-book-title = Importar archivo de libreta de direcciones
+import-calendar-title = Importar archivo de calendario
+export-profile = Exportar
+
+## Buttons
+
+button-back = Atrás
+button-continue = Continuar
+button-export = Exportar
+button-finish = Terminar
+
+## 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 = Importar desde otra instalación de { app-name-thunderbird }
+source-thunderbird-description = Importar ajustes, filtros, mensajes y otros datos desde un perfil de { app-name-thunderbird }.
+source-seamonkey = Importar desde una instalación de { app-name-seamonkey }
+source-seamonkey-description = Importar ajustes, filtros, mensajes y otros datos desde un perfil de { app-name-seamonkey }.
+source-outlook = Importar desde { app-name-outlook }
+source-outlook-description = Importar cuentas, libretas de direcciones y mensajes desde { app-name-outlook }.
+source-becky = Importar desde { app-name-becky }
+source-becky-description = Importar libretas de direcciones y mensajes de { app-name-becky }.
+source-apple-mail = Importar desde { app-name-apple-mail }
+source-apple-mail-description = Importar mensajes desde { app-name-apple-mail }.
+source-file2 = Importar desde un archivo
+source-file-description = Selecciona un archivo para importar libretas de direcciones, calendarios o una copia de seguridad del perfil (archivo ZIP).
+
+## Import from file selections
+
+file-profile2 = Importar perfil respaldado
+file-profile-description = Selecciona un perfil de Thunderbird previamente respaldado (.zip)
+file-calendar = Importar Calendarios
+file-calendar-description = Selecciona un archivo que contenga calendarios o eventos exportados (.ics)
+file-addressbook = Importar libretas de direcciones
+file-addressbook-description = Selecciona un archivo que contenga libretas de direcciones y contactos exportados
+
+## Import from app profile steps
+
+from-app-thunderbird = Importar desde un perfil de { app-name-thunderbird }
+from-app-seamonkey = Importar desde un perfil de { app-name-seamonkey }
+from-app-outlook = Importar desde { app-name-outlook }
+from-app-becky = Importar desde { app-name-becky }
+from-app-apple-mail = Importar desde { app-name-apple-mail }
+profiles-pane-title-thunderbird = Importar ajustes y datos desde un perfil { app-name-thunderbird }.
+profiles-pane-title-seamonkey = Importar ajustes y datos desde un perfil { app-name-seamonkey }.
+profiles-pane-title-outlook = Importar datos desde { app-name-outlook }.
+profiles-pane-title-becky = Importar datos desde { app-name-becky }.
+profiles-pane-title-apple-mail = Importar mensajes desde { app-name-apple-mail }.
+profile-source = Importar desde perfil
+# $profileName (string) - name of the profile
+profile-source-named = Importar desde el perfil <strong>"{ $profileName }"</strong>
+profile-file-picker-directory = Elige una carpeta de perfil
+profile-file-picker-archive = Elige un archivo <strong>ZIP</strong>
+profile-file-picker-archive-description = El archivo ZIP debe ser más pequeño que 2GB.
+profile-file-picker-archive-title = Selecciona un archivo ZIP (menor a 2GB)
+items-pane-title2 = Selecciona qué importar:
+items-pane-directory = Directorio:
+items-pane-profile-name = Nombre del perfil:
+items-pane-checkbox-accounts = Cuentas y configuración
+items-pane-checkbox-address-books = Libretas de direcciones
+items-pane-checkbox-calendars = Calendarios
+items-pane-checkbox-mail-messages = Mensajes de correo
+items-pane-override = Cualquier dato existente o idéntico no se sobrescribirá.
+
+## Import from address book file steps
+
+import-from-addr-book-file-description = Selecciona el formato de archivo que contiene los datos de tu libreta de direcciones.
+addr-book-csv-file = Archivo separado por comas o tabuladores (.csv, .tsv)
+addr-book-ldif-file = Archivo LDIF (.ldif)
+addr-book-vcard-file = Archivo vCard (.vcf, .vcard)
+addr-book-sqlite-file = Archivo de base de datos SQLite (.sqlite)
+addr-book-mab-file = Archivo de base de datos Mork (.mab)
+addr-book-file-picker = Seleccionar un archivo de la libreta de direcciones
+addr-book-csv-field-map-title = Hacer coincidir nombres de campo
+addr-book-csv-field-map-desc = Selecciona los campos de la libreta de direcciones correspondientes a los campos de origen. Desmarca los campos que no deseas importar.
+addr-book-directories-title = Selecciona dónde importar los datos elegidos
+addr-book-directories-pane-source = Archivo fuente:
+# $addressBookName (string) - name of the new address book that would be created.
+addr-book-import-into-new-directory2 = Crear un nuevo directorio llamado <strong>"{ $addressBookName }"</strong>
+# $addressBookName (string) - name of the address book to import into
+addr-book-summary-title = Importar los datos elegidos en el directorio "{ $addressBookName }"
+# $addressBookName (string) - name of the address book that will be created.
+addr-book-summary-description = Se creará una nueva libreta de direcciones llamada "{ $addressBookName }".
+
+## Import from calendar file steps
+
+import-from-calendar-file-desc = Selecciona el archivo iCalendar (.ics) que te gustaría importar.
+calendar-items-title = Selecciona qué elementos importar.
+calendar-items-loading = Cargando elementos…
+calendar-items-filter-input =
+ .placeholder = Filtrar elementos…
+calendar-select-all-items = Seleccionar todo
+calendar-deselect-all-items = Deseleccionar todo
+calendar-target-title = Selecciona dónde importar los artículos elegidos.
+# $targetCalendar (string) - name of the new calendar that would be created
+calendar-import-into-new-calendar2 = Crear un nuevo calendario llamado <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] Importar un elemento en el calendario "{ $targetCalendar }"
+ *[other] Importar { $itemCount } elementos en el calendario "{ $targetCalendar }"
+ }
+# $targetCalendar (string) - name of the calendar that will be created
+calendar-summary-description = Se creará un nuevo calendario llamado "{ $targetCalendar }".
+
+## Import dialog
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-importing2 = Importando… { $progressPercent }
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-exporting2 = Exportando… { $progressPercent }
+progress-pane-finished-desc2 = Terminado.
+error-pane-title = Error
+error-message-zip-file-too-big2 = El archivo ZIP seleccionado tiene más de 2 GB. Primero extráelo, luego impórtalo desde la carpeta extraída.
+error-message-extract-zip-file-failed2 = No se pudo extraer el archivo ZIP. Por favor, extráelo manualmente, luego impórtalo desde la carpeta extraída.
+error-message-failed = La importación falló inesperadamente, es posible que haya más información disponible en la consola de errores.
+error-failed-to-parse-ics-file = No se encontraron elementos importables en el archivo
+error-export-failed = La exportación ha fallado inesperadamente, es posible que haya más información disponible en la consola de errores.
+error-message-no-profile = No se encontró ningún perfil.
+
+## <csv-field-map> element
+
+csv-first-row-contains-headers = La primera fila contiene nombres de campo
+csv-source-field = Campo fuente
+csv-source-first-record = Primer registro
+csv-source-second-record = Segundo registro
+csv-target-field = Campo de la libreta de direcciones
+
+## Export tab
+
+export-profile-title = Exportar cuentas, mensajes, libretas de direcciones y ajustes a un archivo ZIP.
+export-profile-description = Si tu perfil actual es mayor a 2GB, te sugerimos que hagas una copia de seguridad.
+export-open-profile-folder = Abrir carpeta de perfil
+export-file-picker2 = Exportar a un archivo ZIP
+export-brand-name = { -brand-product-name }
+
+## Summary pane
+
+summary-pane-title = Datos a importar
+summary-pane-start = Iniciar importación
+summary-pane-warning = { -brand-product-name } deberá reiniciarse cuando se complete la importación.
+summary-pane-start-over = Herramienta de reinicio de importación
+
+## Footer area
+
+footer-help = ¿Necesitas ayuda?
+footer-import-documentation = Importar documentación
+footer-export-documentation = Exportar documentación
+footer-support-forum = Foro de soporte
+
+## Step navigation on top of the wizard pages
+
+step-list =
+ .aria-label = Importar pasos
+step-confirm = Confirmar
+# Variables:
+# $number (number) - step number
+step-count = { $number }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutProfilesExtra.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..a7091488cd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Lanzar perfil
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutRights.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..ad791e75f3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutRights.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/.
+
+rights-title = Acerca de sus derechos
+rights-intro = { -brand-full-name } es software libre y de código abierto, construido por una comunidad de miles de personas de todo el mundo. Estas son algunas cosas que debes saber:
+rights-intro-point-1 = { -brand-short-name } esta disponible bajo los terminos de <a data-l10n-name="mozilla-public-license-link">Licencia Pública de Mozilla</a>. Esto quiere decir que puedes usar, copiar y distribuir { -brand-short-name } a otros. Eres tambien bienvenido a modificar el código fuente de { -brand-short-name } como tu quieras para satisfacer tus necesidades. La licencia pública de Mozilla tambien te da el derecho de distribuir tus versiones modificadas.
+rights-intro-point-2 =
+ No se concede ningún derecho de marca o licencia sobre las marcas registradas de
+ la Fundación Mozilla o cualquier parte, incluyendo sin limitación el
+ nombre o el logotipo de Thunderbird. Información adicional sobre las marcas se pueden encontrar
+ <a data-l10n-name="mozilla-trademarks-link">aquí</a>.
+rights-intro-point-3 = Algunas de las características en { -brand-short-name }, tales como el informe de fallos, te darán la opción de proporcionar información a { -vendor-short-name }. Al optar por enviar tus comentarios, le das a { -vendor-short-name } permiso para utilizar la retroalimentación para mejorar sus productos, publicar tus comentarios en sus sitios Web y distribuir los comentarios.
+rights-intro-point-4 = Cómo usamos tu información personal y comentarios presentados a { -vendor-short-name } a través de { -brand-short-name } se describe en el <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name } Política de Privacidad</a>.
+rights-intro-point-4-unbranded = Cualquier política de privacidad aplicable a este producto debe estar listada aquí.
+rights-intro-point-5 = Algunas características de { -brand-short-name } hacen uso de servicios de información en la web, sin embargo, no podemos garantizar que son 100% exactos o libres de errores. Más detalles, incluyendo información sobre cómo deshabilitar las características que utilizan estos servicios, pueden encontrarse en los <a data-l10n-name="mozilla-service-terms-link">términos del servicio</a>.
+rights-intro-point-5-unbranded = Si este producto incorpora servicios web, cualesquiera términos del servicio aplicables a los servicios deberían enlazarse en los <a data-l10n-name="mozilla-website-services-link">Servicios de sitios web</a> sección.
+rights-intro-point-6 = Para reproducir ciertos tipos de contenido de video, { -brand-short-name } descarga ciertos módulos de descifrado de contenido de terceros.
+rights-webservices-header = Servicios de información de { -brand-full-name } basados en web
+rights-webservices2 = { -brand-full-name } utiliza los servicios de información basados ​​en la web ("Servicios") para proporcionar algunas de las características previstas para su uso con esta versión binaria de { -brand-short-name } bajo los términos que se describen a continuación. Si no desea utilizar uno o más de los servicios o los términos siguientes son inaceptables, puede desactivar la función o Servicio(s). Las instrucciones sobre cómo desactivar una característica o servicio en particular se pueden encontrar<a data-l10n-name="mozilla-disable-service-link">aquí</a>. Otras características y servicios pueden ser deshabilitadas en los ajustes de la aplicación.
+rights-locationawarebrowsing = <strong>Ubicación consciente de navegación: </strong>siempre es opt-in. No hay información de ubicación y es siempre enviado tu permiso. Si deseas desactivar la función por completo, sigue estos pasos:
+rights-locationawarebrowsing-term-1 = En la barra de direcciones, escribe <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Tipo geo.enabled
+rights-locationawarebrowsing-term-3 = Doble clic en la preferencia geo.enabled
+rights-locationawarebrowsing-term-4 = Ubicación consciente de navegación está desactivada
+rights-webservices-unbranded = Una visión general de los servicios de sitio web que el producto incorpora, junto con instrucciones sobre como desactivarlos, si aplican, deben incluirse aquí.
+rights-webservices-term-unbranded = Todos los términos de servicio aplicables para este producto deben estar listadas aquí.
+rights-webservices-term-1 = { -vendor-short-name } y sus contribuidores, licenciatarios y socios de trabajos que proporcionan los servicios más preciosa y actualizados. Sin embargo no podemos garantizar que esta información sea comprensible y sin errores. Por ejemplo, la navegación segura no puede identificar algunos sitios riesgosos y pueden identificar algunos sitios seguros por error y el servicio de reconocimiento de ubicación de todas las localidades devueltas por nuestros proveedores de servicio son sólo estimaciones y ni nosotros ni nuestros proveedores de servicios garantiza la precisión de las localidades previstas.
+rights-webservices-term-2 = { -vendor-short-name } puede suspender o modificar los Servicios a su disposición.
+rights-webservices-term-3 = Puedes usar estos servicios con la versión correspondiente de { -brand-short-name }, y { -vendor-short-name } te otorga derechos para hacerlo. { -vendor-short-name } y sus licenciatarios se reservan el resto de derechos de los servicios. Estos términos no limitan ningún derecho otorgado por las licencias de código abierto aplicables a { -brand-short-name } y las versiones del código fuente correspondiente de { -brand-short-name }.
+rights-webservices-term-4 = <strong>Los servicios se proporcionan "tal cual". { -vendor-short-name }, sus colaboradores, licenciatarios y distribuidores, renuncian a todas las garantías, expresas o implícitas, incluyendo, sin limitación, las garantías de que los servicios son comercializables y aptos para sus fines particulares. Usted asume todo el riesgo en cuanto a la selección de los servicios para sus fines y en cuanto a la calidad y el rendimiento de los Servicios. Algunas jurisdicciones no permiten la exclusión o limitación de garantías implícitas, por lo que esta renuncia puede no ser aplicable en su caso.</strong>
+rights-webservices-term-5 = <strong>Con excepción de lo requerido por la ley, { -vendor-short-name }, sus colaboradores, licenciatarios y distribuidores no serán responsables por ningún daño indirecto, especial, incidental, consecuente, punitivo o ejemplar que surja de alguna manera relacionados con el uso de { -brand-short-name } y los servicios. La responsabilidad colectiva en virtud de estos términos no excederá los $500 (quinientos dólares). Algunas jurisdicciones no permiten la exclusión o limitación de ciertos daños, por lo que esta exclusión y limitación puede no aplicarse a ti.</strong>
+rights-webservices-term-6 = { -vendor-short-name } puede actualizar estos términos cuando sea necesario de vez en cuando. Estos términos no pueden ser modificados o cancelados sin un acuerdo por escrito de { -vendor-short-name }.
+rights-webservices-term-7 = Estos términos se rigen por las leyes del estado de California, EE.UU. excluyendo sus conflictos de disposiciones legales. Si alguna parte de estos términos es considerada inválida o no ejecutable, las partes restantes permanecerán en pleno vigor y efecto. En el caso de un conflicto entre la traducción de estos términos y la versión en inglés, la versión en inglés prevalecerá.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportCalendar.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportCalendar.ftl
new file mode 100644
index 0000000000..b8c98257cb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Configuración del calendario
+calendars-table-heading-property = Nombre
+calendars-table-heading-value = Valor
+calendars-table-name = Nombre
+calendars-table-type = Tipo
+calendars-table-disabled = Deshabilitado
+calendars-table-username = Nombre de usuario
+calendars-table-uri = URI
+calendars-table-refreshinterval = Intervalo de actualización
+calendars-table-readonly = Sólo lectura
+calendars-table-suppressalarms = Eliminar alarmas
+calendars-table-cache-enabled = Caché habilitado
+calendars-table-imip-identity = Identidad iMIP
+calendars-table-imip-identity-disabled = iMIP deshabilitado
+calendars-table-imip-identity-account = Cuenta iMIP
+calendars-table-organizerid = Id del organizador
+calendars-table-forceemailscheduling = Forzar programación de correo electrónico
+calendars-table-capabilities-alarms-popup-supported = Alarmas emergentes compatibles
+calendars-table-capabilities-alarms-oninviations-supported = Alarmas por invitación admitidas
+calendars-table-capabilities-alarms-maxcount = Alarmas máximas por evento
+calendars-table-capabilities-attachments-supported = Adjunto admitido
+calendars-table-capabilities-categories-maxcount = Categorías máximas
+calendars-table-capabilities-privacy-supported = Estado de privacidad soportado
+calendars-table-capabilities-priority-supported = Prioridad admitida
+calendars-table-capabilities-events-supported = Evento admitido
+calendars-table-capabilities-tasks-supported = Tarea admitida
+calendars-table-capabilities-timezones-floating-supported = Hora local admitida
+calendars-table-capabilities-timezones-utc-supported = UTC/GMT soportado
+calendars-table-capabilities-autoschedule-supported = Programación automática compatible
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportChat.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportChat.ftl
new file mode 100644
index 0000000000..9a7616a7e8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Cuentas de chat
+chat-table-heading-account = ID
+chat-table-heading-protocol = Protocolo
+chat-table-heading-name = Nombre
+chat-table-heading-actions = Acciones
+chat-table-copy-debug-log = Copiar información para depuración
+ .title = Copia los errores y otros registros de esta cuenta de chat al portapapeles. Puede contener información personal como mensajes de chat.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportMail.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..df39b5bbe4
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/aboutSupportMail.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+accounts-title = Cuentas de correo y noticias
+show-private-data-main-text = Incluye nombres de cuenta
+show-private-data-explanation-text = (posiblemente información de identificación)
+accounts-ID = ID
+accounts-name = Nombre
+accounts-incoming-server = Servidor entrante
+accounts-outgoing-servers = Servidores salientes
+accounts-server-name = Nombre
+accounts-conn-security = Seguridad de la conexión
+accounts-auth-method = Método de autenticación
+accounts-default = ¿Predeterminado?
+identity-name = Identidad
+send-via-email = Enviar por correo electrónico
+app-basics-telemetry = Datos de telemetría
+app-basics-cache-use = Uso de caché
+mail-libs-title = Bibliotecas
+libs-table-heading-library = Biblioteca
+libs-table-heading-expected-version = Versión mínima esperada
+libs-table-heading-loaded-version = Versión en uso
+libs-table-heading-path = Ruta
+libs-table-heading-status = Estado
+libs-rnp-status-ok = Aceptar
+libs-rnp-status-load-failed = Falló al cargar. OpenPGP no funcionará.
+libs-rnp-status-incompatible = Versión incompatible. OpenPGP no funcionará.
+libs-rnp-status-unofficial = Versión no oficial. OpenPGP podría no funcionar como se esperaba.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountCentral.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..85e5f62401
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountCentral.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/.
+
+account-central-title = Bienvenido a { -brand-full-name }
+account-settings = Configuraciones de la cuenta
+
+# $accounts (Number) - the number of configured accounts
+setup-title =
+ { $accounts ->
+ [0] Elegir que configurar
+ [one] Configurar otra cuenta
+ *[other] Configurar otra cuenta
+ }
+about-title = Acerca de { -brand-full-name }
+resources-title = Recursos
+
+release-notes =
+ .title = Acerca de { -brand-full-name }
+
+email-label = Correo electrónico
+ .aria-label = Conectar con tu cuenta de correo electrónico existente
+email-description = { -brand-short-name } te permite conectarte a tu cuenta de correo electrónico existente para leer tus correos de manera conveniente y eficiente desde la aplicación.
+
+calendar-label = Calendario
+ .aria-label = Crear un nuevo calendario
+calendar-description = { -brand-short-name } te permite manejar eventos y te mantiene organizado. Conectarse a un calendario remoto mantendrá todos tus eventos sincronizados en todos tus dispositivos.
+
+chat-label = Chat
+ .aria-label = Conectar con tu cuenta de chat
+chat-description = { -brand-short-name } te permite conectarte a múltiples cuentas de mensajería instantánea, ofreciendo soporte para varias plataformas.
+
+filelink-label = Filelink
+ .aria-label = Configurar Filelink
+filelink-description = { -brand-short-name } te permite configurar una cuenta en la nube de Filelink para enviar fácilmente archivos adjuntos de gran tamaño.
+
+addressbook-label = Libreta de direcciones
+ .aria-label = Crear una nueva libreta de direcciones
+addressbook-description = { -brand-short-name } te permite organizar todos tus contactos en una libreta de direcciones. También puedes conectarte a una libreta de direcciones remota para mantener todos tus contactos sincronizados
+
+feeds-label = Canales
+ .aria-label = Conectarse con canales
+feeds-description = { -brand-short-name } te permite conectarte a feeds RSS/Atom para recibir noticias y actualizaciones de todo el mundo.
+
+newsgroups-label = Grupos de noticias
+ .aria-label = Conectar con grupos de noticias
+newsgroups-description = { -brand-short-name } te permite conectarte a todos los grupos de noticias que quieras.
+
+import-title = Importar desde otro programa
+import-paragraph2 = { -brand-short-name } te permite importar mensajes de correo, entradas de la libreta de direcciones, suscripciones a canales, configuración y/o filtros desde otros programas de correo y formatos comunes de libreta de direcciones.
+
+import-label = Importar
+ .aria-label = Importar datos de otros programas
+
+about-paragraph = Thunderbird es un destacado cliente de correo electrónico y calendario para todas las plataformas de código abierto, gratuito, tanto para su uso empresarial como el personal. Queremos mantenerlo seguro y que mejore cada día. Una donación nos permitirá contratar desarrolladores, pagar por la infraestructura y mantenerlo siempre al día.
+
+about-paragraph-consider-donation = <b>¡Thunderbird está financiado por usuarios como tú! Si te gusta Thunderbird, considera hacer una donación.</b> La mejor manera de asegurarse de que Thunderbird permanezca disponible es <a data-l10n-name="donation-link"> hacer una donación</a>.
+
+explore-link = Explorar características
+support-link = Soporte
+involved-link = Involúcrate
+developer-link = Documentación para desarrolladores
+
+read = Leer mensajes
+compose = Escribir un nuevo mensaje
+search = Buscar mensajes
+filter = Administrar filtros de mensajes
+nntp-subscription = Administrar suscripciones a grupos de noticias
+rss-subscription = Administrar suscripciones a canales
+e2e = Cifrado de extremo a extremo
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountManager.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountManager.ftl
new file mode 100644
index 0000000000..728343bc22
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Ajustes de { -brand-short-name }
+
+open-addons-sidebar-button = Complementos y temas
+
+account-action-add-newsgroup-account =
+ .label = Agregar cuenta de grupo de noticias…
+ .accesskey = n
+
+server-change-restart-required = Es necesario reiniciar para aplicar el nombre del servidor o el cambio de nombre de usuario.
+
+edit-vcard-dialog-accept-button = Guardar
+ .accesskey = S
+edit-vcard-dialog-cancel-button = Cancerlar
+ .accesskey = C
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountProvisioner.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountProvisioner.ftl
new file mode 100644
index 0000000000..94e524d13c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountProvisioner.ftl
@@ -0,0 +1,78 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-provisioner-tab-title = Obtén una nueva dirección de correo electrónico de un proveedor de servicios
+
+provisioner-searching-icon =
+ .alt = Buscando…
+
+account-provisioner-title = Crear una nueva dirección de correo electrónico
+
+account-provisioner-description = Usar nuestros socios de confianza para obtener una nueva dirección de correo electrónico privada y segura.
+
+account-provisioner-start-help = Los términos de búsqueda usados se envían a { -vendor-short-name } (<a data-l10n-name="mozilla-privacy-link">Política de privacidad</a>) y a los proveedores de correo electrónico de terceros <strong>mailfence.com</strong> (<a data-l10n-name="mailfence-privacy-link">Política de privacidad</a>, <a data-l10n-name="mailfence-tou-link">Términos de uso</a>) y <strong>gandi.net</strong> (<a data-l10n-name="gandi-privacy-link">Política de privacidad</a>, <a data-l10n-name="gandi-tou-link">Términos de uso</a>) para encontrar direcciones de correo electrónicos disponibles.
+
+account-provisioner-mail-account-title = Comprar una nueva dirección de correo electrónico
+
+account-provisioner-mail-account-description = Thunderbird se asoció con <a data-l10n-name="mailfence-home-link">Mailfence</a> para ofrecerte un nuevo correo electrónico privado y seguro. Creemos que todo el mundo debería tener un correo electrónico seguro.
+
+account-provisioner-domain-title = Comprar un correo electrónico y un dominio propio
+
+account-provisioner-domain-description = Thunderbird se asoció con <a data-l10n-name="gandi-home-link">Gandi</a> para ofrecerte un dominio personalizado. Esto te permite usar cualquier dirección en ese dominio.
+
+## Forms
+
+account-provisioner-mail-input =
+ .placeholder = Tu nombre, apodo u otro término de búsqueda
+
+account-provisioner-domain-input =
+ .placeholder = Tu nombre, apodo u otro término de búsqueda
+
+account-provisioner-search-button = Buscar
+
+account-provisioner-button-cancel = Cancelar
+
+account-provisioner-button-existing = Usar una cuenta de correo electrónico existente
+
+account-provisioner-button-back = Regresar
+
+## Notifications
+
+account-provisioner-fetching-provisioners = Recuperando proveedores…
+
+account-provisioner-connection-issues = No se puede comunicar con nuestros servidores de registro. Comprueba tu conexión.
+
+account-provisioner-searching-email = Buscando cuentas de correo electrónico disponibles…
+
+account-provisioner-searching-domain = Buscando dominios disponibles…
+
+account-provisioner-searching-error = No se pudo encontrar ninguna dirección para sugerir. Intenta cambiar los términos de búsqueda.
+
+## Illustrations
+
+account-provisioner-step1-image =
+ .title = Elige que cuenta crear
+
+## Search results
+
+# Variables:
+# $count (Number) - The number of domains found during search.
+account-provisioner-results-title =
+ { $count ->
+ [one] Una dirección disponible encontrada para:
+ *[other] { $count } direcciones disponibles encontradas para:
+ }
+
+account-provisioner-mail-results-caption = Puedes intentar buscar apodos o algún otro término para encontrar más correos electrónicos.
+
+account-provisioner-domain-results-caption = Puedes intentar buscar apodos o algún otro término para encontrar más dominios.
+
+account-provisioner-free-account = Gratis
+
+account-provision-price-per-year = { $price } al año
+
+account-provisioner-all-results-button = Mostrar todos los resultados
+
+account-provisioner-open-in-tab-img =
+ .title = Se abre en una pestaña nueva
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountHub.ftl
new file mode 100644
index 0000000000..95767fd9e5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountHub.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/.
+
+
+### Account Hub
+### Account hub is where user can setup new accounts in Thunderbird.
+
+
+## Header
+
+account-hub-brand = { -brand-full-name }
+account-hub-welcome-line = Te damos la bienvenida a <span data-l10n-name="brand-name">{ -brand-full-name }
+account-hub-title = Centro de cuentas
+
+## Footer
+
+account-hub-release-notes = Notas de la versión
+account-hub-support = Soporte
+account-hub-donate = Donar
+
+## Start page
+
+account-hub-email-button = Configurar una cuenta de correo electrónico
+account-hub-new-email-button = Obtener una nueva dirección de correo electrónico
+account-hub-calendar-button = Configurar el calendario
+account-hub-address-book-button = Configurar la libreta de direcciones
+account-hub-chat-button = Configurar el chat
+account-hub-feed-button = Configurar fuente RSS
+account-hub-newsgroup-button = Configurar grupo de noticias
+account-hub-import-button = Importar perfil
+
+## Initial setup page
+
+account-hub-email-setup-button = Cuenta de correo electrónico
+ .title = Configurar una cuenta de correo electrónico
+account-hub-calendar-setup-button = Calendario
+ .title = Configurar un calendario local o remoto
+account-hub-address-book-setup-button = Libreta de direcciones
+ .title = Configurar una libreta de direcciones local o remota
+account-hub-chat-setup-button = Chat
+ .title = Configurar una cuenta de chat
+account-hub-feed-setup-button = Fuente RSS
+ .title = Configurar una cuenta de fuente RSS
+account-hub-newsgroup-setup-button = Grupo de noticias
+ .title = Configurar una cuenta de grupo de noticias
+account-hub-import-setup-button = Importar
+ .title = Importar un perfil respaldado
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+account-hub-sync-button = Iniciar sesión en Sync…
+
+## Email page
+
+account-hub-email-title = Configura tu cuenta de correo electrónico
+account-hub-email-cancel-button = Cancelar
+account-hub-email-back-button = Atrás
+account-hub-email-continue-button = Continuar
+account-hub-email-confirm-button = Confirmar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountSetup.ftl
new file mode 100644
index 0000000000..1871394c41
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/accountcreation/accountSetup.ftl
@@ -0,0 +1,428 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-setup-tab-title = Configuración de cuenta
+
+## Header
+
+account-setup-title = Configurar tu dirección de correo electrónico existente.
+
+account-setup-description = Para utilizar tu dirección de correo electrónico actual, rellena tu credenciales.
+
+account-setup-secondary-description = { -brand-product-name } buscará automáticamente una configuración de servidor recomendada y que funcione.
+
+account-setup-success-title = Cuenta creada correctamente
+
+account-setup-success-description = Ahora puedes usar esta cuenta con { -brand-short-name }.
+
+account-setup-success-secondary-description = Puedes mejorar la experiencia conectando servicios relacionados y configurando la configuración de cuentas avanzadas.
+
+## Form fields
+
+account-setup-name-label = Tu nombre completo
+ .accesskey = n
+
+# Note: "John Doe" is a multiple-use name that is used when the true name of a person is unknown. We use this fake name as an input placeholder. Translators should update this to reflect the placeholder name of their language/country.
+account-setup-name-input =
+ .placeholder = John Doe
+
+account-setup-name-info-icon =
+ .title = Tu nombre, como se muestra a otros usuarios
+
+
+account-setup-name-warning-icon =
+ .title = Por favor, ingresa tu nombre
+
+account-setup-email-label = Dirección de correo electrónico
+ .accesskey = D
+
+account-setup-email-input =
+ .placeholder = john.doe@example.com
+
+account-setup-email-info-icon =
+ .title = Tu correo electrónico existente
+
+account-setup-email-warning-icon =
+ .title = Dirección de correo electrónico no válido
+
+account-setup-password-label = Contraseña
+ .accesskey = C
+ .title = Opcional, solo es usará para validar el nombre de usuario
+
+account-provisioner-button = Obtener una nueva dirección de correo electrónico
+ .accesskey = O
+
+account-setup-password-toggle-show =
+ .title = Mostrar contraseña en texto sin cifrar
+
+account-setup-password-toggle-hide =
+ .title = Ocultar contraseña
+
+account-setup-remember-password = Recordar contraseña
+ .accesskey = m
+
+account-setup-exchange-label = Tu inicio de sesión
+ .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 = TUDOMINIO\tunombredeusuario
+
+# 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 = Inicio de sesión de dominio
+
+## Action buttons
+
+account-setup-button-cancel = Cancelar
+ .accesskey = a
+
+account-setup-button-manual-config = Configurar manualmente
+ .accesskey = m
+
+account-setup-button-stop = Detener
+ .accesskey = D
+
+account-setup-button-retest = Volver a probar
+ .accesskey = V
+
+account-setup-button-continue = Continuar
+ .accesskey = C
+
+account-setup-button-done = Hecho
+ .accesskey = H
+
+## Notifications
+
+account-setup-looking-up-settings = Buscando la configuración…
+
+account-setup-looking-up-settings-guess = Buscando configuración: Intentando con nombres de servidor comunes…
+
+account-setup-looking-up-settings-half-manual = Buscando configuración: probando el servidor…
+
+account-setup-looking-up-disk = Buscando configuración: instalación de { -brand-short-name }…
+
+account-setup-looking-up-isp = Buscando configuración: Proveedor de correo electrónico…
+
+# 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 = Buscando configuración: base de datos ISP de Mozilla…
+
+account-setup-looking-up-mx = Buscando configuración: dominio de correo entrante…
+
+account-setup-looking-up-exchange = Buscando la configuración: servidor de Exchange…
+
+account-setup-checking-password = Verificando contraseña…
+
+account-setup-installing-addon = Descargando e instalando complemento…
+
+account-setup-success-half-manual = Se encontraron las siguientes configuraciones probando el servidor proporcionado:
+
+account-setup-success-guess = Se ha encontrado la configuración probando los nombres de los servidores que se utilizan comúnmente.
+
+account-setup-success-guess-offline = No estás conectado. Se han adivinado algunas configuraciones pero necesitarás ingresar la configuración correcta.
+
+account-setup-success-password = Contraseña correcta
+
+account-setup-success-addon = El complemento se instaló correctamente
+
+# 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 = Se ha encontrado la configuración en la base de datos ISP de Mozilla.
+
+account-setup-success-settings-disk = Configuración encontrada en la instalación de { -brand-short-name }.
+
+account-setup-success-settings-isp = Se ha encontrado la configuración en el proveedor de correo electrónico.
+
+# Note: Microsoft Exchange is a product name.
+account-setup-success-settings-exchange = Configuración encontrada para un servidor de Microsoft Exchange.
+
+## Illustrations
+
+account-setup-step1-image =
+ .title = Configuración inicial
+
+account-setup-step2-image =
+ .title = Cargando…
+
+account-setup-step3-image =
+ .title = Configuración encontrada
+
+account-setup-step4-image =
+ .title = Error de conexión
+
+account-setup-step5-image =
+ .title = Cuenta creada
+
+account-setup-privacy-footnote2 = Tus credenciales solo se almacenarán localmente en tu equipo.
+
+account-setup-selection-help = ¿No estás seguro de qué seleccionar?
+
+account-setup-selection-error = ¿Necesitas ayuda?
+
+account-setup-success-help = ¿No estás seguro de tus próximos pasos?
+
+account-setup-documentation-help = Documentación de instalación
+
+account-setup-forum-help = Foro de soporte
+
+account-setup-privacy-help = Política de privacidad
+
+account-setup-getting-started = Comenzar
+
+## Results area
+
+# Variables:
+# $count (Number) - Number of available protocols.
+account-setup-results-area-title =
+ { $count ->
+ [one] Configuración disponible
+ *[other] Configuraciones disponibles
+ }
+
+account-setup-result-imap-description = Mantén tus carpetas y correos electrónicos sincronizados en tu servidor
+
+account-setup-result-pop-description = Mantén tus carpetas y correos electrónicos en tu computadora
+
+# Note: Exchange, Office365 are the name of products.
+account-setup-result-exchange2-description = Usar el servidor de Microsoft Exchange o los servicios en la nube de Office365
+
+account-setup-incoming-title = Entrante
+
+account-setup-outgoing-title = Saliente
+
+account-setup-username-title = Nombre de usuario
+
+account-setup-exchange-title = Servidor
+
+account-setup-result-no-encryption = Sin cifrar
+
+account-setup-result-ssl = SSL/TLS
+
+account-setup-result-starttls = STARTTLS
+
+account-setup-result-outgoing-existing = Usar servidor SMTP de salida existente
+
+# 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 = Entrante: { $incoming }, saliente: { $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 = Autenticación fallida. Las credenciales ingresadas son incorrectas o se requiere un nombre de usuario diferente para iniciar sesión. Este nombre de usuario suele ser tu inicio de sesión para el dominio de Windows con o sin el dominio (por ejemplo, janedoe o AD\\janedoe).
+
+account-setup-credentials-wrong = Autenticación fallida. Por favor, comprueba el nombre de usuario y contraseña
+
+account-setup-find-settings-failed = { -brand-short-name } no pudo encontrar la configuración de tu cuenta de correo electrónico
+
+account-setup-exchange-config-unverifiable = No se pudo verificar la configuración. Si tu nombre de usuario y contraseña son correctos, es probable que el administrador del servidor haya inhabilitado la configuración seleccionada para tu cuenta. Intenta seleccionar otro protocolo.
+
+account-setup-provisioner-error = Se produjo un error al configurar tu nueva cuenta en { -brand-short-name }. Por favor, intenta configurar manualmente tu cuenta con tus credenciales.
+
+## Manual configuration area
+
+account-setup-manual-config-title = Configuración manual
+
+account-setup-incoming-server-legend = Servidor entrante
+
+account-setup-protocol-label = Protocolo:
+
+account-setup-hostname-label = Nombre del servidor:
+
+account-setup-port-label = Puerto:
+ .title = Establecer el número del puerto en 0 para la detección automática
+
+account-setup-auto-description = { -brand-short-name } intentará detectar automáticamente los campos que se dejan en blanco.
+
+account-setup-ssl-label = Seguridad de la conexión:
+
+account-setup-outgoing-server-legend = Servidor de salida
+
+## Incoming/Outgoing SSL Authentication options
+
+ssl-autodetect-option = Autodetectar
+
+ssl-no-authentication-option = Sin autenticación
+
+ssl-cleartext-password-option = Contraseña normal
+
+ssl-encrypted-password-option = Contraseña cifrada
+
+## Incoming/Outgoing SSL options
+
+ssl-noencryption-option = Ninguno
+
+account-setup-auth-label = Método de autenticación:
+
+account-setup-username-label = Nombre de usuario:
+
+account-setup-advanced-setup-button = Configuración avanzada
+ .accesskey = a
+
+## Warning insecure server dialog
+
+account-setup-insecure-title = ¡Advertencia!
+
+account-setup-insecure-incoming-title = Configuraciones de entrada:
+
+account-setup-insecure-outgoing-title = Configuraciones de salida:
+
+# 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> no usa cifrado.
+
+account-setup-warning-cleartext-details = Los servidores de correo inseguros no utilizan conexiones cifradas para proteger tus contraseñas e información privada. Al conectarse a este servidor, podrías exponer tu contraseña e información privada.
+
+account-setup-insecure-server-checkbox = Entiendo los riesgos
+ .accesskey = E
+
+account-setup-insecure-description = { -brand-short-name } puede permitirte llegar a tu correo, utilizando las configuraciones proporcionadas. Sin embargo, debes contactar a tu administrador o proveedor de correo electrónico con respecto a estas conexiones incorrectas. Mira las <a data-l10n-name="thunderbird-faq-link">preguntas frecuentes de Thunderbird</a> para más información.
+
+insecure-dialog-cancel-button = Cambiar la configuración
+ .accesskey = o
+
+insecure-dialog-confirm-button = Confirmar
+ .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 } encontró la información de configuración de tu cuenta en { $domain }. ¿Quieres continuar y enviar tus credenciales?
+
+exchange-dialog-confirm-button = Iniciar sesión
+
+exchange-dialog-cancel-button = Cancelar
+
+## Dismiss account creation dialog
+
+exit-dialog-title = No se configuró ninguna cuenta de correo electrónico
+
+exit-dialog-description = ¿Estás seguro de que deseas cancelar el proceso de configuración? { -brand-short-name } aún se puede usar sin una cuenta de correo electrónico, pero muchas funciones no estarán disponibles.
+
+account-setup-no-account-checkbox = Usar { -brand-short-name } sin una cuenta de correo electrónico
+ .accesskey = U
+
+exit-dialog-cancel-button = Continuar la instalación
+ .accesskey = C
+
+exit-dialog-confirm-button = Salir de la configuración
+ .accesskey = S
+
+## Alert dialogs
+
+account-setup-creation-error-title = Error al crear la cuenta
+
+account-setup-error-server-exists = El servidor de entrada ya existe.
+
+account-setup-confirm-advanced-title = Confirmar configuración avanzada
+
+account-setup-confirm-advanced-description = Este diálogo se cerrará y se creará una cuenta con la configuración actual, aún cuando la configuración sea incorrecta. ¿Deseas continuar?
+
+## Addon installation section
+
+account-setup-addon-install-title = Instalar
+
+account-setup-addon-install-intro = Un complemento de terceros puede permitirte acceder a tu cuenta de correo electrónico en este servidor:
+
+account-setup-addon-no-protocol = Este servidor de correo desafortunadamente no soporta protocolos abiertos. { account-setup-addon-install-intro }
+
+## Success view
+
+account-setup-settings-button = Ajustes de la cuenta
+
+account-setup-encryption-button = Cifrado de extremo a extremo
+
+account-setup-signature-button = Agregar una firma
+
+account-setup-dictionaries-button = Descargar diccionarios
+
+account-setup-address-book-carddav-button = Conectarse a una libreta de direcciones CardDAV
+
+account-setup-address-book-ldap-button = Conectarse a una libreta de direcciones LDAP
+
+account-setup-calendar-button = Conectar a un calendario remoto
+
+account-setup-linked-services-title = Conectar tus servicios vinculados
+
+account-setup-linked-services-description = { -brand-short-name } detectó otros servicios vinculados a tu cuenta de correo electrónico.
+
+account-setup-no-linked-description = Configura otros servicios para sacar el máximo partido a tu experiencia 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 } encontró una libreta de direcciones vinculada a tu cuenta de correo electrónico.
+ *[other] { -brand-short-name } encontró { $count } libretas de direcciones vinculadas a tu cuenta de correo electrónico.
+ }
+
+# Variables:
+# $count (Number) - The number of calendars found during autoconfig.
+account-setup-found-calendars-description =
+ { $count ->
+ [one] { -brand-short-name } encontró un calendario vinculado a tu cuenta de correo electrónico.
+ *[other] { -brand-short-name } encontró { $count } calendarios vinculados a tu cuenta de correo electrónico.
+ }
+
+account-setup-button-finish = Finalizar
+ .accesskey = F
+
+account-setup-looking-up-address-books = Buscando libretas de direcciones…
+
+account-setup-looking-up-calendars = Buscando calendarios…
+
+account-setup-address-books-button = Libretas de direcciones
+
+account-setup-calendars-button = Calendarios
+
+account-setup-connect-link = Conectar
+
+account-setup-existing-address-book = Conectado
+ .title = Libreta de direcciones conectada
+
+account-setup-existing-calendar = Conectado
+ .title = Calendario conectado
+
+account-setup-connect-all-calendars = Conectar todos los calendarios
+
+account-setup-connect-all-address-books = Conectar todas las libretas de direcciones
+
+## Calendar synchronization dialog
+
+calendar-dialog-title = Conectar calendario
+
+calendar-dialog-cancel-button = Cancelar
+ .accesskey = C
+
+calendar-dialog-confirm-button =
+ Conectar
+ Conectar
+ .accesskey = n
+
+account-setup-calendar-name-label = Nombre
+
+account-setup-calendar-name-input =
+ .placeholder = Mi calendario
+
+account-setup-calendar-color-label = Color
+
+account-setup-calendar-refresh-label = Refrescar
+
+account-setup-calendar-refresh-manual = Manualmente
+
+account-setup-calendar-refresh-interval =
+ { $count ->
+ [one] Cada minuto
+ *[other] Cada { $count } minutos
+ }
+
+account-setup-calendar-read-only = Sólo lectura
+ .accesskey = R
+
+account-setup-calendar-show-reminders = Mostrar recordatorios
+ .accesskey = M
+
+account-setup-calendar-offline-support = Soporte sin conexión
+ .accesskey = c
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/addonNotifications.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addonNotifications.ftl
new file mode 100644
index 0000000000..0b4dc0ea5e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addonNotifications.ftl
@@ -0,0 +1,105 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+xpinstall-prompt = { -brand-short-name } impidió que este sitio solicite autorización para instalar software en tu computadora.
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+xpinstall-prompt-header = ¿Permitir que { $host } instale un complemento?
+xpinstall-prompt-message = Estás intentando instalar un complemento desde { $host }. Asegúrate de que confías en el sitio antes de continuar.
+
+##
+
+xpinstall-prompt-header-unknown = ¿Permitir que un sitio desconocido instale un complemento?
+xpinstall-prompt-message-unknown = Estás intentando instalar un complemento desde un sitio desconocido. Asegúrate de que confías en el sitio antes de continuar.
+xpinstall-prompt-dont-allow =
+ .label = No permitir
+ .accesskey = D
+xpinstall-prompt-never-allow =
+ .label = Nunca permitir
+ .accesskey = N
+# 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 = Continuar a la instalación
+ .accesskey = C
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+
+##
+
+xpinstall-disabled-locked = La instalación de software ha sido deshabilitado por tu administrador de sistema.
+xpinstall-disabled = La instalación de software está actualmente deshabilitada. Haz clic para habilitar e intenta de nuevo.
+xpinstall-disabled-button =
+ .label = Habilitar
+ .accesskey = n
+# This message is shown when the installation of an add-on is blocked by enterprise policy.
+# Variables:
+# $addonName (String): the name of the add-on.
+# $addonId (String): the ID of add-on.
+addon-install-blocked-by-policy = { $addonName } ({ $addonId }) está bloqueado por tu administrador de sistema.
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-domain-blocked-by-policy = Tu administrador de sistema ha evitado que este sitio te pidiera que instales software en tu computadora.
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = { $addonName } agregado a { -brand-short-name }
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = { $addonName } requiere nuevos permisos
+
+## Add-on removal warning
+
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying =
+ { $addonCount ->
+ [one] Descargando y verificando complemento…
+ *[other] Descargando y verificando { $addonCount } complementos…
+ }
+addon-download-verifying = Verificando
+addon-install-cancel-button =
+ .label = Cancelar
+ .accesskey = C
+addon-install-accept-button =
+ .label = Agregar
+ .accesskey = A
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message =
+ { $addonCount ->
+ [one] A este sitio le gustaría instalar un complemento en { -brand-short-name }:
+ *[other] A este sitio le gustaría instalar { $addonCount } complementos en { -brand-short-name }:
+ }
+addon-confirm-install-unsigned-message =
+ { $addonCount ->
+ [one] Precaución: A este sitio le gustaría instalar un complemento no verificado en { -brand-short-name }. Continúa bajo tu propio riesgo.
+ *[other] Precaución: A este sitio le gustaría instalar { $addonCount } complementos sin verificar en { -brand-short-name }. Continúa bajo tu propio riesgo.
+ }
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message = Precaución: A este sitio le gustaría instalar { $addonCount } complementos en { -brand-short-name }, algunos están sin verificar. Continúa bajo tu propio riesgo.
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = El complemento no puede ser descargado porque la conexión ha fallado.
+addon-install-error-incorrect-hash = El complemento no puede ser instalado porque no coincide el complemento { -brand-short-name } esperado.
+addon-install-error-corrupt-file = El complemento descargado desde este sitio no puede ser instalado porque parece que está corrupto.
+addon-install-error-file-access = { $addonName } no puede ser instalado porque { -brand-short-name } no puede modificar el archivo necesario.
+addon-install-error-not-signed = { -brand-short-name } impidió que este sitio instalara un complemento no verificado.
+addon-local-install-error-network-failure = Este complemento no puede ser instalado debido a un error en el sistema de archivos.
+addon-local-install-error-incorrect-hash = Este complemento no puede ser instalado porque no coincide el complemento { -brand-short-name } esperado.
+addon-local-install-error-corrupt-file = Este complemento no puede ser instalado porque parece que está corrupto.
+addon-local-install-error-file-access = { $addonName } no puede ser instalado porque { -brand-short-name } no puede modificar el archivo necesario.
+addon-local-install-error-not-signed = Este complemento no puede ser instalado porque no ha sido verificado.
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = { $addonName } no puede ser instalado porque no es compatible con { -brand-short-name } { $appVersion }.
+addon-install-error-blocklisted = { $addonName } no puede ser instalado porque tiene un alto riesgo de causar problemas de estabilidad o seguridad.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..5695203f94
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Nueva libreta de direcciones CardDAV
+
+carddav-dialog =
+ .buttonlabelaccept = Continuar
+ .buttonaccesskeyaccept = C
+
+carddav-username-label =
+ .value = Usuario:
+ .accesskey = U
+carddav-location-label =
+ .value = Ubicación
+ .accesskey = U
+carddav-location =
+ .default-placeholder = URL o nombre de host del servidor de la libreta de direcciones
+
+carddav-loading = Buscando la configuración…
+carddav-known-incompatible = Se sabe que { $url } es incompatible con { -brand-short-name }.
+carddav-connection-error = No se pudo conectar.
+carddav-none-found = No se encontraron libretas de direcciones para agregar a la cuenta especificada.
+carddav-already-added = Ya se han agregado todas las libretas de direcciones para la cuenta especificada.
+
+carddav-available-books = Libretas de direcciones disponibles:
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/abCardDAVProperties.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..e7ff47b3d0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 de CardDAV:
+ .accesskey = V
+
+carddav-refreshinterval-label =
+ .label = Sincronizar:
+ .accesskey = S
+
+# Variables:
+# $minutes (integer) - Number of minutes between address book synchronizations
+carddav-refreshinterval-minutes-value =
+ .label =
+ { $minutes ->
+ [one] cada minuto
+ *[other] cada { $minutes } minutos
+ }
+
+# Variables:
+# $hours (integer) - Number of hours between address book synchronizations
+carddav-refreshinterval-hours-value =
+ .label =
+ { $hours ->
+ [one] cada hora
+ *[other] cada { $hours } horas
+ }
+
+carddav-readonly-label =
+ .label = Sólo lectura
+ .accesskey = l
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/aboutAddressBook.ftl
new file mode 100644
index 0000000000..9e2ce19621
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/aboutAddressBook.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/.
+
+about-addressbook-title = Libreta de direcciones
+
+## Toolbar
+
+about-addressbook-toolbar-new-address-book =
+ .label = Nueva libreta de direcciones
+about-addressbook-toolbar-add-carddav-address-book =
+ .label = Agregar libreta de direcciones CardDAV
+about-addressbook-toolbar-add-ldap-address-book =
+ .label = Agregar libreta de direcciones LDAP
+about-addressbook-toolbar-new-contact =
+ .label = Nuevo contacto
+about-addressbook-toolbar-new-list =
+ .label = Nueva lista
+about-addressbook-toolbar-import =
+ .label = Importar
+
+## Books
+
+all-address-books-row =
+ .title = Todas las libretas de direcciones
+all-address-books = Todas las libretas de direcciones
+# Variables:
+# $name (String) - The name of the selected book/list.
+# $count (Number) - The number of contacts in the selected book/list.
+about-addressbook-card-count = Total de contactos en { $name }: { $count }
+# Variables:
+# $count (Number) - The number of contacts in all address books.
+about-addressbook-card-count-all = Total de contactos en todas las libretas de direcciones: { $count }
+about-addressbook-books-context-properties =
+ .label = Propiedades
+about-addressbook-books-context-edit-list =
+ .label = Editar lista
+about-addressbook-books-context-synchronize =
+ .label = Sincronizar
+about-addressbook-books-context-edit =
+ .label = Editar
+about-addressbook-books-context-print =
+ .label = Imprimir…
+about-addressbook-books-context-export =
+ .label = Exportar…
+about-addressbook-books-context-delete =
+ .label = Eliminar
+about-addressbook-books-context-remove =
+ .label = Eliminar
+about-addressbook-books-context-startup-default =
+ .label = Carpeta de inicio predeterminada
+about-addressbook-confirm-delete-book-title = Borrar libreta de direcciones
+# Variables:
+# $name (String) - Name of the address book to be deleted.
+about-addressbook-confirm-delete-book = ¿Estás seguro de que deseas eliminar { $name } y todos los contactos?
+about-addressbook-confirm-remove-remote-book-title = Eliminar libreta de direcciones
+# Variables:
+# $name (String) - Name of the remote address book to be removed.
+about-addressbook-confirm-remove-remote-book = ¿Estás seguro de que deseas eliminar { $name }?
+
+## Cards
+
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search =
+ .placeholder = Buscar { $name }
+about-addressbook-search-all =
+ .placeholder = Buscar en todas las libretas de direcciones
+about-addressbook-sort-button2 =
+ .title = Lista de opciones de visualización
+about-addressbook-name-format-display =
+ .label = Mostrar nombre
+about-addressbook-name-format-firstlast =
+ .label = Nombre y apellido
+about-addressbook-name-format-lastfirst =
+ .label = Apellido, nombre
+about-addressbook-sort-name-ascending =
+ .label = Ordenar por nombre (A > Z)
+about-addressbook-sort-name-descending =
+ .label = Ordenar por nombre (Z > A)
+about-addressbook-sort-email-ascending =
+ .label = Ordenar por dirección de correo electrónico (A > Z)
+about-addressbook-sort-email-descending =
+ .label = Ordenar por dirección de correo electrónico (Z > A)
+about-addressbook-horizontal-layout =
+ .label = Cambiar a diseño horizontal
+about-addressbook-vertical-layout =
+ .label = Cambiar a diseño vertical
+about-addressbook-table-layout =
+ .label = Disposición de la tabla
+
+## Card column headers
+## Each string is listed here twice, and the values should match.
+
+about-addressbook-column-header-generatedname = Nombre
+about-addressbook-column-label-generatedname =
+ .label = { about-addressbook-column-header-generatedname }
+about-addressbook-column-header-emailaddresses = Direcciones de correo
+about-addressbook-column-label-emailaddresses =
+ .label = { about-addressbook-column-header-emailaddresses }
+about-addressbook-column-header-nickname = Nombre de usuario
+about-addressbook-column-label-nickname =
+ .label = { about-addressbook-column-header-nickname }
+about-addressbook-column-header-phonenumbers = Números de teléfono
+about-addressbook-column-label-phonenumbers =
+ .label = { about-addressbook-column-header-phonenumbers }
+about-addressbook-column-header-addresses = Direcciones
+about-addressbook-column-label-addresses =
+ .label = { about-addressbook-column-header-addresses }
+about-addressbook-column-header-title = Título
+about-addressbook-column-label-title =
+ .label = { about-addressbook-column-header-title }
+about-addressbook-column-header-department = Departamento
+about-addressbook-column-label-department =
+ .label = { about-addressbook-column-header-department }
+about-addressbook-column-header-organization = Organización
+about-addressbook-column-label-organization =
+ .label = { about-addressbook-column-header-organization }
+about-addressbook-column-header-addrbook = Libreta de direcciones
+about-addressbook-column-label-addrbook =
+ .label = { about-addressbook-column-header-addrbook }
+about-addressbook-column-header-generatedname2 = Nombre
+ .title = Ordenar por nombre
+about-addressbook-column-label-generatedname2 =
+ .label = Nombre
+about-addressbook-column-header-emailaddresses2 = Dirección de correo electrónico
+ .title = Ordenar por dirección de correo electrónico
+about-addressbook-column-label-emailaddresses2 =
+ .label = Direcciones de correo electrónico
+about-addressbook-column-header-nickname2 = Apodo
+ .title = Ordenar por apodo
+about-addressbook-column-label-nickname2 =
+ .label = Apodo
+about-addressbook-column-header-phonenumbers2 = Números de teléfono
+ .title = Ordenar por números de teléfono
+about-addressbook-column-label-phonenumbers2 =
+ .label = Números de teléfono
+about-addressbook-column-header-addresses2 = Direcciones
+ .title = Ordenar por direcciones
+about-addressbook-column-label-addresses2 =
+ .label = Direcciones
+about-addressbook-column-header-title2 = Título
+ .title = Ordenar por título
+about-addressbook-column-label-title2 =
+ .label = Título
+about-addressbook-column-header-department2 = Departamento
+ .title = Ordenar por departamento
+about-addressbook-column-label-department2 =
+ .label = Departamento
+about-addressbook-column-header-organization2 = Organización
+ .title = Ordenar por organización
+about-addressbook-column-label-organization2 =
+ .label = Organización
+about-addressbook-column-header-addrbook2 = Libreta de direcciones
+ .title = Ordenar por libreta de direcciones
+about-addressbook-column-label-addrbook2 =
+ .label = Libreta de direcciones
+about-addressbook-cards-context-write =
+ .label = Escribir
+about-addressbook-confirm-delete-mixed-title = Eliminar contactos y listas
+# Variables:
+# $count (Number) - The number of contacts and lists to be deleted. Always greater than 1.
+about-addressbook-confirm-delete-mixed = ¿Estás seguro de que deseas eliminar estos { $count } contactos y listas?
+# Variables:
+# $count (Number) - The number of lists to be deleted.
+about-addressbook-confirm-delete-lists-title =
+ { $count ->
+ [one] Eliminar lista
+ *[other] Eliminar listas
+ }
+# 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] ¿Estás seguro de que deseas eliminar la lista { $name }?
+ *[other] ¿Estás seguro de que deseas eliminar estas { $count } listas?
+ }
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+about-addressbook-confirm-remove-contacts-title =
+ { $count ->
+ [one] Eliminar contacto
+ *[other] Eliminar contactos
+ }
+# 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] ¿Estás seguro de que deseas eliminar a { $name } de { $list }?
+ *[other] ¿Estás seguro de que deseas eliminar estos { $count } contactos de { $list }?
+ }
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-title =
+ { $count ->
+ [one] Borrar contacto
+ *[other] Borrar contactos
+ }
+# 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] ¿Estás seguro de que deseas eliminar el contacto { $name }?
+ *[other] ¿Estás seguro de que deseas eliminar estos { $count } contactos?
+ }
+
+## Card list placeholder
+## Shown when there are no cards in the list
+
+about-addressbook-placeholder-empty-book = No hay contactos disponibles
+about-addressbook-placeholder-new-contact = Nuevo contacto
+about-addressbook-placeholder-search-only = Esta libreta de direcciones muestra contactos solamente después de una búsqueda
+about-addressbook-placeholder-searching = Buscando…
+about-addressbook-placeholder-no-search-results = No se encontraron contactos
+
+## Details
+
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than two)
+about-addressbook-selection-mixed-header = { $count } contactos seleccionados y listas
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header = { $count } contactos seleccionados
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header = { $count } listas seleccionadas
+about-addressbook-details-edit-photo =
+ .title = Editar foto de contacto
+about-addressbook-new-contact-header = Nuevo contacto
+about-addressbook-prefer-display-name = Preferir el nombre para mostrar sobre el encabezado del mensaje
+about-addressbook-write-action-button = Escribir
+about-addressbook-event-action-button = Evento
+about-addressbook-search-action-button = Buscar
+about-addressbook-new-list-action-button = Nueva lista
+about-addressbook-begin-edit-contact-button = Editar
+about-addressbook-delete-edit-contact-button = Eliminar
+about-addressbook-cancel-edit-contact-button = Cancelar
+about-addressbook-save-edit-contact-button = Guardar
+about-addressbook-add-contact-to = Agregar a:
+about-addressbook-details-email-addresses-header = Direcciones de correo electrónico
+about-addressbook-details-phone-numbers-header = Números de teléfono
+about-addressbook-details-addresses-header = Direcciones
+about-addressbook-details-notes-header = Notas
+about-addressbook-details-impp-header = Mensajería instantánea
+about-addressbook-details-websites-header = Sitios web
+about-addressbook-details-other-info-header = Otra información
+about-addressbook-entry-type-work = Trabajo
+about-addressbook-entry-type-home = Casa
+about-addressbook-entry-type-fax = Fax
+# Or "Mobile"
+about-addressbook-entry-type-cell = Celular
+about-addressbook-entry-type-pager = Localizador
+about-addressbook-entry-name-birthday = Cumpleaños
+about-addressbook-entry-name-anniversary = Aniversario
+about-addressbook-entry-name-title = Título
+about-addressbook-entry-name-role = Rol
+about-addressbook-entry-name-organization = Organización
+about-addressbook-entry-name-website = Sitio web
+about-addressbook-entry-name-time-zone = Zona horaria
+about-addressbook-entry-name-custom1 = Personalizar 1
+about-addressbook-entry-name-custom2 = Personalizar 2
+about-addressbook-entry-name-custom3 = Personalizar 3
+about-addressbook-entry-name-custom4 = Personalizar 4
+about-addressbook-unsaved-changes-prompt-title = Cambios sin guardar
+about-addressbook-unsaved-changes-prompt = ¿Deseas guardar tus cambios antes de salir de la vista de edición?
+
+# Photo dialog
+
+about-addressbook-photo-drop-target = Suelta o pega una foto aquí, o haz clic para seleccionar un archivo.
+about-addressbook-photo-drop-loading = Cargando foto…
+about-addressbook-photo-drop-error = No se pudo cargar la foto.
+about-addressbook-photo-filepicker-title = Selecciona un archivo de imagen
+about-addressbook-photo-discard = Descartar foto existente
+about-addressbook-photo-cancel = Cancelar
+about-addressbook-photo-save = Guardar
+
+# Keyboard shortcuts
+
+about-addressbook-new-contact-key = N
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/fieldMapImport.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/fieldMapImport.ftl
new file mode 100644
index 0000000000..a7deb9b4cb
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Importar libreta de direcciones desde un archivo de texto
+
+# $recordNumber (Number) - The current record number of the preview data.
+import-ab-csv-preview-record-number = Vista previa de la importación de datos para el registro { $recordNumber }
+
+import-ab-csv-dialog =
+ .buttonlabelaccept = Importar
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/vcard.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/addressbook/vcard.ftl
new file mode 100644
index 0000000000..eea47dbf16
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Nombre para mostrar
+vcard-displayname-placeholder =
+ .placeholder = { vcard-displayname }
+
+# Type selection
+
+vcard-entry-type-label = Tipo
+vcard-entry-type-home = Casa
+vcard-entry-type-work = Trabajo
+vcard-entry-type-none = Ninguno
+vcard-entry-type-custom = Personalizado
+
+# N vCard field
+
+vcard-name-header = Nombre
+vcard-n-prefix = Prefijo
+vcard-n-add-prefix =
+ .title = Agregar prefijo
+vcard-n-firstname = Primer nombre
+vcard-n-add-firstname =
+ .title = Agregar primer nombre
+vcard-n-middlename = Segundo nombre
+vcard-n-add-middlename =
+ .title = Agregar segundo nombre
+vcard-n-lastname = Apellido
+vcard-n-add-lastname =
+ .title = Agregar apellido
+vcard-n-suffix = Sufijo
+vcard-n-add-suffix =
+ .title = Agregar sufijo
+
+# Nickname
+
+vcard-nickname = Nombre de usuario
+
+# Email vCard field
+
+vcard-email-header = Direcciones de correo
+vcard-email-add = Agregar dirección de correo
+vcard-email-label = Dirección de correo
+vcard-primary-email-label = Predeterminado
+
+# URL vCard field
+
+vcard-url-header = Sitios web
+vcard-url-add = Agregar sitio web
+vcard-url-label = Sitio web
+
+# Tel vCard field
+
+vcard-tel-header = Números de teléfono
+vcard-tel-add = Agregar número de teléfono
+vcard-tel-label = Número de teléfono
+# Or "Mobile"
+vcard-entry-type-cell = Celda
+vcard-entry-type-fax = Fax
+vcard-entry-type-pager = Localizador
+
+# TZ vCard field
+
+vcard-tz-header = Zona horaria
+vcard-tz-add = Agregar zona horaria
+
+# IMPP vCard field
+
+vcard-impp2-header = Mensajería instantánea
+vcard-impp-add = Agregar cuenta de chat
+vcard-impp-label = Cuenta de chat
+vcard-impp-select = Protocolo
+vcard-impp-option-other = Otros
+vcard-impp-input-label = URI
+vcard-impp-input-title = URI para mensajería instantánea
+
+# BDAY and ANNIVERSARY vCard field
+
+vcard-bday-anniversary-header = Fechas especiales
+vcard-bday-anniversary-add = Agregar fecha especial
+vcard-bday-label = Cumpleaños
+vcard-anniversary-label = Aniversario
+vcard-date-day = Día
+vcard-date-month = Mes
+vcard-date-year = Año
+
+# ADR vCard field
+
+vcard-adr-header = Direcciones
+vcard-adr-add = Agregar dirección
+vcard-adr-label = Dirección
+vcard-adr-delivery-label = Etiqueta de entrega
+vcard-adr-street = Dirección de la calle
+# Or "Locality"
+vcard-adr-locality = Ciudad
+# Or "Region"
+vcard-adr-region = Estado/Provincia
+# The term "ZIP code" only applies in USA. Most locales should use "Postal code" only.
+vcard-adr-code = Código Postal
+vcard-adr-country = País
+
+# NOTE vCard field
+
+vcard-note-header = Notas
+vcard-note-add = Agregar nota
+
+# TITLE, ROLE and ORGANIZATION vCard fields
+
+vcard-org-header = Propiedades de organización
+vcard-org-add = Agregar propiedad de organización
+vcard-org-title = Título
+vcard-org-title-input =
+ .title = Puesto o trabajo
+ .placeholder = Titulo de trabajo
+vcard-org-role = Rol
+vcard-org-role-input =
+ .title = Función o papel que desempeñas en una situación particular
+ .placeholder = Rol en un proyecto
+vcard-org-org = Organización
+vcard-org-org-input =
+ .title = Nombre de la organización
+ .placeholder = Nombre de la empresa
+vcard-org-org-unit = Departamento
+vcard-org-org-unit-input =
+ .title = Nombre Unidad Organizacional
+ .placeholder = Departamento
+
+# Custom properties
+
+vcard-custom-header = Propiedades personalizadas
+vcard-custom-add = Agregar propiedades personalizadas
+vcard-remove-button-title =
+ .title = Eliminar
+vcard-remove-button = Eliminar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/appmenu.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/appmenu.ftl
new file mode 100644
index 0000000000..12dd47a758
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/appmenu.ftl
@@ -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/.
+
+
+## Sync
+
+appmenu-sync-panel-title =
+ .title = Sync
+appmenu-signin-panel =
+ .label = Iniciar sesión para sincronizar
+ .accesskey = I
+appmenu-sync-sync =
+ .value = Sincronización de cuenta
+ .accesskey = c
+appmenu-sync-manage =
+ .value = Administrar cuenta
+ .accesskey = A
+appmenu-sync-account =
+ .value = ejemplo@ejemplo.com
+appmenu-sync-now =
+ .label = Sincronizar ahora
+ .accesskey = S
+appmenu-sync-settings =
+ .label = Sincronizar configuraciones
+ .accesskey = S
+appmenu-sync-sign-out =
+ .label = Cerrar sesión…
+ .accesskey = O
+
+## New Account
+
+appmenu-new-account-panel-title =
+ .title = Nueva cuenta
+appmenu-new-account-panel =
+ .label = Nueva cuenta
+ .accesskey = N
+appmenu-create-new-mail-account =
+ .label = Obtén un nuevo correo
+ .accesskey = G
+appmenu-new-mail-account =
+ .label = Correo existente
+ .accesskey = E
+appmenu-new-calendar =
+ .label = Calendario
+ .accesskey = C
+appmenu-new-chat-account =
+ .label = Chat
+ .accesskey = h
+appmenu-new-feed =
+ .label = Feed
+ .accesskey = F
+appmenu-new-newsgroup =
+ .label = Grupo de noticias
+ .accesskey = N
+
+## New Account / Address Book
+
+appmenu-newab-panel-title =
+ .title = Nueva libreta de direcciones
+appmenu-newab-panel =
+ .label = Nueva libreta de direcciones
+ .accesskey = A
+appmenu-new-addressbook =
+ .label = Libreta de direcciones local
+ .accesskey = A
+appmenu-new-carddav =
+ .label = Libreta de direcciones CardDav
+ .accesskey = C
+appmenu-new-ldap =
+ .label = Libreta de direcciones LDAP
+ .accesskey = L
+
+## Create
+
+appmenu-create-panel-title =
+ .title = Crear
+appmenu-create-panel =
+ .label = Crear
+ .accesskey = C
+appmenu-create-message =
+ .label = Mensaje
+ .accesskey = M
+appmenu-create-event =
+ .label = Evento
+ .accesskey = E
+appmenu-create-task =
+ .label = Tarea
+ .accesskey = T
+appmenu-create-contact =
+ .label = Contacto
+ .accesskey = C
+
+## Open
+
+appmenu-open-file-panel =
+ .label = Abrir desde archivo
+ .accesskey = A
+appmenu-open-file-panel-title =
+ .title = Abrir desde archivo
+appmenu-open-message =
+ .label = Mensaje…
+ .accesskey = M
+appmenu-open-calendar =
+ .label = Calendario…
+ .accesskey = C
+
+## View / Layout
+
+appmenu-view-panel-title =
+ .title = Ver
+appmenu-view-panel =
+ .label = Ver
+ .accesskey = V
+appmenu-font-size-value = Tamaño de la letra
+appmenu-mail-uidensity-value = Densidad
+appmenu-uidensity-compact =
+ .tooltiptext = Compacto
+appmenu-uidensity-default =
+ .tooltiptext = Predeterminado
+appmenu-uidensity-relaxed =
+ .tooltiptext = Relajado
+appmenuitem-font-size-enlarge =
+ .tooltiptext = Aumentar tamaño de la letra
+appmenuitem-font-size-reduce =
+ .tooltiptext = Reducir tamaño de la letra
+# Variables:
+# $size (String) - The current font size.
+appmenuitem-font-size-reset =
+ .label = { $size }px
+ .tooltiptext = Restablecer tamaño de la letra
+
+## Tools
+
+appmenu-tools-panel-title =
+ .title = Herramientas
+appmenu-tools-panel =
+ .label = Herramientas
+ .accesskey = H
+appmenu-tools-import =
+ .label = Importar
+ .accesskey = I
+appmenu-tools-export =
+ .label = Exportar
+ .accesskey = E
+appmenu-tools-message-search =
+ .label = Buscar mensajes
+ .accesskey = B
+appmenu-tools-message-filters =
+ .label = Filtros de mensajes
+ .accesskey = { "" }
+appmenu-tools-download-manager =
+ .label = Administrador de descargas
+ .accesskey = D
+appmenu-tools-activity-manager =
+ .label = Administrador de actividades
+ .accesskey = A
+appmenu-tools-dev-tools =
+ .label = Herramientas de desarrollador
+ .accesskey = H
+
+## Help
+
+appmenu-help-panel-title =
+ .title = Ayuda
+appmenu-help-get-help =
+ .label = Obtener ayuda
+ .accesskey = O
+appmenu-help-explore-features =
+ .label = Explorar características
+ .accesskey = c
+appmenu-help-shortcuts =
+ .label = Atajos de teclado
+ .accesskey = c
+appmenu-help-get-involved =
+ .label = Involúcrate
+ .accesskey = I
+appmenu-help-donation =
+ .label = Hacer una donación
+ .accesskey = d
+appmenu-help-share-feedback =
+ .label = Compartir ideas y comentarios
+ .accesskey = S
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = Modo de resolución de problemas…
+ .accesskey = M
+appmenu-help-exit-troubleshoot-mode2 =
+ .label = Desactivar modo de resolución de problemas
+ .accesskey = D
+appmenu-help-troubleshooting-info =
+ .label = Información para solucionar problemas
+ .accesskey = I
+appmenu-help-about-product =
+ .label = Acerca de { -brand-short-name }
+ .accesskey = A
+
+## Application Update
+
+appmenuitem-banner-update-downloading =
+ .label = Descargando actualización de { -brand-shorter-name }
+appmenuitem-banner-update-available =
+ .label = Actualización disponible — descargar ahora
+appmenuitem-banner-update-manual =
+ .label = Actualización disponible — descargar ahora
+appmenuitem-banner-update-unsupported =
+ .label = No se puede actualizar — sistema incompatible
+appmenuitem-banner-update-restart =
+ .label = Actualización disponible — reiniciar ahora
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/chat-verifySession.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/chat-verifySession.ftl
new file mode 100644
index 0000000000..a77bbda196
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Verificar identidad
+
+# Variables:
+# $subject (String) - a human readable identifier for the other side of the verification flow.
+verify-window-subject-title = Verificar la identidad de { $subject }
+
+verify-dialog =
+ .buttonlabelaccept = Coinciden
+ .buttonaccesskeyaccept = M
+ .buttonlabelextra2 = No coinciden
+ .buttonaccesskeyextra2 = D
+
+challenge-label = Verificar que la cadena que se muestra coincida con la que se muestra en el otro extremo.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/chat.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/chat.ftl
new file mode 100644
index 0000000000..b0875a5133
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Uniéndose al chat
+
+chat-left-chat-icon2 =
+ .alt = Chat dejado
+
+chat-participant-owner-role-icon2 =
+ .alt = Propietario
+
+chat-participant-administrator-role-icon2 =
+ .alt = Administrador
+
+chat-participant-moderator-role-icon2 =
+ .alt = Moderador
+
+chat-participant-voiced-role-icon2 =
+ .alt = El participante puede publicar mensajes
+
+chat-verify-identity =
+ .label = Verificar identidad
+ .accesskey = i
+
+chat-identity-verified =
+ .label = Identidad ya verificada
+
+chat-buddy-identity-status = Confianza del cifrado
+chat-buddy-identity-status-verified = Verificado
+chat-buddy-identity-status-unverified = No verificado
+
+## 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 = Te invitaron a chatear en { $conversation }
+chat-conv-invite-accept =
+ .label = Aceptar
+ .accesskey = A
+chat-conv-invite-deny =
+ .label = Rechazar
+ .accesskey = R
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/compactFoldersDialog.ftl
new file mode 100644
index 0000000000..8b4c67141a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Compactar carpetas
+compact-folders-dialog-title = Compactar carpetas
+compact-dialog =
+ .buttonlabelaccept = Compactar ahora
+ .buttonaccesskeyaccept = C
+ .buttonlabelcancel = Recordarme más tarde
+ .buttonaccesskeycancel = R
+ .buttonlabelextra1 = Saber más…
+ .buttonaccesskeyextra1 = L
+# Variables:
+# $data (String): The amount of space to be freed, formatted byte, MB, GB, etc., based on the size.
+compact-dialog-message = { -brand-short-name } necesita hacer un mantenimiento regular para mejorar el rendimiento de tus carpetas de correo. Esto recuperará { $data } de espacio en el disco sin cambiar tus mensajes. Para que { -brand-short-name } lo haga automáticamente en el futuro sin preguntar, marca la casilla a continuación antes de elegir ‘{ compact-dialog.buttonlabelaccept }’.
+compact-dialog-never-ask-checkbox =
+ .label = Compactar carpetas automáticamente en el futuro
+ .accesskey = a
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/exportDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/exportDialog.ftl
new file mode 100644
index 0000000000..f12edc9987
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Exportar
+
+export-dialog =
+ .buttonlabelaccept = Siguiente
+
+export-dialog-button-finish = Finalizar
+
+export-dialog-file-picker = Exportar a un archivo zip
+
+export-dialog-description1 = Exportar cuentas de correo, mensajes de correo, libretas de direcciones, ajustes a un archivo zip.
+
+export-dialog-desc2 = Cuando sea necesario, puedes importar el archivo zip para restaurar tu perfil.
+
+export-dialog-exporting = Exportar…
+
+export-dialog-exported = ¡Exportado!
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/extensionPermissions.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/extensionPermissions.ftl
new file mode 100644
index 0000000000..f9135d925f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/extensionPermissions.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-accountsFolders = Crear, renombrar o eliminar las carpetas de tus cuentas de correo electrónico
+webext-perms-description-accountsIdentities = Crea, modifica o elimina las identidades de tu cuenta de correo
+webext-perms-description-accountsRead = Ver tus cuentas de correo, las identidades y las carpetas
+webext-perms-description-addressBooks = Leer y modificar tu libreta de direcciones y contactos
+webext-perms-description-compose = Lee y modifica tus mensajes de correo electrónico mientras los redactas y los envías
+webext-perms-description-compose-send = Enviar mensajes de correo electrónico compuestos en tu nombre
+webext-perms-description-compose-save = Guardar correos redactados como borradores o plantillas
+webext-perms-description-experiment = Dar acceso completo y sin restricciones a { -brand-short-name } y tu computadora
+webext-perms-description-messagesImport = Importar mensajes en Thunderbird
+webext-perms-description-messagesModify = Leer y modificar tus mensajes de correo electrónico a medida que se muestran
+webext-perms-description-messagesMove = Copia o mueve tus mensajes de correo electrónico (incluido moverlos a la carpeta de la papelera)
+webext-perms-description-messagesDelete = Elimina permanentemente tus mensajes de correo electrónico
+webext-perms-description-messagesRead = Leer tus mensajes de correo electrónico o etiquetarlos
+webext-perms-description-messagesTags = Crear, modificar y eliminar etiquetas de mensajes
+webext-perms-description-sensitiveDataUpload = Transferir datos confidenciales del usuario (si se ha otorgado acceso) a un servidor remoto para su posterior procesamiento
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/extensions/popup.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/extensions/popup.ftl
new file mode 100644
index 0000000000..cf521cd8b8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/messenger/extensionsUI.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/extensionsUI.ftl
new file mode 100644
index 0000000000..7b96937d31
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/extensionsUI.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/.
+
+webext-experiment-warning = Complementos maliciosos pueden robar tu información privada o poner riesgo tu computadora. Solo instala este complemento si confías en la fuente.
+webext-perms-learn-more = Saber más
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/firefoxAccounts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/firefoxAccounts.ftl
new file mode 100644
index 0000000000..5ff038a064
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/firefoxAccounts.ftl
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name =
+ { $capitalization ->
+ [sentence] Cuenta de Firefox
+ *[other] Firefox Account
+ }
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+fxa-verification-sent-title = Verificación enviada
+# Variables:
+# $userEmail (String) - Email address of user's Firefox Account.
+fxa-verification-sent-body = Un enlace de verificación ha sido enviado a { $userEmail }.
+fxa-verification-not-sent-title = No es posible enviar la verificación
+fxa-verification-not-sent-body = Por el momento no podemos realizar una verificación vía correo electrónico, por favor intenta de nuevo más tarde.
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+fxa-signout-dialog-title = ¿Cerrar la sesión de { -fxaccount-brand-name(capitalization: "sentence") }?
+fxa-signout-dialog-body = Los datos sincronizados permanecerán en tu cuenta.
+fxa-signout-dialog-button = Cerrar sesión
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = ¿Desconectar?
+sync-disconnect-dialog-body = { -brand-product-name } dejará de sincronizarse pero no eliminará nada de tus datos en este dispositivo.
+sync-disconnect-dialog-button = Desconectar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/flatpak.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/flatpak.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/flatpak.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/es-MX/localization/es-MX/messenger/folderprops.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/folderprops.ftl
new file mode 100644
index 0000000000..2261a4308e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 }% lleno
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/importDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/importDialog.ftl
new file mode 100644
index 0000000000..b604fbe09b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Importar correo desde un directorio de perfil de Thunderbird.
+
+import-from-thunderbird-zip =
+ .label = Thunderbird (copia de seguridad del perfil exportado; archivo zip de menos de 2GB)
+ .accesskey = z
+
+import-from-thunderbird-dir =
+ .label = Thunderbird (carpeta de perfil)
+ .accesskey = T
+
+import-select-profile-zip = Seleccionar un directorio de perfil comprimido
+
+import-select-profile-dir = Seleccionar un directorio del perfil
+
+zip-file-too-big-title = Archivo zip demasiado grande
+
+zip-file-too-big-message = El archivo zip seleccionado tiene un tamaño superior a 2GB. Primero extraelo y luego impórtalo de la carpeta extraída.
+
+wizardpage-failed =
+ .label = Importación fallida
+
+wizardpage-failed-message = La importación falló inesperadamente, es posible que haya más información disponible en la consola de errores.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/mailWidgets.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/mailWidgets.ftl
new file mode 100644
index 0000000000..65cd55b58a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Aplicar la vista actual a…
+
+threadpane-apply-changes-prompt-title = ¿Aplicar cambios?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-no-children-text = ¿Aplicar la vista de la carpeta actual a { $name }?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-with-children-text = ¿Aplicar la vista de la carpeta actual a { $name } y sus elementos secundarios?
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/menubar.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/menubar.ftl
new file mode 100644
index 0000000000..8abb741e99
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/menubar.ftl
@@ -0,0 +1,135 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolbar-context-menu-menu-bar =
+ .toolbarname = Barra de menú
+ .accesskey = m
+
+## Tools Menu
+
+menu-tools-settings =
+ .label = Ajustes
+ .accesskey = e
+menu-addons-and-themes =
+ .label = Complementos y temas
+ .accesskey = C
+
+## Help Menu
+
+menu-help-help-title =
+ .label = Ayuda
+ .accesskey = A
+menu-help-get-help =
+ .label = Obtener ayuda
+ .accesskey = a
+menu-help-explore-features =
+ .label = Explorar características
+ .accesskey = c
+menu-help-shortcuts =
+ .label = Atajos de teclado
+ .accesskey = A
+menu-help-get-involved =
+ .label = Involúcrate
+ .accesskey = I
+menu-help-donation =
+ .label = Hacer una donación
+ .accesskey = d
+menu-help-share-feedback =
+ .label = Compartir ideas y comentarios
+ .accesskey = S
+menu-help-enter-troubleshoot-mode =
+ .label = Modo de resolución de problemas…
+ .accesskey = r
+menu-help-exit-troubleshoot-mode =
+ .label = Desactivar el modo de resolución de problemas
+ .accesskey = O
+menu-help-more-troubleshooting-info =
+ .label = Más información para solucionar problemas
+ .accesskey = M
+menu-help-troubleshooting-info =
+ .label = Información para solucionar problemas
+ .accesskey = I
+menu-help-about-product =
+ .label = Acerca de { -brand-short-name }
+ .accesskey = A
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Salir
+ *[other] Salir
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] x
+ *[other] Q
+ }
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = Salir de { -brand-shorter-name }
+quit-app-shortcut =
+ .key = Q
+
+## Mail Toolbar
+
+toolbar-junk-button =
+ .label = Basura
+ .tooltiptext = Marcar los mensajes seleccionados como basura
+toolbar-not-junk-button =
+ .label = No es basura
+ .tooltiptext = Marcar los mensajes seleccionados como no basura
+toolbar-delete-button =
+ .label = Eliminar
+ .tooltiptext = Eliminar mensajes o carpetas seleccionadas
+toolbar-undelete-button =
+ .label = Recuperar
+ .tooltiptext = Recuperar mensajes seleccionados
+
+## View
+
+menu-view-repair-text-encoding =
+ .label = Reparar la codificación de texto
+ .accesskey = c
+
+## View / Layout
+
+menu-font-size-label =
+ .label = Tamaño de letra
+ .accesskey = o
+menuitem-font-size-enlarge =
+ .label = Aumentar tamaño de letra
+ .accesskey = I
+menuitem-font-size-reduce =
+ .label = Reducir tamaño de letra
+ .accesskey = D
+menuitem-font-size-reset =
+ .label = Restablecer tamaño de letra
+ .accesskey = R
+mail-uidensity-label =
+ .label = Densidad
+ .accesskey = D
+mail-uidensity-compact =
+ .label = Compacto
+ .accesskey = C
+mail-uidensity-normal =
+ .label = Normal
+ .accesskey = N
+mail-uidensity-touch =
+ .label = Táctil
+ .accesskey = T
+mail-uidensity-default =
+ .label = Predeterminado
+ .accesskey = D
+mail-uidensity-relaxed =
+ .label = Relajado
+ .accesskey = R
+menu-spaces-toolbar-button =
+ .label = Barra de herramientas de espacios
+ .accesskey = B
+
+## File
+
+file-new-newsgroup-account =
+ .label = Cuenta de grupos de noticias…
+ .accesskey = N
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/messageheader/headerFields.ftl
new file mode 100644
index 0000000000..26169c854f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/messageheader/headerFields.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Header lists
+
+message-header-to-list-name = Para
+
+message-header-from-list-name = De
+
+message-header-sender-list-name = Remitente
+
+message-header-reply-to-list-name = Responder a
+
+message-header-cc-list-name = Cc
+
+message-header-bcc-list-name = Cco
+
+message-header-newsgroups-list-name = Grupos de noticias
+
+message-header-tags-list-name = Etiquetas
+
+## Other message headers.
+## The field-separator is for screen readers to separate the field name from the field value.
+
+message-header-author-field = Autor<span data-l10n-name="field-separator">:</span>
+
+message-header-organization-field = Organización<span data-l10n-name="field-separator">:</span>
+
+message-header-subject-field = Asunto<span data-l10n-name="field-separator">:</span>
+
+message-header-followup-to-field = Seguimiento a <span data-l10n-name="field-separator">:</span>
+
+
+message-header-date-field = Fecha<span data-l10n-name="field-separator">:</span>
+
+message-header-user-agent-field = Agente de usuario<span data-l10n-name="field-separator">:</span>
+
+message-header-references-field = Referencias<span data-l10n-name="field-separator">:</span>
+
+message-header-message-id-field = ID de Mensaje<span data-l10n-name="field-separator">:</span>
+
+message-header-in-reply-to-field = En respuesta a<span data-l10n-name="field-separator">:</span>
+
+message-header-website-field = Sitio 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 = En la libreta de direcciones
+
+message-header-address-not-in-address-book-icon2 =
+ .alt = No en la libreta de direcciones
+
+message-header-address-not-in-address-book-button =
+ .title = Guardar esta dirección en la libreta de direcciones
+
+message-header-address-in-address-book-button =
+ .title = Editar contacto
+
+message-header-field-show-more = Más
+ .title = Mostrar todos los destinatarios
+
+message-ids-field-show-all = Mostrar todo
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/messenger.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/messenger.ftl
new file mode 100644
index 0000000000..efeb38470b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/messenger.ftl
@@ -0,0 +1,372 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Minimizar
+messenger-window-maximize-button =
+ .tooltiptext = Maximizar
+messenger-window-restore-down-button =
+ .tooltiptext = Restaurar abajo
+messenger-window-close-button =
+ .tooltiptext = Cerrar
+# Variables:
+# $count (Number) - Number of unread messages.
+unread-messages-os-tooltip =
+ { $count ->
+ [one] 1 mensaje no leído
+ *[other] { $count } mensajes no leídos
+ }
+about-rights-notification-text = { -brand-short-name } es un software gratuito y de código abierto, creado por una comunidad de miles de personas de todo el mundo.
+
+## Content tabs
+
+content-tab-page-loading-icon =
+ .alt = La pagina esta cargando
+content-tab-security-high-icon =
+ .alt = La conexión es segura
+content-tab-security-broken-icon =
+ .alt = La conexión no es segura
+
+# Back
+
+# This menuitem is only visible on macOS
+content-tab-menu-back-mac =
+ .label = Atrás
+ .accesskey = A
+
+# Forward
+
+
+# Reload
+
+content-tab-menu-reload =
+ .tooltiptext = Recargar página
+ .aria-label = Recargar
+ .accesskey = R
+
+# Stop
+
+
+## Toolbar
+
+addons-and-themes-toolbarbutton =
+ .label = Complementos y temas
+ .tooltiptext = Administra tus complementos
+quick-filter-toolbarbutton =
+ .label = Filtro rápido
+ .tooltiptext = Filtrar mensajes
+redirect-msg-button =
+ .label = Redirigir
+ .tooltiptext = Redirigir mensaje seleccionado
+
+## Folder Pane
+
+folder-pane-toolbar =
+ .toolbarname = Barra de herramientas del panel de la carpeta
+ .accesskey = p
+folder-pane-toolbar-options-button =
+ .tooltiptext = Opciones del panel de carpetas
+folder-pane-header-label = Carpetas
+
+## Folder Toolbar Header Popup
+
+folder-toolbar-hide-toolbar-toolbarbutton =
+ .label = Ocultar barra de herramientas
+ .accesskey = O
+show-all-folders-label =
+ .label = Todas las carpetas
+ .accesskey = T
+show-unread-folders-label =
+ .label = Carpetas no leídas
+ .accesskey = C
+show-favorite-folders-label =
+ .label = Carpetas favoritas
+ .accesskey = C
+show-smart-folders-label =
+ .label = Carpetas unificadas
+ .accesskey = u
+show-recent-folders-label =
+ .label = Carpetas recientes
+ .accesskey = C
+show-tags-folders-label =
+ .label = Etiquetas
+ .accesskey = T
+folder-toolbar-toggle-folder-compact-view =
+ .label = Vista compacta
+ .accesskey = C
+
+## Menu
+
+
+## File Menu
+
+menu-file-save-as-file =
+ .label = Archivo…
+ .accesskey = A
+
+## Edit Menu
+
+menu-edit-delete-folder =
+ .label = Eliminar carpeta
+ .accesskey = D
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-delete-messages =
+ .label =
+ { $count ->
+ [one] Borrar mensaje
+ *[other] Borrar mensajes seleccionados
+ }
+ .accesskey = D
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-undelete-messages =
+ .label =
+ { $count ->
+ [one] Recuperar mensaje eliminado
+ *[other] Recuperar mensajes seleccionados
+ }
+ .accesskey = d
+menu-edit-properties =
+ .label = Propiedades
+ .accesskey = o
+menu-edit-folder-properties =
+ .label = Propiedades de la carpeta
+ .accesskey = o
+menu-edit-newsgroup-properties =
+ .label = Propiedades de grupo de noticias
+ .accesskey = o
+
+## Message Menu
+
+redirect-msg-menuitem =
+ .label = Redirigir
+ .accesskey = d
+
+## AppMenu
+
+appmenu-save-as-file =
+ .label = Archivo…
+appmenu-settings =
+ .label = Ajustes
+appmenu-addons-and-themes =
+ .label = Complementos y temas
+appmenu-help-enter-troubleshoot-mode =
+ .label = Modo de resolución de problemas…
+appmenu-help-exit-troubleshoot-mode =
+ .label = Desactivar modo de resolución de problemas
+appmenu-help-more-troubleshooting-info =
+ .label = Más información sobre resolución de problemas
+appmenu-redirect-msg =
+ .label = Redirigir
+
+## Context menu
+
+context-menu-redirect-msg =
+ .label = Redirigir
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-delete-messages =
+ .label =
+ { $count ->
+ [one] Eliminar mensaje
+ *[other] Eliminar mensajes seleccionados
+ }
+context-menu-decrypt-to-folder =
+ .label = Copiar como descifrado a
+ .accesskey = y
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-undelete-messages =
+ .label =
+ { $count ->
+ [one] Recuperar mensaje eliminado
+ *[other] Recuperar mensajes seleccionados
+ }
+
+## Message header pane
+
+other-action-redirect-msg =
+ .label = Redirigir
+message-header-msg-flagged =
+ .title = Destacados
+ .aria-label = Destacados
+# Variables:
+# $address (String) - The email address of the recipient this picture belongs to.
+message-header-recipient-avatar =
+ .alt = Imagen de perfil de { $address }.
+
+## Message header cutomize panel
+
+message-header-customize-panel-title = Ajustes del encabezado del mensaje
+message-header-customize-button-style =
+ .value = Estilo del botón
+ .accesskey = B
+message-header-button-style-default =
+ .label = Íconos y texto
+message-header-button-style-text =
+ .label = Texto
+message-header-button-style-icons =
+ .label = Íconos
+message-header-show-sender-full-address =
+ .label = Siempre mostrar la dirección completa del remitente
+ .accesskey = f
+message-header-show-sender-full-address-description = La dirección de correo electrónico se mostrará debajo del nombre para mostrar.
+message-header-show-recipient-avatar =
+ .label = Mostrar imagen de perfil del remitente
+ .accesskey = p
+message-header-hide-label-column =
+ .label = Ocultar columna de etiquetas
+ .accesskey = l
+message-header-large-subject =
+ .label = Tema grande
+ .accesskey = s
+message-header-all-headers =
+ .label = Mostrar todos los encabezados
+ .accesskey = t
+
+## Action Button Context Menu
+
+toolbar-context-menu-manage-extension =
+ .label = Gestionar extensión
+ .accesskey = E
+toolbar-context-menu-remove-extension =
+ .label = Eliminar extensión
+ .accesskey = E
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = ¿Eliminar { $name }?
+addon-removal-confirmation-button = Eliminar
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-confirmation-message = ¿Eliminar { $name }, así como su configuración y datos de { -brand-short-name }?
+caret-browsing-prompt-title = Navegación con cursor
+caret-browsing-prompt-text = Presionando F7 habilita o deshabilita la navegación con cursor. Esta característica coloca un cursor movible dentro de algún contenido, permitiéndote seleccionar texto con el teclado. ¿Quieres activar la navegación con cursor?
+caret-browsing-prompt-check-text = No volver a preguntar.
+repair-text-encoding-button =
+ .label = Reparar la codificación de texto
+ .tooltiptext = Escribe la codificación de texto correcta del contenido del mensaje
+
+## no-reply handling
+
+no-reply-title = Respuesta no admitida
+# Variables:
+# $email (String) - Email address the reply will be sent to. Example: "noreply@example.com"
+no-reply-message = La dirección de respuesta ({ $email }) no parece ser una dirección supervisada. Es probable que los mensajes a esta dirección no sean leídos por nadie.
+no-reply-reply-anyway-button = Responder de todos modos
+
+## 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 = { $failures } de { $total } mensajes no pudieron ser descifrados y no fueron copiados.
+
+## Spaces toolbar
+
+spaces-toolbar-element =
+ .toolbarname = Barra de herramientas de espacios
+ .aria-label = Barra de herramientas de espacios
+ .aria-description = Barra de herramientas vertical para cambiar entre diferentes espacios. Usa las teclas de flecha para navegar por los botones disponibles.
+spaces-toolbar-button-mail2 =
+ .title = Correo
+spaces-toolbar-button-address-book2 =
+ .title = Libreta de direcciones
+spaces-toolbar-button-calendar2 =
+ .title = Calendario
+spaces-toolbar-button-tasks2 =
+ .title = Tareas
+spaces-toolbar-button-chat2 =
+ .title = Chat
+spaces-toolbar-button-overflow =
+ .title = Más espacios…
+spaces-toolbar-button-settings2 =
+ .title = Ajustes
+spaces-toolbar-button-hide =
+ .title = Ocultar barra de herramientas de espacios
+spaces-toolbar-button-show =
+ .title = Mostrar barra de herramientas de espacios
+spaces-context-new-tab-item =
+ .label = Abrir en una nueva pestaña
+spaces-context-new-window-item =
+ .label = Abrir en una nueva ventana
+# Variables:
+# $tabName (String) - The name of the tab this item will switch to.
+spaces-context-switch-tab-item =
+ .label = Cambiar a { $tabName }
+settings-context-open-settings-item2 =
+ .label = Ajustes
+settings-context-open-account-settings-item2 =
+ .label = Ajustes de la cuenta
+settings-context-open-addons-item2 =
+ .label = Complementos y temas
+
+## Spaces toolbar pinned tab menupopup
+
+spaces-toolbar-pinned-tab-button =
+ .tooltiptext = Abrir menú de espacios
+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 mensaje sin leer
+ *[other] { $count } mensajes sin leer
+ }
+
+## Spaces toolbar customize panel
+
+menuitem-customize-label =
+ .label = Personalizar…
+spaces-customize-panel-title = Configuración de la barra de herramientas de espacios
+spaces-customize-background-color = Color de fondo
+spaces-customize-icon-color = Color del botón
+# 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 = Color de fondo del botón seleccionado
+# 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 = Color del botón seleccionado
+spaces-customize-button-restore = Restaurar predeterminados
+ .accesskey = R
+customize-panel-button-save = Hecho
+ .accesskey = D
+
+## Quick Filter Bar
+
+# The label to display for the "View... Toolbars..." menu item that controls
+# whether the quick filter bar is visible.
+quick-filter-bar-toggle =
+ .label = Barra de Filtro Rápido
+ .accesskey = Q
+# This is the key used to show the quick filter bar.
+# This should match quick-filter-bar-textbox-shortcut in about3Pane.ftl.
+quick-filter-bar-show =
+ .key = k
+
+## OpenPGP
+
+
+## Quota panel.
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..d8b19512f3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/messengercompose/messengercompose.ftl
@@ -0,0 +1,399 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Formato de envío
+ .accesskey = F
+compose-send-auto-menu-item =
+ .label = Automático
+ .accesskey = A
+compose-send-both-menu-item =
+ .label = Tanto HTML como Texto sin formato
+ .accesskey = B
+compose-send-html-menu-item =
+ .label = Solo HTML
+ .accesskey = H
+compose-send-plain-menu-item =
+ .label = Solo Texto sin formato
+ .accesskey = P
+
+## Addressing widget
+
+# $type (String) - the type of the addressing row
+remove-address-row-button =
+ .title = Eliminar el campo { $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 } con una dirección, usa la tecla de flecha izquierda para enfocarte en ella.
+ *[other] { $type } con { $count } direcciones, usa la tecla de flecha izquierda para enfocarte en ellas.
+ }
+# $email (String) - the email address
+# $count (Number) - the number of address pills currently present in the addressing row
+pill-aria-label =
+ { $count ->
+ [one] { $email }: presiona Enter para editar, Borrar para eliminar.
+ *[other] { $email }, 1 de { $count }: presiona Enter para editar, Eliminar para eliminar.
+ }
+# $email (String) - the email address
+pill-tooltip-invalid-address = { $email } no es una dirección de correo electrónico válida
+# $email (String) - the email address
+pill-tooltip-not-in-address-book = { $email } no está en tu libreta de direcciones
+pill-action-edit =
+ .label = Editar dirección
+ .accesskey = E
+# $type (String) - the type of the addressing row, e.g. Cc, Bcc, etc.
+pill-action-select-all-sibling-pills =
+ .label = Seleccionar todas las direcciones en { $type }
+ .accesskey = A
+pill-action-select-all-pills =
+ .label = Seleccionar todas las direcciones
+ .accesskey = S
+pill-action-move-to =
+ .label = Mover a Para
+ .accesskey = M
+pill-action-move-cc =
+ .label = Mover a Cc
+ .accesskey = C
+pill-action-move-bcc =
+ .label = Mover a Cco
+ .accesskey = C
+pill-action-expand-list =
+ .label = Expandir lista
+ .accesskey = x
+
+## Attachment widget
+
+ctrl-cmd-shift-pretty-prefix =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘{ " " }
+ *[other] Ctrl+Mayús+
+ }
+trigger-attachment-picker-key = A
+toggle-attachment-pane-key = M
+menuitem-toggle-attachment-pane =
+ .label = Panel de adjuntos
+ .accesskey = e
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key }
+toolbar-button-add-attachment =
+ .label = Adjuntar
+ .tooltiptext = Agregar un adjunto ({ ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key })
+add-attachment-notification-reminder2 =
+ .label = Agregar un archivo adjunto…
+ .accesskey = A
+ .tooltiptext = { toolbar-button-add-attachment.tooltiptext }
+menuitem-attach-files =
+ .label = Archivo(s)…
+ .accesskey = A
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+context-menuitem-attach-files =
+ .label = Adjuntar archivo(s)…
+ .accesskey = A
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+# Note: Do not translate the term 'vCard'.
+context-menuitem-attach-vcard =
+ .label = Mi vCard
+ .accesskey = C
+context-menuitem-attach-openpgp-key =
+ .label = Mi clave pública OpenPGP
+ .accesskey = c
+# $count (Number) - the number of attachments in the attachment bucket
+attachment-bucket-count-value =
+ { $count ->
+ [1] { $count } adjunto
+ [one] { $count } adjuntos
+ *[other] { $count } adjuntos
+ }
+attachment-area-show =
+ .title = Mostrar el panel de adjuntos ({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key })
+attachment-area-hide =
+ .title = Ocultar el panel de adjuntos ({ 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] Agregar como adjunto
+ *[other] Agregar como adjuntos
+ }
+drop-file-label-inline =
+ { $count ->
+ [one] Insertar en línea
+ *[other] Insertar en línea
+ }
+
+## Reorder Attachment Panel
+
+move-attachment-first-panel-button =
+ .label = Mover al inicio
+move-attachment-left-panel-button =
+ .label = Mover a la izquierda
+move-attachment-right-panel-button =
+ .label = Mover a la derecha
+move-attachment-last-panel-button =
+ .label = Mover al último
+button-return-receipt =
+ .label = Recibo
+ .tooltiptext = Solicitar un de recibo de respuesta para este mensaje
+
+## Encryption
+
+encryption-menu =
+ .label = Seguridad
+ .accesskey = g
+encryption-toggle =
+ .label = Cifrar
+ .tooltiptext = Usar cifrado de extremo a extremo para este mensaje.
+encryption-options-openpgp =
+ .label = OpenPGP
+ .tooltiptext = Ver o cambiar la configuración de cifrado de OpenPGP
+encryption-options-smime =
+ .label = S/MIME
+ .tooltiptext = Ver o cambiar la configuración de cifrado de S/MIME
+signing-toggle =
+ .label = Firma
+ .tooltiptext = Usar firma digital para este mensaje
+menu-openpgp =
+ .label = OpenPGP
+ .accesskey = O
+menu-smime =
+ .label = S/MIME
+ .accesskey = S
+menu-encrypt =
+ .label = Cifrar
+ .accesskey = C
+menu-encrypt-subject =
+ .label = Cifrar asunto
+ .accesskey = B
+menu-sign =
+ .label = Firmar digitalmente
+ .accesskey = i
+menu-manage-keys =
+ .label = Asistente de claves
+ .accesskey = A
+menu-view-certificates =
+ .label = Ver certificados de destinatarios
+ .accesskey = V
+menu-open-key-manager =
+ .label = Gestor de claves
+ .accesskey = G
+# Variables:
+# $addr (String) - Email address with key issues.
+openpgp-key-issue-notification-one = El cifrado de extremo a extremo requiere resolver problemas clave para { $addr }
+# Variables:
+# $count (Number) - Number of recipients with key issues.
+openpgp-key-issue-notification-many = El cifrado de extremo a extremo requiere resolver problemas de claves para { $count } destinatarios.
+# Variables:
+# $addr (String) - Email address with certificate issues.
+smime-cert-issue-notification-one = El cifrado de extremo a extremo requiere resolver problemas de certificados para { $addr }.
+# Variables:
+# $count (Number) - Number of recipients with certificate issues.
+smime-cert-issue-notification-many = El cifrado de extremo a extremo requiere resolver problemas de certificados para { $count } destinatarios.
+key-notification-disable-encryption =
+ .label = No cifrar
+ .accesskey = N
+ .tooltiptext = Deshabilitar el cifrado de extremo a extremo
+key-notification-resolve =
+ .label = Resolver…
+ .accesskey = R
+ .tooltiptext = Abrir el asistente de claves de OpenPGP
+can-encrypt-smime-notification = Es posible usar el cifrado de extremo a extremo S/MIME.
+can-encrypt-openpgp-notification = Es posible usar el cifrado de extremo a extremo OpenPGP.
+can-e2e-encrypt-button =
+ .label = Cifrado
+ .accesskey = E
+
+## Addressing Area
+
+to-address-row-label =
+ .value = Para
+# $key (String) - the shortcut key for this field
+show-to-row-main-menuitem =
+ .label = Campo para
+ .accesskey = C
+ .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 = Para
+ .accesskey = P
+# $key (String) - the shortcut key for this field
+show-to-row-button = Para
+ .title = Mostrar campo Para ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+cc-address-row-label =
+ .value = Cc
+# $key (String) - the shortcut key for this field
+show-cc-row-main-menuitem =
+ .label = Campo Cc
+ .accesskey = C
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+# No acceltext should be shown.
+# The label should match the show-cc-row-button text.
+show-cc-row-extra-menuitem =
+ .label = Cc
+ .accesskey = C
+# $key (String) - the shortcut key for this field
+show-cc-row-button = Cc
+ .title = Mostrar campo Cc ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+bcc-address-row-label =
+ .value = Cco
+# $key (String) - the shortcut key for this field
+show-bcc-row-main-menuitem =
+ .label = Campo Cco
+ .accesskey = B
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+# No acceltext should be shown.
+# The label should match the show-bcc-row-button text.
+show-bcc-row-extra-menuitem =
+ .label = Cco
+ .accesskey = B
+# $key (String) - the shortcut key for this field
+show-bcc-row-button = Cco
+ .title = Mostrar campo Cco ({ ctrl-cmd-shift-pretty-prefix }{ $key })
+extra-address-rows-menu-button =
+ .title = Otros campos de direcciones para mostrar
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+many-public-recipients-notice =
+ { $count ->
+ [one] Tu mensaje tiene un destinatario público. Puedes evitar la divulgación de destinatarios utilizando Cco en su lugar.
+ *[other] Los destinatarios de { $count } en Para y Cc verán la dirección de cada uno. Puedes evitar la divulgación de destinatarios utilizando Cco en su lugar.
+ }
+many-public-recipients-bcc =
+ .label = Utiliza Cco en su lugar
+ .accesskey = U
+many-public-recipients-ignore =
+ .label = Mantener públicos a los destinatarios
+ .accesskey = M
+many-public-recipients-prompt-title = Demasiados destinatarios públicos
+# $count (Number) - the count of addresses in the public recipients fields.
+many-public-recipients-prompt-msg =
+ { $count ->
+ [one] Tu mensaje tiene un destinatario público. Esto puede ser un problema de privacidad. Puedes evitar esto moviendo el destinatario de Para/Cc a Cco en su lugar.
+ *[other] Tu mensaje tiene { $count } destinatarios públicos, que podrán ver las direcciones de los demás. Esto puede ser un problema de privacidad. Puedes evitar revelar los destinatarios moviendo los destinatarios de Para/Cc a Cco en su lugar.
+ }
+many-public-recipients-prompt-cancel = Cancelar envío
+many-public-recipients-prompt-send = Enviar de todos modos
+
+## Notifications
+
+# Variables:
+# $identity (string) - The name of the used identity, most likely an email address.
+compose-missing-identity-warning = No se encontró una identidad única que coincida con la dirección del remitente. El mensaje se enviará usando el remitente actual y la configuración de la identidad { $identity }.
+encrypted-bcc-warning = Al enviar un mensaje cifrado, los destinatarios en Cco no están completamente ocultos. Todos los destinatarios pueden identificarlos.
+encrypted-bcc-ignore-button = Entendido
+
+## Editing
+
+
+# Tools
+
+compose-tool-button-remove-text-styling =
+ .tooltiptext = Eliminar estilo de texto
+
+## Filelink
+
+# A text used in a tooltip of Filelink attachments, whose account has been
+# removed or is unknown.
+cloud-file-unknown-account-tooltip = Subido a una cuenta de Filelink desconocida.
+
+# Placeholder file
+
+# Title for the html placeholder file.
+# $filename - name of the file
+cloud-file-placeholder-title = Adjunto de Filelink - { $filename }
+# 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 = El archivo { $filename } se adjuntó como Filelink. Se puede descargar desde el siguiente enlace.
+
+# 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] He vinculado el archivo { $count } a este correo electrónico:
+ *[other] He vinculado { $count } archivos a este correo electrónico:
+ }
+# 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 = Saber más acerca de { $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 = Saber más sobre { $firstLinks } y { $lastLink }
+# Tooltip for an icon, indicating that the link is protected by a password.
+cloud-file-tooltip-password-protected-link = Enlace protegido por contraseña
+# 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 = Servicio de Filelink:
+cloud-file-template-size = Tamaño:
+cloud-file-template-link = Enlace:
+cloud-file-template-password-protected-link = Enlace protegido por contraseña:
+cloud-file-template-expiry-date = Fecha de expiración:
+cloud-file-template-download-limit = Límite de descarga:
+
+# Messages
+
+cloud-file-connection-error-title = Error de conexión
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-connection-error = { -brand-short-name } está desconectado. No se pudo conectar con { $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 = No se pudo cargar { $filename } a { $provider }
+cloud-file-rename-error-title = Error al renombrar
+# 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 = Hubo un problema al cambiar el nombre de { $filename } en { $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 = No se pudo renombrar { $filename } en { $provider }
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-rename-not-supported = { $provider } no admite el cambio de nombre de archivos ya cargados.
+cloud-file-attachment-error-title = Error del adjunto de Filelink
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-attachment-error = No se pudo actualizar el archivo adjunto de Filelink { $filename }, porque tu archivo local se movió o eliminó.
+cloud-file-account-error-title = Error en la cuenta de Filelink
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-account-error = No se pudo actualizar el archivo adjunto de Filelink { $filename }, porque se ha eliminado tu cuenta de Filelink.
+
+## Link Preview
+
+link-preview-title = Vista previa del enlace
+link-preview-description = { -brand-short-name } puede agregar una vista previa incrustrada al pegar enlaces.
+link-preview-autoadd = Agregar automáticamente vista previas de enlaces cuando sea posible
+link-preview-replace-now = ¿Agregar vista para este enlace?
+link-preview-yes-replace = Sí
+
+## Dictionary selection popup
+
+spell-add-dictionaries =
+ .label = Agregar diccionarios…
+ .accesskey = A
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/migration.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/migration.ftl
new file mode 100644
index 0000000000..30e96a49bd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Preparando { -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 = Probando un cambio rápido
+migration-task-test-slow = Probando un cambio lento
+migration-task-test-progress = Probando la barra de progreso
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/multimessageview.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/multimessageview.ftl
new file mode 100644
index 0000000000..6a1c96d0ba
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Resumen de mensajes
+selected-messages-label =
+ .label = Mensajes seleccionados
+multi-message-archive-button =
+ .label = Archivar
+ .tooltiptext = Archivar
+multi-message-delete-button =
+ .label = Eliminar
+ .tooltiptext = Eliminar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/backupKeyPassword.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..b1b7c8c96b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Elige una contraseña para hacer una copia de seguridad de tu clave OpenPGP
+set-password-window-title = Elige una contraseña para hacer una copia de seguridad de tu clave OpenPGP
+set-password-legend = Elegir una contraseña
+set-password-message = La contraseña que establezcas aquí protege el archivo de copia de seguridad de la clave secreta de OpenPGP que está a punto de crear. Debes establecer esta contraseña para continuar con la copia de seguridad.
+set-password-backup-pw =
+ .value = Contraseña de respaldo de la clave secreta:
+set-password-repeat-backup-pw =
+ .value = Contraseña de respaldo de la clave secreta (otra vez):
+set-password-backup-pw-label = Contraseña de respaldo de la clave secreta:
+set-password-backup-pw2-label = Contraseña de respaldo de la clave secreta (otra vez):
+set-password-reminder = <b>¡Importante!</b> Si olvidas la contraseña de la copia de seguridad de la clave secreta, no podrás restaurar este copia de seguridad más tarde. Guárdala en un lugar seguro.
+password-quality-meter = Calidad de la contraseña
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..d63e0aabc7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/changeExpiryDlg.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-change-key-expiry-title =
+ .title = Cambiar expiración de la clave
+openpgp-change-expiry-title = Cambiar expiración de la clave
+info-will-expire = Esta clave está configurada para expirar el { $date }.
+info-already-expired = Esta clave ya ha expirado.
+info-does-not-expire = Esta clave está configurada para nunca expirar.
+info-explanation-1 = <b>Después de que una clave expira</b>, ya no es posible usarla para cifrado o firma digital.
+info-explanation-2 = Para usar esta clave durante un periodo de tiempo más largo, cambia su fecha de expiración y luego vuelva a compartir la clave pública con tus compañeros de conversación de nuevo.
+expire-dont-change =
+ .label = No cambiar la fecha de expiración
+expire-never-label =
+ .label = La clave nunca expirará
+expire-in-label =
+ .label = La clave expirará en:
+expire-in-months = Meses
+expire-no-change-label = No cambiar la fecha de expiración
+expire-in-time-label = La clave expirará en:
+expire-never-expire-label = La clave nunca expirará
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/composeKeyStatus.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..c5181e3216
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/composeKeyStatus.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-compose-key-status-intro-need-keys = Para enviar un mensaje cifrado de extremo a extremo, debes obtener y aceptar una clave pública para cada destinatario.
+openpgp-compose-key-status-keys-heading = Disponibilidad de claves OpenPGP:
+openpgp-compose-key-status-title =
+ .title = Seguridad de mensajes OpenPGP
+openpgp-compose-key-status-recipient =
+ .label = Destinatario
+openpgp-compose-key-status-status =
+ .label = Estado
+openpgp-compose-key-status-open-details = Administrar claves para el destinatario seleccionado…
+openpgp-recip-good = ok
+openpgp-recip-missing = no hay clave disponible
+openpgp-recip-none-accepted = no hay clave aceptada
+openpgp-compose-general-info-alias = { -brand-short-name } normalmente requiere que la clave pública del destinatario contenga un ID de usuario con una dirección de correo electrónico coincidente. Esto se puede anular usando las reglas del alias del destinatario de OpenPGP.
+openpgp-compose-general-info-alias-learn-more = Saber más
+openpgp-compose-alias-status-direct =
+ { $count ->
+ [one] asignado a una clave de alias
+ *[other] asignado a { $count } claves de alias
+ }
+openpgp-compose-alias-status-error = clave de alias no usable/no disponible
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/keyAssistant.ftl
new file mode 100644
index 0000000000..44dfa880c9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Asistente de claves OpenPGP
+openpgp-key-assistant-rogue-warning = Evita aceptar una llave falsificada. Para asegurarte de haber obtenido la llave correcta, debes verificarla. <a data-l10n-name="openpgp-link">Más información…</a>
+
+## Encryption status
+
+openpgp-key-assistant-recipients-issue-header = No se puede cifrar
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-issue-description =
+ { $count ->
+ [one] Para cifrar, debes obtener y aceptar una llave utilizable para un destinatario. <a data-l10n-name="openpgp-link">Saber más…</a>
+ *[other] Para cifrar, debes obtener y aceptar llaves utilizables para { $count } remitentes. <a data-l10n-name="openpgp-link">Saber más…</a>
+ }
+openpgp-key-assistant-info-alias = { -brand-short-name } normalmente requiere que la llave pública del destinatario contenga una identificación de usuario con una dirección de correo electrónico coincidente. Esto se puede anular mediante el uso de reglas de alias de destinatarios de OpenPGP. <a data-l10n-name="openpgp-link">Más información…</a>
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-description =
+ { $count ->
+ [one] Tienes una llave utilizable y aceptada para un destinatario.
+ *[other] Tienes varias llaves utilizables y aceptadas para { $count } destinatarios.
+ }
+openpgp-key-assistant-recipients-description-no-issues = Este mensaje puede estar cifrado. Tienes llaves utilizables y aceptadas para todos los destinatarios.
+
+## 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 } encontró la siguiente llave para { $recipient }.
+ *[other] { -brand-short-name } encontró las siguientes llaves para { $recipient }.
+ }
+openpgp-key-assistant-valid-description = Selecciona la llave que quieres aceptar
+# Variables:
+# $numKeys (Number) - The number of available keys.
+openpgp-key-assistant-invalid-title =
+ { $numKeys ->
+ [one] La siguiente llave no puede ser usada, a menos que obtengas una actualización.
+ *[other] Las siguientes llaves no pueden ser usadas, a menos que obtengas una actualización.
+ }
+openpgp-key-assistant-no-key-available = No hay llave disponible.
+openpgp-key-assistant-multiple-keys = Hay varias claves disponibles.
+# Variables:
+# $count (Number) - The number of unaccepted keys.
+openpgp-key-assistant-key-unaccepted =
+ { $count ->
+ [one] Una llave está disponible, pero no ha sido aceptada aún.
+ *[other] Múltiples llaves están disponibles, pero no han sido aceptadas aún.
+ }
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-accepted-expired = Una llave aceptadas ha expirado el { $date }.
+openpgp-key-assistant-keys-accepted-expired = Múltiples llaves aceptadas han expirado.
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-this-key-accepted-expired = Esta llave fue previamente aceptada pero expiró el { $date }.
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-unaccepted-expired-one = La clave expiró en { $date }.
+openpgp-key-assistant-key-unaccepted-expired-many = Múltiples llaves han expirado.
+openpgp-key-assistant-key-fingerprint = Huella dactilar
+# Variables:
+# $count (Number) - Number of key sources.
+openpgp-key-assistant-key-source =
+ { $count ->
+ [one] Fuente
+ *[other] Fuentes
+ }
+openpgp-key-assistant-key-collected-attachment = archivo adjunto de correo
+# Autocrypt is the name of a standard.
+openpgp-key-assistant-key-collected-autocrypt = Encabezado de cifrado automático
+openpgp-key-assistant-key-collected-keyserver = Servidor de claves
+# Web Key Directory (WKD) is a concept.
+openpgp-key-assistant-key-collected-wkd = Directorio de llaves web
+# Do not translate GnuPG, it's a name of other software.
+openpgp-key-assistant-key-collected-gnupg = Llavero GnuPG
+# Variables:
+# $count (Number) - Number of found keys.
+openpgp-key-assistant-keys-has-collected =
+ { $count ->
+ [one] Una llave fue encontrada, pero no ha sido aceptada aún.
+ *[other] Múltiples llaves fueron encontradas, pero no han sido aceptadas aún.
+ }
+openpgp-key-assistant-key-rejected = Esta llave ha sido previamente rechazada.
+openpgp-key-assistant-key-accepted-other = Esta llave ha sido previamente aceptada, pero por un correo electrónico diferente.
+# Variables:
+# $recipient (String) - The email address of the recipient needing resolution.
+openpgp-key-assistant-resolve-discover-info = Descubre llaves adicionales o actualizadas para { $recipient } en línea, o impórtalas desde un archivo.
+
+## Discovery section
+
+openpgp-key-assistant-discover-title = Descubrimiento en línea en progreso.
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-discover-keys = Descubriendo llaves para { $recipient }…
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-expired-key-update =
+ Una actualización fue encontrada para una de las llaves aceptadas previamente para { $recipient }.
+ Puede ser usada ahora ya que ha dejado de estar expirada.
+
+## Dialog buttons
+
+openpgp-key-assistant-discover-online-button = Descubrir llaves públicas en línea…
+openpgp-key-assistant-import-keys-button = Importar llaves públicas desde archivo…
+openpgp-key-assistant-issue-resolve-button = Resolver…
+openpgp-key-assistant-view-key-button = Ver llave…
+openpgp-key-assistant-recipients-show-button = Mostrar
+openpgp-key-assistant-recipients-hide-button = Ocultar
+openpgp-key-assistant-cancel-button = Cancelar
+openpgp-key-assistant-back-button = Atrás
+openpgp-key-assistant-accept-button = Aceptar
+openpgp-key-assistant-close-button = Cerrar
+openpgp-key-assistant-disable-button = Deshabilitar el cifrado
+openpgp-key-assistant-confirm-button = Enviar cifrado
+# Variables:
+# $date (String) - The key creation date.
+openpgp-key-assistant-key-created = creado el { $date }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..2ff193264b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/keyWizard.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/.
+
+# $identity (String) - the email address of the currently selected identity
+key-wizard-dialog-window =
+ .title = Agregar una clave OpenPGP personal para { $identity }
+
+key-wizard-button =
+ .buttonlabelaccept = Continuar
+ .buttonlabelhelp = Regresar
+
+key-wizard-dialog =
+ .buttonlabelaccept = Continuar
+ .buttonlabelextra1 = Regresar
+
+key-wizard-warning = <b>Si ya tienes una clave personal</b> para esta dirección de correo electrónico, deberías importarla. De lo contrario, no tendrás acceso a tus archivos de correos electrónicos cifrados ni podrás leer los correos electrónicos cifrados recibidos de personas que aún están usando tu clave existente.
+
+key-wizard-learn-more = Saber más
+
+radio-create-key =
+ .label = Crear una nueva clave OpenPGP
+ .accesskey = C
+
+radio-import-key =
+ .label = Importar una clave OpenPGP existente
+ .accesskey = I
+
+radio-gnupg-key =
+ .label = Usa tu clave externa a través de GnuPG (por ejemplo, desde una tarjeta inteligente)
+ .accesskey = U
+
+## Generate key section
+
+openpgp-generate-key-title = Generar clave OpenPGP
+
+openpgp-generate-key-info = <b>La generación de claves puede tardar varios minutos en completarse.</b> No salgas de la aplicación mientras la generación de la clave está en progreso. La navegación activa o la realización de operaciones con un disco intensivo durante la generación de la clave repondrán el "grupo de aleatoriedad" y acelerará el proceso. Se te avisará cuando se complete la generación de claves.
+
+openpgp-keygen-expiry-title = Expiración de la clave
+
+openpgp-keygen-expiry-description = Define el tiempo de expiración de tu clave recién generada. Posteriormente puedes controlar la fecha para prorrogarla si es necesario.
+
+radio-keygen-expiry =
+ .label = La clave expira en
+ .accesskey = e
+
+radio-keygen-no-expiry =
+ .label = La clave no expira
+ .accesskey = c
+
+openpgp-keygen-days-label =
+ .label = días
+openpgp-keygen-months-label =
+ .label = meses
+openpgp-keygen-years-label =
+ .label = años
+
+openpgp-keygen-advanced-title = Configuración avanzada
+
+openpgp-keygen-advanced-description = Controla la configuración avanzada de tu clave OpenPGP.
+
+openpgp-keygen-keytype =
+ .value = Tipo de clave:
+ .accesskey = t
+
+openpgp-keygen-keysize =
+ .value = Tamaño de clave:
+ .accesskey = s
+
+openpgp-keygen-type-rsa =
+ .label = RSA
+
+openpgp-keygen-type-ecc =
+ .label = ECC (curva elíptica)
+
+openpgp-keygen-button = Generar clave
+
+openpgp-keygen-progress-title = Generando tu nueva clave OpenPGP…
+
+openpgp-keygen-import-progress-title = Importando tus claves OpenPGP…
+
+openpgp-import-success = ¡Claves OpenPGP importadas con éxito!
+
+openpgp-import-success-title = Completar el proceso de importación
+
+openpgp-import-success-description = Para comenzar a usar tu clave OpenPGP importada para el cifrado de correo electrónico, cierra este cuadro de diálogo y accede a la Configuración de tu cuenta para seleccionarla.
+
+openpgp-keygen-confirm =
+ .label = Confirmar
+
+openpgp-keygen-dismiss =
+ .label = Cancelar
+
+openpgp-keygen-cancel =
+ .label = Cancelar proceso…
+
+openpgp-keygen-import-complete =
+ .label = Cerrar
+ .accesskey = C
+
+openpgp-keygen-missing-username = No hay un nombre especificado para la cuenta actual. Introduce un valor en el campo "Tu nombre" en la configuración de la cuenta.
+openpgp-keygen-long-expiry = No puedes crear una clave que expira en más de 100 años.
+openpgp-keygen-short-expiry = Tu clave debe ser válida por al menos un día.
+
+openpgp-keygen-ongoing = ¡La generación de claves ya está en progreso!
+
+openpgp-keygen-error-core = No se puede inicializar el servicio principal de OpenPGP
+
+openpgp-keygen-error-failed = La generación de la clave OpenPGP falló inesperadamente
+
+# $identity (String) - the newly generate OpenPGP Key
+openpgp-keygen-error-revocation = La clave OpenPGP se creó correctamente, pero no se pudo obtener la revocación de la clave { $key }
+
+openpgp-keygen-abort-title = ¿Abortar la generación de claves?
+openpgp-keygen-abort = La generación de la clave OpenPGP actualmente esta en progreso, ¿estás seguro de que deseas cancelarla?
+
+# $identity (String) - the name and email address of the currently selected identity
+openpgp-key-confirm = ¿Generar clave pública y secreta para { $identity }?
+
+## Import Key section
+
+openpgp-import-key-title = Importar una clave OpenPGP personal existente
+
+openpgp-import-key-legend = Selecciona un archivo previamente respaldado.
+
+openpgp-import-key-description = Puedes importar las claves personales que se crearon con otro software OpenPGP.
+
+openpgp-import-key-info = Otro software puede describir una clave personal usando términos alternativos como tu propia clave, clave secreta, clave privada o par de claves.
+
+# $count (Number) - the number of keys found in the selected files
+openpgp-import-key-list-amount-2 =
+ { $count ->
+ [one] { -brand-short-name } encontró una llave que puede importarse.
+ *[other] { -brand-short-name } encontró { $count } llaves que pueden importarse.
+ }
+
+openpgp-import-key-list-description = Confirma qué claves pueden tratarse como tus claves personales. Solo las claves que tú mismo creaste y que muestran tu propia identidad deben usarse como claves personales. Puedes cambiar esta opción más adelante en el cuadro de diálogo Propiedades de clave.
+
+openpgp-import-key-list-caption = Las claves marcadas para ser tratadas como claves personales se enumerarán en la sección Cifrado de extremo a extremo. Los demás estarán disponibles dentro del Administrador de claves.
+
+openpgp-passphrase-prompt-title = Se requiere contraseña
+
+# $identity (String) - the id of the key being imported
+openpgp-passphrase-prompt = Ingresa la frase de contraseña para desbloquear la siguiente clave: { $key }
+
+openpgp-import-key-button =
+ .label = Seleccionar archivo para importar…
+ .accesskey = S
+
+import-key-file = Importar archivo de clave OpenPGP
+
+import-key-personal-checkbox =
+ .label = Trata esta clave como una clave personal
+
+gnupg-file = Archivos GnuPG
+
+import-error-file-size = <b>¡Error!</b> No se admiten archivos de más de 5MB.
+
+# $error (String) - the reported error from the failed key import method
+import-error-failed = <b>¡Error!</b> No se pudo importar el archivo. { $error }
+
+# $error (String) - the reported error from the failed key import method
+openpgp-import-keys-failed = <b>¡Error!</b> No se pudieron importar las claves. { $error }
+
+openpgp-import-identity-label = Identidad
+
+openpgp-import-fingerprint-label = Huella dactilar
+
+openpgp-import-created-label = Creado
+
+openpgp-import-bits-label = Bits
+
+openpgp-import-key-props =
+ .label = Propiedades de la clave
+ .accesskey = K
+
+## External Key section
+
+openpgp-external-key-title = Clave GnuPG externa
+
+openpgp-external-key-description = Configura una clave GnuPG externa ingresando el ID de la clave
+
+openpgp-external-key-info = Además, debes utilizar el Administrador de claves para importar y aceptar la clave pública correspondiente.
+
+openpgp-external-key-warning = <b>Puedes configurar solo una clave GnuPG externa.</b> Tu entrada anterior será reemplazada.
+
+openpgp-save-external-button = Guardar ID de la clave
+
+openpgp-external-key-label = ID de la clave secreta:
+
+openpgp-external-key-input =
+ .placeholder = 123456789341298340
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..f79e2598ac
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/msgReadStatus.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/.
+
+
+## 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] Mostrar seguridad del mensaje (^ ⌘ { message-header-show-security-info-key })
+ *[other] Mostrar seguridad del mensaje (Ctrl+Alt+{ message-header-show-security-info-key })
+ }
+
+openpgp-view-signer-key =
+ .label = Ver clave de firmante
+openpgp-view-your-encryption-key =
+ .label = Ver tu clave de descifrado
+openpgp-openpgp = OpenPGP
+
+openpgp-no-sig = Sin firma digital
+openpgp-no-sig-info = Este mensaje no incluye la firma digital del remitente. La ausencia de una firma digital significa que el mensaje podría haber sido enviado por alguien que finge tener esta dirección de correo electrónico. También es posible que el mensaje haya sido alterado mientras circulaba por la red.
+openpgp-uncertain-sig = Firma digital incierta
+openpgp-invalid-sig = Firma digital no válida
+openpgp-good-sig = Buena firma digital
+
+openpgp-sig-uncertain-no-key = Este mensaje contiene una firma digital, pero no está claro si es correcta. Para verificar la firma, necesitas obtener una copia de la clave pública del remitente.
+openpgp-sig-uncertain-uid-mismatch = Este mensaje contiene una firma digital, pero se detectó una discrepancia. El mensaje fue enviado desde una dirección de correo electrónico que no coincide con la clave pública del firmante.
+openpgp-sig-uncertain-not-accepted = Este mensaje contiene una firma digital, pero aún no has decidido si la clave del firmante es aceptable para ti.
+openpgp-sig-invalid-rejected = Este mensaje contiene una firma digital, pero previamente decidiste rechazar la clave del firmante.
+openpgp-sig-invalid-technical-problem = Este mensaje contiene una firma digital, pero se detectó un error técnico. O el mensaje ha sido corrompido o alguien más lo ha modificado.
+openpgp-sig-valid-unverified = Este mensaje incluye una firma digital válida de una clave que ya has aceptado. Sin embargo, aún no has verificado que la clave sea propiedad del remitente.
+openpgp-sig-valid-verified = Este mensaje incluye una firma digital válida de una clave verificada.
+openpgp-sig-valid-own-key = Este mensaje incluye una firma digital válida de tu clave personal.
+
+openpgp-sig-key-id = ID de clave del firmante: { $key }
+openpgp-sig-key-id-with-subkey-id = ID de clave del firmante: { $key } (ID de subclave: { $subkey })
+
+openpgp-enc-key-id = ID de clave de descifrado: { $key }
+openpgp-enc-key-with-subkey-id = ID de clave de descifrado: { $key } (ID de subclave: { $subkey })
+
+openpgp-enc-none = El mensaje no está cifrado
+openpgp-enc-none-label = Este mensaje no fue cifrado antes de ser enviado. La información que se manda a Internet sin cifrar puede ser vista por otras personas mientras llega a su destino.
+
+openpgp-enc-invalid-label = El mensaje no puede ser descifrado
+openpgp-enc-invalid = Este mensaje fue cifrado antes de ser enviado, pero no puede ser descifrado.
+
+openpgp-enc-clueless = Hay un problema desconocido con este mensaje cifrado.
+
+openpgp-enc-valid-label = El mensaje está cifrado
+openpgp-enc-valid = Este mensaje fue cifrado antes de ser enviado. El cifrado asegura que el mensaje solo pueda ser leído por los destinatarios a los que estaba destinado.
+
+openpgp-unknown-key-id = Clave desconocida
+
+openpgp-other-enc-additional-key-ids = Además, el mensaje se cifró para los propietarios de las siguientes claves:
+openpgp-other-enc-all-key-ids = El mensaje fue cifrado para los propietarios de las siguientes claves:
+
+openpgp-message-header-encrypted-ok-icon =
+ .alt = Descifrado exitoso
+openpgp-message-header-encrypted-notok-icon =
+ .alt = Falló el descifrado
+
+openpgp-message-header-signed-ok-icon =
+ .alt = Buena firma
+# Mismatch icon is used for notok state as well
+openpgp-message-header-signed-mismatch-icon =
+ .alt = Mala firma
+openpgp-message-header-signed-unknown-icon =
+ .alt = Estado de firma desconocido
+openpgp-message-header-signed-verified-icon =
+ .alt = Firma verificada
+openpgp-message-header-signed-unverified-icon =
+ .alt = Firma no verificada
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/oneRecipientStatus.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..33cbcf9ebc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/oneRecipientStatus.ftl
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-one-recipient-status-title =
+ .title = Seguridad de mensajes OpenPGP
+openpgp-one-recipient-status-status =
+ .label = Estatus
+openpgp-one-recipient-status-key-id =
+ .label = ID de clave
+openpgp-one-recipient-status-created-date =
+ .label = Creado
+openpgp-one-recipient-status-expires-date =
+ .label = Expira
+openpgp-one-recipient-status-open-details =
+ .label = Abrir detalles y editar aprobación…
+openpgp-one-recipient-status-discover =
+ .label = Descubrir clave nueva o actualizada
+
+openpgp-one-recipient-status-instruction1 = Para enviar un mensaje cifrado de extremo a un destinatario, necesitas obtener tu clave pública OpenPGP y marcarla como aceptada.
+openpgp-one-recipient-status-instruction2 = Para obtener su claves pública, importarlos desde el correo electrónico que te han enviado y que las incluye. También, puedes intentar descubrir su clave pública en un directorio.
+
+openpgp-key-own = Aceptado (clave personal)
+openpgp-key-secret-not-personal = No utilizable
+openpgp-key-verified = Aceptada (verificado)
+openpgp-key-unverified = Aceptada (sin verificar)
+openpgp-key-undecided = No aceptado (indeciso)
+openpgp-key-rejected = No aceptado (rechazado)
+openpgp-key-expired = Expirado
+
+openpgp-intro = Claves públicas disponibles para { $key }
+
+openpgp-pubkey-import-id = ID: { $kid }
+openpgp-pubkey-import-fpr = Huella digital: { $fpr }
+
+openpgp-pubkey-import-intro =
+ { $num ->
+ [one] El archivo contiene una llave pública que se muestra a continuación:
+ *[other] El archivo contiene { $num } llaves públicas que se muestran a continuación:
+ }
+
+openpgp-pubkey-import-accept =
+ { $num ->
+ [one] ¿Aceptas esta llave para verificar firmas digitales y cifrar mensajes para todas las direcciones de correo electrónico mostradas?
+ *[other] ¿Aceptas estas llaves para verificar firmas digitales y cifrar mensajes para todas las direcciones de correo electrónico mostradas?
+ }
+
+pubkey-import-button =
+ .buttonlabelaccept = Importar
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..210665dddf
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp-frontend.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/.
+
+openpgp-manage-keys-openpgp-cmd =
+ .label = Administrador de claves OpenPGP
+ .accesskey = O
+openpgp-ctx-decrypt-open =
+ .label = Descifrar y abrir
+ .accesskey = D
+openpgp-ctx-decrypt-save =
+ .label = Descifrar y guardar como…
+ .accesskey = C
+openpgp-ctx-import-key =
+ .label = Importar clave OpenPGP
+ .accesskey = I
+openpgp-ctx-verify-att =
+ .label = Verificar firma
+ .accesskey = V
+openpgp-has-sender-key = Este mensaje afirma contener la clave pública OpenPGP del remitente.
+openpgp-be-careful-new-key = Advertencia: La nueva clave pública de OpenPGP en este mensaje difiere de las claves públicas que aceptaste anteriormente para { $email }.
+openpgp-import-sender-key =
+ .label = Importar…
+openpgp-search-keys-openpgp =
+ .label = Descubrir la clave OpenPGP
+openpgp-missing-signature-key = Este mensaje se firmó con una clave que aún no tienes.
+openpgp-search-signature-key =
+ .label = Descubrir…
+# Don't translate the terms "OpenPGP" and "MS-Exchange"
+openpgp-broken-exchange-opened = Este es un mensaje de OpenPGP que aparentemente fue dañado por MS-Exchange y no se puede reparar porque se abrió desde un archivo local. Copie el mensaje en una carpeta de correo para intentar una reparación automática.
+openpgp-broken-exchange-info = Este es un mensaje de OpenPGP que aparentemente fue dañado por MS-Exchange. Si el contenido del mensaje no se muestra como se esperaba, puedes intentar una reparación automática.
+openpgp-broken-exchange-repair =
+ .label = Reparar mensaje
+openpgp-broken-exchange-wait = Por favor, espera…
+openpgp-has-nested-encrypted-parts = Este mensaje incluye partes cifradas adicionales.
+openpgp-show-encrypted-parts = Descifrar y mostrar
+openpgp-cannot-decrypt-because-mdc =
+ Este es un mensaje cifrado que utiliza un mecanismo antiguo y vulnerable.
+ Podría haber sido modificado mientras estaba en tránsito, con la intención de robar su contenido.
+ Para evitar este riesgo, no se muestran los contenidos.
+openpgp-cannot-decrypt-because-missing-key = La clave secreta necesaria para descifrar este mensaje no está disponible.
+openpgp-partially-signed =
+ Solo un subconjunto de este mensaje se firmó digitalmente mediante OpenPGP.
+ Si haces clic en el botón de verificación, se ocultarán las partes no protegidas y se mostrará el estado de la firma digital.
+openpgp-partially-encrypted =
+ Solo un subconjunto de este mensaje se cifró con OpenPGP.
+ Las partes legibles del mensaje que ya se muestran no se cifraron.
+ Si haces clic en el botón de descifrar, se mostrará el contenido de las partes cifradas.
+openpgp-reminder-partial-display = Recordatorio: El mensaje que se muestra a continuación es solo un subconjunto del mensaje original.
+openpgp-partial-verify-button = Verificar
+openpgp-partial-decrypt-button = Descifrar
+openpgp-unexpected-key-for-you = Advertencia: Este mensaje contiene una llave OpenPGP desconocida que hace referencia a una de tus direcciones de correo. Si esta no es una de tus llaves, podría ser un intento de engañar a otros contactos.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..d8d27626a2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/openpgp/openpgp.ftl
@@ -0,0 +1,703 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Para enviar mensajes cifrados o firmados digitalmente, debes configurar una tecnología de cifrado, ya sea OpenPGP o S/MIME.
+e2e-intro-description-more = Selecciona tu clave personal para habilitar el uso de OpenPGP, o tu certificado personal para habilitar el uso de S/MIME. Para una clave personal o un certificado, posees la clave secreta correspondiente.
+e2e-signing-description = Una firma digital permite a los destinatarios verificar que tu enviaste el mensaje y que su contenido no cambió. Los mensaje cifrados de extremo a extremo siempre se firman de forma predeterminada.
+e2e-sign-message =
+ .label = Firmar mensajes sin cifrar
+ .accesskey = c
+e2e-disable-enc =
+ .label = Deshabilitar el cifrado para mensajes nuevos
+ .accesskey = D
+e2e-enable-enc =
+ .label = Habilitar cifrado para mensajes nuevos
+ .accesskey = n
+e2e-enable-description = Podrás deshabilitar el cifrado de mensajes individuales.
+e2e-advanced-section = Configuración avanzada
+e2e-attach-key =
+ .label = Adjuntar mi clave pública al agregar una firma digital OpenPGP
+ .accesskey = p
+e2e-encrypt-subject =
+ .label = Cifrar el asunto de los mensajes OpenPGP
+ .accesskey = b
+e2e-encrypt-drafts =
+ .label = Almacenar borradores de mensajes en formato cifrado
+ .accesskey = r
+openpgp-key-created-label =
+ .label = Creado
+openpgp-key-expiry-label =
+ .label = Expiración
+openpgp-key-id-label =
+ .label = ID de clave
+openpgp-cannot-change-expiry = Esta es una clave con una estructura compleja, no se admite cambiar la fecha de expiración.
+openpgp-key-man-title =
+ .title = Administrador de claves OpenPGP
+openpgp-key-man-dialog-title = Administrador de claves OpenPGP
+openpgp-key-man-generate =
+ .label = Nuevo par de claves
+ .accesskey = c
+openpgp-key-man-gen-revoke =
+ .label = Certificado de revocación
+ .accesskey = R
+openpgp-key-man-ctx-gen-revoke-label =
+ .label = Generar y guardar certificado de revocación
+openpgp-key-man-file-menu =
+ .label = Archivo
+ .accesskey = A
+openpgp-key-man-edit-menu =
+ .label = Editar
+ .accesskey = E
+openpgp-key-man-view-menu =
+ .label = Ver
+ .accesskey = V
+openpgp-key-man-generate-menu =
+ .label = Generar
+ .accesskey = G
+openpgp-key-man-keyserver-menu =
+ .label = Servidor de claves
+ .accesskey = K
+openpgp-key-man-import-public-from-file =
+ .label = Importar clave(s) pública(s) desde archivo
+ .accesskey = I
+openpgp-key-man-import-secret-from-file =
+ .label = Importar clave(s) secreta(s) desde archivo
+openpgp-key-man-import-sig-from-file =
+ .label = Importar revocación(es) desde archivo
+openpgp-key-man-import-from-clipbrd =
+ .label = Importar clave(s) desde el portapapeles
+ .accesskey = I
+openpgp-key-man-import-from-url =
+ .label = Importar clave(s) desde URL
+ .accesskey = U
+openpgp-key-man-export-to-file =
+ .label = Exportar clave(s) pública(s) a archivo
+ .accesskey = E
+openpgp-key-man-send-keys =
+ .label = Enviar clave(s) pública(s) por correo electrónico
+ .accesskey = E
+openpgp-key-man-backup-secret-keys =
+ .label = Copia de seguridad de las claves secretas para archivar
+ .accesskey = C
+openpgp-key-man-discover-cmd =
+ .label = Descubrir claves en línea
+ .accesskey = D
+openpgp-key-man-publish-cmd =
+ .label = Publicar
+ .accesskey = P
+openpgp-key-man-discover-prompt = Para descubrir claves OpenPGP en línea, en servidores de claves o usando el protocolo WKD, ingresa una dirección de correo electrónico o un ID de clave.
+openpgp-key-man-discover-progress = Buscando…
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-ok = Clave pública enviada a "{ $keyserver }".
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-fail = No se pudo enviar tu clave pública a "{ $keyserver }".
+openpgp-key-copy-key =
+ .label = Copiar clave pública
+ .accesskey = C
+openpgp-key-export-key =
+ .label = Exportar clave pública a archivo
+ .accesskey = E
+openpgp-key-backup-key =
+ .label = Copia de seguridad de la clave secreta a archivo
+ .accesskey = C
+openpgp-key-send-key =
+ .label = Enviar clave pública por correo electrónico
+ .accesskey = E
+openpgp-key-man-copy-key-ids =
+ .label =
+ { $count ->
+ [one] Copiar ID de clave al portapapeles
+ *[other] Copiar ID de claves al portapapeles
+ }
+ .accesskey = K
+openpgp-key-man-copy-fprs =
+ .label =
+ { $count ->
+ [one] Copiar huella digital al portapapeles
+ *[other] Copiar huellas digitales al portapapeles
+ }
+ .accesskey = h
+openpgp-key-man-copy-to-clipboard =
+ .label =
+ { $count ->
+ [one] Copiar clave pública al portapapeles
+ *[other] Copiar claves públicas al portapapeles
+ }
+ .accesskey = p
+openpgp-key-man-ctx-expor-to-file-label =
+ .label = Exportar claves a archivo
+openpgp-key-man-ctx-copy =
+ .label = Copiar
+ .accesskey = C
+openpgp-key-man-ctx-copy-fprs =
+ .label =
+ { $count ->
+ [one] Huella digital
+ *[other] Huellas digitales
+ }
+ .accesskey = H
+openpgp-key-man-ctx-copy-key-ids =
+ .label =
+ { $count ->
+ [one] ID de clave
+ *[other] ID de claves
+ }
+ .accesskey = K
+openpgp-key-man-ctx-copy-public-keys =
+ .label =
+ { $count ->
+ [one] Clave pública
+ *[other] Claves públicas
+ }
+ .accesskey = P
+openpgp-key-man-close =
+ .label = Cerrar
+openpgp-key-man-reload =
+ .label = Recargar caché de claves
+ .accesskey = R
+openpgp-key-man-change-expiry =
+ .label = Cambiar fecha de vencimiento
+ .accesskey = e
+openpgp-key-man-refresh-online =
+ .label = Actualizar en línea
+ .accesskey = R
+openpgp-key-man-ignored-ids =
+ .label = Direcciones de correo
+openpgp-key-man-del-key =
+ .label = Eliminar clave(s)
+ .accesskey = E
+openpgp-delete-key =
+ .label = Eliminar clave
+ .accesskey = E
+openpgp-key-man-revoke-key =
+ .label = Revocar clave
+ .accesskey = R
+openpgp-key-man-key-props =
+ .label = Propiedades de la clave
+ .accesskey = c
+openpgp-key-man-key-more =
+ .label = Más
+ .accesskey = M
+openpgp-key-man-view-photo =
+ .label = ID de foto
+ .accesskey = P
+openpgp-key-man-ctx-view-photo-label =
+ .label = Ver ID de foto
+openpgp-key-man-show-invalid-keys =
+ .label = Mostrar claves no válidas
+ .accesskey = D
+openpgp-key-man-show-others-keys =
+ .label = Mostrar claves de otras personas
+ .accesskey = O
+openpgp-key-man-user-id-label =
+ .label = Nombre
+openpgp-key-man-fingerprint-label =
+ .label = Huella dactilar
+openpgp-key-man-select-all =
+ .label = Seleccionar todas las claves
+ .accesskey = A
+openpgp-key-man-empty-tree-tooltip =
+ .label = Ingresa los términos de búsqueda en el cuadro de arriba
+openpgp-key-man-nothing-found-tooltip =
+ .label = Ninguna clave coincide con tus términos de búsqueda
+openpgp-key-man-please-wait-tooltip =
+ .label = Espera mientras se cargan las claves…
+openpgp-key-man-filter-label =
+ .placeholder = Buscar claves
+openpgp-key-man-select-all-key =
+ .key = A
+openpgp-key-man-key-details-key =
+ .key = I
+openpgp-ign-addr-intro = Aceptas utilizar esta llave para las siguientes direcciones de correo electrónico seleccionadas:
+openpgp-key-details-doc-title = Propiedades de la llave
+openpgp-key-details-signatures-tab =
+ .label = Certificaciones
+openpgp-key-details-structure-tab =
+ .label = Estructura
+openpgp-key-details-uid-certified-col =
+ .label = ID de usuario / Certificado por
+openpgp-key-details-key-id-label = ID de clave
+openpgp-key-details-user-id3-label = Propietario de la llave reclamada
+openpgp-key-details-id-label =
+ .label = ID
+openpgp-key-details-key-type-label = Tipo
+openpgp-key-details-key-part-label =
+ .label = Parte de la clave
+openpgp-key-details-attr-ignored = Advertencia: Esta llave puede no funcionar como se espera, porque algunas de sus propiedades son inseguras y pueden ignorarse.
+openpgp-key-details-attr-upgrade-sec = Deberías actualizar las propiedades inseguras.
+openpgp-key-details-attr-upgrade-pub = Deberías pedirle al propietario de esta llave que actualice las propiedades no seguras.
+openpgp-key-details-upgrade-unsafe =
+ .label = Actualizar propiedades no seguras
+ .accesskey = P
+openpgp-key-details-upgrade-ok = La llave se actualizó con éxito. Debes compartir la clave pública actualizada con tus contactos.
+openpgp-key-details-algorithm-label =
+ .label = Algoritmo
+openpgp-key-details-size-label =
+ .label = Tamaño
+openpgp-key-details-created-label =
+ .label = Creado
+openpgp-key-details-created-header = Creado
+openpgp-key-details-expiry-label =
+ .label = Expiración
+openpgp-key-details-expiry-header = Expiración
+openpgp-key-details-usage-label =
+ .label = Uso
+openpgp-key-details-fingerprint-label = Huella dactilar
+openpgp-key-details-legend-secret-missing = Para las llaves marcadas con (!), la llave secreta no está disponible.
+openpgp-key-details-sel-action =
+ .label = Seleccionar acción…
+ .accesskey = S
+openpgp-card-details-close-window-label =
+ .buttonlabelaccept = Cerrar
+openpgp-acceptance-label =
+ .label = Tu aceptación
+openpgp-acceptance-rejected-label =
+ .label = No, rechazo esta clave.
+openpgp-acceptance-undecided-label =
+ .label = Todavía no, quizás más tarde.
+openpgp-acceptance-unverified-label =
+ .label = Sí, pero no he verificado que sea la clave correcta.
+openpgp-acceptance-verified-label =
+ .label = Sí, verifiqué personalmente que esta clave tiene la huella digital correcta.
+key-accept-personal =
+ Para esta clave, tienes tanto la parte pública como la parte secreta. Puedes usarlo como clave personal.
+ Si otra persona te dio esta clave, no la uses como clave personal.
+openpgp-personal-no-label =
+ .label = No, no usar como mi clave personal.
+openpgp-personal-yes-label =
+ .label = Sí, tratar esta clave como una clave personal.
+openpgp-copy-cmd-label =
+ .label = Copiar
+
+## e2e encryption settings
+
+# $identity (String) - the email address of the currently selected identity
+openpgp-description-no-key = { -brand-short-name } no tiene una llave OpenPGP personal para <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 } encontró { $count } llave personal OpenPGP asociada con <b>{ $identity }</b>
+ *[other] { -brand-short-name } encontró { $count } llaves personales OpenPGP asociadas con <b>{ $identity }</b>
+ }
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-have-key = Tu configuración actual usa ID de clave <b>{ $key }</b>
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-error = Tu configuración actual usa la clave <b>{ $key }</b>, que ha caducado.
+openpgp-add-key-button =
+ .label = Agregar clave…
+ .accesskey = A
+e2e-learn-more = Saber más
+openpgp-keygen-success = ¡Clave OpenPGP creada con éxito!
+openpgp-keygen-import-success = ¡Claves OpenPGP importadas con éxito!
+openpgp-keygen-external-success = ¡Se ha guardado el ID de clave GnuPG externo!
+
+## OpenPGP Key selection area
+
+openpgp-radio-none =
+ .label = Ninguno
+openpgp-radio-none-desc = No usar OpenPGP para esta identidad.
+openpgp-radio-key-not-usable = ¡Esta clave no se puede utilizar como clave personal, porque falta la clave secreta!
+openpgp-radio-key-not-accepted = ¡Para usar esta clave debes aprobarla como una clave personal!
+openpgp-radio-key-not-found = ¡No se pudo encontrar esta clave! Si quieres usarlo debes importarlo a { -brand-short-name }.
+# $key (String) - the expiration date of the OpenPGP key
+openpgp-radio-key-expires = Expira el: { $date }
+# $key (String) - the expiration date of the OpenPGP key
+openpgp-radio-key-expired = Expiro el: { $date }
+openpgp-key-expires-within-6-months-icon =
+ .title = La clave caduca en menos de 6 meses
+openpgp-key-has-expired-icon =
+ .title = Clave caducada
+openpgp-key-expand-section =
+ .tooltiptext = Más información
+openpgp-key-revoke-title = Revocar clave
+openpgp-key-edit-title = Cambiar la clave OpenPGP
+openpgp-key-edit-date-title = Extender la fecha de vencimiento
+openpgp-manager-description = Utiliza el Administrador de claves OpenPGP para ver y administrar las claves públicas de tus corresponsales y todas las demás claves no listadas arriba.
+openpgp-manager-button =
+ .label = Administrador de claves OpenPGP
+ .accesskey = K
+openpgp-key-remove-external =
+ .label = Eliminar ID de clave externa
+ .accesskey = E
+key-external-label = Clave GnuPG externa
+
+## Strings in keyDetailsDlg.xhtml
+
+# Strings in keyDetailsDlg.xhtml
+key-type-public = clave pública
+key-type-primary = clave primaria
+key-type-subkey = subclave
+key-type-pair = par de claves (clave secreta y clave pública)
+key-expiry-never = nunca
+key-usage-encrypt = Cifrar
+key-usage-sign = Firma
+key-usage-certify = Certificar
+key-usage-authentication = Autenticación
+key-does-not-expire = La clave no caduca
+key-expired-date = La clave caduco el { $keyExpiry }
+key-expired-simple = La clave ha caducado
+key-revoked-simple = La clave fue revocada
+key-do-you-accept = ¿Aceptas esta clave para verificar firmas digitales y para cifrar mensajes?
+key-verification = Verifica la huella digital de la clave usando un canal de comunicación seguro que no sea el correo electrónico para asegurarse de que realmente sea la clave de { $addr }.
+
+## Strings enigmailMsgComposeOverlay.js
+
+# Strings enigmailMsgComposeOverlay.js
+cannot-use-own-key-because = No se puede enviar el mensaje porque hay un problema con tu clave personal. { $problem }
+window-locked = La ventana de redacción está bloqueada; envío cancelado
+
+## Strings in keyserver.jsm
+
+# Strings in keyserver.jsm
+keyserver-error-aborted = Cancelar
+keyserver-error-unknown = Se produjo un error desconocido
+keyserver-error-server-error = El servidor de claves reporto un error.
+keyserver-error-import-error = No se pudo importar la clave descargada.
+keyserver-error-unavailable = El servidor de claves no está disponible.
+keyserver-error-security-error = El servidor de claves no admite el acceso cifrado.
+keyserver-error-certificate-error = El certificado del servidor de claves no es válido.
+keyserver-error-unsupported = El servidor de claves no es compatible.
+
+## Strings in mimeWkdHandler.jsm
+
+# Strings in mimeWkdHandler.jsm
+wkd-message-body-req =
+ Tu proveedor de correo electrónico procesó tu solicitud para subir tu clave pública al directorio de claves web de OpenPGP.
+ Confirma para completar la publicación de tu clave pública.
+wkd-message-body-process =
+ Este es un correo electrónico relacionado con el procesamiento automático para subir tu clave pública en el directorio de claves web de OpenPGP.
+ No necesitas tomar ninguna acción manual en este punto.
+
+## Strings in persistentCrypto.jsm
+
+# Strings in persistentCrypto.jsm
+converter-decrypt-body-failed =
+ No se pudo descifrar el mensaje con el asunto
+ { $subject }.
+ ¿Deseas volver a intentarlo con una frase de contraseña diferente o deseas omitir el mensaje?
+
+## Strings filters.jsm
+
+# Strings filters.jsm
+filter-folder-required = Debes seleccionar una carpeta de destino.
+filter-decrypt-move-warn-experimental =
+ Advertencia - la acción de filtrado “Descifrar permanentemente” puede provocar la destrucción de mensajes.
+ Recomendamos encarecidamente que primero pruebes el filtro “Crear copia descifrada”, prueba el resultado con cuidado y solo comienza a usar este filtro una vez que estés complacido con el resultado.
+filter-term-pgpencrypted-label = OpenPGP cifrado
+filter-key-required = Debes seleccionar una clave de destinatario.
+filter-key-not-found = No se pudo encontrar una clave de cifrado para ‘{ $desc }’.
+filter-warn-key-not-secret =
+ Advertencia - la acción de filtro “Cifrar a clave” reemplaza a los destinatarios.
+ Si no tienes una clave secreta para ‘{ $desc }’, no podrás leer los correos electrónicos.
+
+## Strings filtersWrapper.jsm
+
+# Strings filtersWrapper.jsm
+filter-decrypt-move-label = Descifrar permanentemente (OpenPGP)
+filter-decrypt-copy-label = Crear copia descifrada (OpenPGP)
+filter-encrypt-label = Cifrar a clave (OpenPGP)
+
+## Strings in enigmailKeyImportInfo.js
+
+# Strings in enigmailKeyImportInfo.js
+import-info-title =
+ .title = Claves importadas con ¡Éxito!
+import-info-bits = Bits
+import-info-created = Creado
+import-info-fpr = Huella digital
+import-info-details = Ver detalles y administrar la aceptación de claves
+import-info-no-keys = No se importaron claves.
+
+## Strings in enigmailKeyManager.js
+
+# Strings in enigmailKeyManager.js
+import-from-clip = ¿Quieres importar algunas claves del portapapeles?
+import-from-url = Descarga la clave pública desde esta URL:
+copy-to-clipbrd-failed = No se pudieron copiar las claves seleccionadas al portapapeles.
+copy-to-clipbrd-ok = Clave(s) copiadas al portapapeles
+delete-secret-key =
+ ADVERTENCIA: ¡Estás a punto de eliminar una clave secreta!
+
+ Si eliminas tu clave secreta, ya no podrás descifrar ningún mensaje cifrado para esa clave, ni podrás revocarla.
+
+ ¿De verdad quieres eliminar AMBOS, la clave secreta y la clave pública
+ ‘{ $userId }’?
+delete-mix =
+ ADVERTENCIA: ¡Estás seguro que deseas eliminar la clave secreta!
+ Si eliminas tu clave secreta, ya no podrás descifrar ningún mensaje cifrado para esa clave.
+ ¿Realmente deseas eliminar AMBAS, las claves secretas y públicas seleccionadas?
+delete-pub-key =
+ ¿Quieres eliminar la clave pública
+ ‘{ $userId }’?
+delete-selected-pub-key = ¿Quieres eliminar las claves públicas?
+refresh-all-question = No seleccionaste ninguna clave. ¿Te gustaría actualizar TODAS las claves?
+key-man-button-export-sec-key = Exportar claves &secretas
+key-man-button-export-pub-key = Exportar solo claves públicas
+key-man-button-refresh-all = & Actualizar todas las claves
+key-man-loading-keys = Cargando claves, por favor espera…
+ascii-armor-file = Archivos blindados ASCII (*.asc)
+no-key-selected = Debes seleccionar al menos una clave para realizar la operación seleccionada
+export-to-file = Exportar clave pública a un archivo
+export-keypair-to-file = Exportar clave secreta y pública a un archivo
+export-secret-key = ¿Deseas incluir la clave secreta en el archivo de clave OpenPGP guardado?
+save-keys-ok = Las claves se guardaron con éxito
+save-keys-failed = No se pudieron guardar las claves
+default-pub-key-filename = Claves públicas exportadas
+default-pub-sec-key-filename = Copia de seguridad de claves secretas
+refresh-key-warn = Advertencia: según la cantidad de claves y la velocidad de la conexión, ¡actualizar todas las claves puede ser un proceso bastante largo!
+preview-failed = No se puede leer el archivo de la clave pública.
+general-error = Error: { $reason }
+dlg-button-delete = &Eliminar
+
+## Account settings export output
+
+openpgp-export-public-success = <b>¡Clave pública exportada correctamente!</b>
+openpgp-export-public-fail = <b>¡No se puede exportar la clave pública seleccionada!</b>
+openpgp-export-secret-success = <b>¡La clave secreta se exportó correctamente!</b>
+openpgp-export-secret-fail = <b>¡No se puede exportar la clave secreta seleccionada!</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.
+
+# Strings in keyObj.jsm
+key-ring-pub-key-revoked = La clave { $userId } (ID de clave { $keyId }) está revocada.
+key-ring-pub-key-expired = La clave { $userId } (ID de clave { $keyId }) ha caducado.
+key-ring-no-secret-key = Parece que no tienes la clave secreta para { $userId } (ID de clave { $keyId }) en tu conjunto de claves; no puedes usar la clave para firmar.
+key-ring-pub-key-not-for-signing = La clave { $userId } (ID de clave { $keyId }) no se puede usar para firmar.
+key-ring-pub-key-not-for-encryption = La clave { $userId } (ID de clave { $keyId }) no se puede usar para el cifrado.
+key-ring-sign-sub-keys-revoked = Todas las subclaves de firma de la clave { $userId } (ID de clave { $keyId }) están revocados.
+key-ring-sign-sub-keys-expired = Todas las subclaves de firma de la clave { $userId } (ID de clave { $keyId }) han caducado.
+key-ring-enc-sub-keys-revoked = Se revocaran todas las subclaves de cifrado de la clave { $userId } (ID de clave { $keyId }).
+key-ring-enc-sub-keys-expired = Todas las subclaves de cifrado de la clave { $userId } (ID de clave { $keyId }) han caducado.
+
+## Strings in gnupg-keylist.jsm
+
+# Strings in gnupg-keylist.jsm
+keyring-photo = Foto
+user-att-photo = Atributo de usuario (imagen JPEG)
+
+## Strings in key.jsm
+
+# Strings in key.jsm
+already-revoked = Esta clave ya ha sido revocada.
+# $identity (String) - the id and associated user identity of the key being revoked
+revoke-key-question =
+ Estás a punto de revocar la clave '{ $identity }'.
+ Ya no podrás firmar con esta clave y, una vez distribuida, otros ya no podrán cifrar con esa clave. Todavía puedes usar la clave para descifrar mensajes antiguos.
+ ¿Deseas continuar?
+# $keyId (String) - the id of the key being revoked
+revoke-key-not-present =
+ ¡No tienes ninguna clave (0x{ $keyId }) que coincida con este certificado de revocación!
+ Si has perdido tu clave, debes importarla (por ejemplo, desde un servidor de claves) antes de importar el certificado de revocación.
+# $keyId (String) - the id of the key being revoked
+revoke-key-already-revoked = La clave 0x{ $keyId } ya ha sido revocada.
+key-man-button-revoke-key = &Revocar clave
+openpgp-key-revoke-success = Clave revocada exitosamente.
+after-revoke-info =
+ La clave ha sido revocada.
+ Vuelve a compartir esta clave pública, enviándola por correo electrónico o cargándola en servidores de claves, para que otros sepan que revocaste tu clave.
+ Tan pronto como el software utilizado por otras personas se entere de la revocación, dejará de usar tu clave anterior.
+ Si estás utilizando una nueva clave para la misma dirección de correo electrónico y adjuntas la nueva clave pública a los correos electrónicos que envías, la información sobre tu antigua clave revocada se incluirá automáticamente.
+
+## Strings in keyRing.jsm & decryption.jsm
+
+# Strings in keyRing.jsm & decryption.jsm
+key-man-button-import = &Importar
+delete-key-title = Eliminar clave OpenPGP
+delete-external-key-title = Eliminar la clave GnuPG externa
+delete-external-key-description = ¿Deseas eliminar esta ID de la clave GnuPG externa?
+key-in-use-title = Clave OpenPGP actualmente en uso
+delete-key-in-use-description = ¡Imposible continuar! La clave que seleccionaste para eliminar está siendo usada por esta identidad. Selecciona una clave diferente o ninguna, y vuelve a intentarlo.
+revoke-key-in-use-description = ¡Imposible continuar! La clave que seleccionaste para revocar está siendo usada por esta identidad. Selecciona una clave diferente o ninguna, y vuelve a intentarlo.
+
+## Strings used in errorHandling.jsm
+
+# Strings used in errorHandling.jsm
+key-error-key-spec-not-found = La dirección de correo electrónico ‘{ $keySpec }’ no puede coincidir con una clave en tu conjunto de claves.
+key-error-key-id-not-found = El ID de clave configurado ‘{ $keySpec }’ no se puede encontrar en tu conjunto de claves.
+key-error-not-accepted-as-personal = No has confirmado que la clave con ID ‘{ $keySpec }’ es tu clave personal.
+
+## Strings used in enigmailKeyManager.js & windows.jsm
+
+# Strings used in enigmailKeyManager.js & windows.jsm
+need-online = La función que has seleccionado no está disponible en el modo sin conexión. Por favor, conéctate y vuelve a intentarlo.
+
+## Strings used in keyRing.jsm & keyLookupHelper.jsm
+
+# Strings used in keyRing.jsm & keyLookupHelper.jsm
+no-key-found2 = No pudimos encontrar ninguna llave utilizable que coincida con los criterios de búsqueda especificados.
+no-update-found = Ya tienes las llaves que se descubrieron en línea.
+
+## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm
+
+# Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm
+fail-key-extract = Error - el comando de extracción de clave falló
+
+## Strings used in keyRing.jsm
+
+# Strings used in keyRing.jsm
+fail-cancel = Error - La clave ha sido cancelada por el usuario
+not-first-block = Error - El primer bloque OpenPGP no es un bloque de clave pública
+import-key-confirm = ¿Importar clave(s) pública(s) incrustadas en el mensaje?
+fail-key-import = Error - importación de clave fallida
+file-write-failed = Error al escribir en el archivo { $output }
+no-pgp-block = Error - No se encontró un bloque de datos OpenPGP blindado válido
+confirm-permissive-import = La importación falló. La clave que estás tratando de importar puede estar dañada o usar atributos desconocidos. ¿Te gustaría intentar importar las partes que son correctas? Esto podría dar lugar a la importación de claves incompletas e inutilizables.
+
+## Strings used in trust.jsm
+
+# Strings used in trust.jsm
+key-valid-unknown = desconocido
+key-valid-invalid = no válido
+key-valid-disabled = deshabilitado
+key-valid-revoked = revocado
+key-valid-expired = expirado
+key-trust-untrusted = no confiable
+key-trust-marginal = marginal
+key-trust-full = confiable
+key-trust-ultimate = último
+key-trust-group = (grupo)
+
+## Strings used in commonWorkflows.js
+
+# Strings used in commonWorkflows.js
+import-key-file = Importar archivo de clave OpenPGP
+import-rev-file = Importar archivo de revocación OpenPGP
+gnupg-file = Archivos GnuPG
+import-keys-failed = Error al importar las claves
+file-to-big-to-import = Este archivo es demasiado grande. Por favor, no importes un gran conjunto de claves a la vez.
+
+## Strings used in enigmailKeygen.js
+
+# Strings used in enigmailKeygen.js
+save-revoke-cert-as = Crear y guardar certificado de revocación
+revoke-cert-ok = El certificado de revocación ha sido creado correctamente. Puedes usarlo para invalidar tu clave pública, por ejemplo en caso de que pierdas tu clave secreta.
+revoke-cert-failed = No se pudo crear el certificado de revocación.
+gen-going = ¡La generación de claves ya está en progreso!
+keygen-missing-user-name = No hay ningún nombre especificado para la cuenta/identidad seleccionada. Por favor, ingresa un valor en el campo “Tu nombre" en la configuración de la cuenta.
+expiry-too-short = Tu clave debe ser válida por al menos un día.
+expiry-too-long = No puedes crear una clave que expira en más de 100 años.
+key-confirm = ¿Generar clave pública y secreta para ‘{ $id }’?
+key-man-button-generate-key = &Generar clave
+key-abort = ¿Abortar la generación de claves?
+key-man-button-generate-key-abort = &Abortar generación de clave
+key-man-button-generate-key-continue = &Continuar con la generación de claves
+
+## Strings used in enigmailMessengerOverlay.js
+
+failed-decrypt = Error - descifrado fallido
+fix-broken-exchange-msg-failed = No se puede reparar este mensaje.
+attachment-no-match-from-signature = No se pudo hacer coincidir el archivo de firma ‘{ $attachment }’ con un archivo adjunto
+attachment-no-match-to-signature = No se pudo hacer coincidir el archivo adjunto ‘{ $attachment }’ con un archivo de firma
+signature-verified-ok = La firma del archivo adjunto { $attachment } se verificó con éxito
+signature-verify-failed = No se pudo verificar la firma del archivo adjunto { $attachment }
+decrypt-ok-no-sig =
+ Advertencia
+ El descifrado fue exitoso, pero la firma no se pudo verificar correctamente
+msg-ovl-button-cont-anyway = &Continuar de todas formas
+enig-content-note = *Los archivos adjuntos a este mensaje no han sido firmados ni cifrados*
+
+## Strings used in enigmailMsgComposeOverlay.js
+
+# Strings used in enigmailMsgComposeOverlay.js
+msg-compose-button-send = &Enviar mensaje
+msg-compose-details-button-label = Detalles…
+msg-compose-details-button-access-key = D
+send-aborted = Operación de envío cancelada.
+key-not-trusted = No hay confianza suficiente para la clave ‘{ $key }’
+key-not-found = Clave ‘{ $key }’ no encontrada
+key-revoked = Clave ‘{ $key }’ revocada
+key-expired = La clave ‘{ $key }’ caducó
+msg-compose-internal-error = Se ha producido un error interno.
+keys-to-export = Selecciona las claves OpenPGP para insertar
+msg-compose-partially-encrypted-inlinePGP =
+ El mensaje al que estás respondiendo contenía partes no cifradas y cifradas. Si el remitente no pudo descifrar algunas partes del mensaje originalmente, es posible que esté filtrando información confidencial que el remitente no pudo descifrar originalmente.
+ Por favor, considera eliminar todo el texto citado de tu respuesta a este remitente.
+msg-compose-cannot-save-draft = Error al guardar el borrador
+msg-compose-partially-encrypted-short = Ten cuidado con la filtración de información confidencial - correo electrónico parcialmente cifrado.
+quoted-printable-warn =
+ Has habilitado la codificación ‘quoted-printabl’ para enviar mensajes. Esto puede resultar en un descifrado y/o verificación incorrecto de tu mensaje.
+ ¿Deseas desactivar el envío de mensajes ‘quoted-printable’ ahora?
+minimal-line-wrapping =
+ Has configurado el ajuste de línea en { $width } caracteres. Para un correcto cifrado y/o firma correcta, este valor debe ser al menos de 68.
+ ¿Deseas cambiar el ajuste de línea a 68 caracteres ahora?
+sending-news =
+ Se anuló la operación de envío cifrado.
+ Este mensaje no se puede cifrar porque hay destinatarios de grupos de noticias. Vuelve a enviar el mensaje sin cifrar.
+send-to-news-warning =
+ Advertencia: estás a punto de enviar un correo electrónico cifrado a un grupo de noticias.
+ Esto no se recomienda porque solo tiene sentido si todos los miembros del grupo pueden descifrar el mensaje, es decir, el mensaje debe cifrarse con las claves de todos los participantes del grupo. Envía este mensaje solo si sabes exactamente lo que estás haciendo.
+ ¿Continuar?
+save-attachment-header = Guardar archivo adjunto descifrado
+possibly-pgp-mime = Posiblemente un mensaje cifrado o firmado PGP/MIME; usar la función 'Descifrar/Verificar' para verificar
+cannot-send-sig-because-no-own-key = No se puede firmar digitalmente este mensaje porque todavía no has configurado el cifrado de extremo a extremo para <{ $key }>
+cannot-send-enc-because-no-own-key = No se puede enviar este mensaje cifrado, porque todavía no has configurado cifrado de extremo a extremo para <{ $key }>
+
+## Strings used in decryption.jsm
+
+# Strings used in decryption.jsm
+do-import-multiple =
+ ¿Importar las siguientes claves?
+ { $key }
+do-import-one = ¿Importar { $name } ({ $id })?
+cant-import = Error al importar la clave pública
+unverified-reply = La parte del mensaje con sangría (respuesta) probablemente se modificó
+key-in-message-body = Se encontró una clave en el cuerpo del mensaje. Haz clic en ‘Importar clave’ para importar la clave.
+sig-mismatch = Error - Falta de coincidencia de la firma
+invalid-email = Error - dirección o direcciones de correo no válidas
+attachment-pgp-key =
+ El archivo adjunto ‘{ $name }’ que estás abriendo parece ser un archivo de clave OpenPGP.
+ Haz clic en ‘Importar’ para importar las claves que contiene o 'Ver' para ver los contenidos del archivo en una ventana del navegador
+dlg-button-view = &Ver
+
+## Strings used in enigmailMsgHdrViewOverlay.js
+
+# Strings used in enigmailMsgHdrViewOverlay.js
+decrypted-msg-with-format-error = Mensaje descifrado (el formato de correo electrónico PGP roto restaurado probablemente causado por un antiguo servidor de Exchange, por lo que el resultado podría no ser perfecto para leer)
+
+## Strings used in encryption.jsm
+
+# Strings used in encryption.jsm
+not-required = Error - no se requiere cifrado
+
+## Strings used in windows.jsm
+
+# Strings used in windows.jsm
+no-photo-available = No hay foto disponible
+error-photo-path-not-readable = La ruta de la foto ‘{ $photo }’ no es legible
+debug-log-title = Registro de depuración de OpenPGP
+
+## Strings used in dialog.jsm
+
+# Strings used in dialog.jsm
+repeat-prefix = Esta alerta se repetirá { $count }
+repeat-suffix-singular = más tiempo.
+repeat-suffix-plural = más veces.
+no-repeat = Esta alerta no se volverá a mostrar.
+dlg-keep-setting = Recordar mi respuesta y no volverme a preguntar
+dlg-button-ok = &Aceptar
+dlg-button-close = &Cerrar
+dlg-button-cancel = &Cancelar
+dlg-no-prompt = No volver a mostrar este diálogo.
+enig-prompt = Aviso de OpenPGP
+enig-confirm = Confirmación de OpenPGP
+enig-alert = Alerta de OpenPGP
+enig-info = Información de OpenPGP
+
+## Strings used in persistentCrypto.jsm
+
+# Strings used in persistentCrypto.jsm
+dlg-button-retry = &Reintentar
+dlg-button-skip = &Ignorar
+
+## Strings used in enigmailMsgBox.js
+
+# Strings used in enigmailMsgBox.js
+enig-alert-title =
+ .title = Alerta OpenPGP
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/add-finger.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..36266afef4
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Agregar huella digital de clave OTR
+
+# Variables:
+# $name (String) - name of a chat contact person
+# Do not translate 'OTR' (name of an encryption protocol)
+otr-add-finger-description = Ingresa la huella digital de la clave OTR para { $name }.
+
+otr-add-finger-fingerprint = Huella digital:
+otr-add-finger-tooltip-error = Se ingresó un carácter no válido. Solo se permiten letras ABCDEF y números
+
+otr-add-finger-input =
+ .placeholder = La huella digital de la clave OTR de 40 caracteres
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/am-im-otr.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..23997411ac
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Cifrado de extremo a extremo
+account-otr-label = Mensajería extraoficial (OTR)
+account-otr-description2 = { -brand-short-name } admite el cifrado de extremo a extremo de conversaciones de uno a uno basadas en OTR. Esto evita que terceros escuchen a escondidas una conversación. Este tipo de cifrado de extremo a extremo solo se puede utilizar cuando la otra persona también utiliza software compatible con OTR.
+otr-encryption-title = Cifrado verificado
+otr-encryption-caption = Para que otros puedan verificar tu identidad en los chats OTR, comparte tu propia huella digital OTR utilizando un canal de comunicación externo (fuera de banda).
+otr-fingerprint-label = Tu huella digital:
+view-fingerprint-button =
+ .label = Administrar huellas digitales de contactos
+ .accesskey = F
+otr-settings-title = Ajustes OTR
+otr-require-encryption =
+ .label = Requiere cifrado de extremo a extremo para conversaciones uno a uno
+otr-require-encryption-info =
+ Cuando se requiere cifrado de extremo a extremo, los mensajes en conversaciones de uno a uno
+ no se enviarán a menos que puedan cifrarse. Mensajes recibidos sin cifrar
+ no se mostrará como parte de la conversación normal y tampoco se registrará.
+otr-verify-nudge =
+ .label = Siempre recordarme verificar un contacto no verificado
+
+otr-not-yet-available = aún no disponible
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/auth.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..01386186a5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/auth.ftl
@@ -0,0 +1,59 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+otr-auth =
+ .title = Verificar identidad del contacto
+ .buttonlabelaccept = Verificar
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+auth-title = Verificar la identidad de { $name }
+
+# Variables:
+# $own_name (String) - the user's own screen name
+auth-your-fp-value = Huella digital para ti, { $own_name }:
+
+# Variables:
+# $their_name (String) - the screen name of a chat contact
+auth-their-fp-value = Huella digital de { $their_name }:
+
+auth-help = Verificar la identidad de un contacto ayuda a garantizar que la conversación sea verdaderamente privada, haciendo muy difícil que un tercero pueda escuchar o manipular la conversación.
+auth-help-title = Ayuda de verificación
+
+auth-question-received = Esta es la pregunta que hizo tu contacto:
+
+auth-yes =
+ .label = Sí
+
+auth-no =
+ .label = No
+
+auth-verified = He verificado que esta es de hecho la huella dactilar correcta.
+
+auth-manual-verification = Verificación manual de huellas digitales
+auth-question-and-answer = Pregunta y respuesta
+auth-shared-secret = Secreto compartido
+
+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 = Contacta con tu interlocutor a través de otro canal autenticado, como el correo electrónico firmado por OpenPGP o a través del teléfono. Deberían decirse sus huellas dactilares. (Una huella digital es una suma de control que identifica una clave de cifrado). Si la huella dactilar coincide, en el cuadro de diálogo que figura más abajo deberá indicarse que has verificado la huella dactilar.
+
+auth-how = ¿Cómo te gustaría verificar la identidad de tu contacto?
+
+auth-qa-instruction = Piensa en una pregunta cuya respuesta solo tú y tu contacto conozcan. Ingresa la pregunta y la respuesta, luego espera a que tu contacto ingrese la respuesta. Si las respuesta no coincide, es posible que el canal de comunicación que está usando esté bajo vigilancia.
+
+auth-secret-instruction = Piensa en un secreto conocido solo para ti y tu contacto. No uses la misma conexión a Internet para intercambiar el secreto. Escribe el secreto y espera a que tu contacto lo ingrese. Si los secretos no coinciden, el canal de comunicación que estás usando estar bajo vigilancia.
+
+auth-question = Ingresa una pregunta:
+
+auth-answer = Ingresa la respuesta (distingue entre mayúsculas y minúsculas):
+
+auth-secret = Ingresa el secreto:
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/chat.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..c80f380c74
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Estado de cifrado:
+
+start-text = Iniciar una conversación cifrada
+
+start-label =
+ .label = { start-text }
+
+start-tooltip =
+ .tooltiptext = { start-text }
+
+end-label =
+ .label = Finalizar la conversación cifrada
+
+auth-label =
+ .label = Verificar la identidad de tu contacto
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/finger-sync.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..474a13e3c1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Verificado
+finger-no = No verificado
+
+finger-subset-title = Eliminar huellas digitales
+finger-subset-message = No se pudo eliminar al menos una huella digital porque la clave correspondiente se usa actualmente en una conversación activa.
+
+finger-remove-all-title = Eliminar todas las huellas digitales
+finger-remove-all-message = ¿Estás seguro de que deseas eliminar todas las huellas digitales previamente vistas? Todas las verificaciones anteriores de identidad OTR se perderán.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/finger.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..425729d3d6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Huellas dactilares OTR vistas anteriormente
+
+finger-intro = Huellas digitales de claves OTR de conversaciones cifradas de extremo a extremo anteriores.
+
+finger-screen-name =
+ .label = Contacto
+finger-verified =
+ .label = Estado de verificación
+finger-fingerprint =
+ .label = Huella digital
+
+finger-remove =
+ .label = Eliminar seleccionados
+
+finger-remove-all =
+ .label = Eliminar todos
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/otr.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..606fd0fea2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Intentaste enviar un mensaje sin cifrar a { $name }. Como política, los mensajes sin cifrar no están permitidos.
+
+msgevent-encryption-required-part2 = Intentaste iniciar una conversación privada. Tu mensaje se enviará cuando se inicie la conversación privada.
+msgevent-encryption-error = Ocurrió un error al cifrar tu mensaje. El mensaje no fue enviado.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-connection-ended = { $name } ya cerró la conexión cifrada contigo. Para evitar que envíes accidentalmente un mensaje sin cifrado, no se ha enviado tu mensaje. Por favor, finaliza tu conversación cifrada o reinicia.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-setup-error = Ocurrió un error al configurar una conversación privada con { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-msg-reflected = Estás recibiendo tus propios mensajes OTR. O estás intentando hablar contigo mismo, o alguien te está reflejando tus mensajes.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-msg-resent = Se reenvió el último mensaje a { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-not-private = El mensaje cifrado recibido de { $name } no puede ser leído, ya que actualmente no se está comunicando de forma privada.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unreadable = Recibiste un mensaje cifrado no legible de { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-malformed = Recibiste un mensaje de datos con formato incorrecto 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 = Latido recibido 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 = Latido enviado a { $name }.
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-rcvdmsg-general-err = Ocurrió un error inesperado mientras se intentaba proteger tu conversación usando OTR.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+# $msg (string) - the message that was received.
+msgevent-rcvdmsg-unencrypted = El siguiente mensaje recibido de { $name } no fue cifrado: { $msg }
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unrecognized = Recibiste un mensaje OTR no reconocido de { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-for-other-instance = { $name } ha enviado un mensaje destinado a una sesión diferente. Si has iniciado sesión varias veces, es posible que otra sesión haya recibido el mensaje.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-private = Se inició una conversación privada con { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-unverified = Se inició una conversación cifrada, pero no verificada con { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-still-secure = Se ha actualizado correctamente la conversación cifrada con { $name }.
+
+error-enc = Ocurrió un error al cifrar el mensaje.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+error-not-priv = Enviaste datos cifrado a { $name }, que no los esperaba.
+
+error-unreadable = Has transmitido un mensaje cifrado no legible.
+error-malformed = Has transmitido un mensaje de datos con formato incorrecto.
+
+resent = [reenviado]
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+tlv-disconnected = { $name } ha terminado su conversación cifrada contigo; deberías hacer lo mismo.
+
+# 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 } ha solicitado una conversación cifrada fuera del registro (OTR). Sin embargo, no tienes un plugin que lo admita. Para más información, consulta https://en.wikipedia.org/wiki/Off-the-Record_Messaging
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/otrUI.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..3467f38f5d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Iniciar una conversación cifrado
+refresh-label = Actualizar la conversación cifrada.
+auth-label = Verificar la identidad de tu contacto
+reauth-label = Volver a verificar la identidad de tu contacto
+
+auth-cancel = Cancelar
+auth-cancel-access-key = C
+
+auth-error = Ocurrió un error al verificar la identidad de tu contacto.
+auth-success = Verificación de la identidad de tu contacto completada con éxito.
+auth-success-them = Tu contacto ha verificado correctamente tu identidad. Tal vez quieras verificar su identidad también haciendo tu propia pregunta.
+auth-fail = No se pudo verificar la identidad de tu contacto.
+auth-waiting = Esperando que el contacto complete la verificación…
+
+finger-verify = Verificar
+finger-verify-access-key = V
+
+finger-ignore = Ignorar
+finger-ignore-access-key = I
+
+# Do not translate 'OTR' (name of an encryption protocol)
+buddycontextmenu-label = Agregar huella digital OTR
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-start = Intentado iniciar una conversación cifrada con { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-refresh = Intentando actualizar la conversación cifrada con { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-gone-insecure = La conversación cifrada con { $name } terminó.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-unseen = La identidad de { $name } aún no ha sido verificada. No es posible escuchar a escondidas, pero con un poco de esfuerzo alguien podría estar escuchando. Evita la vigilancia verificando la identidad de este contacto.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-seen = { $name } está contactándote desde una computadora no reconocida. No es posible escuchar a escondidas, pero con un poco de esfuerzo alguien podría estar escuchando. Evita la vigilancia verificando la identidad de este contacto.
+
+state-not-private = La conversación actual no es privada.
+state-generic-not-private = La conversación actual no es privada.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-unverified = La conversación actual está cifrada pero no es privada, ya que la identidad de { $name } aún no ha sido verificada.
+
+state-generic-unverified = La conversación actual está cifrada pero no es privada, ya que algunas identidades aún no han sido verificadas.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-private = La identidad de { $name } ha sido verificada. La conversación actual está cifrada y es privada.
+
+state-generic-private = La conversación actual esta cifrada y es privada.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-finished = { $name } ha terminado su conversación cifrada contigo; deberías hacer lo mismo.
+
+state-not-private-label = Inseguro
+state-unverified-label = No verifcado
+state-private-label = Privado
+state-finished-label = Terminado
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+verify-request = { $name } solicitó la verificación de tu identidad.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-private = Has verificado la identidad de { $name }.
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-unverified = La identidad de { $name } no ha sido verificada.
+
+# 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 = Error al generar la clave privada OTR: { $error }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/policies/aboutPolicies.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..f3178c67d3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Políticas empresariales
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = Activo
+errors-tab = Errores
+documentation-tab = Documentación
+
+no-specified-policies-message = El servicio de políticas empresariales está activo pero no hay políticas habilitadas.
+inactive-message = El servicio de políticas empresariales está inactivo.
+
+policy-name = Nombre de la política
+policy-value = Valor de la política
+policy-errors = Errores de la política
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/policies/policies-descriptions.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..f3fe51ac5f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Establecer las políticas que WebExtensions pueden acceder a través de chrome.storage.managed.
+
+policy-AppAutoUpdate = Habilitar o deshabilitar la actualización automática de la aplicación.
+
+policy-AppUpdatePin = Evita que { -brand-short-name } se actualice más allá de la versión especificada.
+
+policy-AppUpdateURL = Establecer la URL personalizada para actualización de la aplicación.
+
+policy-Authentication = Configurar la autenticación integrada para los sitios web que la admitan.
+
+policy-BackgroundAppUpdate2 = Habilitar o deshabilitar la actualización en segundo plano.
+
+policy-BlockAboutAddons = Bloquear el acceso al administrador de complementos (about:addons).
+
+policy-BlockAboutConfig = Bloquear acceso ala página about:config.
+
+policy-BlockAboutProfiles = Bloquear acceso a la página about:profiles.
+
+policy-BlockAboutSupport = Bloquear acceso a la página about:support.
+
+policy-CaptivePortal = Habilitar o deshabilitar soporte de portal cautivo.
+
+policy-CertificatesDescription = Agregar certificados o usar certificados integrados.
+
+policy-Cookies = Permitir o no permitir que los sitios web guarden cookies.
+
+policy-DisableBuiltinPDFViewer = Deshabilitar PDF.js, el lector de PDF integrado en { -brand-short-name }.
+
+policy-DisabledCiphers = Deshabilitar cifrado.
+
+policy-DefaultDownloadDirectory = Establece el directorio de descargas predeterminado.
+
+policy-DisableAppUpdate = Impedir que { -brand-short-name } se actualice.
+
+policy-DisableDefaultClientAgent = Impedir que el agente cliente predeterminado realice cualquier acción. Sólo aplicable en Windows; otras plataformas no tienen el agente.
+
+policy-DisableDeveloperTools = Bloquear acceso a las herramientas de desarrollador.
+
+policy-DisableFeedbackCommands = Deshabilitar comandos para enviar comentarios desde el menú de Ayuda (Submit Feedback and Report Deceptive Site).
+
+policy-DisableForgetButton = Impedir acceso al botón Olvidar.
+
+policy-DisableFormHistory = No recordar historial de búsqueda y formularios.
+
+policy-DisableMasterPasswordCreation = Si el valor es true, no se puede crear una contraseña maestra.
+
+policy-DisablePasswordReveal = No permitir que se muestren contraseñas en inicios de sesión guardados.
+
+policy-DisableProfileImport = Deshabilitar la opción de menú para importar datos de otra aplicación.
+
+policy-DisableSafeMode = Deshabilitar la característica de reiniciar en modo seguro. Nota: la tecla Shift para entrar en modo seguro sólo puede ser deshabilitada en Windows usando políticas de grupo.
+
+policy-DisableSecurityBypass = Impedir que el usuario ignore ciertas alertas de seguridad.
+
+policy-DisableSystemAddonUpdate = Impedir que { -brand-short-name } instale o actualice complementos de sistema.
+
+policy-DisableTelemetry = Deshabilitar la telemetría.
+
+policy-DisplayMenuBar = Desplegar la barra de menús de forma predeterminada.
+
+policy-DNSOverHTTPS = Configurar el DNS sobre HTTPS.
+
+policy-DontCheckDefaultClient = Deshabilitar la verificación de cliente predeterminado al inicio.
+
+policy-DownloadDirectory = Establecer y bloquear el directorio de descargas.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EnableTrackingProtection = Habilitar o deshabilitar el bloqueo de contenido y bloquearlo opcionalmente.
+
+# “lock” means that the user won’t be able to change this setting
+policy-EncryptedMediaExtensions = Habilitar o deshabilitar extensiones de medios cifrados y opcionalmente, bloquearlos.
+
+# 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 = Instalar, desinstalar o bloquear extensiones. La opción Instalar toma direcciones URL o rutas como parámetros. Las opciones desinstalar y bloquear toman ID de extensión.
+
+policy-ExtensionSettings = Administrar todos los aspectos de la instalación de extensiones.
+
+policy-ExtensionUpdate = Habilitar o deshabilitar la actualización automática de extensiones.
+
+policy-Handlers = Configurar gestores de aplicación predeterminados.
+
+policy-HardwareAcceleration = Si el valor es falso, se desactiva la aceleración por hardware.
+
+policy-InstallAddonsPermission = Permitir a ciertos sitios instalar complementos.
+
+policy-LegacyProfiles = Deshabilitar la función que obliga a tener un perfil separado para cada instalación.
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+policy-LegacySameSiteCookieBehaviorEnabled = Activar la configuración de comportamiento tradicional de SameSite para las cookies de forma predeterminada.
+
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = Volver al comportamiento tradicional de SameSite para las cookies en sitios específicos.
+
+##
+
+policy-LocalFileLinks = Permitir a sitios web específicos para enlazar a archivos locales.
+
+policy-ManualAppUpdateOnly = Permitir solo actualizaciones manuales y no notificar al usuario sobre las actualizaciones.
+
+policy-NetworkPrediction = Habilitar o deshabilitar predicción de red (búsqueda previa de DNS).
+
+policy-OfferToSaveLogins = Aplicar la configuración para permitir que { -brand-short-name } ofrezca recordar inicios de sesión y contraseñas guardadas. Se aceptan valores verdaderos y falsos.
+
+policy-OfferToSaveLoginsDefault = Establecer el valor predeterminado para permitir que { -brand-short-name } te ofrezca recordar inicios de sesión y contraseñas guardados. Se aceptan valores verdaderos y falsos.
+
+policy-OverrideFirstRunPage = Anular la primera página de ejecución. Establece esta política en blanco si deseas deshabilitar la primera página de ejecución.
+
+policy-OverridePostUpdatePage = Anular la página “Novedades” posterior a la actualización. Establece esta política en blanco si deseas deshabilitar la página posterior a la actualización.
+
+policy-PasswordManagerEnabled = Habilitar guardar contraseñas en el administrador de contraseñas.
+
+# PDF.js and PDF should not be translated
+policy-PDFjs = Deshabilitar o configurar PDF.js, el visor de PDF integrado en { -brand-short-name }.
+
+policy-Permissions2 = Configurar permisos para cámara, micrófono, ubicación, notificaciones y reproducción automática.
+
+policy-Preferences = Establecer y bloquear el valor para un subconjunto de preferencias.
+
+policy-PrimaryPassword = Requerir o evitar el uso de una contraseña maestra.
+
+policy-PromptForDownloadLocation = Preguntar dónde guardar los archivos al descargar.
+
+policy-Proxy = Configurar ajustes de proxy.
+
+policy-RequestedLocales = Establecer la lista de localizaciones solicitadas para la aplicación, ordenadas por preferencia.
+
+policy-SanitizeOnShutdown2 = Borrar datos de navegación al cerrar.
+
+policy-SearchEngines = Configurar los ajustes de motor de búsqueda. Esta política solo está disponible en la versión Extended Support Release (ESR).
+
+policy-SearchSuggestEnabled = Habilitar o deshabilitar sugerencias de búsqueda.
+
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = Instalar módulos PKCS #11.
+
+policy-SSLVersionMax = Establecer la versión máxima de SSL.
+
+policy-SSLVersionMin = Establecer la versión mínima de SSL.
+
+policy-SupportMenu = Agregar un elemento personalizado de asistencia al menú de ayuda.
+
+policy-UserMessaging = No mostrar ciertos mensajes al usuario.
+
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = Bloquear sitios web para que no sean visitados. Consulta la documentación para obtener más detalles sobre el formato.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/am-copies.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/am-copies.ftl
new file mode 100644
index 0000000000..cbdb8c4c5c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Deja el campo de direcciones en blanco para mostrar siempre la fila de direcciones al iniciar un nuevo mensaje.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/am-im.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..96aa8d620b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Configuración de autenticación
+account-channel-title = Canales predeterminados
+
+chat-autologin =
+ .label = Iniciar sesión al inicio
+
+chat-encryption-generic = Genérico
+chat-encryption-log =
+ .label = Incluir mensajes cifrados de extremo a extremo en los registros de conversaciones
+chat-encryption-label = Cifrado de extremo a extremo nativo
+chat-encryption-description = { $protocol } proporciona cifrado de extremo a extremo para mensajes de chat. Esto evita que terceros espíen la conversación. Es posible que se necesite una configuración adicional para que el cifrado sea operativo.
+chat-encryption-status = Estado de cifrado
+chat-encryption-placeholder = Cifrado no inicializado.
+chat-encryption-sessions = Sesiones
+chat-encryption-sessions-description = Para que el cifrado de extremo a extremo funcione correctamente, tienes que confiar en las otras sesiones que actualmente están conectadas a tu cuenta. Se requiere interacción con el otro cliente para verificar una sesión. Verificar una sesión puede llevar a que todas las sesiones en las que confía también sean de confianza para { -brand-short-name }.
+chat-encryption-session-verify = verificar
+ .title = Verificar la identidad de esta sesión
+chat-encryption-session-trusted = confiable
+ .title = La identidad de esta sesión está verificada
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/application-manager.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..db0f10e020
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Detalles de la aplicación
+app-manager-dialog-title = Detalles de la aplicación
+remove-app-button =
+ .label = Eliminar
+ .accesskey = E
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/attachment-reminder.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..531cd826a1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Palabras de recordatorio de adjunto
+attachment-reminder-dialog-title = Palabras de recordatorio de adjunto
+attachment-reminder-label = { -brand-short-name } te notificará acerca de adjuntos faltantes si estás por enviar un correo electrónico que contenga alguna de estas palabras.
+keyword-new-button =
+ .label = Nuevo…
+ .accesskey = N
+keyword-edit-button =
+ .label = Editar…
+ .accesskey = E
+keyword-remove-button =
+ .label = Eliminar
+ .accesskey = E
+new-keyword-title = Nueva palabra clave
+new-keyword-label = Palabra clave:
+edit-keyword-title = Editar palabra clave
+edit-keyword-label = Palabra clave:
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/colors.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..c9e435df68
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Colores
+colors-dialog-title = Colores
+colors-dialog-legend = Texto y fondo
+text-color-label =
+ .value = Texto:
+ .accesskey = T
+background-color-label =
+ .value = Fondo:
+ .accesskey = B
+use-system-colors =
+ .label = Usar colores del sistema
+ .accesskey = s
+colors-link-legend = Colores de enlace
+link-color-label =
+ .value = Enlaces sin visitar:
+ .accesskey = L
+visited-link-color-label =
+ .value = Enlaces visitados:
+ .accesskey = V
+underline-link-checkbox =
+ .label = Enlaces subrayados
+ .accesskey = U
+override-color-label =
+ .value = Anular los colores especificados por el contenido con mis selecciones:
+ .accesskey = O
+override-color-always =
+ .label = Siempre
+override-color-auto =
+ .label = Solamente con temas de alto contraste
+override-color-never =
+ .label = Nunca
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/connection.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..682cf13a24
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Usar proveedor
+ .accesskey = r
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name } (Predeterminado)
+ .tooltiptext = Usar la URL predeterminada para resolver DNS sobre HTTPS
+connection-dns-over-https-url-custom =
+ .label = Personalizado
+ .accesskey = C
+ .tooltiptext = Escribe la URL preferida para resolver DNS sobre HTTPS
+connection-dns-over-https-custom-label = Personalizado
+connection-dialog-window2 =
+ .title = Configuración de conexión
+connection-dialog-title = Configuración de conexión
+disable-extension-button = Deshabilitar extensión
+# 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 = Una extensión, <img data-l10n-name="extension-icon" alt="" /> { $name }, está controlando cómo { -brand-short-name } se conecta a Internet.
+connection-proxy-legend = Configurar proxies para acceder a Internet
+proxy-type-no =
+ .label = Sin proxy
+ .accesskey = y
+proxy-type-wpad =
+ .label = Detección automática de configuraciones de proxy para esta red
+ .accesskey = w
+proxy-type-system =
+ .label = Usar la configuración del proxy del sistema
+ .accesskey = u
+proxy-type-manual =
+ .label = Configuración manual del proxy:
+ .accesskey = m
+proxy-http-label =
+ .value = Proxy HTTP:
+ .accesskey = h
+http-port-label =
+ .value = Puerto:
+ .accesskey = p
+proxy-http-sharing =
+ .label = Usar también este proxy para HTTPS
+ .accesskey = x
+proxy-https-label =
+ .value = Proxy HTTPS:
+ .accesskey = S
+ssl-port-label =
+ .value = Puerto:
+ .accesskey = o
+proxy-socks-label =
+ .value = Servidor SOCKS:
+ .accesskey = c
+socks-port-label =
+ .value = Puerto:
+ .accesskey = t
+proxy-socks4-label =
+ .label = SOCKS v4
+ .accesskey = k
+proxy-socks5-label =
+ .label = SOCKS v5
+ .accesskey = v
+proxy-type-auto =
+ .label = URL de configuración automática del proxy:
+ .accesskey = A
+proxy-reload-label =
+ .label = Recargar
+ .accesskey = l
+no-proxy-label =
+ .value = Sin proxy para:
+ .accesskey = n
+no-proxy-example = Ejemplo: .mozilla.org, .net.nz, 192.168.1.0/24
+# Do not translate "localhost", "127.0.0.1/8" and "::1". (You can translate "and".)
+connection-proxy-noproxy-localhost-desc-2 = Las conexiones a localhost, 127.0.0.1/8, y ::1 nunca pasan por proxy.
+proxy-password-prompt =
+ .label = No pedir autenticación si la contraseña está guardada
+ .accesskey = i
+ .tooltiptext = Esta opción silenciosamente te autentica en proxies cuando has guardado credenciales para ellos. Se te preguntará si falla la autenticación.
+proxy-remote-dns =
+ .label = DNS proxy al usar SOCKS v5
+ .accesskey = d
+proxy-enable-doh =
+ .label = Habilitar DNS sobre HTTPS
+ .accesskey = b
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/cookies.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..2bcc2b0b11
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/cookies.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+cookies-window-dialog2 =
+ .title = Cookies
+window-close-key =
+ .key = w
+window-focus-search-key =
+ .key = f
+window-focus-search-alt-key =
+ .key = k
+filter-search-label =
+ .value = Buscar:
+ .accesskey = B
+cookies-on-system-label = Las siguientes cookies están almacenadas en tu computadora:
+treecol-site-header =
+ .label = Sitio
+treecol-name-header =
+ .label = Nombre de la cookie
+props-name-label =
+ .value = Nombre:
+props-value-label =
+ .value = Contenido:
+props-domain-label =
+ .value = Servidor:
+props-path-label =
+ .value = Ubicación:
+props-secure-label =
+ .value = Enviar para:
+props-expires-label =
+ .value = Caduca:
+props-container-label =
+ .value = Contenedor:
+remove-cookie-button =
+ .label = Eliminar cookies
+ .accesskey = E
+remove-all-cookies-button =
+ .label = Eliminar todas las cookies
+ .accesskey = t
+cookie-close-button =
+ .label = Cerrar
+ .accesskey = C
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/dock-options.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..acf56fa486
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Opciones del ícono de aplicación
+dock-options-dialog-title = Opciones del ícono de aplicación
+dock-options-show-badge =
+ .label = Mostrar ícono de insignia
+ .accesskey = i
+bounce-system-dock-icon =
+ .label = Animar el ícono de la animación cuando llegue un mensaje nuevo
+ .accesskey = i
+dock-icon-legend = Insignia del ícono de la aplicación
+dock-icon-show-label =
+ .value = Icono de la aplicación de insignia con:
+count-unread-messages-radio =
+ .label = Conteo de mensajes no leídos
+ .accesskey = u
+count-new-messages-radio =
+ .label = Conteo de mensajes nuevos
+ .accesskey = n
+notification-settings-info2 = Puedes deshabilitar la insignia en el panel de notificaciones de los ajustes del sistema.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/fonts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..9e39cbcb6e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Tipografía
+fonts-window-close =
+ .key = w
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = Predeterminada ({ $name })
+fonts-label-default-unnamed =
+ .label = Predeterminada
+fonts-encoding-dialog-title =
+ .title = Tipografías y codificación
+fonts-language-legend =
+ .value = Fuentes para:
+ .accesskey = t
+fonts-proportional-label =
+ .value = Proporcional:
+ .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 = Latino
+font-language-group-japanese =
+ .label = Japonés
+font-language-group-trad-chinese =
+ .label = Chino tradicional (Taiwán)
+font-language-group-simpl-chinese =
+ .label = Chino simplificado
+font-language-group-trad-chinese-hk =
+ .label = Chino tradicional (Hong Kong)
+font-language-group-korean =
+ .label = Coreano
+font-language-group-cyrillic =
+ .label = Cirílico
+font-language-group-el =
+ .label = Griego
+font-language-group-other =
+ .label = Otros sistemas de escritura
+font-language-group-thai =
+ .label = Tailandés
+font-language-group-hebrew =
+ .label = Hebreo
+font-language-group-arabic =
+ .label = Arábico
+font-language-group-devanagari =
+ .label = Devanagari
+font-language-group-tamil =
+ .label = Tamil
+font-language-group-armenian =
+ .label = Armenio
+font-language-group-bengali =
+ .label = Bengalí
+font-language-group-canadian =
+ .label = Silabario Canadiense Unificado
+font-language-group-ethiopic =
+ .label = Etíope
+font-language-group-georgian =
+ .label = Georgiano
+font-language-group-gujarati =
+ .label = Gujarati
+font-language-group-gurmukhi =
+ .label = Gurmukhi
+font-language-group-khmer =
+ .label = Khmer
+font-language-group-malayalam =
+ .label = Malabar
+font-language-group-math =
+ .label = Matemáticas
+font-language-group-odia =
+ .label = Odia
+font-language-group-telugu =
+ .label = Télegu
+font-language-group-kannada =
+ .label = Canarés
+font-language-group-sinhala =
+ .label = Cingalés
+font-language-group-tibetan =
+ .label = Tibetano
+
+## Default font type
+
+default-font-serif =
+ .label = Serif
+default-font-sans-serif =
+ .label = Sans Serif
+font-size-proportional-label =
+ .value = Tamaño:
+ .accesskey = a
+font-size-monospace-label =
+ .value = Tamaño:
+ .accesskey = i
+font-serif-label =
+ .value = Serif:
+ .accesskey = S
+font-sans-serif-label =
+ .value = Sans-serif:
+ .accesskey = n
+font-monospace-label =
+ .value = Monospace:
+ .accesskey = M
+font-min-size-label =
+ .value = Tamaño mínimo de fuente:
+ .accesskey = a
+min-size-none =
+ .label = Ninguno
+
+## Fonts in message
+
+font-control-legend = Control de fuente
+use-document-fonts-checkbox =
+ .label = Permitir que los mensajes usen otras fuentes
+ .accesskey = o
+use-fixed-width-plain-checkbox =
+ .label = Usar fuente de ancho fijo para mensajes de texto sin formato
+ .accesskey = x
+
+## Language settings
+
+text-encoding-legend = Codificación de texto
+text-encoding-description = Establecer la codificación de texto predeterminada para enviar y recibir correo
+font-outgoing-email-label =
+ .value = Correo saliente:
+ .accesskey = u
+font-incoming-email-label =
+ .value = Correo entrante:
+ .accesskey = I
+default-font-reply-checkbox =
+ .label = Cuando sea posible, usa la codificación de texto predeterminada en las respuestas
+ .accesskey = h
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/languages.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..49a598c469
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Subir
+ .accesskey = U
+languages-customize-movedown =
+ .label = Bajar
+ .accesskey = D
+languages-customize-remove =
+ .label = Eliminar
+ .accesskey = E
+languages-customize-select-language =
+ .placeholder = Selecciona un idioma a agregar…
+languages-customize-add =
+ .label = Agregar
+ .accesskey = A
+messenger-languages-window2 =
+ .title = Ajustes de idioma de { -brand-short-name }
+messenger-languages-dialog-title = Ajustes de idioma de { -brand-short-name }
+messenger-languages-description = { -brand-short-name } mostrará el primer idioma como tu idioma predeterminado y mostrará idiomas alternativos si es necesario en el orden en que aparecen.
+messenger-languages-search = Buscar más idiomas…
+messenger-languages-searching =
+ .label = Buscando idiomas…
+messenger-languages-downloading =
+ .label = Descargando…
+messenger-languages-select-language =
+ .label = Selecciona un idioma para agregar…
+ .placeholder = Selecciona un idioma para agregar…
+messenger-languages-installed-label = Idiomas instalados
+messenger-languages-available-label = Idiomas disponibles
+messenger-languages-error = { -brand-short-name } no puede actualizar tus idiomas ahora. Verifica que estés conectado a internet o intenta nuevamente más tarde.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/new-tag.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..7fe34c83a3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Nueva etiqueta
+tag-dialog-title = Nueva etiqueta
+tag-name-label =
+ .value = Nombre de la etiqueta:
+ .accesskey = T
+tag-color-label =
+ .value = Color:
+ .accesskey = C
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/notifications.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..e1500c8ba0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Personalizar nueva alerta de mensaje
+notifications-dialog-title = Personalizar nueva alerta de mensaje
+customize-alert-description = Elegir qué campos mostrar en la notificación de alerta:
+preview-text-checkbox =
+ .label = Texto de vista previa del mensaje
+ .accesskey = M
+subject-checkbox =
+ .label = Tema
+ .accesskey = S
+sender-checkbox =
+ .label = Remitente
+ .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 = Mostrar nueva alerta de mensaje para
+ .accesskey = N
+open-time-label-after =
+ .value = segundos
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/offline.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..ce51316a12
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Configuraciones sin conexión
+offline-dialog-title = Configuraciones sin conexión
+autodetect-online-label =
+ .label = Seguir automáticamente el estado de conexión detectado
+ .accesskey = d
+offline-preference-startup-label = Estado manual al iniciar:
+status-radio-remember =
+ .label = Recordar el anterior estado de conexión
+ .accesskey = R
+status-radio-ask =
+ .label = Pregúntame el estado de conexión
+ .accesskey = k
+status-radio-always-online =
+ .label = Conectado
+ .accesskey = l
+status-radio-always-offline =
+ .label = Sin conexión
+ .accesskey = f
+going-online-label = ¿Enviar mensajes pendientes cuando estés conectado?
+going-online-auto =
+ .label = Sí
+ .accesskey = Y
+going-online-not =
+ .label = No
+ .accesskey = N
+going-online-ask =
+ .label = Pregúntame
+ .accesskey = s
+going-offline-label = Al desconectarse, ¿descargar mensajes para usar sin conexión?
+going-offline-auto =
+ .label = Sí
+ .accesskey = e
+going-offline-not =
+ .label = No
+ .accesskey = o
+going-offline-ask =
+ .label = Pregúntame
+ .accesskey = a
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..012c8d5573
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Inicios de sesión guardados
+saved-logins-title = Inicios de sesión guardados
+window-close =
+ .key = w
+focus-search-primary-shortcut =
+ .key = f
+focus-search-alt-shortcut =
+ .key = k
+copy-provider-url-cmd =
+ .label = Copiar URL
+ .accesskey = y
+copy-username-cmd =
+ .label = Copiar nombre de usuario
+ .accesskey = U
+edit-username-cmd =
+ .label = Editar nombre de usuario
+ .accesskey = d
+copy-password-cmd =
+ .label = Copiar contraseña
+ .accesskey = C
+edit-password-cmd =
+ .label = Editar contraseña
+ .accesskey = E
+search-filter =
+ .accesskey = S
+ .placeholder = Buscar
+column-heading-provider =
+ .label = Proveedor
+column-heading-username =
+ .label = Nombre de usuario
+column-heading-password =
+ .label = Contraseña
+column-heading-time-created =
+ .label = Usado por primera vez
+column-heading-time-last-used =
+ .label = Usado por última vez
+column-heading-time-password-changed =
+ .label = Modificado por última vez
+column-heading-times-used =
+ .label = Veces usado
+remove =
+ .label = Eliminar
+ .accesskey = E
+import =
+ .label = Importar…
+ .accesskey = I
+password-close-button =
+ .label = Cerrar
+ .accesskey = C
+show-passwords =
+ .label = Mostrar contraseñas
+ .accesskey = P
+hide-passwords =
+ .label = Ocultar contraseñas
+ .accesskey = P
+logins-description-all = Los inicios de sesión para los siguientes proveedores se almacenan en tu computadora
+logins-description-filtered = Los siguientes inicios de sesión coinciden con tu búsqueda:
+remove-all =
+ .label = Eliminar todo
+ .accesskey = t
+remove-all-shown =
+ .label = Eliminar todos los visibles
+ .accesskey = t
+remove-all-passwords-prompt = ¿Estás seguro de eliminar todas las contraseñas?
+remove-all-passwords-title = Eliminar todas las contraseñas
+no-master-password-prompt = ¿Estás seguro de querer mostrar tus contraseñas?
+
+## OS Authentication dialog
+
+# This message can be seen by trying to show or copy the passwords.
+password-os-auth-dialog-message = Verifica tu identidad para mostrar las contraseñas guardadas.
+# 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 = mostrar las contraseñas guardadas
+# Don't change this label.
+password-os-auth-dialog-caption = { -brand-full-name }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/permissions.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..2a43b13b7c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Excepciones
+permissions-dialog-title = Excepciones
+permission-preferences-close-window =
+ .key = w
+website-address-label =
+ .value = Dirección de sitio web:
+ .accesskey = d
+block-button =
+ .label = Bloquear
+ .accesskey = B
+allow-session-button =
+ .label = Permitir en esta sesión
+ .accesskey = n
+allow-button =
+ .label = Permitir
+ .accesskey = A
+treehead-sitename-label =
+ .label = Sitio
+treehead-status-label =
+ .label = Estado
+remove-site-button =
+ .label = Eliminar sitio
+ .accesskey = E
+remove-all-site-button =
+ .label = Eliminar todos los sitios
+ .accesskey = e
+cancel-button =
+ .label = Cancelar
+ .accesskey = C
+save-button =
+ .label = Guardar cambios
+ .accesskey = S
+permission-can-label = Permitir
+permission-can-access-first-party-label = Permitir solamente el primero
+permission-can-session-label = Permitir por esta sesión
+permission-cannot-label = Bloquear
+invalid-uri-message = Por favor, ingresa un nombre válido para el servidor
+invalid-uri-title = Nombre ingresado de servidor inválido
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/preferences.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..1921671af8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/preferences.ftl
@@ -0,0 +1,773 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Cerrar
+preferences-doc-title2 = Ajustes
+category-list =
+ .aria-label = Categorías
+pane-general-title = General
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-compose-title = Composición
+category-compose =
+ .tooltiptext = Composición
+pane-privacy-title = Privacidad y seguridad
+category-privacy =
+ .tooltiptext = Privacidad y seguridad
+pane-chat-title = Chat
+category-chat =
+ .tooltiptext = Chat
+pane-calendar-title = Calendario
+category-calendar =
+ .tooltiptext = Calendario
+pane-sync-title = Sincronizar
+category-sync =
+ .tooltiptext = Sincronizar
+general-language-and-appearance-header = Idioma y apariencia
+general-incoming-mail-header = Correos entrantes
+general-files-and-attachment-header = Archivos y adjuntos
+general-tags-header = Etiquetas
+general-reading-and-display-header = Lectura y visualización
+general-updates-header = Actualizaciones
+general-network-and-diskspace-header = Red y espacio en el disco
+general-indexing-label = Indexado
+composition-category-header = Composición
+composition-attachments-header = Adjuntos
+composition-spelling-title = Ortografía
+compose-html-style-title = Estilo HTML
+composition-addressing-header = Direccionamiento
+privacy-main-header = Privacidad
+privacy-passwords-header = Contraseñas
+privacy-junk-header = Basura
+collection-header = { -brand-short-name } Recolección y uso de datos
+collection-description = Nos esforzamos en proveerte opciones y recolectar sólo lo que necesitamos para mantener disponible y mejorar { -brand-short-name } para todos. Siempre pedimos permiso antes de recibir información personal.
+collection-privacy-notice = Aviso de privacidad
+collection-health-report-telemetry-disabled = Ya no estás permitiendo a { -vendor-short-name } capturar datos técnicos y de interacción. Todos los datos anteriores serán eliminados dentro de 30 días.
+collection-health-report-telemetry-disabled-link = Saber más
+collection-health-report =
+ .label = Permitir a { -brand-short-name } enviar datos técnicos y de interacción a { -vendor-short-name }
+ .accesskey = P
+collection-health-report-link = Saber más
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = El reporte de datos está deshabilitado para esta configuración de compilación
+collection-backlogged-crash-reports =
+ .label = Permitir a { -brand-short-name } enviar reportes de fallas pasadas en su nombre
+ .accesskey = P
+collection-backlogged-crash-reports-link = Saber más
+privacy-security-header = Seguridad
+privacy-scam-detection-title = Detección de fraude
+privacy-anti-virus-title = Antivirus
+privacy-certificates-title = Certificados
+chat-pane-header = Chat
+chat-status-title = Estatus
+chat-notifications-title = Notificaciones
+chat-pane-styling-header = Estilo
+choose-messenger-language-description = Elige los idiomas para mostrar los menús, mensajes y notificaciones de { -brand-short-name }.
+manage-messenger-languages-button =
+ .label = Establecer alternativas…
+ .accesskey = l
+confirm-messenger-language-change-description = Reiniciar { -brand-short-name } para aplicar estos cambios
+confirm-messenger-language-change-button = Aplicar y reiniciar
+update-setting-write-failure-title = Error al guardar las preferencias de actualización
+# 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 } encontró un error y no guardó este cambio. Ten en cuenta que la configuración de esta preferencia de actualización requiere permiso para escribir en el archivo que se encuentra a continuación. Es posible que tú o un administrador del sistema puedan resolver el error otorgando el control total de este archivo al grupo de Usuarios.
+
+ No se pudo escribir en el archivo: { $path }
+update-in-progress-title = Actualización en progreso
+update-in-progress-message = ¿Quieres que { -brand-short-name } continúe con esta actualización?
+update-in-progress-ok-button = &Descartar
+# 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 = &Continuar
+account-button = Configuración de la cuenta
+open-addons-sidebar-button = Complementos y temas
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+primary-password-os-auth-dialog-message-win = Para crear una contraseña principal, proporciona los datos de acceso de Windows. Esto ayuda a proteger la seguridad de las cuentas.
+# 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 = crear una contraseña 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 = Página de inicio de { -brand-short-name }
+start-page-label =
+ .label = Cuando se inicia { -brand-short-name }, mostrar la página de inicio en el área de mensajes
+ .accesskey = W
+location-label =
+ .value = Ubicación:
+ .accesskey = U
+restore-default-label =
+ .label = Restaurar Predeterminado
+ .accesskey = R
+default-search-engine = Motor de búsqueda predeterminado
+add-web-search-engine =
+ .label = Agregar…
+ .accesskey = A
+remove-search-engine =
+ .label = Eliminar
+ .accesskey = v
+add-opensearch-provider-title = Agregar proveedor de OpenSearch
+add-opensearch-provider-text = Ingresa la URL del proveedor de OpenSearch para agregar. Utiliza la URL directa del archivo de descripción de OpenSearch o una URL donde se pueda descubrir automáticamente.
+adding-opensearch-provider-failed-title = No se pudo agregar el proveedor OpenSearch
+# Variables:
+# $url (String) - URL an OpenSearch provider was requested for.
+adding-opensearch-provider-failed-text = No se pudo agregar el proveedor de OpenSearch para { $url }.
+minimize-to-tray-label =
+ .label = Mover { -brand-short-name } a la bandeja cuando es minimizado
+ .accesskey = m
+new-message-arrival = Cuando los mensajes lleguen:
+mail-play-sound-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Reproducir el siguiente archivo de sonido:
+ *[other] Reproducir un sonido
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] d
+ *[other] d
+ }
+mail-play-button =
+ .label = Reproducir
+ .accesskey = P
+change-dock-icon = Cambiar las preferencias para el ícono de la aplicación
+app-icon-options =
+ .label = Opciones de íconos de la aplicación…
+ .accesskey = n
+notification-settings2 = Las alertas y el sonido predeterminado pueden desactivarse en el panel de notificaciones de los ajustes del sistema.
+animated-alert-label =
+ .label = Mostrar una alerta
+ .accesskey = S
+customize-alert-label =
+ .label = Personalizar…
+ .accesskey = P
+biff-use-system-alert =
+ .label = Usar la notificación del sistema
+tray-icon-unread-label =
+ .label = Mostrar un ícono en la bandeja para mensajes no leídos
+ .accesskey = t
+tray-icon-unread-description = Recomendado al usar botones pequeños en la barra de tareas
+mail-system-sound-label =
+ .label = Sonido predeterminado del sistema para nuevo correo
+ .accesskey = D
+mail-custom-sound-label =
+ .label = Usar el siguiente archivo de sonido
+ .accesskey = U
+mail-browse-sound-button =
+ .label = Examinar…
+ .accesskey = B
+enable-gloda-search-label =
+ .label = Habilitar indexado y búsqueda global
+ .accesskey = G
+datetime-formatting-legend = Formato de fecha y hora
+language-selector-legend = Idioma
+allow-hw-accel =
+ .label = Usar aceleración por hardware cuando esté disponible
+ .accesskey = h
+store-type-label =
+ .value = Tipo de almacenamiento de mensajes para nuevas cuentas:
+ .accesskey = T
+mbox-store-label =
+ .label = Un archivo por carpeta (mbox)
+maildir-store-label =
+ .label = Un archivo por mensaje (maildir)
+scrolling-legend = Desplazamiento
+autoscroll-label =
+ .label = Usar autodesplazamiento
+ .accesskey = U
+smooth-scrolling-label =
+ .label = Usar desplazamiento suave
+ .accesskey = m
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = Mostrar siempre las barras de desplazamiento
+ .accesskey = c
+window-layout-legend = Diseño de ventana
+draw-in-titlebar-label =
+ .label = Ocultar barra de título de la ventana del sistema
+ .accesskey = O
+auto-hide-tabbar-label =
+ .label = Ocultar automáticamente barra de pestañas
+ .accesskey = a
+auto-hide-tabbar-description = Ocultar la barra de pestañas solo cuando hay una pestaña abierta
+system-integration-legend = Integración de sistema
+always-check-default =
+ .label = Siempre verificar si { -brand-short-name } es el cliente de correo predeterminado al iniciar
+ .accesskey = A
+check-default-button =
+ .label = Verificar ahora…
+ .accesskey = a
+# 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] Destacar
+ [windows] Ventana de búsqueda
+ *[other] { "" }
+ }
+search-integration-label =
+ .label = Permitir que { search-engine-name } busque mensajes
+ .accesskey = S
+config-editor-button =
+ .label = Configurar editor…
+ .accesskey = C
+return-receipts-description = Determinar cómo { -brand-short-name } maneja los acuses de recibo
+return-receipts-button =
+ .label = Acuses de recibo…
+ .accesskey = R
+update-app-legend = Actualizaciones de { -brand-short-name }
+# Variables:
+# $version (String): version of Thunderbird, e.g. 68.0.1
+update-app-version = Versión { $version }
+allow-description = Permitir que { -brand-short-name }
+automatic-updates-label =
+ .label = Instalar actualizaciones automáticamente (recomendado: seguridad aumentada)
+ .accesskey = A
+check-updates-label =
+ .label = Buscar actualizaciones, pero dejarme decidir si las instalo
+ .accesskey = C
+update-history-button =
+ .label = Mostrar historial de actualizaciones
+ .accesskey = h
+use-service =
+ .label = Usar un servicio en segundo plano para instalar actualizaciones
+ .accesskey = b
+cross-user-udpate-warning = Esta configuración se aplicará a todas las cuentas de Windows y perfiles de { -brand-short-name } usando esta instalación de { -brand-short-name }.
+networking-legend = Conexión
+proxy-config-description = Configurar cómo { -brand-short-name } se conecta a Internet
+network-settings-button =
+ .label = Configuración…
+ .accesskey = S
+offline-legend = Sin conexión
+offline-settings = Configurar ajustes sin conexión
+offline-settings-button =
+ .label = Sin conexión…
+ .accesskey = O
+diskspace-legend = Espacio en disco
+offline-compact-folder =
+ .label = Compactar carpetas cuando se recuperen más de
+ .accesskey = a
+offline-compact-folder-automatically =
+ .label = Preguntar cada vez antes de compactar
+ .accesskey = a
+compact-folder-size =
+ .value = MB en 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 = Utilizar hasta
+ .accesskey = U
+use-cache-after = MB de espacio para el caché
+
+##
+
+smart-cache-label =
+ .label = Anular la administración automática de caché
+ .accesskey = A
+clear-cache-button =
+ .label = Limpiar ahora
+ .accesskey = L
+clear-cache-shutdown-label =
+ .label = Borrar caché al apagar
+ .accesskey = s
+fonts-legend = Fuentes & colores
+default-font-label =
+ .value = Fuente predeterminada:
+ .accesskey = D
+default-size-label =
+ .value = Tamaño:
+ .accesskey = T
+font-options-button =
+ .label = Avanzado…
+ .accesskey = A
+color-options-button =
+ .label = Colores…
+ .accesskey = C
+display-width-legend = Mensajes de texto plano
+# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-)
+convert-emoticons-label =
+ .label = Mostrar emoticones como gráficos
+ .accesskey = e
+display-text-label = Cuando se muestren mensajes de texto plano citados:
+style-label =
+ .value = Estilo:
+ .accesskey = y
+regular-style-item =
+ .label = Regular
+bold-style-item =
+ .label = Negrita
+italic-style-item =
+ .label = Cursiva
+bold-italic-style-item =
+ .label = Negrita cursiva
+size-label =
+ .value = Tamaño:
+ .accesskey = a
+regular-size-item =
+ .label = Regular
+bigger-size-item =
+ .label = Más grande
+smaller-size-item =
+ .label = Más pequeño
+quoted-text-color =
+ .label = Color:
+ .accesskey = o
+search-handler-table =
+ .placeholder = Filtrar tipos de contenido y acciones
+type-column-header = Tipo de contenido
+action-column-header = Acción
+save-to-label =
+ .label = Guardar archivos en
+ .accesskey = G
+choose-folder-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Seleccionar…
+ *[other] Buscar…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] B
+ }
+always-ask-label =
+ .label = Siempre preguntarme dónde guardar los archivos
+ .accesskey = A
+display-tags-text = Las etiquetas pueden ser usadas para categorizar y priorizar tus mensajes.
+new-tag-button =
+ .label = Nuevo…
+ .accesskey = N
+edit-tag-button =
+ .label = Editar…
+ .accesskey = E
+delete-tag-button =
+ .label = Eliminar
+ .accesskey = E
+auto-mark-as-read =
+ .label = Automáticamente marcar mensajes como leídos
+ .accesskey = A
+mark-read-no-delay =
+ .label = Inmediatamente en pantalla
+ .accesskey = o
+view-attachments-inline =
+ .label = Ver archivos adjuntos en línea
+ .accesskey = V
+
+## Note: This will concatenate to "After displaying for [___] seconds",
+## using (mark-read-delay) and a number (seconds-label).
+
+mark-read-delay =
+ .label = Después de mostrar para
+ .accesskey = d
+seconds-label = segundos
+
+##
+
+open-msg-label =
+ .value = Abrir mensajes en:
+open-msg-tab =
+ .label = Una nueva pestaña
+ .accesskey = t
+open-msg-window =
+ .label = Una nueva ventana de mensaje
+ .accesskey = n
+open-msg-ex-window =
+ .label = Una ventana de mensaje existente
+ .accesskey = e
+close-move-delete =
+ .label = Cerrar ventana/pestaña de mensaje al mover o borrar
+ .accesskey = C
+display-name-label =
+ .value = Nombre para mostrar:
+condensed-addresses-label =
+ .label = Mostrar solo el nombre para mostrar de las personas en mi libreta de direcciones
+ .accesskey = S
+
+## Compose Tab
+
+forward-label =
+ .value = Reenviar mensajes:
+ .accesskey = R
+inline-label =
+ .label = En el cuerpo del mensaje
+as-attachment-label =
+ .label = Como adjunto
+extension-label =
+ .label = agregar extensión al nombre del archivo
+ .accesskey = e
+
+## Note: This will concatenate to "Auto Save every [___] minutes",
+## using (auto-save-label) and a number (auto-save-end).
+
+auto-save-label =
+ .label = Autoguardar cada
+ .accesskey = A
+auto-save-end = minutos
+
+##
+
+warn-on-send-accel-key =
+ .label = Confirmar cuando se usen atajos de teclados para enviar mensajes
+ .accesskey = C
+add-link-previews =
+ .label = Agregar vistas previas de enlaces al pegar URLs
+ .accesskey = i
+spellcheck-label =
+ .label = Revisa tu ortografía antes de enviar
+ .accesskey = C
+spellcheck-inline-label =
+ .label = Habilitar ortografía mientras se escribe
+ .accesskey = E
+language-popup-label =
+ .value = Idioma:
+ .accesskey = L
+download-dictionaries-link = Descargar más diccionarios
+font-label =
+ .value = Fuente:
+ .accesskey = n
+font-size-label =
+ .value = Tamaño:
+ .accesskey = a
+default-colors-label =
+ .label = Usar colores predeterminados de lector
+ .accesskey = d
+font-color-label =
+ .value = Color del texto:
+ .accesskey = T
+bg-color-label =
+ .value = Color de fondo:
+ .accesskey = f
+restore-html-label =
+ .label = Restaurar predeterminados
+ .accesskey = R
+default-format-label =
+ .label = Usar formato de párrafo en vez de texto de cuerpo predeterminadamente
+ .accesskey = P
+compose-send-format-title = Formato de envío
+compose-send-automatic-option =
+ .label = Automático
+compose-send-automatic-description = Si no se utiliza ningún estilo en el mensaje, envía texto sin formato. De lo contrario, envía HTML con un respaldo de texto sin formato.
+compose-send-both-option =
+ .label = Tanto HTML como Texto sin formato
+compose-send-both-description = La aplicación de correo electrónico del destinatario determinará qué versión mostrar.
+compose-send-html-option =
+ .label = Solo HTML
+compose-send-html-description = Es posible que algunos destinatarios no puedan leer el mensaje sin un respaldo de Texto sin formato.
+compose-send-plain-option =
+ .label = Solo Texto sin formato
+compose-send-plain-description = Algunos estilos se convertirán en una alternativa sencilla, mientras que otras funciones de composición se desactivarán.
+autocomplete-description = Al escribir una dirección, buscar coincidencias en:
+ab-label =
+ .label = Libreta de direcciones locales
+ .accesskey = L
+directories-label =
+ .label = Servidor de directorio:
+ .accesskey = D
+directories-none-label =
+ .none = Ninguno
+edit-directories-label =
+ .label = Editar directorios…
+ .accesskey = E
+email-picker-label =
+ .label = Agregar automáticamente las direcciones de correo salientes a mi:
+ .accesskey = A
+default-directory-label =
+ .value = Directorio de inicio predeterminado en la ventana de la libreta de direcciones:
+ .accesskey = S
+default-last-label =
+ .none = Último directorio usado
+attachment-label =
+ .label = Comprobar si hay archivos adjuntos faltantes
+ .accesskey = m
+attachment-options-label =
+ .label = Palabras clave…
+ .accesskey = P
+enable-cloud-share =
+ .label = Ofrecer compartir para archivos más grandes que
+cloud-share-size =
+ .value = MB
+add-cloud-account =
+ .label = Agregar…
+ .accesskey = A
+ .defaultlabel = Agregar…
+remove-cloud-account =
+ .label = Eliminar
+ .accesskey = E
+find-cloud-providers =
+ .value = Encontrar más proveedores…
+cloud-account-description = Agregar un nuevo servicio de almacenamiento Filelink
+
+## Privacy Tab
+
+mail-content = Contenido del correo
+remote-content-label =
+ .label = Permitir contenido remoto en mensajes
+ .accesskey = m
+exceptions-button =
+ .label = Excepciones…
+ .accesskey = E
+remote-content-info =
+ .value = Saber más sobre los problemas de privacidad del contenido remoto
+web-content = Contenido web
+history-label =
+ .label = Recordar sitios web y enlaces que he visitado
+ .accesskey = R
+cookies-label =
+ .label = Aceptar cookies de sitios web
+ .accesskey = A
+third-party-label =
+ .value = Aceptar cookies de terceros:
+ .accesskey = c
+third-party-always =
+ .label = Siempre
+third-party-never =
+ .label = Nunca
+third-party-visited =
+ .label = De sitios visitados
+keep-label =
+ .value = Mantener hasta:
+ .accesskey = M
+keep-expire =
+ .label = expiran
+keep-close =
+ .label = cierra { -brand-short-name }
+keep-ask =
+ .label = preguntarme cada vez
+cookies-button =
+ .label = Mostrar cookies…
+ .accesskey = S
+do-not-track-label =
+ .label = Enviar a los sitios web una señal de “No Rastrear” para decir que no quieres ser rastreado
+ .accesskey = n
+learn-button =
+ .label = Saber más
+dnt-learn-more-button =
+ .value = Saber más
+passwords-description = { -brand-short-name } puede recordar contraseñas para todas tus cuentas.
+passwords-button =
+ .label = Contraseñas guardadas…
+ .accesskey = S
+primary-password-description = La contraseña principal protegerá el resto de tus contraseñas, pero deberás proporcionarla una vez por sesión.
+primary-password-label =
+ .label = Utilizar una contraseña principal
+ .accesskey = U
+primary-password-button =
+ .label = Cambiar contraseña principal…
+ .accesskey = C
+forms-primary-pw-fips-title = En este momento se utiliza el modo FIPS. FIPS requiere una contraseña principal no vacía.
+forms-master-pw-fips-desc = El cambio de la contraseña ha fallado
+junk-description = Configuración predeterminada de correo basura. Las configuraciones específicas de cada cuenta deben ser realizadas en configuración de cuentas.
+junk-label =
+ .label = Cuando marco mensajes como basura:
+ .accesskey = W
+junk-move-label =
+ .label = Moverlos a la carpeta de correo basura
+ .accesskey = o
+junk-delete-label =
+ .label = Eliminarlos
+ .accesskey = E
+junk-read-label =
+ .label = Marcar mensajes determinados para ser basura como leídos
+ .accesskey = M
+junk-log-label =
+ .label = Habilitar el registro del filtro de basura adaptativo
+ .accesskey = E
+junk-log-button =
+ .label = Mostrar registro
+ .accesskey = S
+reset-junk-button =
+ .label = Borrar entrenamiento
+ .accesskey = R
+phishing-description = { -brand-short-name } puede analizar mensajes buscando correos sospechosos de fraude buscando las técnicas más conocidas con que puedan engañarlo.
+phishing-label =
+ .label = Decirme si el mensaje que estoy leyendo es sospechosos de fraude de correo
+ .accesskey = T
+antivirus-description = { -brand-short-name } puede hacer más fácil que el software anti-virus analice el correo entrante en busca de virus antes de almacenarlo localmente.
+antivirus-label =
+ .label = Permitir a los clientes anti-virus poner en cuarentena mensajes entrantes individuales
+ .accesskey = A
+certificate-description = Cuando un servidor solicite mi certificado personal:
+certificate-auto =
+ .label = Seleccionar uno automáticamente
+ .accesskey = S
+certificate-ask =
+ .label = Preguntarme cada vez
+ .accesskey = A
+ocsp-label =
+ .label = Consultar servidores de respuesta OCSP para confirmar la validez actual de los certificados
+ .accesskey = Q
+certificate-button =
+ .label = Administrar certificados…
+ .accesskey = M
+security-devices-button =
+ .label = Dispositivos de seguridad…
+ .accesskey = D
+
+## Chat Tab
+
+startup-label =
+ .value = Cuando { -brand-short-name } inicie:
+ .accesskey = s
+offline-label =
+ .label = Mantener mis cuentas de chat sin conexión
+auto-connect-label =
+ .label = Conectar mis cuentas de chat automáticamente
+
+## 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 = Informar a mis contactos que estoy inactivo después de
+ .accesskey = I
+idle-time-label = minutos de inactividad
+
+##
+
+away-message-label =
+ .label = y establecer mi estado como Ausente con el siguiente mensaje de estado:
+ .accesskey = A
+send-typing-label =
+ .label = Enviar notificaciones de escritura en conversaciones
+ .accesskey = t
+notification-label = Cuando lleguen mensajes dirigidos a ti:
+show-notification-label =
+ .label = Mostrar una notificación:
+ .accesskey = c
+notification-all =
+ .label = con nombre de remitente y vista previa de mensaje
+notification-name =
+ .label = solo con nombre de remitente
+notification-empty =
+ .label = sin ninguna información
+notification-type-label =
+ .label =
+ { PLATFORM() ->
+ [macos] Animar el ícono del dock
+ *[other] Hacer visible el elemento de la barra de tareas
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] o
+ *[other] F
+ }
+chat-play-sound-label =
+ .label = Reproducir un sonido
+ .accesskey = d
+chat-play-button =
+ .label = Reproducir
+ .accesskey = P
+chat-system-sound-label =
+ .label = Sonido predeterminado para correo nuevo
+ .accesskey = D
+chat-custom-sound-label =
+ .label = Usar el siguiente archivo de sonido
+ .accesskey = U
+chat-browse-sound-button =
+ .label = Buscar…
+ .accesskey = B
+theme-label =
+ .value = Tema:
+ .accesskey = T
+style-mail =
+ .label = { -brand-short-name }
+style-bubbles =
+ .label = Burbujas
+style-dark =
+ .label = Oscuro
+style-paper =
+ .label = Hojas de papel
+style-simple =
+ .label = Simple
+preview-label = Vista previa:
+no-preview-label = No está disponible la vista previa
+no-preview-description = Este tema no es válido o no está actualmente disponible (deshabilitar complemento, modo seguro, …).
+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: 15.4em
+ .placeholder = Buscar en ajustes
+
+## Settings UI Search Results
+
+search-results-header = Resultados de la búsqueda
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message2 =
+ { PLATFORM() ->
+ [windows] ¡Lo sentimos! No hay resultados en la Configuración para “<span data-l10n-name="query"></span>”.
+ *[other] ¡Lo sentimos! No hay resultados en los Ajustes para “<span data-l10n-name="query"></span>”.
+ }
+search-results-help-link = ¿Necesitas ayuda? Visita el soporte de <a data-l10n-name="url">{ -brand-short-name }</a>
+
+## Sync Tab
+
+sync-signedout-caption = Lleva la Web contigo
+sync-signedout-description = Sincroniza tus cuentas, libretas de direcciones, calendarios, complementos, y ajustes en todos tus dispositivos.
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+sync-signedout-account-signin-btn = Iniciar sesión para sincronizar...
+sync-pane-header = Sincronizar
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-pane-email-not-verified = “{ $userEmail }” no está verificado.
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-signedin-login-failure = Por favor, inicia sesión para volver a conectarte “{ $userEmail }”
+sync-pane-resend-verification = Enviar verificación de nuevo
+sync-pane-sign-in = Iniciar sesión
+sync-pane-remove-account = Eliminar cuenta
+sync-pane-edit-photo =
+ .title = Cambiar imagen de perfil
+sync-pane-manage-account = Administrar cuenta
+sync-pane-sign-out = Salir…
+sync-pane-device-name-title = Nombre del dispositivo
+sync-pane-change-device-name = Cambiar nombre del dispositivo
+sync-pane-cancel = Cancelar
+sync-pane-save = Guardar
+sync-pane-show-synced-header-on = Sincronización: ACTIVADA
+sync-pane-show-synced-header-off = Sincronización: DESACTIVADA
+sync-pane-sync-now = Sincronizar ahora
+sync-panel-sync-now-syncing = Sincronizando…
+show-synced-list-heading = Actualmente estás sincronizando estos elementos:
+show-synced-learn-more = Saber más…
+show-synced-item-account = Cuentas de correo electrónico
+show-synced-item-address = Libretas de direcciones
+show-synced-item-calendar = Calendarios
+show-synced-item-identity = Identidades
+show-synced-item-passwords = Contraseñas
+show-synced-change = Cambiar…
+synced-acount-item-server-config = Configuración del servidor
+synced-acount-item-filters = Filtros
+synced-acount-item-keys = OpenPGP -S/MIME
+sync-disconnected-text = Sincroniza tus cuentas de correo electrónico, libretas de direcciones, calendarios, e identidades en todos tus dispositivos.
+sync-disconnected-turn-on-sync = Activar sincronización…
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/receipts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..67bd31488e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Acuses de recibido
+receipts-dialog-title = Acuses de recibido
+return-receipt-checkbox-control =
+ .label = Cuando se envíen mensajes, siempre solicitar un acuse de recibido
+ .accesskey = W
+receipt-arrive-label = Cuando un acuse llegue:
+receipt-leave-radio-control =
+ .label = Dejarlo en mi bandeja de entrada
+ .accesskey = i
+receipt-move-radio-control =
+ .label = Moverlo a mi carpeta de "Enviados"
+ .accesskey = m
+receipt-request-label = Cuando reciba una solicitud de acuse de recibido:
+receipt-return-never-radio-control =
+ .label = Nunca enviar un acuse de recibido
+ .accesskey = n
+receipt-return-some-radio-control =
+ .label = Permitir algunos acuses de recibido para algunos mensajes
+ .accesskey = r
+receipt-not-to-cc-label =
+ .value = Si no estoy en el A. o Cc: del mensaje:
+ .accesskey = i
+receipt-send-never-label =
+ .label = Nunca enviar
+receipt-send-always-label =
+ .label = Siempre enviar
+receipt-send-ask-label =
+ .label = Preguntarme
+sender-outside-domain-label =
+ .value = Si el remitente está fuera de mi dominio:
+ .accesskey = t
+other-cases-text-label =
+ .value = En todos los demás casos:
+ .accesskey = a
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/sync-dialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/sync-dialog.ftl
new file mode 100644
index 0000000000..121fa34a08
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Elige que sincronizar
+sync-dialog =
+ .buttonlabelaccept = Guardar cambios
+ .buttonaccesskeyaccept = G
+ .buttonlabelextra2 = Desconectar…
+ .buttonaccesskeyextra2 = D
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/system-integration.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..37615db984
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Integración con el sistema
+system-integration-dialog-title = Integración con el sistema
+system-integration-dialog =
+ .buttonlabelaccept = Establecer como predeterminado
+ .buttonlabelcancel = Saltar integración
+ .buttonlabelcancel2 = Cancelar
+default-client-intro = Usar { -brand-short-name } como el cliente predeterminado para:
+unset-default-tooltip = No es posible quitar { -brand-short-name } como el cliente predeterminado dentro de { -brand-short-name }. Para hacer que otra aplicación sea la predeterminada debes usar el diálogo 'Establecer como predeterminada'.
+checkbox-email-label =
+ .label = Correo electrónico
+ .tooltiptext = { unset-default-tooltip }
+checkbox-newsgroups-label =
+ .label = Grupos de noticias
+ .tooltiptext = { unset-default-tooltip }
+checkbox-feeds-label =
+ .label = Canales
+ .tooltiptext = { unset-default-tooltip }
+checkbox-calendar-label =
+ .label = Calendario
+ .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] Destacar
+ [windows] Ventana de búsqueda
+ *[other] { "" }
+ }
+system-search-integration-label =
+ .label = Permitir a { system-search-engine-name } buscar en los mensajes
+ .accesskey = S
+check-on-startup-label =
+ .label = Siempre realizar la verificación al iniciar { -brand-short-name }
+ .accesskey = A
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/shortcuts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/shortcuts.ftl
new file mode 100644
index 0000000000..672a161a05
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/shortcuts.ftl
@@ -0,0 +1,113 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Shortcuts
+
+# Variables:
+# $key (String) - The shortcut key.
+shortcut-key = { $key }
+
+meta-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌘ { $key }
+ *[other] Meta+{ $key }
+ }
+
+ctrl-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ { $key }
+ *[other] Ctrl+{ $key }
+ }
+
+shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⇧ { $key }
+ *[other] Shift+{ $key }
+ }
+
+alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ { $key }
+ *[other] Alt+{ $key }
+ }
+
+meta-ctrl-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌘ { $key }
+ *[other] Meta+Ctrl+{ $key }
+ }
+
+meta-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ ⌘ { $key }
+ *[other] Meta+Alt+{ $key }
+ }
+
+ctrl-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ { $key }
+ *[other] Ctrl+Alt+{ $key }
+ }
+
+meta-ctrl-alt-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+{ $key }
+ }
+
+meta-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘ { $key }
+ *[other] Meta+Shift+{ $key }
+ }
+
+ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ { $key }
+ *[other] Ctrl+Shift+{ $key }
+ }
+
+meta-ctrl-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌃ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Shift+{ $key }
+ }
+
+alt-shift-shortcut-key =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ { $key }
+ *[other] Alt+Shift+{ $key }
+ }
+
+meta-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Alt+Shift+{ $key }
+ }
+
+ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ { $key }
+ *[other] Ctrl+Alt+Shift+{ $key }
+ }
+
+meta-ctrl-shift-alt-shortcut-key2 =
+ { PLATFORM() ->
+ [macos] ⌃ ⌥ ⇧ ⌘ { $key }
+ *[other] Meta+Ctrl+Alt+Shift+{ $key }
+ }
+
+# Variables:
+# $title (String): The title coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+button-shortcut-string =
+ .title = { $title } ({ $shortcut })
+
+# Variables:
+# $label (String): The text label coming from the original element.
+# $shortcut (String): The shortcut generated from the keystroke combination.
+menuitem-shortcut-string =
+ .label = { $label }
+ .acceltext = { $shortcut }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/syncAccounts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/syncAccounts.ftl
new file mode 100644
index 0000000000..515820f7e2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/syncAccounts.ftl
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# The strings in this file relate to the configuration of Mozilla accounts for sync.
+
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+sync-verification-sent-title = Verificación enviada
+# Variables:
+# $userEmail (String) - Email address of the account used for sync.
+sync-verification-sent-body = Un enlace de verificación ha sido enviado a { $userEmail }.
+sync-verification-not-sent-title = No es posible enviar la verificación
+sync-verification-not-sent-body = Por el momento no podemos realizar una verificación vía correo electrónico, por favor intenta de nuevo más tarde.
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+sync-signout-dialog-body = Los datos sincronizados permanecerán en tu cuenta.
+sync-signout-dialog-button = Cerrar sesión
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = ¿Desconectar?
+sync-disconnect-dialog-body = { -brand-product-name } dejará de sincronizarse pero no eliminará nada de tus datos en este dispositivo.
+sync-disconnect-dialog-button = Desconectar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/treeView.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/treeView.ftl
new file mode 100644
index 0000000000..581b39eb30
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/treeView.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/.
+
+
+## Table
+
+tree-list-view-column-picker =
+ .title = Seleccionar columnas para mostrar
+tree-list-view-column-picker-restore =
+ .label = Restablecer orden de las columnas
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/troubleshootMode.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/troubleshootMode.ftl
new file mode 100644
index 0000000000..4207258408
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Modo de resolución de problemas { -brand-short-name }
+ .style = width: 37em;
+troubleshoot-mode-dialog-title = Modo de resolución de problemas { -brand-short-name }
+troubleshoot-mode-description = Usa el modo de resolución de problemas de { -brand-short-name } para diagnosticar problemas. Tus complementos y personalizaciones se desactivarán temporalmente.
+troubleshoot-mode-description2 = Puedes hacer permanentes algunos o todos estos cambios:
+troubleshoot-mode-disable-addons =
+ .label = Deshabilitar todos los complementos
+ .accesskey = D
+troubleshoot-mode-reset-toolbars =
+ .label = Restablecer barras de herramientas y controles
+ .accesskey = R
+troubleshoot-mode-change-and-restart =
+ .label = Hacer cambios y reiniciar
+ .accesskey = M
+troubleshoot-mode-continue =
+ .label = Continuar en el modo de resolución de problemas
+ .accesskey = C
+troubleshoot-mode-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Salir
+ *[other] Quitar
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] E
+ *[other] Q
+ }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbar.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbar.ftl
new file mode 100644
index 0000000000..9cd7f1c77b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbar.ftl
@@ -0,0 +1,92 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Unified Toolbar strings
+
+
+## Search bar
+
+search-bar-button =
+ .alt = Buscar
+search-bar-item =
+ .label = Buscar:
+search-bar-placeholder = Buscar…
+# 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 = Personalizar…
+
+# Unified toolbar get messages button context menu
+
+toolbar-get-all-messages-menuitem =
+ .label = Obtener todos los mensajes nuevos
+ .accesskey = O
+
+## Unified Toolbar customization
+
+customize-title = Personalizar barras de herramientas
+customize-space-tab-mail = Correo
+ .title = Correo
+customize-space-tab-addressbook = Libreta de direcciones
+ .title = Libreta de direcciones
+customize-space-tab-calendar = Calendario
+ .title = Calendario
+customize-space-tab-tasks = Tareas
+ .title = Tareas
+customize-space-tab-chat = Chat
+ .title = Chat
+customize-space-tab-settings = Ajustes
+ .title = Ajustes
+customize-restore-default = Restaurar predeterminado
+customize-change-appearance = Cambiar apariencia…
+customize-button-style-label = Estilo de botón:
+customize-button-style-icons-beside-text-option = Íconos a un lado del texto
+customize-button-style-icons-only-option = Solo iconos
+customize-button-style-text-only-option = Solo texto
+customize-cancel = Cancelar
+customize-save = Guardar
+customize-unsaved-changes = Cambios sin guardar en otros espacios
+customize-spaces-tabs =
+ .aria-label = Espacios
+customize-main-toolbar-target =
+ .aria-label = Barra de herramientas principal
+customize-palette-generic-title = Disponibles para todos los espacios
+customize-palette-mail-specific-title = Disponible solo para el espacio de correo
+customize-palette-chat-specific-title = Disponible solo para el espacio de chat
+
+## Unified toolbar customization palette context menu
+
+# Variables:
+# $target (String) - Name of the target the item should be added to.
+customize-palette-add-to =
+ .label = Agregar a { $target }
+customize-palette-add-everywhere =
+ .label = Agregar a todas las barras de herramientas
+
+## Unified toolbar customization target context menu
+
+customize-target-forward =
+ .label = Mover hacia adelante
+customize-target-backward =
+ .label = Mover hacia atrás
+customize-target-remove =
+ .label = Eliminar
+customize-target-remove-everywhere =
+ .label = Eliminar de todas las barras
+customize-target-add-everywhere =
+ .label = Agregar a todas las barras de herramientas
+customize-target-start =
+ .label = Mover al inicio
+customize-target-end =
+ .label = Mover al final
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbarItems.ftl
new file mode 100644
index 0000000000..678d07f941
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/messenger/unifiedToolbarItems.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/.
+
+
+### Unified Toolbar Item Label strings
+
+spacer-label = Espacio flexible
+search-bar-label = Buscar
+toolbar-write-message-label = Redactar
+toolbar-write-message =
+ .title = Redactar nuevo mensaje
+toolbar-move-to-label = Mover a
+toolbar-move-to =
+ .title = Mover mensaje seleccionado
+toolbar-unifinder-label = Buscar eventos
+toolbar-unifinder =
+ .title = Activar/desactivar el panel Encontrar eventos
+toolbar-folder-location-label = Ubicación de la carpeta
+toolbar-folder-location =
+ .title = Cambiar a carpeta
+toolbar-edit-event-label = Editar
+toolbar-edit-event =
+ .title = Editar evento o tarea seleccionada
+toolbar-get-messages-label = Obtener mensajes
+toolbar-get-messages =
+ .title = Obtener nuevos mensajes para todas las cuentas
+toolbar-reply-label = Responder
+toolbar-reply =
+ .title = Responder al mensaje
+toolbar-reply-all-label = Responder a todos
+toolbar-reply-all =
+ .title = Responder al remitente y todos los destinatarios
+toolbar-reply-to-list-label = Responder a la lista
+toolbar-reply-to-list =
+ .title = Responder a lista de correos
+toolbar-redirect-label = Redirigir
+toolbar-redirect =
+ .title = Redirigir mensaje seleccionado
+toolbar-archive-label = Archivar
+toolbar-archive =
+ .title = Archivar mensajes seleccionados
+toolbar-conversation-label = Conversación
+toolbar-conversation =
+ .title = Mostrar conversación del mensaje seleccionado
+toolbar-previous-unread-label = Anterior no leído
+toolbar-previous-unread =
+ .title = Cambiar al mensaje previo no leído
+toolbar-previous-label = Anterior
+toolbar-previous =
+ .title = Cambiar al mensaje previo
+toolbar-next-unread-label = Siguiente no leído
+toolbar-next-unread =
+ .title = Cambiar al siguiente mensaje no leído
+toolbar-next-label = Siguiente
+toolbar-next =
+ .title = Cambiar al siguiente mensaje
+toolbar-junk-label = Basura
+toolbar-junk =
+ .title = Marcar los mensajes seleccionados como basura
+toolbar-delete-label = Eliminar
+toolbar-delete =
+ .title = Eliminar mensajes o carpetas seleccionadas
+toolbar-compact-label = Compactar
+toolbar-compact =
+ .title = Quitar mensajes borrados de la carpeta seleccionada
+toolbar-add-as-event-label = Agregar como evento
+toolbar-add-as-event =
+ .title = Extraer información de calendario del mensaje y agregar a tu calendario como evento
+toolbar-add-as-task-label = Agregar como tarea
+toolbar-add-as-task =
+ .title = Extraer información de calendario del mensaje y agregar a tu calendario como tarea
+toolbar-tag-message-label = Etiqueta
+toolbar-tag-message =
+ .title = Etiquetas de mensajes
+toolbar-forward-inline-label = Reenviar
+toolbar-forward-inline =
+ .title = Reenviar mensaje seleccionado como texto en línea
+toolbar-forward-attachment-label = Reenviar como adjunto
+toolbar-forward-attachment =
+ .title = Reenviar mensaje seleccionado como adjunto
+toolbar-mark-as-label = Marcar
+toolbar-mark-as =
+ .title = Marcar mensajes
+toolbar-view-picker-label = Ver
+toolbar-view-picker =
+ .title = Personalizar vista de la carpeta actual
+toolbar-address-book-label = Libreta de direcciones
+toolbar-address-book =
+ .title = Ir a la libreta de direcciones
+toolbar-chat-label = Chat
+toolbar-chat =
+ .title = Mostrar la pestaña de Chat
+toolbar-add-ons-and-themes-label = Complementos y temas
+toolbar-add-ons-and-themes =
+ .title = Administra tus complementos
+toolbar-calendar-label = Calendario
+toolbar-calendar =
+ .title = Cambiar a la pestaña calendario
+toolbar-tasks-label = Tareas
+toolbar-tasks =
+ .title = Cambiar a la pestaña tareas
+toolbar-mail-label = Correo
+toolbar-mail =
+ .title = Cambiar a la pestaña de correo electronico
+toolbar-print-label = Imprimir
+toolbar-print =
+ .title = Imprimir este mensaje
+toolbar-quick-filter-bar-label = Filtro rápido
+toolbar-quick-filter-bar =
+ .title = Filtrar mensajes
+toolbar-synchronize-label = Sincronizar
+toolbar-synchronize =
+ .title = Recargar calendario y sincronizar cambios
+toolbar-delete-event-label = Eliminar
+toolbar-delete-event =
+ .title = Eliminar eventos o tareas seleccionados
+toolbar-go-to-today-label = Ir al día de hoy
+toolbar-go-to-today =
+ .title = Ir al día de hoy
+toolbar-print-event-label = Imprimir
+toolbar-print-event =
+ .title = Imprimir eventos o tareas
+toolbar-new-event-label = Evento
+toolbar-new-event =
+ .title = Crear un nuevo evento
+toolbar-new-task-label = Tarea
+toolbar-new-task =
+ .title = Crear una nueva tarea
+toolbar-go-back-label = Atrás
+toolbar-go-back =
+ .title = Anterior
+toolbar-go-forward-label = Avanzar
+toolbar-go-forward =
+ .title = Siguiente
+toolbar-stop-label = Detener
+toolbar-stop =
+ .title = Detener la transferencia actual
+toolbar-throbber-label = Indicador de actividad
+toolbar-throbber =
+ .title = Indicador de actividad
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/messenger/viewSource.ftl b/thunderbird-l10n/es-MX/localization/es-MX/messenger/viewSource.ftl
new file mode 100644
index 0000000000..92e9143e2b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Buscar
+ .accesskey = B
+
+context-text-action-find-again =
+ .label = Buscar de nuevo
+ .accesskey = g
+
+text-action-find =
+ .label = Buscar
+ .accesskey = F
+
+text-action-find-again =
+ .label = Buscar de nuevo
+ .accesskey = g
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/security/certificates/certManager.ftl b/thunderbird-l10n/es-MX/localization/es-MX/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..17d34ab309
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/security/certificates/certManager.ftl
@@ -0,0 +1,225 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Administrador de certificados
+
+certmgr-tab-mine =
+ .label = Tus certificados
+
+certmgr-tab-remembered =
+ .label = Decisiones de autenticación
+
+certmgr-tab-people =
+ .label = Personas
+
+certmgr-tab-servers =
+ .label = Servidores
+
+certmgr-tab-ca =
+ .label = Autoridades
+
+certmgr-mine = Tienes certificados de estas organizaciones que te identifican
+certmgr-remembered = Estos certificados se utilizan para identificarlo en los sitios web
+certmgr-people = Tienes certificados en el archivo que identifican a estas personas
+certmgr-server = Estas entradas identifican las excepciones de error del certificado del servidor
+certmgr-ca = Tienes certificados en el archivo que identifican a las siguientes autoridades de certificación
+
+certmgr-edit-ca-cert2 =
+ .title = Editar configuración de confianza de la CA
+ .style = min-width: 48em;
+
+certmgr-edit-cert-edit-trust = Editar configuraciones de confianza:
+
+certmgr-edit-cert-trust-ssl =
+ .label = Este certificado puede identificar sitios web.
+
+certmgr-edit-cert-trust-email =
+ .label = Este certificado puede identificar a los usuarios de correo.
+
+certmgr-delete-cert2 =
+ .title = Eliminar certificado
+ .style = min-width: 48em; min-height: 24em;
+
+certmgr-cert-host =
+ .label = Servidor
+
+certmgr-cert-name =
+ .label = Nombre del certificado
+
+certmgr-cert-server =
+ .label = Servidor
+
+certmgr-token-name =
+ .label = Dispositivo de seguridad
+
+certmgr-begins-label =
+ .label = Comienza el
+
+certmgr-expires-label =
+ .label = Expira el
+
+certmgr-email =
+ .label = Dirección de correo electr.
+
+certmgr-serial =
+ .label = Número de serie
+
+certmgr-view =
+ .label = Ver…
+ .accesskey = V
+
+certmgr-edit =
+ .label = Edición confiable...
+ .accesskey = E
+
+certmgr-export =
+ .label = Exportar…
+ .accesskey = x
+
+certmgr-delete =
+ .label = Eliminar…
+ .accesskey = r
+
+certmgr-delete-builtin =
+ .label = Eliminar o desconfiable...
+ .accesskey = d
+
+certmgr-backup =
+ .label = Hacer copia…
+ .accesskey = H
+
+certmgr-backup-all =
+ .label = Hacer copia de todo…
+ .accesskey = t
+
+certmgr-restore =
+ .label = Importar…
+ .accesskey = m
+
+certmgr-add-exception =
+ .label = Añadir excepción…
+ .accesskey = x
+
+exception-mgr =
+ .title = Añadir excepción de seguridad
+
+exception-mgr-extra-button =
+ .label = Confirmar Excepción de Seguridad
+ .accesskey = C
+
+exception-mgr-supplemental-warning = Los bancos, tiendas y otros sitios públicos legítimos no le pedirán hacer esto.
+
+exception-mgr-cert-location-url =
+ .value = Dirección:
+
+exception-mgr-cert-location-download =
+ .label = Obtener certificado
+ .accesskey = O
+
+exception-mgr-cert-status-view-cert =
+ .label = Ver…
+ .accesskey = V
+
+exception-mgr-permanent =
+ .label = Guardar esta excepción de manera permanente
+ .accesskey = p
+
+pk11-bad-password = La contraseña introducida era incorrecta.
+pkcs12-decode-err = Fallo al decodificar el archivo. O no está en formato PKCS #12, o está corrupto, o la contraseña suministrada es incorrecta.
+pkcs12-unknown-err-restore = Fallo en la recuperación del archivo PKCS #12 por motivos desconocidos.
+pkcs12-unknown-err-backup = Se produjo un fallo por motivos desconocidos al guardar la copia de seguridad del archivo PKCS #12.
+pkcs12-unknown-err = La operación PKCS #12 falló por razones desconocidas.
+pkcs12-info-no-smartcard-backup = No es posible hacer copias de seguridad de certificados procedentes de dispositivos de seguridad hardware tales como tarjetas inteligentes.
+pkcs12-dup-data = El certificado y la clave privada ya existen en el dispositivo de seguridad.
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = Nombre del archivo a salvaguardar
+file-browse-pkcs12-spec = Archivos PKCS12
+choose-p12-restore-file-dialog = El archivo de certificados de importación
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = Archivos de certificados
+import-ca-certs-prompt = Selecciona el archivo que contiene el/los certificado(s) CA a importar
+import-email-cert-prompt = Selecciona el archivo que contiene el certificado de correo electrónico de otra persona a importar
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = El certificado "{ $certName }" representa a una autoridad certificadora.
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = Eliminar mis certificados
+delete-user-cert-confirm = ¿Realmente quieres eliminar estos certificados?
+delete-user-cert-impact = Si eliminas uno de tus propios certificados, no podrás utilizarlo para identificarte a ti mismo.
+
+
+delete-ssl-override-title =
+ .title = Eliminar la excepción del certificado del servidor
+delete-ssl-override-confirm = ¿Seguro que quieres eliminar esta excepción de servidor?
+delete-ssl-override-impact = Si eliminas una excepción de servidor, restaurará los controles de seguridad habituales para ese servidor y se requerirá que use un certificado válido.
+
+delete-ca-cert-title =
+ .title = Eliminar o desconfiar de los certificados de CA
+delete-ca-cert-confirm = Has solicitado eliminar estos certificados de CA. En el caso de los incluidos de serie, en lugar de borrarlos se les retira la confianza, lo que tiene el mismo efecto. ¿Estás seguro de que quieres hacer esto?
+delete-ca-cert-impact = Si elimina los certificados de confianza (CA) esta aplicación ya no confía en los certificados emitidos por dicha CA.
+
+
+delete-email-cert-title =
+ .title = Eliminar certificados de correo electrónico
+delete-email-cert-confirm = ¿Realmente quieres eliminar los certificados de correo-e de estas personas?
+delete-email-cert-impact = Si borra el certificado de correo electrónico de una persona, ya no podrá enviar mensajes cifrados a esa persona.
+
+# 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 = Certificado con el número de serie: { $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 = No se envió certificado de cliente
+
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (No guardado)
+
+# When a certificate is unavailable (for example, it has been deleted or the token it exists on has been removed).
+certificate-not-available = (No disponible)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = Permanente
+temporary-override = Temporal
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = Está a punto de alterar cómo identifica { -brand-short-name } este sitio.
+add-exception-invalid-header = Este sitio intenta identificarse a sí mismo con información no válida.
+add-exception-domain-mismatch-short = Sitio erróneo
+add-exception-domain-mismatch-long = El certificado pertenece a un sitio distinto y lo cual significa que alguien intente suplantar este sitio.
+add-exception-expired-short = Información obsoleta
+add-exception-expired-long = El certificado actual no es válido. Puede que se lo robara o se lo perdiera y alguien más lo esté usando para suplantar este sitio.
+add-exception-unverified-or-bad-signature-short = Identidad desconocida
+add-exception-unverified-or-bad-signature-long = No se confía en el certificado porque no ha sido verificado por una autoridad reconocida usando una firma segura.
+add-exception-valid-short = Certificado válido
+add-exception-valid-long = Este sitio proporciona identificación válida y verificada. No hay necesidad de añadir una excepción.
+add-exception-checking-short = Comprobando información
+add-exception-checking-long = Intentando identificar el sitio…
+add-exception-no-cert-short = No hay información disponible
+add-exception-no-cert-long = No es posible obtener el estado de identificación para este sitio.
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = Guardar certificado en archivo
+cert-format-base64 = Certificado X.509 (PEM)
+cert-format-base64-chain = Certificado X.509 con cadena (PEM)
+cert-format-der = Certificado X.509 (DER)
+cert-format-pkcs7 = Certificado X.509 (PKCS#7)
+cert-format-pkcs7-chain = Certificado X.509 con cadena (PKCX#7)
+write-file-failure = Error de archivo
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/security/certificates/deviceManager.ftl b/thunderbird-l10n/es-MX/localization/es-MX/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..32d8422523
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Administrador de dispositivos
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = Módulos de seguridad y dispositivos
+
+devmgr-header-details =
+ .label = Detalles
+
+devmgr-header-value =
+ .label = Valor
+
+devmgr-button-login =
+ .label = Iniciar sesión
+ .accesskey = n
+
+devmgr-button-logout =
+ .label = Terminar sesión
+ .accesskey = T
+
+devmgr-button-changepw =
+ .label = Cambiar contraseña
+ .accesskey = C
+
+devmgr-button-load =
+ .label = Cargar
+ .accesskey = C
+
+devmgr-button-unload =
+ .label = Descargar
+ .accesskey = D
+
+devmgr-button-enable-fips =
+ .label = Habilitar FIPS
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = Deshabilitar FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = Cargar el driver de dispositivo PKCS#11
+
+load-device-info = Introduce la información para el módulo que quieres añadir.
+
+load-device-modname =
+ .value = Nombre del módulo
+ .accesskey = M
+
+load-device-modname-default =
+ .value = Nuevo módulo PKCS#11
+
+load-device-filename =
+ .value = Nombre del archivo del módulo
+ .accesskey = f
+
+load-device-browse =
+ .label = Examinar…
+ .accesskey = x
+
+## Token Manager
+
+devinfo-status =
+ .label = Estado
+
+devinfo-status-disabled =
+ .label = Deshabilitado
+
+devinfo-status-not-present =
+ .label = No presente
+
+devinfo-status-uninitialized =
+ .label = Sin inicializar
+
+devinfo-status-not-logged-in =
+ .label = No ha iniciado la sesión
+
+devinfo-status-logged-in =
+ .label = Sesión iniciada
+
+devinfo-status-ready =
+ .label = Listo
+
+devinfo-desc =
+ .label = Descripción
+
+devinfo-man-id =
+ .label = Fabricante
+
+devinfo-hwversion =
+ .label = Versión HW
+devinfo-fwversion =
+ .label = Versión FW
+
+devinfo-modname =
+ .label = Módulo
+
+devinfo-modpath =
+ .label = Ruta
+
+login-failed = Falló el inicio de sesión
+
+devinfo-label =
+ .label = Etiqueta
+
+devinfo-serialnum =
+ .label = Número de serie
+
+fips-nonempty-primary-password-required = El modo FIPS requiere que tengas una contraseña principal establecida para cada dispositivo de seguridad. Establece la contraseña antes de tratar de activar el modo FIPS.
+unable-to-toggle-fips = No se puede cambiar el modo FIPS para el dispositivo de seguridad.Te recomiend salir y reiniciar la aplicación.
+load-pk11-module-file-picker-title = Escoger un dispositivo driver PKCS#11 para cargar
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = El nombre del módulo no se puede quedar vacío.
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = "Root Certs" está reservado y no puede ser usado como nombre del módulo.
+
+add-module-failure = No es posible añadir el módulo
+del-module-warning = ¿Realmente quieres eliminar este módulo de seguridad?
+del-module-error = No es posible eliminar el módulo
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/security/pippki/pippki.ftl b/thunderbird-l10n/es-MX/localization/es-MX/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..9b3dc901f0
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/security/pippki/pippki.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/.
+
+password-quality-meter = Medidor de calidad de la contraseña
+
+## Change Password dialog
+
+change-device-password-window =
+ .title = Cambiar contraseña
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = Dispositivo de seguridad: { $tokenName }
+change-password-old = Contraseña actual:
+change-password-new = Nueva contraseña:
+change-password-reenter = Nueva contraseña (confirmar):
+pippki-failed-pw-change = No fue posible cambiar la contraseña
+pippki-incorrect-pw = No ingresaste correctamente la contraseña principal. Por favor, vuelve a intentarlo.
+pippki-pw-change-ok = Contraseña cambiada correctamente.
+pippki-pw-empty-warning = Tus contraseñas almacenadas y claves privadas no estarán protegidas.
+pippki-pw-erased-ok = Has eliminado tu contraseña. { pippki-pw-empty-warning }
+pippki-pw-not-wanted = ¡Advertencia! Has decidido no usar una contraseña. { pippki-pw-empty-warning }
+pippki-pw-change2empty-in-fips-mode = Actualmente estás en modo FIPS. FIPS requiere de una contraseña que no esté en blanco.
+
+## Reset Primary Password dialog
+
+reset-primary-password-window2 =
+ .title = Restablecer contraseña primaria
+ .style = min-width: 40em
+reset-password-button-label =
+ .label = Restablecer
+reset-primary-password-text = Si restableces tu contraseña primaria, se olvidarán todas las contraseñas de webs, correo electrónico, certificados personales y llaves privadas almacenadas. ¿Estás seguro de que quieres restablecer tu contraseña primaria?
+pippki-reset-password-confirmation-title = Restablecer la contraseña primaria
+pippki-reset-password-confirmation-message = Tu contraseña primaria ha sido restablecida.
+
+## Downloading cert dialog
+
+download-cert-window2 =
+ .title = Descargando certificado
+ .style = min-width: 46em
+download-cert-message = Se le ha pedido que confíe en una nueva Autoridad Certificadora (CA).
+download-cert-trust-ssl =
+ .label = Confiar en esta CA para identificar sitios web.
+download-cert-trust-email =
+ .label = Confiar en esta CA para identificar usuarios de correo.
+download-cert-message-desc = Antes de confiar en esta CA para cualquier propósito, debe examinar el certificado, política y procedimientos de la CA (si están disponibles).
+download-cert-view-cert =
+ .label = Ver
+download-cert-view-text = Examinar certificado de CA
+
+## Client Authorization Ask dialog
+
+
+## Client Authentication Ask dialog
+
+client-auth-window =
+ .title = Petición de identificación de usuario
+client-auth-site-description = El siguiente sitio ha pedido que te identifiques con un certificado:
+client-auth-choose-cert = Elige un certificado para presentarlo como identificación:
+client-auth-cert-details = Detalles del certificado seleccionado:
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = Emitido para: { $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = Número de serie: { $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 = Válido desde { $notBefore } a { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = Usos de clave: { $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = Direcciones de correo: { $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = Emitido por: { $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 = Almacenado en: { $storedOn }
+client-auth-cert-remember-box =
+ .label = Recordar esta decisión
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = Elegir una contraseña de respaldo para el certificado
+set-password-message = La contraseña del certificado de respaldo que ponga aquí protegerá el archivo de respaldo que está a punto de crear. Debe poner esta contraseña para proceder con la copia de respaldo.
+set-password-backup-pw =
+ .value = Contraseña de respaldo del certificado:
+set-password-repeat-backup-pw =
+ .value = Contraseña de respaldo del certificado (confirmar):
+set-password-reminder = Importante: Si olvidas la contraseña de respaldo de tu certificado no podrás restaurarlo más tarde. Guárdala en un lugar seguro.
+
+## Protected authentication alert
+
+# Variables:
+# $tokenName (String) - The name of the token to authenticate to (for example, "OS Client Cert Token (Modern)")
+protected-auth-alert = Autentifícate con el token "{ $tokenName }". Cómo hacerlo depende del token (por ejemplo, usando un lector de huellas dactilares o ingresando un código con un teclado).
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/services/accounts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/services/accounts.ftl
new file mode 100644
index 0000000000..7c3e15ef93
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 } en { $system }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAbout.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..128b4c8e67
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAbout.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-about-title = Sobre Acerca de
+about-about-note = Esta es una lista de páginas “about” para tu comodidad.<br/> Algunas de ellas podrían resultar confusas. Otras son sólo para propósitos de diagnóstico.<br/> Y algunas se omiten porque requieren parámetros de consulta.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..a6f8af7a74
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,470 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Administrador de complementos
+search-header =
+ .placeholder = Buscar en addons.mozilla.org
+ .searchbuttonlabel = Buscar
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+list-empty-get-extensions-message = Obtener extensiones y temas en <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-dictionaries-message = Obtén diccionarios en <a data-l10n-name="get-extensions">{ $domain }</a>
+list-empty-get-language-packs-message = Obtén paquetes de idioma en <a data-l10n-name="get-extensions">{ $domain }</a>
+
+##
+
+list-empty-installed =
+ .value = No tienes complementos de este tipo instalados
+list-empty-available-updates =
+ .value = No se encontraron actualizaciones
+list-empty-recent-updates =
+ .value = No has actualizado recientemente ningún complemento
+list-empty-find-updates =
+ .label = Buscar actualizaciones
+list-empty-button =
+ .label = Aprender más sobre los complementos
+help-button = Soporte para complementos
+sidebar-help-button-title =
+ .title = Soporte para complementos
+addons-settings-button = Configuración de { -brand-short-name }
+sidebar-settings-button-title =
+ .title = Configuración de { -brand-short-name }
+show-unsigned-extensions-button =
+ .label = Algunas extensiones no pueden ser verificadas
+show-all-extensions-button =
+ .label = Mostrar todas las extensiones
+detail-version =
+ .label = Versión
+detail-last-updated =
+ .label = Última actualización
+addon-detail-description-expand = Mostrar más
+addon-detail-description-collapse = Mostrar menos
+detail-contributions-description = El desarrollador de este complemento te pide que le ayudes en su desarrollo, haciendo una pequeña contribución.
+detail-contributions-button = Contribuir
+ .title = Contribuir al desarrollo de este complemento
+ .accesskey = C
+detail-update-type =
+ .value = Actualizaciones automáticas
+detail-update-default =
+ .label = Predeterminado
+ .tooltiptext = Instalar automáticamente las actualizaciones sólo si predeterminado
+detail-update-automatic =
+ .label = Activar
+ .tooltiptext = Instalar automáticamente las actualizaciones
+detail-update-manual =
+ .label = Desactivar
+ .tooltiptext = No instalar actualizaciones automáticamente
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = Ejecutar en ventanas privadas
+# 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 = No permitido en ventanas privadas
+detail-private-disallowed-description2 = Esta extensión no se ejecuta mientras estés en navegación privada. <a data-l10n-name="learn-more">Saber más</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = Requiere acceso a ventanas privadas
+detail-private-required-description2 = Esta extensión tiene acceso a tu actividad en línea mientras navegas de forma privada. <a data-l10n-name="learn-more">Saber más</a>
+detail-private-browsing-on =
+ .label = Permitir
+ .tooltiptext = Activar en navegación privada
+detail-private-browsing-off =
+ .label = No permitir
+ .tooltiptext = Deshabilitar en navegación privada
+detail-home =
+ .label = Página de inicio
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = Perfil de complemento
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = Buscar actualizaciones
+ .accesskey = B
+ .tooltiptext = Buscar actualizaciones para este complemento
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] Opciones
+ *[other] Preferencias
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] O
+ *[other] P
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] Cambiar las opciones de este complemento
+ *[other] Cambiar las preferencias de este complemento
+ }
+detail-rating =
+ .value = Clasificación
+addon-restart-now =
+ .label = Reiniciar ahora
+disabled-unsigned-heading =
+ .value = Algunos complementos han sido deshabilitados
+disabled-unsigned-description = Los siguientes complementos no han sido verificados para su uso en { -brand-short-name }. Puedes <label data-l10n-name="find-addons">encontrar reemplazos</label> o preguntarle al desarrollador que los verifique.
+disabled-unsigned-learn-more = Saber más acerca de nuestros esfuerzos para ayudarte a mantener tu seguridad en línea.
+disabled-unsigned-devinfo = Desarrolladores interesados en verificar sus complementos pueden continuar leyendo nuestro <label data-l10n-name="learn-more">manual</label>.
+plugin-deprecation-description = ¿Te perdiste de algo? Algunos plugins ya no están disponibles en { -brand-short-name }. <label data-l10n-name="learn-more">Saber más.</label>
+legacy-warning-show-legacy = Mostrar las extensiones heredadas
+legacy-extensions =
+ .value = Extensiones heredadas
+legacy-extensions-description = Estas extensiones no cumplen los estándares actuales de { -brand-short-name } por lo que han sido desactivadas. <label data-l10n-name="legacy-learn-more">Aprender más sobre los cambios de los complementos</label>
+private-browsing-description2 =
+ { -brand-short-name } está cambiando la forma en que funcionan las extensiones en la navegación privada. Cualquier nueva extensión que agregues a
+ { -brand-short-name } no se ejecutará de forma predeterminada en las ventanas privadas. A menos que lo permitas en los Ajustes, la
+ la extensión no funcionará durante la navegación privada, y no tendrá acceso a tus actividades en línea
+ ahí. Hemos realizado este cambio para mantener privada tu navegación privada.
+ <label data-l10n-name = "private-browsing-learn-more">Descubre cómo administrar la configuración de las extensiones.</label>
+addon-category-discover = Recomendaciones
+addon-category-discover-title =
+ .title = Recomendaciones
+addon-category-extension = Extensiones
+addon-category-extension-title =
+ .title = Extensiones
+addon-category-theme = Temas
+addon-category-theme-title =
+ .title = Temas
+addon-category-plugin = Plugins
+addon-category-plugin-title =
+ .title = Plugins
+addon-category-dictionary = Diccionarios
+addon-category-dictionary-title =
+ .title = Diccionarios
+addon-category-locale = Idiomas
+addon-category-locale-title =
+ .title = Idiomas
+addon-category-available-updates = Actualizaciones disponibles
+addon-category-available-updates-title =
+ .title = Actualizaciones disponibles
+addon-category-recent-updates = Actualizaciones recientes
+addon-category-recent-updates-title =
+ .title = Actualizaciones recientes
+addon-category-sitepermission = Permisos del sitio
+addon-category-sitepermission-title =
+ .title = Permisos del sitio
+# 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 = Permisos del sitio para { $host }
+
+## These are global warnings
+
+extensions-warning-safe-mode = Todos los complementos han sido deshabilitados en modo seguro.
+extensions-warning-check-compatibility = Chequeo de compatibilidad para complementos esta deshabilitada. Tu puedes tener complementos incompatibles.
+extensions-warning-safe-mode2 =
+ .message = Todos los complementos han sido deshabilitados en modo seguro.
+extensions-warning-check-compatibility2 =
+ .message = Chequeo de compatibilidad para complementos esta deshabilitada. Tu puedes tener complementos incompatibles.
+extensions-warning-check-compatibility-button = Habilitar
+ .title = Habilitar chequeo de compatibilidad para complementos.
+extensions-warning-update-security = El chequeo de seguridad para actualización del complemento esta deshabilitada. Tu navegador puede estar en peligro por las actualizaciones.
+extensions-warning-update-security2 =
+ .message = El chequeo de seguridad para actualización del complemento esta deshabilitada. Tu navegador puede estar en peligro por las actualizaciones.
+extensions-warning-update-security-button = Habilitar
+ .title = Habilitar chequeo de seguridad para la actualización del complemento
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = Buscar actualizaciones
+ .accesskey = c
+addon-updates-view-updates = Ver actualizaciones recientes
+ .accesskey = V
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = Actualizar los complementos automáticamente
+ .accesskey = A
+
+## Specific add-ons can have custom update checking behaviors ("Manually",
+## "Automatically", "Use default global behavior"). These menu items reset the
+## update checking behavior for all add-ons to the default global behavior
+## (which itself is either "Automatically" or "Manually", controlled by the
+## extensions-updates-update-addons-automatically.label menu item).
+
+addon-updates-reset-updates-to-automatic = Restablecer todos los complementos para actualizar automáticamente
+ .accesskey = R
+addon-updates-reset-updates-to-manual = Restablecer todos los complementos para actualizar manualmente
+ .accesskey = R
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = Actualizando complementos
+addon-updates-installed = Tus complementos han sido actualizados.
+addon-updates-none-found = No se encontraron actualizaciones
+addon-updates-manual-updates-found = Ver actualizaciones disponibles
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = Instalar complemento desde archivo…
+ .accesskey = I
+addon-install-from-file-dialog-title = Seleccionar este complemento para instalar
+addon-install-from-file-filter-name = Complementos
+addon-open-about-debugging = Depurar complementos
+ .accesskey = p
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = Administrar atajos de extensiones
+ .accesskey = s
+shortcuts-no-addons = No tienes complementos habilitados.
+shortcuts-no-commands = Las siguientes extensiones no tienen atajos:
+shortcuts-input =
+ .placeholder = Escribe un atajo
+shortcuts-browserAction2 = Activar botón de la barra de herramientas
+shortcuts-pageAction = Activar acción de página
+shortcuts-sidebarAction = Alternar la barra lateral
+shortcuts-modifier-mac = Incluir Ctrl, Alt o ⌘
+shortcuts-modifier-other = Incluir Ctrl o Alt
+shortcuts-invalid = Combinación inválida
+shortcuts-letter = Escribe una letra
+shortcuts-system = No se puede sobrescribir un acceso directo de { -brand-short-name }.
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = Duplicar acceso directo
+# 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 } se está usando como atajo en más de un caso. Los accesos directos duplicados pueden causar un comportamiento inesperado.
+# 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 } se está usando como atajo en más de un caso. Los accesos directos duplicados pueden causar un comportamiento inesperado.
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = Ya lo está usando { $addon }
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ [one] Mostrar { $numberToShow } más
+ *[other] Mostrar { $numberToShow } más
+ }
+shortcuts-card-collapse-button = Mostrar menos
+header-back-button =
+ .title = Regresar
+
+## 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 =
+ Los complementos y temas son como aplicaciones para el navegador y permiten
+ proteger tus contraseñas, descargar vídeos, encontrar ofertas, bloquear publicidad,
+ cambiar la apariencia del navegador y mucho más. Suelen ser terceros quienes desarrollan
+ estos pequeños programas de software. Estos son algunos <a data-l10n-name="learn-more-trigger">recomendados</a>
+ por { -brand-product-name }, para una seguridad, rendimiento
+ y funcionalidad excepcionales.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations = Algunas de estas recomendaciones son personalizadas. Se basan complementos instaladas, preferencias de tu perfil y estadísticas de uso.
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations2 =
+ .message = Algunas de estas recomendaciones son personalizadas. Se basan complementos instaladas, preferencias de tu perfil y estadísticas de uso.
+discopane-notice-learn-more = Saber más
+privacy-policy = Política de privacidad
+# 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 = por <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 = Usuarios: { $dailyUsers }
+install-extension-button = Agregar a { -brand-product-name }
+install-theme-button = Instalar tema
+# 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 = Administrar
+find-more-addons = Encuentra más complementos
+find-more-themes = Encontrar más temas
+# 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 = Más opciones
+
+## Add-on actions
+
+report-addon-button = Denunciar
+remove-addon-button = Eliminar
+# The link will always be shown after the other text.
+remove-addon-disabled-button = No puede ser eliminado <a data-l10n-name="link">¿Por qué?</a>
+disable-addon-button = Deshabilitar
+enable-addon-button = Habilitar
+# 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 = Habilitar
+preferences-addon-button =
+ { PLATFORM() ->
+ [windows] Opciones
+ *[other] Preferencias
+ }
+details-addon-button = Detalles
+release-notes-addon-button = Informe de novedades
+permissions-addon-button = Permisos
+extension-enabled-heading = Habilitado
+extension-disabled-heading = Deshabilitado
+theme-enabled-heading = Habilitado
+theme-disabled-heading2 = Guardar temas
+plugin-enabled-heading = Habilitado
+plugin-disabled-heading = Deshabilitado
+dictionary-enabled-heading = Habilitado
+dictionary-disabled-heading = Deshabilitado
+locale-enabled-heading = Habilitado
+locale-disabled-heading = Deshabilitado
+sitepermission-enabled-heading = Habilitado
+sitepermission-disabled-heading = Deshabilitado
+always-activate-button = Siempre activar
+never-activate-button = Nunca activar
+addon-detail-author-label = Autor
+addon-detail-version-label = Versión
+addon-detail-last-updated-label = Última actualización
+addon-detail-homepage-label = Página de inicio
+addon-detail-rating-label = Calificación
+# Message for add-ons with a staged pending update.
+install-postponed-message = Esta extensión se actualizará cuando se reinicie { -brand-short-name }.
+# Message for add-ons with a staged pending update.
+install-postponed-message2 =
+ .message = Esta extensión se actualizará cuando se reinicie { -brand-short-name }.
+install-postponed-button = Actualizar ahora
+# 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 = Calificación de { NUMBER($rating, maximumFractionDigits: 1) } sobre 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 } (deshabilitado)
+# 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 } evaluación
+ *[other] { $numberOfReviews } evaluaciones
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = Se ha eliminado <span data-l10n-name="addon-name">{ $addon }</span>.
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description2 =
+ .message = Se ha eliminado { $addon }.
+pending-uninstall-undo-button = Deshacer
+addon-detail-updates-label = Permitir actualizaciones automáticas
+addon-detail-updates-radio-default = Predeterminado
+addon-detail-updates-radio-on = Activado
+addon-detail-updates-radio-off = Desactivado
+addon-detail-update-check-label = Buscar actualizaciones
+install-update-button = Actualizar
+# 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 = Permitido en ventanas privadas
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = Cuando está activada, la extensión tendrá acceso a todo lo que haces mientras navegas de forma privada. <a data-l10n-name="learn-more">Saber más</a>
+addon-detail-private-browsing-allow = Permitir
+addon-detail-private-browsing-disallow = No permitir
+
+## "sites with restrictions" (internally called "quarantined") are special domains
+## where add-ons are normally blocked for security reasons.
+
+
+## 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 } solo recomienda extensiones que cumplan con nuestros estándares de seguridad y rendimiento
+ .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 = Extensión oficial hecha por Mozilla. Cumple con los estándares de seguridad y rendimiento
+ .aria-label = { addon-badge-line3.title }
+addon-badge-verified2 =
+ .title = Esta extensión ha sido revisada para cumplir con nuestros estándares de seguridad y rendimiento.
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = Actualizaciones disponibles
+recent-updates-heading = Actualizaciones recientes
+release-notes-loading = Cargando…
+release-notes-error = Lo sentimos, pero ha sucedido un error al cargar las notas de versión.
+addon-permissions-empty = Esta extensión no requiere ningún permiso
+addon-permissions-required = Permisos necesarios para la funcionalidad principal:
+addon-permissions-optional = Permisos opcionales para funciones adicionales:
+addon-permissions-learnmore = Conocer más sobre permisos
+recommended-extensions-heading = Complementos recomendados
+recommended-themes-heading = Temas recomendados
+addon-sitepermissions-required = Otorga las siguientes capacidades a <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 = ¿Te sientes creativo? <a data-l10n-name="link"> Crea tu propio tema con Firefox Color. </a>
+
+## Page headings
+
+extension-heading = Administra tus complementos
+theme-heading = Administra tus temas
+plugin-heading = Administra tus plugins
+dictionary-heading = Administrar diccionarios
+locale-heading = Administra tus idiomas
+updates-heading = Administra tus actualizaciones
+sitepermission-heading = Administrar permisos de sitios
+discover-heading = Personaliza tu { -brand-short-name }
+shortcuts-heading = Administrar atajos de extensiones
+default-heading-search-label = Encontrar más complementos
+addons-heading-search-input =
+ .placeholder = Buscar en addons.mozilla.org
+addon-page-options-button =
+ .title = Herramientas para todos los complementos
+
+## Detail notifications
+## Variables:
+## $name (string) - Name of the add-on.
+
+# Variables:
+# $version (String): application version.
+details-notification-incompatible = { $name } es incompatible con { -brand-short-name } { $version }.
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = { $name } es incompatible con { -brand-short-name } { $version }.
+details-notification-incompatible-link = Más información
+details-notification-unsigned-and-disabled = { $name } no ha podido ser verificado para su uso en { -brand-short-name } y ha sido deshabilitado.
+details-notification-unsigned-and-disabled2 =
+ .message = { $name } no ha podido ser verificado para su uso en { -brand-short-name } y ha sido deshabilitado.
+details-notification-unsigned-and-disabled-link = Más información
+details-notification-unsigned = { $name } no se ha podido verificar para su uso en { -brand-short-name }. Procede con precaución.
+details-notification-unsigned2 =
+ .message = { $name } no se ha podido verificar para su uso en { -brand-short-name }. Procede con precaución.
+details-notification-unsigned-link = Más información
+details-notification-blocked = { $name } ha sido deshabilitado debido a problemas de seguridad o estabilidad.
+details-notification-blocked2 =
+ .message = { $name } ha sido deshabilitado debido a problemas de seguridad o estabilidad.
+details-notification-blocked-link = Más información
+details-notification-softblocked = { $name } se sabe que causa problemas de seguridad o estabilidad.
+details-notification-softblocked2 =
+ .message = { $name } se sabe que causa problemas de seguridad o estabilidad.
+details-notification-softblocked-link = Más información
+details-notification-gmp-pending = { $name } se instalará en breve.
+details-notification-gmp-pending2 =
+ .message = { $name } se instalará en breve.
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Información sobre la licencia
+plugins-gmp-privacy-info = Información de privacidad
+plugins-openh264-name = Codificador de video OpenH264 proporcionado por Cisco Systems, Inc.
+plugins-openh264-description = Este plugin ha sido instalado automáticamente por Mozilla para compilarse con la especificación WebRTC y para habilitar llamadas WebRTC con dispositivos que requieren el codec de video H.264. Visita http://www.openh264.org/ para ver el codec, la fuente del codec y cómo saber más acerca de la implementación.
+plugins-widevine-name = Módulo de desencriptación de contenido Widevine proveído por Google Inc.
+plugins-widevine-description = Este plugin habilita la reproducción multimedia encriptada, en conformidad con la especificación Encrypted Media Extensions. Multimedia encriptada es usada típicamente por sitios para proteger contra copias de contenido multimedia premium. Visita https://www.w3.org/TR/encrypted-media/ para más información sobre Escrypted Media Extensions.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutCompat.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..3839d10436
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Deshabilitar
+label-enable = Habilitar
+label-interventions = Intervenciones
+label-more-information = Más información: error { $bug }
+label-overrides = Modificar agente de usuario
+text-disabled-in-about-config = Se ha deshabilitado esta función en about:config
+text-no-interventions = No se están utilizando intervenciones
+text-no-overrides = No se están modificando los AU
+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 = Correcciones de SmartBlock
+text-no-smartblock = No se están utilizando correcciones de SmartBlock
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutGlean.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..18d1a401b6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutGlean.ftl
@@ -0,0 +1,103 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### "Glean" and "Glean SDK" should remain in English.
+
+### "FOG", "Glean", and "Glean SDK" should remain in English.
+
+-fog-brand-name = FOG
+-glean-brand-name = Glean
+glean-sdk-brand-name = { -glean-brand-name } SDK
+glean-debug-ping-viewer-brand-name = { -glean-brand-name } Visor de ping de depuración
+
+about-glean-page-title2 = Acerca de { -glean-brand-name }
+about-glean-header = Acerca de { -glean-brand-name }
+about-glean-interface-description =
+ El <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name }</a>
+ es una biblioteca de recopilación de datos usado en proyectos de { -vendor-short-name }.
+ Esta interfaz está diseñada para que los desarrolladores y testers
+ <a data-l10n-name="fog-link">prueben manualmente la instrumentación</a>.
+
+about-glean-upload-enabled = La carga de datos está habilitada.
+about-glean-upload-disabled = La carga de datos está deshabilitada.
+about-glean-upload-enabled-local = La carga de datos está habilitada solo para enviar a un servidor local.
+about-glean-upload-fake-enabled =
+ La carga de datos está deshabilitada,
+ pero le decimos a { glean-sdk-brand-name } que está habilitada
+ para que los datos se sigan registrando localmente.
+ Nota: si estableces una etiqueta de depuración, los pings se cargarán en el
+ <a data-l10n-name="glean-debug-ping-viewer">{ glean-debug-ping-viewer-brand-name }</a> independientemente de la configuración.
+
+# This message is followed by a bulleted list.
+about-glean-prefs-and-defines = Las <a data-l10n-name="fog-prefs-and-defines-doc-link">preferencias y definiciones</a> relevantes incluyen:
+# 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 = Acerca de las pruebas
+# This message is followed by a numbered list.
+about-glean-manual-testing =
+ Las instrucciones completas están documentadas en los
+ <a data-l10n-name="fog-instrumentation-test-doc-link">documentos de pruebas de instrumentación de { -fog-brand-name }</a>
+ y en la <a data-l10n-name="glean-sdk-doc-link">documentación de { glean-sdk-brand-name }</a>,
+ pero, en resumen, para probar manualmente que tu instrumentación funciona, debes:
+
+# This message is an option in a dropdown filled with untranslated names of pings.
+about-glean-no-ping-label = (no enviar ningún ping)
+# An in-line text input field precedes this string.
+about-glean-label-for-tag-pings = En el campo anterior, asegúrate de que haya una etiqueta de depuración reconocible para que puedas identificar tus pings más adelante.
+# An in-line drop down list precedes this string.
+# Do not translate strings between <code> </code> tags.
+about-glean-label-for-ping-names =
+ Seleccionar en la lista anterior el ping en el que se encuentra su instrumentación.
+ Si estás en un <a data-l10n-name="custom-ping-link">ping personalizado</a>, elige ese.
+ De lo contrario, el valor predeterminado para las métricas de tipo <code>event</code> es
+ el ping <code>events</code>
+ y el valor predeterminado para todas las demás métricas es
+ el ping <code>metrics</code>.
+# An in-line check box precedes this string.
+about-glean-label-for-log-pings =
+ (Opcional. Marca la casilla anterior si deseas que los pings también se registren cuando sean enviados.
+ Además, deberás <a data-l10n-name="enable-logging-link">habilitar el registro</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 =
+ Presiona el botón anterior para etiquetar todos los pings de { -glean-brand-name } con tu etiqueta y enviar el ping seleccionado.
+ (Todos los ping enviados desde entonces hasta que reinicies la aplicación se etiquetarán con
+ <code>{ $debug-tag }</code>.)
+about-glean-li-for-visit-gdpv =
+ <a data-l10n-name="gdpv-tagged-pings-link">Visita la página { glean-debug-ping-viewer-brand-name } para hacer ping con tu etiqueta</a>.
+ No debería tomar más de unos segundos desde que presionas el botón hasta que llega tu ping.
+ A veces puede tomar un par de minutos.
+
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation =
+ Para más pruebas <i>ad hoc</i>,
+ también puede determinar el valor actual de una pieza de instrumentación particular
+ abriendo una consola de herramientas de desarrollo aquí en <code>about:glean</code>
+ y usando la API <code>testGetValue()</code> como
+ <code>Glean.metricCategory.metricName.testGetValue()</code>.
+
+
+controls-button-label-verbose = Aplicar configuración y enviar ping
+
+about-glean-about-data-header = Acerca de los datos
+about-glean-about-data-explanation =
+ Para navegar por la lista de datos recopilados, por favor, consulta el
+ <a data-l10n-name="glean-dictionary-link">{ -glean-brand-name } Diccionario</a>.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutHttpsOnlyError.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..eaf6789df3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutHttpsOnlyError.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-httpsonly-title-alert = Alerta de modo solo HTTPS
+about-httpsonly-title-site-not-available = Sitio seguro no disponible
+
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = Has habilitado el modo solo HTTPS para mejorar la seguridad pero no está disponible una versión HTTPS de <em>{ $websiteUrl }</em>.
+about-httpsonly-explanation-question = ¿Qué podría estar causando esto?
+about-httpsonly-explanation-nosupport = Lo más probable es que el sitio web simplemente no sea compatible con HTTPS.
+about-httpsonly-explanation-risk = También es posible que un atacante esté involucrado. Si decides visitar el sitio web, no debes ingresar información confidencial como contraseñas, correos o detalles de tarjetas de crédito.
+about-httpsonly-explanation-continue = Si continúas, el modo solo HTTPS se desactivará temporalmente para este sitio.
+
+about-httpsonly-button-continue-to-site = Continuar al sitio HTTP
+about-httpsonly-button-go-back = Regresar
+about-httpsonly-link-learn-more = Más información…
+
+## 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 = Posible alternativa
+about-httpsonly-suggestion-box-www-text = Hay una versión segura de <em>www.{ $websiteUrl }</em>. Puedes visitar esta página en lugar de <em>{ $websiteUrl }</em>
+about-httpsonly-suggestion-box-www-button = Ir a www.{ $websiteUrl }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutLogging.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..169fe29cae
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutLogging.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/.
+
+
+## The following feature name 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
+
+##
+
+# This is the title of the page
+about-logging-title = Acerca del registro
+about-logging-page-title = Administrador de registros
+about-logging-current-log-file = Archivo de registro actual:
+about-logging-new-log-file = Nuevo archivo de registro:
+about-logging-currently-enabled-log-modules = Módulos de registro habilitados actualmente:
+about-logging-log-tutorial = Vea<a data-l10n-name="logging">Registro HTTP</a> para instrucciones sobre como usar esta herramienta.
+# This message is used as a button label, "Open" indicates an action.
+about-logging-open-log-file-dir = Abrir directorio
+about-logging-set-log-file = Establecer archivo de registro
+about-logging-set-log-modules = Establecer módulos de registro
+about-logging-start-logging = Iniciar registro
+about-logging-stop-logging = Detener registro
+about-logging-buttons-disabled = Registro configurado a través de variables de entorno, configuración dinámica no disponible.
+about-logging-some-elements-disabled = Registro configurado a través de URL, algunas opciones de configuración no están disponibles
+about-logging-info = Información:
+about-logging-log-modules-selection = Selección del módulo de registro
+about-logging-new-log-modules = Nuevos módulos de registro:
+about-logging-logging-output-selection = Salida del registro
+about-logging-logging-to-file = Registrar a un archivo
+about-logging-logging-to-profiler = Registrar en el { -profiler-brand-name }
+about-logging-no-log-modules = Ninguno
+about-logging-no-log-file = Ninguno
+about-logging-logging-preset-selector-text = Registro preestablecido:
+
+## Logging presets
+
+about-logging-preset-networking-label = Red
+about-logging-preset-networking-description = Módulos de registro para diagnosticar problemas de red
+about-logging-preset-media-playback-label = Reproducción multimedia
+about-logging-preset-media-playback-description = Módulos de registro para diagnosticar problemas de reproducción de medios (no problemas de videoconferencia)
+about-logging-preset-custom-label = Personalizado
+about-logging-preset-custom-description = Módulos de registro seleccionados manualmente
+
+# Error handling
+about-logging-error = Error:
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
+about-logging-invalid-output = Valor inválido "{ $v }" para la clave "{ $k }"
+about-logging-unknown-logging-preset = Valor preestablecido de registro desconocido "{ $v }"
+about-logging-unknown-profiler-preset = Valor preestablecido de perfilador desconocido "{ $v }"
+about-logging-unknown-option = Opción de about:loggin desconocida “{ $k }“
+about-logging-configuration-url-ignored = URL de configuración ignorada
+about-logging-file-and-profiler-override = No se puede forzar la salida a un archivo y anular las opciones del perfilador al mismo tiempo
+
+about-logging-configured-via-url = Opción configurada vía URL
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutMozilla.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..0002113ce8
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-mozilla-title-6-27 = El libro de Mozilla, 6:27
+about-mozilla-quote-6-27 =
+ La Bestia continuó sus estudios con un renovado <em>Enfoque</em>, construyendo excelentes trabajos de
+ <em>Referencia</em> y contemplando nuevas <em>Realidades</em>. La Bestia guió a sus seguidores y
+ acólitos para crear una forma renovada más pequeña de sí mismo y, a través de medios <em>traviesos</em>,
+ la envió a todo el mundo.
+about-mozilla-from-6-27 = tomado de <strong>El libro de Mozilla,</strong> 6:27
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutNetworking.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..724b2bba4f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Acerca del tráfico de red
+about-networking-http = HTTP
+about-networking-sockets = Sockets
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = Limpiar caché de DNS
+about-networking-dns-trr-url = URL de DoH
+about-networking-dns-trr-mode = Modo DoH
+about-networking-dns-suffix = Sufijo DNS
+about-networking-websockets = WebSockets
+about-networking-refresh = Refrescar
+about-networking-auto-refresh = Refrescar automáticamente cada 3 segundos
+about-networking-hostname = Nombre del servidor
+about-networking-port = Puerto
+about-networking-http-version = Versión HTTP
+about-networking-ssl = SSL
+about-networking-active = Activo
+about-networking-idle = Inactivo
+about-networking-host = Servidor
+about-networking-type = Tipo
+about-networking-sent = Enviar
+about-networking-received = Recibido
+about-networking-family = Familia
+about-networking-trr = TRR
+about-networking-addresses = Dirección
+about-networking-expires = Expira (Segundos)
+about-networking-originAttributesSuffix = Clave de aislamiento
+about-networking-flags = Banderas extra
+about-networking-messages-sent = Mensajes enviados
+about-networking-messages-received = Mensajes recibidos
+about-networking-bytes-sent = Bytes enviados
+about-networking-bytes-received = Bytes recibidos
+about-networking-logging = Registro
+about-networking-dns-lookup = Búsqueda de DNS
+about-networking-dns-lookup-button = Resolver
+about-networking-dns-domain = Dominio:
+about-networking-dns-lookup-table-column = IPs
+about-networking-dns-https-rr-lookup-table-column = HTTP RRs
+about-networking-rcwn = Estadísticas RCWN
+about-networking-rcwn-status = Estatus RCWN
+about-networking-rcwn-cache-won-count = Cuenta de caché ganado
+about-networking-rcwn-net-won-count = Cuenta de red ganada
+about-networking-total-network-requests = Cuenta total de peticiones de red
+about-networking-rcwn-operation = Operación caché
+about-networking-rcwn-perf-open = Abrir
+about-networking-rcwn-perf-read = Leer
+about-networking-rcwn-perf-write = Escribir
+about-networking-rcwn-perf-entry-open = Entrada abierta
+about-networking-rcwn-avg-short = Promedio corto
+about-networking-rcwn-avg-long = Promedio largo
+about-networking-rcwn-std-dev-long = Desviación estándar larga
+about-networking-rcwn-cache-slow = Cuenta lenta de caché
+about-networking-rcwn-cache-not-slow = Cuenta de caché no lenta
+about-networking-networkid = ID de red
+about-networking-networkid-id = ID de red
+# Note: do not translate about:logging, as it is a URL.
+about-networking-moved-about-logging = Esta página se ha movido a <a data-l10n-name="about-logging-url">about:logging</a>.
+
+## Link is intended as "network link"
+
+about-networking-networkid-is-up = La conexión está activa
+about-networking-networkid-status-known = Se conoce el estado del enlace
+
+##
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutPerformance.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..498cba4e0b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutPerformance.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/.
+
+# Page title
+about-performance-title = Administrador de tareas
+
+## Column headers
+
+column-name = Nombre
+column-type = Tipo
+column-energy-impact = Impacto de energía
+column-memory = Memoria
+
+## Special values for the Name column
+
+ghost-windows = Pestañas recientemente cerradas
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = Precargado: { $title }
+
+## Values for the Type column
+
+type-tab = Pestaña
+type-subframe = Submarco
+type-tracker = Rastreador
+type-addon = Complemento
+type-browser = Navegador
+type-worker = Worker
+type-other = Otro
+
+## 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 = Alto ({ $value })
+energy-impact-medium = Medio ({ $value })
+energy-impact-low = Bajo ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } KB
+size-MB = { $value } MB
+size-GB = { $value } GB
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = Cerrar pestaña
+show-addon =
+ .title = Mostrar en administrador de complementos
+
+# 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 = Despachos desde la carga: { $totalDispatches } ({ $totalDuration }ms) Despachos en los últimos segundos: { $dispatchesSincePrevious } ({ $durationSincePrevious }ms)
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutPlugins.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..c2c6140fc7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Acerca de los Plugins
+installed-plugins-label = Plugins instalados
+no-plugins-are-installed-label = No hay plugins instalados
+deprecation-description = ¿Te falta algo? Algunos complementos ya no son soportados. <a data-l10n-name="deprecation-link">Aprender más.</a>
+deprecation-description2 =
+ .message = ¿Te falta algo? Algunos complementos ya no son soportados.
+
+## 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">Archivo:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">Ruta:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">Versión:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">State:</span> Activar
+state-dd-enabled-block-list-state = <span data-l10n-name="state">State:</span> Activar ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">State:</span> Deshabilitado
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">State:</span> Deshabilitado ({ $blockListState })
+mime-type-label = Tipo MIME
+description-label = Descripción
+suffixes-label = Sufijos
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = Información sobre la licencia
+plugins-gmp-privacy-info = Información de privacidad
+plugins-openh264-name = Codificador de video OpenH264 proporcionado por Cisco Systems, Inc.
+plugins-openh264-description = Este plugin ha sido instalado automáticamente por Mozilla para compilarse con la especificación WebRTC y para habilitar llamadas WebRTC con dispositivos que requieren el codec de video H.264. Visita http://www.openh264.org/ para ver el codec, la fuente del codec y cómo saber más acerca de la implementación.
+plugins-widevine-name = Módulo de desencriptación de contenido Widevine proveído por Google Inc.
+plugins-widevine-description = Este plugin habilita la reproducción multimedia encriptada, en conformidad con la especificación Encrypted Media Extensions. Multimedia encriptada es usada típicamente por sitios para proteger contra copias de contenido multimedia premium. Visita https://www.w3.org/TR/encrypted-media/ para más información sobre Escrypted Media Extensions.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutProcesses.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..98cbf38eaf
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,200 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-processes-title = Administrador de procesos
+
+# The Actions column
+about-processes-column-action =
+ .title = Acciones
+
+## Tooltips
+
+about-processes-shutdown-process =
+ .title = Descargar pestañas y matar el proceso
+about-processes-shutdown-tab =
+ .title = Cerrar pestaña
+
+# 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] Perfil de todos los hilos de este proceso durante { $duration } segundo
+ *[other] Perfil de todos los hilos de este proceso durante { $duration } segundos
+ }
+
+## Column headers
+
+about-processes-column-name = Nombre
+about-processes-column-memory-resident = Memoria
+about-processes-column-cpu-total = CPU
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+
+about-processes-browser-process = { -brand-short-name } ({ $pid })
+about-processes-web-process = Proceso Web Compartido ({ $pid })
+about-processes-file-process = Archivos ({ $pid })
+about-processes-extension-process = Extensiones ({ $pid })
+about-processes-privilegedabout-process = Páginas "about:" ({ $pid })
+about-processes-plugin-process = Complementos ({ $pid })
+about-processes-privilegedmozilla-process = Sitios { -vendor-short-name } ({ $pid })
+about-processes-gmp-plugin-process = Complementos de medios Gecko ({ $pid })
+about-processes-gpu-process = GPU ({ $pid })
+about-processes-vr-process = VR ({ $pid })
+about-processes-rdd-process = Decodificador de datos ({ $pid })
+about-processes-socket-process = Red ({ $pid })
+about-processes-remote-sandbox-broker-process = Agente de Espacio Aislado Remoto ({ $pid })
+about-processes-fork-server-process = Servidor de bifurcación ({ $pid })
+about-processes-preallocated-process = Preasignado ({ $pid })
+about-processes-utility-process = Utilidad ({ $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 = Otro: { $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 }, origen cruzado aislado)
+about-processes-web-isolated-process-private = { $origin } — Privado ({ $pid })
+about-processes-with-coop-coep-process-private = { $origin } — Privado ({ $pid }, origen cruzado aislado)
+
+## 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 } hilo activo de { $number }: { $list }
+ *[other] { $active } hilos activos de { $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 } hilo inactivo
+ *[other] { $number } hilos inactivos
+ }
+
+# 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 = Id del hilo: { $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 = Pestaña: { $name }
+about-processes-preloaded-tab = Pestaña nueva precargada
+
+# Single subframe
+# Variables:
+# $url (String) The full url of this subframe.
+about-processes-frame-name-one = Submarco: { $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 = Submarcos ({ $number }): { $shortUrl }
+
+## Utility process actor names
+
+about-processes-utility-actor-unknown = Actor desconocido
+about-processes-utility-actor-audio-decoder-generic = Decodificador de audio genérico
+about-processes-utility-actor-audio-decoder-applemedia = Decodificador Apple Media Audio
+about-processes-utility-actor-audio-decoder-wmf = Decodificador Windows Media Framework
+about-processes-utility-actor-mf-media-engine = Windows Media Foundation Media Engine CDM
+# "Oracle" refers to an internal Firefox process and should be kept in English
+about-processes-utility-actor-js-oracle = JavaScript Oracle
+about-processes-utility-actor-windows-utils = Utilidades 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 = Tiempo total de CPU: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+
+# Special case: data is not available yet.
+about-processes-cpu-user-and-kernel-not-ready = (medición)
+
+# 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 = Tiempo total de CPU: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+
+# Special case: process or thread is currently idle.
+about-processes-cpu-fully-idle = inactivo
+ .title = Tiempo 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 = Evolución: { $deltaSign }{ NUMBER($delta, maximumFractionDigits: 0) }{ $deltaUnit }
+
+# Special case: no change.
+about-processes-total-memory-size-no-change = { NUMBER($total, maximumFractionDigits: 0) }{ $totalUnit }
+
+## Duration units
+
+duration-unit-ns = ns
+duration-unit-us = µs
+duration-unit-ms = ms
+duration-unit-s = S
+duration-unit-m = m
+duration-unit-h = h
+duration-unit-d = d
+
+## Memory units
+
+memory-unit-B = B
+memory-unit-KB = KB
+memory-unit-MB = MB
+memory-unit-GB = GB
+memory-unit-TB = TB
+memory-unit-PB = PB
+memory-unit-EB = EB
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutProfiles.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..54e4d7d705
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Acerca de los Perfiles
+profiles-subtitle = Esta página ayuda a administrar tus perfiles. Cada perfil es un mundo único que contiene historial, marcadores, configuraciones y complementos.
+profiles-create = Crear un nuevo perfil
+profiles-restart-title = Reiniciar
+profiles-restart-in-safe-mode = Reiniciar con Complementos Deshabilitados…
+profiles-restart-normal = Reiniciar normalmente…
+profiles-conflict = Otra copia de { -brand-product-name } ha hecho cambios a los perfiles. Debes reiniciar { -brand-short-name } antes de hacer más cambios.
+profiles-flush-fail-title = Cambios no guardados
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = Un error inesperado ha evitado que se guarden tus cambios.
+profiles-flush-restart-button = Reiniciar { -brand-short-name }
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = Perfil: { $name }
+profiles-is-default = Perfil predeterminado
+profiles-rootdir = Directorio raíz
+
+# 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 = Directorio local
+profiles-current-profile = Este es el perfil en uso y no se puede eliminar.
+profiles-in-use-profile = Este perfil está en uso en otra aplicación y no puede ser eliminado.
+
+profiles-rename = Renombrar
+profiles-remove = Eliminar
+profiles-set-as-default = Establecer como perfil predeterminado
+profiles-launch-profile = Lanzar perfil en nuevo navegador
+
+profiles-cannot-set-as-default-title = No se puede establecer predeterminado
+profiles-cannot-set-as-default-message = No se puede cambiar el perfil predeterminado para { -brand-short-name }.
+
+profiles-yes = sí
+profiles-no = no
+
+profiles-rename-profile-title = Renombrar perfil
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = Renombrar perfil { $name }
+
+profiles-invalid-profile-name-title = Nombre de perfil no válido
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = El nombre del perfil "{ $name }" no está permitido.
+
+profiles-delete-profile-title = Eliminar perfil
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ Al eliminar un perfil se quitará de la lista de perfiles y no podrás recuperarlo.
+ También puedes elegir eliminar los archivos de datos del perfil, incluyendo tu configuración, certificados y otros datos. Esta opción eliminará la carpeta "{ $dir }" sin posiblidad de recuperarla.
+ ¿Realmente quieres eliminar los archivos de este perfil?
+profiles-delete-files = Eliminar archivos
+profiles-dont-delete-files = No eliminar archivos
+
+profiles-delete-profile-failed-title = Error
+profiles-delete-profile-failed-message = Hubo un error mientras se intentaba eliminar este perfil.
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] Mostrar en Finder
+ [windows] Abrir carpeta
+ *[other] Abrir directorio
+ }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutReader.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..0e6ff90a37
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Cargando…
+about-reader-load-error = Falló la carga del artículo desde la página
+
+about-reader-color-scheme-light = Claro
+ .title = Esquema de color claro
+about-reader-color-scheme-dark = Oscuro
+ .title = Esquema de color oscuro
+about-reader-color-scheme-sepia = Sepia
+ .title = Esquema de color sepia
+about-reader-color-scheme-auto = Auto
+ .title = Esquema de color automático
+
+# 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 } minuto
+ *[other] { $range } minutos
+ }
+
+## These are used as tooltips in Type Control
+
+about-reader-toolbar-minus =
+ .title = Disminuir tamaño de fuente
+about-reader-toolbar-plus =
+ .title = Aumentar tamaño de fuente
+about-reader-toolbar-contentwidthminus =
+ .title = Reducir anchura del contenido
+about-reader-toolbar-contentwidthplus =
+ .title = Aumentar anchura del contenido
+about-reader-toolbar-lineheightminus =
+ .title = Reducir interlineado
+about-reader-toolbar-lineheightplus =
+ .title = Aumentar interlineado
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = Serif
+about-reader-font-type-sans-serif = Sans-serif
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = Cerrar vista de lectura
+about-reader-toolbar-type-controls = Controles de letra
+about-reader-toolbar-savetopocket = Guardar en { -pocket-brand-name }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutRights.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..ee23186b08
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Acerca de tus derechos
+rights-intro = { -brand-full-name } es software libre y de código abierto, construido por una comunidad de miles de personas de todo el mundo. Estas son algunas cosas que debes saber:
+rights-intro-point-1 = { -brand-short-name } esta disponible bajo los terminos de <a data-l10n-name="mozilla-public-license-link">Licencia Pública de Mozilla</a>. Esto quiere decir que puedes usar, copiar y distribuir { -brand-short-name } a otros. Eres tambien bienvenido a modificar el código fuente de { -brand-short-name } como tu quieras para satisfacer tus necesidades. La licencia pública de Mozilla tambien te da el derecho de distribuir tus versiones modificadas.
+rights-intro-point-2 = No se conceden los derechos de patentes o licencias para las marcas registradas de la Fundación Mozilla o cualquier parte, incluyendo sin limitación el nombre o el logotipo de Firefox. Información adicional sobre las marcas se pueden encontrar <a data-l10n-name="mozilla-trademarks-link">aquí</a>.
+rights-intro-point-3 = Algunas de las características en { -brand-short-name }, tales como el informe de fallos, te darán la opción de proporcionar información a { -vendor-short-name }. Al optar por enviar tus comentarios, le das a { -vendor-short-name } permiso para utilizar la retroalimentación para mejorar sus productos, publicar tus comentarios en sus sitios Web y distribuir los comentarios.
+rights-intro-point-4 = Cómo usamos tu información personal y comentarios presentados a { -vendor-short-name } a través de { -brand-short-name } se describe en el <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name } Política de Privacidad</a>.
+rights-intro-point-4-unbranded = Cualquier política de privacidad aplicable a este producto debe indicarse aquí.
+rights-intro-point-5 = Algunas características de { -brand-short-name } hacen uso de servicios de información en la web, sin embargo, no podemos garantizar que son 100% exactos o libres de errores. Más detalles, incluyendo información sobre cómo deshabilitar las características que utilizan estos servicios, pueden encontrarse en los <a data-l10n-name="mozilla-service-terms-link">términos del servicio</a>.
+rights-intro-point-5-unbranded = Si este producto incorpora servicios web, cualesquiera términos del servicio aplicables a los servicios deberían enlazarse en los <a data-l10n-name="mozilla-website-services-link">Servicios de sitios web</a> sección.
+rights-intro-point-6 = Para reproducir ciertos tipos de contenido de video, { -brand-short-name } descarga ciertos módulos de descifrado de contenido de terceros.
+rights-webservices-header = Servicios de información de { -brand-full-name } basados en web
+rights-webservices = { -brand-full-name } utiliza los servicios de información basados ​​en la web ("Servicios") para proporcionar algunas de las características previstas para su uso con esta versión binaria de { -brand-short-name } bajo los términos que se describen a continuación. Si no desea utilizar uno o más de los servicios o los términos siguientes son inaceptables, puede desactivar la función o Servicio(s). Las instrucciones sobre cómo desactivar una característica o servicio en particular se pueden encontrar<a data-l10n-name="mozilla-disable-service-link">aquí</a>. Otras características y servicios pueden ser deshabilitadas en las preferencias de la aplicación.
+rights-safebrowsing = <strong>Navegación segura: </strong>Desactivar la función de navegación segura no se recomienda ya que puede resultar que vayas a sitios peligrosos. Si deseas desactivar la función por completo, sigue estos pasos:
+rights-safebrowsing-term-1 = Abre las preferencias de la aplicación
+rights-safebrowsing-term-2 = Selecciona la selección de seguridad
+rights-safebrowsing-term-3 = Desmarcar la opción para "{ enableSafeBrowsing-label }"
+enableSafeBrowsing-label = Bloquear contenido peligroso y engañoso
+rights-safebrowsing-term-4 = La navegación segura está desactivada
+rights-locationawarebrowsing = <strong>Ubicación consciente de navegación: </strong>siempre es opt-in. No hay información de ubicación y es siempre enviado tu permiso. Si deseas desactivar la función por completo, sigue estos pasos:
+rights-locationawarebrowsing-term-1 = En la barra de direcciones, escribe <code>about:config</code>
+rights-locationawarebrowsing-term-2 = Tipo geo.enabled
+rights-locationawarebrowsing-term-3 = Doble clic en la preferencia geo.enabled
+rights-locationawarebrowsing-term-4 = Ubicación consciente de navegación está desactivada
+rights-webservices-unbranded = Una visión general de los servicios de sitio web que el producto incorpora, junto con instrucciones sobre como desactivarlos, si aplican, deben incluirse aquí.
+rights-webservices-term-unbranded = Todos los términos de servicio aplicables para este producto deben estar listadas aquí.
+rights-webservices-term-1 = { -vendor-short-name } y sus contribuidores, licenciatarios y socios de trabajos que proporcionan los servicios más preciosa y actualizados. Sin embargo no podemos garantizar que esta información sea comprensible y sin errores. Por ejemplo, la navegación segura no puede identificar algunos sitios riesgosos y pueden identificar algunos sitios seguros por error y el servicio de reconocimiento de ubicación de todas las localidades devueltas por nuestros proveedores de servicio son sólo estimaciones y ni nosotros ni nuestros proveedores de servicios garantiza la precisión de las localidades previstas.
+rights-webservices-term-2 = { -vendor-short-name } puede suspender o modificar los Servicios a su disposición.
+rights-webservices-term-3 = Puedes usar estos servicios con la versión correspondiente de { -brand-short-name }, y { -vendor-short-name } te otorga derechos para hacerlo. { -vendor-short-name } y sus licenciatarios se reservan el resto de derechos de los servicios. Estos términos no limitan ningún derecho otorgado por las licencias de código abierto aplicables a { -brand-short-name } y las versiones del código fuente correspondiente de { -brand-short-name }.
+rights-webservices-term-4 = <strong>Los servicios se proporcionan "tal cual". { -vendor-short-name }, sus colaboradores, licenciatarios y distribuidores, renuncian a todas las garantías, expresas o implícitas, incluyendo, sin limitación, las garantías de que los servicios son comercializables y aptos para sus fines particulares. Usted asume todo el riesgo en cuanto a la selección de los servicios para sus fines y en cuanto a la calidad y el rendimiento de los Servicios. Algunas jurisdicciones no permiten la exclusión o limitación de garantías implícitas, por lo que esta renuncia puede no ser aplicable en su caso.</strong>
+rights-webservices-term-5 = <strong>Con excepción de lo requerido por la ley, { -vendor-short-name }, sus colaboradores, licenciatarios y distribuidores no serán responsables por ningún daño indirecto, especial, incidental, consecuente, punitivo o ejemplar que surja de alguna manera relacionados con el uso de { -brand-short-name } y los servicios. La responsabilidad colectiva en virtud de estos términos no excederá los $500 (quinientos dólares). Algunas jurisdicciones no permiten la exclusión o limitación de ciertos daños, por lo que esta exclusión y limitación puede no aplicarse a ti.</strong>
+rights-webservices-term-6 = { -vendor-short-name } puede actualizar estos términos cuando sea necesario de vez en cuando. Estos términos no pueden ser modificados o cancelados sin un acuerdo por escrito de { -vendor-short-name }.
+rights-webservices-term-7 = Estos términos se rigen por las leyes del estado de California, EE.UU. excluyendo sus conflictos de disposiciones legales. Si alguna parte de estos términos es considerada inválida o no ejecutable, las partes restantes permanecerán en pleno vigor y efecto. En el caso de un conflicto entre la traducción de estos términos y la versión en inglés, la versión en inglés prevalecerá.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutServiceWorkers.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..aa1938d67c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Acerca de los Service Workers
+about-service-workers-main-title = Service Workers registrados
+about-service-workers-warning-not-enabled = Los Service Workers no están activados.
+about-service-workers-warning-no-service-workers = No hay Service Workers registrados.
+
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = Origen: { $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>Alcance:</strong> { $name }
+script-spec = <strong>Script específico:</strong> <a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>URL del worker actual:</strong> <a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>Nombre del caché activo:</strong> { $name }
+waiting-cache-name = <strong>Nombre del caché de espera:</strong> { $name }
+push-end-point-waiting = <strong>Lado que envía (push):</strong> { waiting }
+push-end-point-result = <strong>Lado que envía (push):</strong> { $name }
+
+# This term is used as a button label (verb, not noun).
+update-button = Actualizar
+
+unregister-button = Anular el registro
+
+unregister-error = No se ha podido anular el registro de este Service Worker.
+
+waiting = Esperando…
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..74a89194fa
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,414 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+page-title = Información para solucionar problemas
+page-subtitle = Esta página presenta información técnica que puede ser de ayuda si necesitas resolver un problema. Para obtener respuestas a preguntas comunes sobre { -brand-short-name } visita nuestro <a data-l10n-name="support-link">sitio web de soporte</a>.
+
+crashes-title = Reporte de fallos
+crashes-id = ID del reporte
+crashes-send-date = Enviado
+crashes-all-reports = Todos los informes de fallos
+crashes-no-config = Esta aplicación no ha sido configurada para mostrar reportes de fallos.
+support-addons-title = Complementos
+support-addons-name = Nombre
+support-addons-type = Tipo
+support-addons-enabled = Habilitado
+support-addons-version = Versión
+support-addons-id = ID
+security-software-title = Software de seguridad
+security-software-type = Tipo
+security-software-name = Nombre
+security-software-antivirus = Antivirus
+security-software-antispyware = Antispyware
+security-software-firewall = Firewall
+features-title = Características de { -brand-short-name }
+features-name = Nombre
+features-version = Versión
+features-id = ID
+processes-title = Procesos remotos
+processes-type = Tipo
+processes-count = Recuento
+app-basics-title = Configuración básica de la aplicación
+app-basics-name = Nombre
+app-basics-version = Versión
+app-basics-build-id = Id. de compilación
+app-basics-distribution-id = ID de distribución
+app-basics-update-channel = Canal de actualizaciones
+# 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] Directorio de actualizaciones
+ *[other] Carpeta de actualizaciones
+ }
+app-basics-update-history = Historial de actualizaciones
+app-basics-show-update-history = Mostrar historial de actualizaciones
+# Represents the path to the binary used to start the application.
+app-basics-binary = Binario de la aplicación
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] Directorio del perfil
+ *[other] Carpeta del perfil
+ }
+app-basics-enabled-plugins = Plugins activados
+app-basics-build-config = Configuración de compilación
+app-basics-user-agent = Agente de usuario
+app-basics-os = OS
+app-basics-os-theme = Tema del sistema
+# Rosetta is Apple's translation process to run apps containing x86_64
+# instructions on Apple Silicon. This should remain in English.
+app-basics-rosetta = Traducido por Rosetta
+app-basics-memory-use = Uso de memoria
+app-basics-performance = Rendimiento
+app-basics-service-workers = Service Workers registrados
+app-basics-third-party = Módulos de terceros
+app-basics-profiles = Perfiles
+app-basics-launcher-process-status = Proceso de lanzamiento
+app-basics-multi-process-support = Ventanas multiproceso
+app-basics-fission-support = Ventanas de Fission
+app-basics-remote-processes-count = Procesos remotos
+app-basics-enterprise-policies = Políticas empresariales
+app-basics-location-service-key-google = Clave de servicio de ubicación de Google
+app-basics-safebrowsing-key-google = Clave de navegación segura de Google
+app-basics-key-mozilla = Clave del servicio de localización de Mozilla
+app-basics-safe-mode = Modo Seguro
+app-basics-memory-size = Tamaño de la memoria (RAM)
+app-basics-disk-available = Espacio disponible del disco
+
+# 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] Mostrar en Finder
+ [windows] Abrir carpeta
+ *[other] Abrir directorio
+ }
+environment-variables-title = Variables de entorno
+environment-variables-name = Nombre
+environment-variables-value = Valor
+experimental-features-title = Funciones experimentales
+experimental-features-name = Nombre
+experimental-features-value = Valor
+modified-key-prefs-title = Preferencias importantes modificadas
+modified-prefs-name = Nombre
+modified-prefs-value = Valor
+user-js-title = Preferencias en user.js
+user-js-description = Su carpeta del perfil contiene un <a data-l10n-name="user-js-link">archivo user.js</a>, que incluye preferencias que no han sido creadas por { -brand-short-name }.
+locked-key-prefs-title = Preferencias importantes bloqueadas
+locked-prefs-name = Nombre
+locked-prefs-value = Valor
+graphics-title = Gráficas
+graphics-features-title = Características
+graphics-diagnostics-title = Diagnósticos
+graphics-failure-log-title = Registro de fallos
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = Registro de decisiones
+graphics-crash-guards-title = Características de protección contra fallos deshabilitadas
+graphics-workarounds-title = Soluciones
+graphics-device-pixel-ratios = Proporciones de píxeles de la ventana del dispositivo
+# Windowing system in use on Linux (e.g. X11, Wayland).
+graphics-window-protocol = Protocolo de ventanas
+# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
+graphics-desktop-environment = Entorno de escritorio
+place-database-title = Base de datos de lugares
+place-database-stats = Estadísticas
+place-database-stats-show = Mostrar estadísticas
+place-database-stats-hide = Ocultar estadísticas
+place-database-stats-entity = Entidad
+place-database-stats-count = Recuento
+place-database-stats-size-kib = Tamaño (KB)
+place-database-stats-size-perc = Tamaño (%)
+place-database-stats-efficiency-perc = Eficiencia (%)
+place-database-stats-sequentiality-perc = Secuencialidad (%)
+place-database-integrity = Integridad
+place-database-verify-integrity = Verificar integridad
+a11y-title = Accesibilidad
+a11y-activated = Activado
+a11y-force-disabled = Prevenir accesibilidad
+a11y-handler-used = Se usó un controlador accesible
+a11y-instantiator = Instanciador de accesibilidad
+library-version-title = Versiones de bibliotecas
+copy-text-to-clipboard-label = Copiar el texto al portapapeles
+copy-raw-data-to-clipboard-label = Copiar datos en crudo al portapapeles
+sandbox-title = Arenero
+sandbox-sys-call-log-title = Llamadas del sistema rechazadas
+sandbox-sys-call-index = #
+sandbox-sys-call-age = Hace segundos
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = Tipo de proceso
+sandbox-sys-call-number = Syscall
+sandbox-sys-call-args = Argumentos
+troubleshoot-mode-title = Diagnosticar problemas
+restart-in-troubleshoot-mode-label = Modo de resolución de problemas…
+clear-startup-cache-title = Intentar limpiar la caché de inicio
+clear-startup-cache-label = Limpiar caché de inicio…
+startup-cache-dialog-title2 = ¿Reiniciar { -brand-short-name } para limpiar la caché de inicio?
+startup-cache-dialog-body2 = Esto no cambiará tu configuración ni eliminará extensiones
+restart-button-label = Reiniciar
+
+## Media titles
+
+audio-backend = Backend de audio
+max-audio-channels = Número máximo de canales
+sample-rate = Frecuencia de muestreo preferida
+roundtrip-latency = Latencia de ida y vuelta (desviación estándar)
+media-title = Multimedia
+media-output-devices-title = Dispositivos de salida
+media-input-devices-title = Dispositivos de entrada
+media-device-name = Nombre
+media-device-group = Grupo
+media-device-vendor = Fabricante
+media-device-state = Estado
+media-device-preferred = Preferido
+media-device-format = Formato
+media-device-channels = Canales
+media-device-rate = Frecuencia
+media-device-latency = Latencia
+media-capabilities-title = Capacidades del contenido multimedia
+media-codec-support-info = Información de soporte de códecs
+# List all the entries of the database.
+media-capabilities-enumerate = Enumerar base de datos
+
+## Codec support table
+
+##
+
+intl-title = Internacionalización y localización
+intl-app-title = Ajustes de la aplicación
+intl-locales-requested = Localizaciones solicitadas
+intl-locales-available = Localizaciones disponibles
+intl-locales-supported = Localizaciones de la app
+intl-locales-default = Localización predeterminada
+intl-os-title = Sistema operativo
+intl-os-prefs-system-locales = Localizaciones del sistema
+intl-regional-prefs = Preferencias regionales
+
+## 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 = Depuración remota (protocolo de Chromium )
+remote-debugging-accepting-connections = Aceptando conexiones
+remote-debugging-url = URL
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days =
+ { $days ->
+ [one] Informe de fallos del último { $days } día
+ *[other] Informe de fallos de los últimos { $days } días
+ }
+
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes =
+ { $minutes ->
+ [one] hace { $minutes } minuto
+ *[other] hace { $minutes } minutos
+ }
+
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours =
+ { $hours ->
+ [one] hace { $hours } hora
+ *[other] hace { $hours } horas
+ }
+
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days =
+ { $days ->
+ [one] hace { $days } día
+ *[other] hace { $days } días
+ }
+
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports =
+ { $reports ->
+ [one] Todos los informes de fallos (incluyendo { $reports } fallo pendiente en el intervalo de tiempo indicado)
+ *[other] Todos los informes de fallos (incluyendo { $reports } fallos pendientes en el intervalo de tiempo indicado)
+ }
+
+raw-data-copied = Datos en crudo copiados al portapapeles
+text-copied = Texto copiado al portapapeles
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = Bloqueado para la versión de tu controlador gráfico.
+blocked-gfx-card = Bloqueado para tu tarjeta gráfica debido a problemas no resueltos del controlador.
+blocked-os-version = Bloqueado para la versión de tu sistema operativo.
+blocked-mismatched-version = Bloqueado por la diferencia de versión de tu controlador gráfico entre el registro y la DLL.
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = Bloqueado para la versión de tu controlador gráfico. Prueba actualizando tu controlador gráfico a la versión { $driverVersion } o más moderna.
+
+# "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 = Parámetros de ClearType
+
+compositing = Composición
+hardware-h264 = Decodificación H264 por hardware
+main-thread-no-omtc = hilo principal, no OMTC
+yes = Sí
+no = No
+unknown = Desconocido
+virtual-monitor-disp = Pantalla de monitor virtual
+
+## 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 = Encontrada
+missing = Ausente
+
+gpu-process-pid = GPUProcessPid
+gpu-process = GPUProcess
+gpu-description = Descripción
+gpu-vendor-id = ID de vendedor
+gpu-device-id = ID de dispositivo
+gpu-subsys-id = ID del subsistema
+gpu-drivers = Controladores
+gpu-ram = RAM
+gpu-driver-vendor = Fabricante del controlador
+gpu-driver-version = Versión del controlador
+gpu-driver-date = Fecha del controlador
+gpu-active = Activo
+webgl1-wsiinfo = Información WSI del controlador WebGL 1
+webgl1-renderer = Procesador WebGL 1
+webgl1-version = Versión del controlador WebGL 1
+webgl1-driver-extensions = Extensiones del controlador WebGL 1
+webgl1-extensions = Extensiones WebGL 1
+webgl2-wsiinfo = Información WSI del controlador WebGL 2
+webgl2-renderer = Procesador WebGL2
+webgl2-version = Versión del controlador WebGL 2
+webgl2-driver-extensions = Extensiones del controlador WebGL 2
+webgl2-extensions = Extensiones WebGL 2
+webgpu-default-adapter = Adaptador predeterminado de WebGPU
+webgpu-fallback-adapter = Adaptador alternativo de WebGPU
+
+# Variables
+# $bugNumber (string) - Bug number on Bugzilla
+support-blocklisted-bug = En lista de bloqueo debido a problemas conocidos: <a data-l10n-name="bug-link">{ $bugNumber }</a>
+
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = Bloqueado; código de falla { $failureCode }
+
+d3d11layers-crash-guard = Compositor D3D11
+glcontext-crash-guard = OpenGL
+wmfvpxvideo-crash-guard = Decodificador de vídeo WMF VPX
+
+reset-on-next-restart = Restablecer en el próximo reinicio
+gpu-process-kill-button = Terminar proceso GPU
+gpu-device-reset = Restablecer dispositivo
+gpu-device-reset-button = Reinicio del dispositivo de disparo
+uses-tiling = Usa mosaicos
+content-uses-tiling = Usa mosaicos (contenido)
+off-main-thread-paint-enabled = Fuera del hilo principal de pintura Habilitado
+off-main-thread-paint-worker-count = Recuento de dibujo fuera del tema principal
+target-frame-rate = Frecuencia de imágenes objetivo
+
+min-lib-versions = Versión mínima esperada
+loaded-lib-versions = Versión en uso
+
+has-seccomp-bpf = Seccomp-BPF (sistema de filtro de llamadas)
+has-seccomp-tsync = Sincronización de hilos Seccomp
+has-user-namespaces = Espacios de nombres de usuario
+has-privileged-user-namespaces = Espacios de nombres de usuarios para procesos privilegiados
+can-sandbox-content = Entorno de prueba para procesar contenidos
+can-sandbox-media = Entorno de pruebas para extensiones de multimedia
+content-sandbox-level = Entorno de prueba para procesar contenidos
+effective-content-sandbox-level = Nivel efectivo del contenedor de proceso de contenido
+content-win32k-lockdown-state = Estado de bloqueo de Win32k para el proceso de contenido
+support-sandbox-gpu-level = Nivel de aislamiento de procesos de GPU
+sandbox-proc-type-content = contenido
+sandbox-proc-type-file = contenido del archivo
+sandbox-proc-type-media-plugin = plugin de medios
+sandbox-proc-type-data-decoder = decodificador de datos
+
+startup-cache-title = Caché de inicio
+startup-cache-disk-cache-path = Ruta de caché de disco
+startup-cache-ignore-disk-cache = Ignorar caché de disco
+startup-cache-found-disk-cache-on-init = Caché de disco encontrada durante la inicialización
+startup-cache-wrote-to-disk-cache = Se escribió a la caché de disco
+
+launcher-process-status-0 = Habilitado
+launcher-process-status-1 = Deshabilitado debido a un fallo
+launcher-process-status-2 = Deshabilitado forzosamente
+launcher-process-status-unknown = Estado desconocido
+
+# 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 = Deshabilitado por el experimento
+fission-status-experiment-treatment = Habilitado por el experimento
+fission-status-disabled-by-e10s-env = Deshabilitado por el entorno
+fission-status-enabled-by-env = Habilitado por el entorno
+fission-status-disabled-by-env = Deshabilitado por el entorno
+fission-status-enabled-by-default = Habilitado de forma predeterminada
+fission-status-disabled-by-default = Deshabilitado de forma predeterminada
+fission-status-enabled-by-user-pref = Habilitado por el usuario
+fission-status-disabled-by-user-pref = Deshabilitado por el usuario
+fission-status-disabled-by-e10s-other = E10s deshabilitado
+fission-status-enabled-by-rollout = Habilitado por el lanzamiento por fases
+
+async-pan-zoom = Encuadro/zoom asíncrono
+apz-none = ninguno
+wheel-enabled = entrada de rueda de ratón activada
+touch-enabled = entrada táctil habilitada
+drag-enabled = arrastra de barra de desplazamiento habilitado
+keyboard-enabled = teclado habilitado
+autoscroll-enabled = desplazamiento automático habilitado
+zooming-enabled = zoom de pellizco suave activado
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = entrada de rueda de ratón desactivada debido a una preferencia no admitida: { $preferenceKey }
+touch-warning = entrada táctil asíncrona desactivada debido a una preferencia no admitida: { $preferenceKey }
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = Inactivo
+policies-active = Activo
+policies-error = Error
+
+## Printing section
+
+support-printing-title = Imprimir
+support-printing-troubleshoot = Solución de problemas
+support-printing-clear-settings-button = Eliminar los ajustes de impresión guardados
+support-printing-modified-settings = Ajustes de impresión modificados
+support-printing-prefs-name = Nombre
+support-printing-prefs-value = Valor
+
+## Normandy sections
+
+support-remote-experiments-title = Experimentos remotos
+support-remote-experiments-name = Nombre
+support-remote-experiments-branch = Rama de experimentos
+support-remote-experiments-see-about-studies = Ver <a data-l10n-name="support-about-studies-link">about:studies</a> para más información, incluyendo como desactivar experimentos individuales o desactivar que { -brand-short-name } ejecute este tipo de experimento en el futuro.
+
+support-remote-features-title = Funciones remotas
+support-remote-features-name = Nombre
+support-remote-features-status = Estado
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutTelemetry.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..01343f50af
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Origen de los datos de ping:
+about-telemetry-show-current-data = Datos actuales
+about-telemetry-show-archived-ping-data = Datos archivados de ping
+about-telemetry-show-subsession-data = Mostrar datos de subsesión
+about-telemetry-choose-ping = Elegir ping:
+about-telemetry-archive-ping-type = Tipo de ping
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = Hoy
+about-telemetry-option-group-yesterday = Ayer
+about-telemetry-option-group-older = Más antiguo
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = Datos de Telemetry
+about-telemetry-current-store = Almacenamiento actual:
+about-telemetry-more-information = ¿Buscas más información?
+about-telemetry-firefox-data-doc = La <a data-l10n-name="data-doc-link">documentación de datos de Firefox</a> contiene guías sobre cómo trabajar con tus herramientas de datos.
+about-telemetry-telemetry-client-doc = La <a data-l10n-name="client-doc-link">documentación de cliente de Firefox Telemetry</a> incluye definiciones para conceptos, documentación de API y referencias de datos.
+about-telemetry-telemetry-dashboard = Los <a data-l10n-name="dashboard-link">tableros de Telemetry</a> te permiten visualizar los datos que Mozilla recibe a través de Telemetry.
+about-telemetry-telemetry-probe-dictionary = El <a data-l10n-name="probe-dictionary-link">diccionario de sondeos</a> proporciona detalles y descripciones de los sondeos recopilados por Telemetry.
+about-telemetry-show-in-Firefox-json-viewer = Abrir en el visor de JSON
+about-telemetry-home-section = Inicio
+about-telemetry-general-data-section =   Datos generales
+about-telemetry-environment-data-section = Entorno de Datos
+about-telemetry-session-info-section = Información de la sesión
+about-telemetry-scalar-section =  Escalares
+about-telemetry-keyed-scalar-section = Escalares con llave
+about-telemetry-histograms-section = Histogramas
+about-telemetry-keyed-histogram-section =   Histogramas claves
+about-telemetry-events-section = Eventos
+about-telemetry-simple-measurements-section = Medidas simples
+about-telemetry-slow-sql-section = Sentencias SQL lentas
+about-telemetry-addon-details-section = Detalles del complemento
+about-telemetry-late-writes-section = Escrituras demoradas
+about-telemetry-raw-payload-section = Contenido sin procesar
+about-telemetry-raw = JSON sin procesar
+about-telemetry-full-sql-warning = NOTA: la depuración SQL lenta está activada. Pueden mostrarse cadenas completas de SQL pero no se enviarán a Telemetry.
+about-telemetry-fetch-stack-symbols = Obtener nombres de función para pilas
+about-telemetry-hide-stack-symbols = Mostrar datos de pila en bruto
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] datos de lanzamiento
+ *[prerelease] datos de prelanzamiento
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] habilitado
+ *[disabled] deshabilitado
+ }
+# 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 } muestra, promedio = { $prettyAverage }, suma = { $sum }
+ *[other] { $sampleCount } muestras, promedio = { $prettyAverage }, suma = { $sum }
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = Esta página muestra la información de rendimiento, hardware, uso y personalizaciones recopilada por Telemetry. Esta información se envía a { $telemetryServerOwner } para ayudar a mejorar { -brand-full-name }.
+about-telemetry-settings-explanation = La telemetría está recolectando { about-telemetry-data-type } y la carga 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 = Cada pieza de información se agregará a “<a data-l10n-name="ping-link">pings</a>”. Estás buscando por el ping { $name }, { $timestamp }.
+about-telemetry-data-details-current = Cada parte de información se envía agrupada en "<a data-l10n-name="ping-link">pings</a>". Estás viendo los datos actuales.
+# 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 = Buscar en { $selectedTitle }
+about-telemetry-filter-all-placeholder =
+ .placeholder = Buscar en todas las secciones
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = Resultados para “{ $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 = ¡Lo sentimos! No hay resultados en { $sectionName } para “{ $currentSearchText }”
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = ¡Lo sentimos! No se encontraron resultados en ninguna sección para “{ $searchTerms }”
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = ¡Lo sentimos! No hay datos disponibles en este momento en “{ $sectionName }”
+# used as a tooltip for the “current” ping title in the sidebar
+about-telemetry-current-data-sidebar = datos actuales
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = todo
+# button label to copy the histogram
+about-telemetry-histogram-copy = Copiar
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = Sentencias SQL lentas en el hilo principal
+about-telemetry-slow-sql-other = Sentencias SQL lentas en hilos auxiliares
+about-telemetry-slow-sql-hits = Aciertos
+about-telemetry-slow-sql-average = Tiempo medio (ms)
+about-telemetry-slow-sql-statement = Sentencia
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = ID del complemento
+about-telemetry-addon-table-details = Detalles
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = Proveedor { $addonProvider }
+about-telemetry-keys-header = Propiedad
+about-telemetry-names-header = Nombre
+about-telemetry-values-header = Valor
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = Escritura demorada #{ $lateWriteCount }
+about-telemetry-stack-title = Pila:
+about-telemetry-memory-map-title = Mapa de memoria:
+about-telemetry-error-fetching-symbols = Ha sucedido un error al recuperar los símbolos. Compruebe que está conectado a Internet y vuelva a intentarlo.
+about-telemetry-time-stamp-header = timestamp
+about-telemetry-category-header = categoría
+about-telemetry-method-header = método
+about-telemetry-object-header = objeto
+about-telemetry-extra-header = extra
+# Variables:
+# $process (String): type of process in subsection headers ( e.g. "content", "parent" )
+about-telemetry-process = Proceso de { $process }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutThirdParty.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..4495e9222b
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutThirdParty.ftl
@@ -0,0 +1,75 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+third-party-page-title = Información del módulo de terceros
+third-party-section-title = Lista de módulos terceros en { -brand-short-name }
+
+third-party-intro =
+ Esta página muestra los módulos de terceros que se inyectaron en tu
+ { -brand-short-name }. Cualquier módulo que no esté firmado por Microsoft o
+ { -vendor-short-name } se considera un módulo de terceros.
+
+third-party-message-empty = No se detectaron módulos de terceros.
+third-party-message-no-duration = No se registró
+
+third-party-detail-version = Versión del archivo
+third-party-detail-vendor = Información del fabricante
+third-party-detail-occurrences = Ocurrencias
+ .title = Cuántas veces fue cargado este módulo.
+third-party-detail-duration = Tiempo de bloqueo promedio (ms)
+ .title = Cuánto tiempo bloqueo este módulo la aplicación.
+third-party-detail-app = Aplicación
+third-party-detail-publisher = Editor
+
+third-party-th-process = Proceso
+third-party-th-duration = Duración de la carga (ms)
+third-party-th-status = Estado
+
+third-party-tag-ime = IME
+ .title = Este tipo de módulo se carga cuando usas un IME de terceros.
+third-party-tag-shellex = Extensión de la consola
+ .title = Este tipo de módulo es cargado cuando abres el diálogo del sistema.
+third-party-tag-background = Segundo plano
+ .title = Este tipo de módulo no bloqueó la aplicación porque fue cargado en segundo plano.
+third-party-icon-unsigned =
+ .title = Este módulo no está firmado
+ .alt = Este módulo no está firmado
+third-party-icon-warning =
+ .title = { -brand-short-name } falló en el código de este módulo
+ .alt = { -brand-short-name } falló en el código de este módulo
+
+third-party-status-loaded = Cargado
+third-party-status-blocked = Bloqueado
+third-party-status-redirected = Redirigido
+
+third-party-button-copy-to-clipboard = Copiar datos en bruto al portapapeles
+third-party-button-reload = Recargar con info del sistema
+ .title = Recargar con información del sistema
+third-party-button-open =
+ .title = Abrir ubicación del archivo…
+third-party-button-to-block =
+ .title = Bloquear este módulo
+ .aria-label = Bloquear este módulo
+third-party-button-to-unblock =
+ .title = Actualmente bloqueado. Haz clic para desbloquearlo.
+ .aria-label = Actualmente bloqueado. Haz clic para desbloquearlo.
+third-party-button-to-unblock-disabled =
+ .title =
+ Actualmente marcado como bloqueado, aunque la lista de bloqueo está deshabilitada para esta ejecución
+ de { -brand-short-name }. Haz clic para desbloquearlo.
+ .aria-label =
+ Actualmente marcado como bloqueado, aunque la lista de bloqueo está deshabilitada para esta ejecución
+ de { -brand-short-name }. Haz clic para desbloquearlo.
+third-party-button-expand =
+ .title = Mostrar información detallada
+third-party-button-collapse =
+ .title = Contraer información detallada
+third-party-blocking-requires-restart = Para bloquear un módulo de terceros, { -brand-short-name } debe reiniciarse.
+third-party-should-restart-title = Reiniciar { -brand-short-name }
+third-party-restart-now = Reiniciar ahora
+third-party-restart-later = Reiniciar después
+
+third-party-blocked-by-builtin =
+ .title = Bloqueado por { -brand-short-name }
+ .alt = Bloqueado por { -brand-short-name }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebauthn.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebrtc.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..4b7141c7b4
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,320 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. 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 = Datos internos 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 = guardar about:webrtc como
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = Registro AEC
+about-webrtc-aec-logging-off-state-label = Iniciar registro AEC
+about-webrtc-aec-logging-on-state-label = Detener registro AEC
+about-webrtc-aec-logging-on-state-msg = Registro AEC activo (habla con el interlocutor durante unos minutos y luego detén la captura)
+
+about-webrtc-aec-logging-toggled-on-state-msg = Registro AEC activo (habla con el interlocutor durante unos minutos y luego detén la captura)
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = Los archivos de registro se pueden encontrar en: { $path }
+
+##
+
+# The autorefresh checkbox causes the page to autorefresh its content when checked
+about-webrtc-auto-refresh-label = Recargar automáticamente
+
+
+# "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 = ID de PeerConnection:
+
+## "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 (Oferta)
+about-webrtc-local-sdp-heading-answer = SDP Local (Respuesta)
+about-webrtc-remote-sdp-heading = SDP Remoto
+about-webrtc-remote-sdp-heading-offer = SDP Remoto (Oferta)
+about-webrtc-remote-sdp-heading-answer = SDP Remoto (Respuesta)
+about-webrtc-sdp-history-heading = Historial SDP
+about-webrtc-sdp-parsing-errors-heading = Errores de análisis de 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 = Estadísticas RTP
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = Estado ICE
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = Estadísticas ICE
+about-webrtc-ice-restart-count-label = reinicia ICE:
+about-webrtc-ice-rollback-count-label = revisiones ICE:
+about-webrtc-ice-pair-bytes-sent = Bytes enviados:
+about-webrtc-ice-pair-bytes-received = Bytes recibidos:
+about-webrtc-ice-component-id = ID de componente
+
+## 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 = Remoto
+
+##
+
+# 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 = Nominado
+
+# 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 = Seleccionado
+
+about-webrtc-save-page-label = Guardar página
+about-webrtc-debug-mode-msg-label = Modo de depuración
+about-webrtc-debug-mode-off-state-label = Iniciar modo de depuración
+about-webrtc-debug-mode-on-state-label = Detener modo de depuración
+about-webrtc-stats-heading = Estadísticas de la sesión
+about-webrtc-stats-clear = Limpiar historial
+about-webrtc-log-heading = Registro de conexión
+about-webrtc-log-clear = Limpiar registro
+about-webrtc-log-show-msg = mostrar registro
+ .title = haz clic para expandir esta sección
+about-webrtc-log-hide-msg = ocultar registro
+ .title = haz clic para contraer esta sección
+
+about-webrtc-log-section-show-msg = Mostrar registro
+ .title = Haz clic para expandir esta sección
+about-webrtc-log-section-hide-msg = Ocultar registro
+ .title = Haz clic para contraer esta sección
+
+## 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 } (cerrado) { $now }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+
+##
+
+about-webrtc-local-candidate = Candidato local
+about-webrtc-remote-candidate = Candidato remoto
+about-webrtc-raw-candidates-heading = Todos los candidatos en bruto
+about-webrtc-raw-local-candidate = Candidato local en bruto
+about-webrtc-raw-remote-candidate = Candidato remoto en bruto
+about-webrtc-raw-cand-show-msg = mostrar candidatos en bruto
+ .title = haz clic para expandir esta sección
+about-webrtc-raw-cand-hide-msg = ocultar candidatos en crudo
+ .title = haz clic para contraer esta sección
+about-webrtc-raw-cand-section-show-msg = Mostrar candidatos en bruto
+ .title = Haz clic para expandir esta sección
+about-webrtc-raw-cand-section-hide-msg = Ocultar candidatos en crudo
+ .title = Haz clic para contraer esta sección
+about-webrtc-priority = Prioridad
+about-webrtc-fold-show-msg = mostrar detalles
+ .title = haz clic para expandir esta sección
+about-webrtc-fold-hide-msg = ocultar detalles
+ .title = haz clic para contraer esta sección
+about-webrtc-fold-default-show-msg = Mostrar detalles
+ .title = Haz clic para expandir esta sección
+about-webrtc-fold-default-hide-msg = Ocultar detalles
+ .title = Haz clic para contraer esta sección
+about-webrtc-dropped-frames-label = Fotogramas descartados:
+about-webrtc-discarded-packets-label = Paquetes descartados:
+about-webrtc-decoder-label = Decodificador
+about-webrtc-encoder-label = Codificador
+about-webrtc-show-tab-label = Mostrar pestaña
+about-webrtc-current-framerate-label = Cuadros por segundo
+about-webrtc-width-px = Ancho (px)
+about-webrtc-height-px = Alto (px)
+about-webrtc-consecutive-frames = Marcos consecutivos
+about-webrtc-time-elapsed = Tiempo transcurrido (s)
+about-webrtc-estimated-framerate = Tasa de fotogramas estimada
+about-webrtc-rotation-degrees = Rotación (grados)
+about-webrtc-first-frame-timestamp = Marca de tiempo de recepción del primer fotograma
+about-webrtc-last-frame-timestamp = Marca de tiempo de recepción del último fotograma
+
+## 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 = Recepción local SSRC
+# This is an SSRC on the remote side of the connection that is sending RTP
+about-webrtc-remote-send-ssrc = Envío remoto SSRC
+
+## These are displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+about-webrtc-pc-configuration-show-msg = Mostrar configuración
+about-webrtc-pc-configuration-hide-msg = Ocultar configuración
+
+##
+
+# An option whose value will not be displayed but instead noted as having been
+# provided
+about-webrtc-configuration-element-provided = Provisto
+
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+about-webrtc-configuration-element-not-provided = No provisto
+
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-custom-webrtc-configuration-heading = Preferencias de WebRTC establecidas por el usuario
+
+# Section header for estimated bandwidths of WebRTC media flows
+about-webrtc-bandwidth-stats-heading = Ancho de banda estimado
+
+# The ID of the MediaStreamTrack
+about-webrtc-track-identifier = Identificador de rastreo
+
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+about-webrtc-send-bandwidth-bytes-sec = Ancho de banda de envío (bytes/seg)
+
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+about-webrtc-receive-bandwidth-bytes-sec = Ancho de banda de recepción (bytes/seg)
+
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+about-webrtc-max-padding-bytes-sec = Padding máximo (bytes/seg)
+
+# The amount of time inserted between packets to keep them spaced out
+about-webrtc-pacer-delay-ms = Intervalo entre paquetes (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 = Tiempo de ida y vuelta (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 = Estadísticas de fotogramas de vídeo: ID de 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 = página guardada en: { $path }
+about-webrtc-debug-mode-off-state-msg = el registro de traza se puede encontrar en: { $path }
+about-webrtc-debug-mode-on-state-msg = modo de depuración activo, registro de traza en: { $path }
+about-webrtc-aec-logging-off-state-msg = los archivos de registro se pueden encontrar en: { $path }
+
+about-webrtc-save-page-complete-msg = Página guardada en: { $path }
+about-webrtc-debug-mode-toggled-off-state-msg = El registro de traza se puede encontrar en: { $path }
+about-webrtc-debug-mode-toggled-on-state-msg = Modo de depuración activo, registro de traza en: { $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 } marco
+ *[other] { $frames } marcos
+ }
+
+# 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 } canales
+ }
+
+# 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] { $packets } paquete recibido
+ *[other] { $packets } paquetes recibidos
+ }
+
+# 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] { $packets } paquete perdido
+ *[other] { $packets } paquetes perdidos
+ }
+
+# 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] { $packets } paquete enviado
+ *[other] { $packets } paquetes enviados
+ }
+
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = Jitter { $jitter }
+
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = Los candidatos a goteo (llegando después de la respuesta) son destacados en azul
+
+## "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 = Establecer SDP Local en la marca de tiempo { 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 = Establecer SDP Remoto en la marca de tiempo { 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 = Marca de tiempo { 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 = Mostrar SDP
+about-webrtc-hide-msg-sdp = Ocultar 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.
+
+
+##
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWindowsMessages.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..1a612d819a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/aboutWindowsMessages.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for the about:windows-messages page, which is only available
+### on the Windows operating system.
+### This page records and shows messages sent from the operating system to
+### individual browser windows. These messages can be useful in debugging
+### hard-to-reproduce issues with window sizing and position.
+
+# Windows refers to the operating system
+windows-messages-page-title = Información de mensajes de Windows
+windows-messages-intro =
+ Esta página muestra los mensajes más recientes enviados por Windows
+ a las ventanas del navegador { -brand-short-name }. Las
+ entradas en negrita representa esta ventana. Ten en cuenta que esta página muestra
+ los mensajes más recientes en el momento en que se cargó la página;
+ para ver los actuales, deberás actualizar la página.
+windows-messages-copy-to-clipboard = Copiar al portapapeles
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/abuseReports.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..7018004440
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/abuseReports.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/.
+
+# 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 = Reportar para { $addon-name }
+abuse-report-title-extension = Denunciar esta extensión a { -vendor-short-name }
+abuse-report-title-sitepermission = Informar sobre este complemento de permisos de este sitio a { -vendor-short-name }
+abuse-report-title-theme = Denunciar este tema a { -vendor-short-name }
+abuse-report-subtitle = ¿Cuál es el problema?
+# Variables:
+# $author-name (string) - Name of the add-on author
+abuse-report-addon-authored-by = por <a data-l10n-name="author-name">{ $author-name }</a>
+abuse-report-learnmore = ¿No sabes que problema seleccionar? <a data-l10n-name="learnmore-link">Aprende más acerca de reportar extensiones y temas</a>
+abuse-report-learnmore-intro = ¿No sabes que problema seleccionar?
+abuse-report-learnmore-link = Aprende más acerca de reportar extensiones y temas
+abuse-report-submit-description = Describe el problema (opcional)
+abuse-report-textarea =
+ .placeholder = Para nosotros es más fácil solucionar un problema si tenemos detalles específicos. Describe tu problema. Gracias por ayudarnos a que Internet siga siendo saludable.
+abuse-report-submit-note = Nota: no incluyas información personal (como nombres, dirección de correo, número de teléfono, dirección postal). { -vendor-short-name } guarda un registro de estos informes.
+
+## Panel buttons.
+
+abuse-report-cancel-button = Cancelar
+abuse-report-next-button = Siguiente
+abuse-report-goback-button = Volver
+abuse-report-submit-button = Enviar
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+abuse-report-messagebar-aborted = Se canceló el informe sobre <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-submitting = Enviando informe sobre <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-submitted = Gracias por enviar el informe. ¿Quieres eliminar <span data-l10n-name="addon-name">{ $addon-name }</span>?
+abuse-report-messagebar-submitted-noremove = Gracias por enviar un informe.
+abuse-report-messagebar-removed-extension = Gracias por enviar el informe. Has eliminado la extensión <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-sitepermission = Gracias por enviar un reporte. Has eliminado el complemento Permisos del sitio <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-removed-theme = Gracias por enviar el informe. Has eliminado el tema <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error = Hubo un error al enviar el informe sobre <span data-l10n-name="addon-name">{ $addon-name }</span>.
+abuse-report-messagebar-error-recent-submit = No se envió el informe sobre <span data-l10n-name="addon-name">{ $addon-name }</span> porque otro informe se envió recientemente.
+abuse-report-messagebar-aborted2 =
+ .message = Se canceló el informe sobre { $addon-name }.
+abuse-report-messagebar-submitting2 =
+ .message = Enviando informe sobre { $addon-name }.
+abuse-report-messagebar-submitted2 =
+ .message = Gracias por enviar el informe. ¿Quieres eliminar { $addon-name }?
+abuse-report-messagebar-submitted-noremove2 =
+ .message = Gracias por enviar un informe.
+abuse-report-messagebar-removed-extension2 =
+ .message = Gracias por enviar el informe. Has eliminado la extensión { $addon-name }.
+abuse-report-messagebar-removed-sitepermission2 =
+ .message = Gracias por enviar un reporte. Has eliminado el complemento Permisos del sitio { $addon-name }.
+abuse-report-messagebar-removed-theme2 =
+ .message = Gracias por enviar el informe. Has eliminado el tema { $addon-name }.
+abuse-report-messagebar-error2 =
+ .message = Hubo un error al enviar el informe sobre { $addon-name }.
+abuse-report-messagebar-error-recent-submit2 =
+ .message = No se envió el informe sobre { $addon-name } porque otro informe se envió recientemente.
+
+## Message bars actions.
+
+abuse-report-messagebar-action-remove-extension = Sí, eliminarlo
+abuse-report-messagebar-action-keep-extension = No, mantenerlo
+abuse-report-messagebar-action-remove-sitepermission = Sí, eliminarlo
+abuse-report-messagebar-action-keep-sitepermission = No, mantenerlo
+abuse-report-messagebar-action-remove-theme = Sí, eliminarlo
+abuse-report-messagebar-action-keep-theme = No, mantenerlo
+abuse-report-messagebar-action-retry = Reintentar
+abuse-report-messagebar-action-cancel = Cancelar
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-damage-reason-v2 = Ha dañado mi computadora o mis datos se vieron comprometidos
+abuse-report-damage-example = Ejemplo: instaló malware o robó información
+abuse-report-spam-reason-v2 = Contiene spam o inserta publicidad no solicitada
+abuse-report-spam-example = Ejemplo: inserta publicidad en páginas web
+abuse-report-settings-reason-v2 = Cambió mi motor de búsqueda, página de inicio o nueva pestaña sin informarme o preguntarme
+abuse-report-settings-suggestions = Antes de informar sobre la extensión, intenta cambiar la configuración:
+abuse-report-settings-suggestions-search = Cambia la configuración predeterminada de las búsquedas
+abuse-report-settings-suggestions-homepage = Cambia tu página de inicio y de nueva pestaña
+abuse-report-deceptive-reason-v2 = Simula ser algo que no es
+abuse-report-deceptive-example = Ejemplo: descripción o imágenes erróneas
+abuse-report-broken-reason-extension-v2 = No funciona, daño sitios web o ralentiza { -brand-product-name }
+abuse-report-broken-reason-sitepermission-v2 = No funciona, daño los sitios web o ralentiza { -brand-product-name }
+abuse-report-broken-reason-theme-v2 = No funciona o interrumpe la visualización del navegador
+abuse-report-broken-example = Ejemplo: la función es lenta, difícil de usar o no funciona; ciertas partes de los sitios web no se cargan o se muestran de forma incorrecta
+abuse-report-broken-suggestions-extension = Parece que has identificado un problema. Además de enviar un informe por aquí, lo mejor para conseguir que se resuelva un problema de funcionalidad es contactar con el desarrollador de la extensión. <a data-l10n-name="support-link">Accede al sitio web de la extensión</a> para conseguir los datos de contacto del desarrollador.
+abuse-report-broken-suggestions-sitepermission =
+ Parece que has identificado un error. Además de enviar un informe aquí, la mejor forma
+ para resolver un problema de funcionalidad es ponerse en contacto con el desarrollador del sitio web.
+ <a data-l10n-name="support-link"> Visita el sitio web </a> para obtener la información del desarrollador.
+abuse-report-broken-suggestions-theme = Parece que has identificado un problema. Además de enviar un informe por aquí, lo mejor para conseguir que se resuelva un problema de funcionalidad es contactar con el desarrollador del tema. <a data-l10n-name="support-link">Accede al sitio web del tema</a> para conseguir los datos de contacto del desarrollador.
+abuse-report-policy-reason-v2 = Se muestra contenido de odio, violencia o ilegal
+abuse-report-policy-suggestions =
+ Nota: Los problemas relacionados con derechos de autor y marcas registradas deben informarse en un proceso separado.
+ <a data-l10n-name="report-infringement-link">Usa estas instrucciones</a> para
+ informar del problema
+abuse-report-unwanted-reason-v2 = Nunca lo quise y no sé cómo deshacerme de él
+abuse-report-unwanted-example = Ejemplo: una aplicación la instaló sin mi consentimiento
+abuse-report-other-reason = Algo más
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/certviewer.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..89afa0aa38
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Certificado
+
+## Error messages
+
+certificate-viewer-error-message = No pudimos encontrar la información del certificado o puede que el certificado esté dañado. Inténtalo de nuevo.
+certificate-viewer-error-title = Algo salió mal.
+
+## Certificate information labels
+
+certificate-viewer-algorithm = Algoritmo
+certificate-viewer-certificate-authority = Autoridad de certificación
+certificate-viewer-cipher-suite = Suite de cifrado
+certificate-viewer-common-name = Nombre común
+certificate-viewer-email-address = Dirección de correo electrónico
+# Variables:
+# $firstCertName (String) - Common Name for the displayed certificate
+certificate-viewer-tab-title = Certificado para { $firstCertName }
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-country = País
+certificate-viewer-country = País
+certificate-viewer-curve = Curva
+certificate-viewer-distribution-point = Punto de distribución
+certificate-viewer-dns-name = Nombre de DNS
+certificate-viewer-ip-address = Dirección IP
+certificate-viewer-other-name = Otro nombre
+certificate-viewer-exponent = Exponente
+certificate-viewer-id = ID
+certificate-viewer-key-exchange-group = Grupo de intercambio de claves
+certificate-viewer-key-id = ID de clave
+certificate-viewer-key-size = Tamaño de clave
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-locality = Localidad de la empresa
+certificate-viewer-locality = Localidad
+certificate-viewer-location = Ubicación
+certificate-viewer-logid = ID de registro
+certificate-viewer-method = Método
+certificate-viewer-modulus = Módulo
+certificate-viewer-name = Nombre
+certificate-viewer-not-after = No después
+certificate-viewer-not-before = No antes
+certificate-viewer-organization = Organización
+certificate-viewer-organizational-unit = Unidad organizacional
+certificate-viewer-policy = Políticas
+certificate-viewer-protocol = Protocolo
+certificate-viewer-public-value = Valor público
+certificate-viewer-purposes = Propósitos
+certificate-viewer-qualifier = Calificador
+certificate-viewer-qualifiers = Calificadores
+certificate-viewer-required = Requerido
+certificate-viewer-unsupported = &lt;no compatible&gt;
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-state-province = Incluir Estado/Provincia
+certificate-viewer-state-province = Estado/Provincia
+certificate-viewer-sha-1 = SHA-1
+certificate-viewer-sha-256 = SHA-256
+certificate-viewer-serial-number = Número de serie
+certificate-viewer-signature-algorithm = Algoritmo de firma
+certificate-viewer-signature-scheme = Esquema de firma
+certificate-viewer-timestamp = Marca de tiempo
+certificate-viewer-value = Valor
+certificate-viewer-version = Versión
+certificate-viewer-business-category = Categoría de negocio
+certificate-viewer-subject-name = Nombre del interesado
+certificate-viewer-issuer-name = Nombre del emisor
+certificate-viewer-validity = Validez
+certificate-viewer-subject-alt-names = Nombres alternativos del sujeto
+certificate-viewer-public-key-info = Información de clave pública
+certificate-viewer-miscellaneous = Misceláneo
+certificate-viewer-fingerprints = Huellas digitales
+certificate-viewer-basic-constraints = Restricciones básicas
+certificate-viewer-key-usages = Usos de la clave
+certificate-viewer-extended-key-usages = Usos extendidos de la clave
+certificate-viewer-ocsp-stapling = Sello de tiempo OCSP
+certificate-viewer-subject-key-id = ID de clave de asunto
+certificate-viewer-authority-key-id = ID de clave de la autoridad
+certificate-viewer-authority-info-aia = Información de la autoridad (AIA)
+certificate-viewer-certificate-policies = Políticas de certificado
+certificate-viewer-embedded-scts = SCT integrados
+certificate-viewer-crl-endpoints = Extremos 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 = Descargar
+# 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] Sí
+ *[false] No
+ }
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+certificate-viewer-download-pem = PEM (cert)
+ .download = { $fileName }.pem
+certificate-viewer-download-pem-chain = PEM (cadena)
+ .download = { $fileName }-chain.pem
+
+# The title attribute for Critical Extension icon
+certificate-viewer-critical-extension =
+ .title = Esta extensión ha sido marcado como crítica, lo que significa que los clientes deben rechazar el certificado si no lo entienden.
+certificate-viewer-export = Exportar
+ .download = { $fileName }.pem
+
+##
+
+# Label for a tab where we haven't found a better label:
+certificate-viewer-unknown-group-label = (desconocido)
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-mine = Tus certificados
+certificate-viewer-tab-people = Personas
+certificate-viewer-tab-servers = Servidores
+certificate-viewer-tab-ca = Autoridades
+certificate-viewer-tab-unkonwn = Desconocido
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/config.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/config.ftl
new file mode 100644
index 0000000000..2ce7eb3bc4
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Procede con precaución
+about-config-intro-warning-text = Cambiar las preferencias de configuración avanzada puede afectar el rendimiento o la seguridad de { -brand-short-name }.
+about-config-intro-warning-checkbox = Avisarme cuando intento acceder a estas preferencias
+about-config-intro-warning-button = Aceptar el riesgo y continuar
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = Cambiar estas preferencias puede afectar el rendimiento o la seguridad de { -brand-short-name }.
+
+about-config-page-title = Preferencias avanzadas
+
+about-config-search-input1 =
+ .placeholder = Nombre de preferencia de búsqueda
+about-config-show-all = Mostrar todo
+
+about-config-show-only-modified = Mostrar solo las preferencias modificadas
+
+about-config-pref-add-button =
+ .title = Agregar
+about-config-pref-toggle-button =
+ .title = Alternar
+about-config-pref-edit-button =
+ .title = Modificar
+about-config-pref-save-button =
+ .title = Guardar
+about-config-pref-reset-button =
+ .title = Restablecer
+about-config-pref-delete-button =
+ .title = Eliminar
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = Booleano
+about-config-pref-add-type-number = Número
+about-config-pref-add-type-string = Cadena
+
+## 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 } (predeterminado)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value } (personalizado)
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/url-classifier.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..8a236a3ff5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Información sobre el clasificador de URL
+url-classifier-search-title = Buscar
+url-classifier-search-result-title = Resultados
+url-classifier-search-result-uri = URI: { $uri }
+url-classifier-search-result-list = Lista de tablas: { $list }
+url-classifier-search-input = URL
+url-classifier-search-error-invalid-url = URL inválida
+url-classifier-search-error-no-features = Ninguna característica seleccionada
+url-classifier-search-btn = Empezar búsqueda
+url-classifier-search-features = Características
+url-classifier-search-listType = Tipo de lista
+url-classifier-provider-title = Provedor
+url-classifier-provider = Provedor
+url-classifier-provider-last-update-time = Última actualización
+url-classifier-provider-next-update-time = Próxima actualización
+url-classifier-provider-back-off-time = Tiempo de retiro
+url-classifier-provider-last-update-status = Estado de la última actualización
+url-classifier-provider-update-btn = Actualización
+url-classifier-cache-title = Caché
+url-classifier-cache-refresh-btn = Actualizar
+url-classifier-cache-clear-btn = Borrar
+url-classifier-cache-table-name = Nombre de la tabla
+url-classifier-cache-ncache-entries = Número de entradas caché negativas
+url-classifier-cache-pcache-entries = Número de entradas caché positivas
+url-classifier-cache-show-entries = Mostrar entradas
+url-classifier-cache-entries = Entradas caché
+url-classifier-cache-prefix = Prefjio
+url-classifier-cache-ncache-expiry = Vencimiento del caché negativo
+url-classifier-cache-fullhash = Hash completo
+url-classifier-cache-pcache-expiry = Vencimiento de caché positivo
+url-classifier-debug-title = Depurador
+url-classifier-debug-module-btn = Configurar módulos de registro
+url-classifier-debug-file-btn = Configurar archivo de registro
+url-classifier-debug-js-log-chk = Configurar registro JS
+url-classifier-debug-sb-modules = Módulos de registro de navegación segura
+url-classifier-debug-modules = Módulos de registro actual
+url-classifier-debug-sbjs-modules = REgistro JS de navegación segura
+url-classifier-debug-file = Archivo de registro actual
+
+url-classifier-trigger-update = Producir una actualización
+url-classifier-not-available = Non disponible
+url-classifier-disable-sbjs-log = Deshabilitar el registro JS de navegación segura
+url-classifier-enable-sbjs-log = Habilitar el registro JS de navegación segura
+url-classifier-enabled = Habilitado
+url-classifier-disabled = Deshabilitado
+url-classifier-updating = actualizando
+url-classifier-cannot-update = no puede actualizarse
+url-classifier-success = éxito
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = error de actualización ({ $error })
+url-classifier-download-error = error de descarga ({ $error })
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/branding/accounts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..980dcec24c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/branding/accounts.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Cuenta de Firefox
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/branding/brandings.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..b70f6960b3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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
+
+# “Suggest” can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Firefox Suggest
+
+# ”Home" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-home-brand-name = Inicio de Firefox
+
+# View" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefoxview-brand-name = Vista de Firefox
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/contentanalysis/contentanalysis.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/contentanalysis/contentanalysis.ftl
@@ -0,0 +1,3 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/downloads/downloadUI.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..66f75a5336
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = ¿Realmente quieres cancelar todas las descargas?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] Si sales ahora se cancelará una descarga. ¿Realmente quieres salir?
+ *[other] Si sales ahora se cancelarán { $downloadsCount } descargas. ¿Realmente quieres salir?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] Si cierras ahora se cancelará una descarga. ¿Realmente quieres salir?
+ *[other] Si cierras ahora se cancelarán { $downloadsCount } descargas. ¿Realmente quieres salir?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] No cerrar
+ *[other] No salir
+ }
+
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] Si cambias al modo sin conexión ahora, se cancelará una descarga. ¿Realmente quieres hacerlo?
+ *[other] Si cambias al modo sin conexión ahora, se cancelarán { $downloadsCount } descargas. ¿Realmente quieres hacerlo?
+ }
+download-ui-dont-go-offline-button = Permanecer conectado
+
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] Si cierras todas las ventanas de navegación privada ahora, se cancelará 1 descarga. ¿Estás seguro de que quieres salir de la navegación privada?
+ *[other] Si cierras todas las ventanas de navegación privada ahora, se cancelarán { $downloadsCount } descargas. ¿Estás seguro de que quieres salir de la navegación privada?
+ }
+download-ui-dont-leave-private-browsing-button = Permanecer en el modo de Navegación Privada
+
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] Cancelar una descarga
+ *[other] Cancelar { $downloadsCount } descargas
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = ¿Abrir archivos ejecutables?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = "{ $executable }" es un archivo ejecutable. Si el orígen de los archivos ejecutables no es de confianza, éstos puden contener virus u otros códigos maliciosos que podrían dañar tu computadora. Ten cuidado al abrir este archivo. ¿Realmente deseas ejecutar "{ $executable }"?
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/downloads/downloadUtils.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..9aaabf5bf5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/downloads/downloadUtils.ftl
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Variables:
+## $timeValue (number) - Number of units of time
+
+# Short form for seconds
+download-utils-short-seconds =
+ { $timeValue ->
+ [one] s
+ *[other] s
+ }
+# Short form for minutes
+download-utils-short-minutes =
+ { $timeValue ->
+ [one] m
+ *[other] m
+ }
+# Short form for hours
+download-utils-short-hours =
+ { $timeValue ->
+ [one] h
+ *[other] h
+ }
+# Short form for days
+download-utils-short-days =
+ { $timeValue ->
+ [one] d
+ *[other] d
+ }
+
+##
+
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB (2.2 MB/sec)
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+# $rate (String): rate number.
+# $unit (String): rate unit.
+download-utils-status = { $timeLeft } — { $transfer } ({ $rate } { $unit }/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 } (Muy rápido)
+# — is the "em dash" (long dash)
+# example: 4 minutes left — 1.1 of 11.1 GB
+# Variables:
+# $timeLeft (String): time left.
+# $transfer (String): transfer progress.
+download-utils-status-no-rate = { $timeLeft } — { $transfer }
+
+download-utils-bytes = bytes
+download-utils-kilobyte = KB
+download-utils-megabyte = MB
+download-utils-gigabyte = GB
+
+# example: 1.1 of 333 MB
+# Variables:
+# $progress (String): progress number.
+# $total (String): total number.
+# $totalUnits (String): total unit.
+download-utils-transfer-same-units = { $progress } de { $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 } de { $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 = queda { $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 = quedan { $time1 } { $time2 }
+download-utils-time-few-seconds = Quedan pocos segundos
+download-utils-time-unknown = Tiempo restante desconocido
+
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = { $scheme } recurso
+# 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 = archivo local
+
+# Displayed time for files finished yesterday
+download-utils-yesterday = Ayer
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/featuregates/features.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..69765dadb1
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Habilita la compatibilidad con la función experimental de diseño de mampostería CSS. Consulta la <a data-l10n-name="explainer">explicación</a> para obtener una descripción de alto nivel de la funcionalidad. Para enviar comentarios, comenta en <a data-l10n-name="w3c-issue">este problema de GitHub</a> o en <a data-l10n-name="bug">este error</a>.
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-gpu2 =
+ .label = Web API: WebGPU
+experimental-features-web-gpu-description3 = La <a data-l10n-name="wikipedia-webgpu">API WebGPU</a> proporciona soporte de bajo nivel para realizar computación y renderizado de gráficos usando la <a data-l10n-name="wikipedia-gpu">Unidad de procesamiento de gráficos (GPU)</a> del dispositivo o computador del usuario. La primera versión de la <a data-l10n-name="spec">especificación</a> está próxima a ser finalizada. Consulta el <a data-l10n-name="bugzilla">bug 1616739</a> para obtener más detalles.
+
+# 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 = Medios: JPEG XL
+experimental-features-media-jxl-description = Con esta función activada, { -brand-short-name } admite el formato JPEG XL (JXL). Este es un formato de archivo de imagen mejorado que admite la transición sin perdida de archivos JPEG tradicionales. Consulta el <a data-l10n-name="bugzilla">bug 1539075</a> para obtener más detalles.
+
+experimental-features-devtools-compatibility-panel =
+ .label = Herramientas de desarrollado: Panel de compatibilidad
+experimental-features-devtools-compatibility-panel-description = Un panel lateral para el Inspector de página que muestra información detallando el estado de compatibilidad entre navegadores para tu aplicación. Consulta el <a data-l10n-name="bugzilla">bug 1584464</a> para obtener más detalles.
+
+
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-none-requires-secure2 =
+ .label = Cookies: SameSite=None requiere un atributo seguro
+experimental-features-cookie-samesite-none-requires-secure2-description = Las cookies con el atributo "SameSite=None" requieren el atributo seguro. Esta función requiere "Cookies: SameSite=Lax" por defecto.
+
+# 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 = caché de inicio de about:home
+experimental-features-abouthome-startup-cache-description = Caché para el documento inicial about:home que se carga de manera predeterminada al inicio. El propósito del caché es mejorar el rendimiento de inicio.
+
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support =
+ .label = Herramientas de desarrollado: Depuración de Service Worker
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support-description = Habilita el soporte experimental para Service Workers en el panel del Depurador. Esta función puede ralentizar las Herramientas de desarrolladores y aumentar el consumo de memoria.
+
+# WebRTC global mute toggle controls
+experimental-features-webrtc-global-mute-toggles =
+ .label = Alternar sonido WebRTC globalmente
+experimental-features-webrtc-global-mute-toggles-description = Agregar controles al indicador de intercambio global WebRTC que permita a los usuarios interrumpir globalmente la compartición de tu micrófono y cámara.
+
+# JS JIT Warp project
+experimental-features-js-warp =
+ .label = JavaScript JIT: Warp
+experimental-features-js-warp-description = Activar Warp, un proyecto para mejorar el rendimiento y el uso de la memoria de JavaScript.
+
+# Search during IME
+experimental-features-ime-search =
+ .label = Barra de direcciones: mostrar los resultados durante la composición IME
+experimental-features-ime-search-description = Una IME (Input Method Editor) es una herramienta que te permite escribir símbolos complejos, como los que se usan en los idiomas escritos del Índico o Asia oriental, utilizando un teclado estándar. Activar este experimento mantendrá abierto el panel de la barra de direcciones, mostrando resultados de búsqueda y sugerencias, mientras se usa IME para escribir texto. Ten en cuenta que el IME puede mostrar un panel que cubre los resultados de la barra de direcciones, por lo que se recomienda el uso de esta preferencia solo si el IME no usa este tipo de panel.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/formautofill/formAutofill.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..8db8d29011
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/formautofill/formAutofill.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## OS Prompt Dialog
+
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = Opciones de llenado automático de formularios
+autofill-options-link-osx = Preferencias de llenado automático de formularios
+
+## The credit card capture doorhanger
+
+
+# Used on the doorhanger when an credit card change is detected.
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/alert.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..2baa704f17
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/alert.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/.
+
+alert-close =
+ .tooltiptext = Close this notification
+alert-settings-title =
+ .tooltiptext = Configuración
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/appPicker.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..6a4c1e60b3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Examinar…
+app-picker-send-msg =
+ .value = Enviar este elemento a:
+app-picker-no-app-found =
+ .value = No se encontraron aplicaciones para este tipo de archivo.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/browser-utils.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..a227fd4093
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = (datos)
+
+# Used for extension URLs
+# Variables:
+# $extension (string) - Name of the extension that generated the URL
+browser-utils-url-extension = Extensión ({ $extension })
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/commonDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..4c9150ee8e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/commonDialog.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+common-dialog-title-null = Esta página dice
+common-dialog-title-system = { -brand-short-name }
+# Title displayed when the origin of a web dialog is unknown.
+common-dialog-title-unknown = Desconocido
+
+common-dialog-username =
+ .value = Nombre de usuario
+common-dialog-password =
+ .value = Contraseña
+
+common-dialog-copy-cmd =
+ .label = Copiar
+ .accesskey = C
+common-dialog-select-all-cmd =
+ .label = Seleccionar todo
+ .accesskey = S
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/contextual-identity.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..9eacb1f766
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/contextual-identity.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Names of the default containers in Firefox.
+## See https://support.mozilla.org/kb/how-use-firefox-containers
+
+user-context-personal =
+ .label = Personal
+ .accesskey = P
+user-context-work =
+ .label = Trabajo
+ .accesskey = W
+user-context-banking =
+ .label = Banca
+ .accesskey = B
+user-context-shopping =
+ .label = Comprar
+ .accesskey = S
+
+##
+
+user-context-none =
+ .label = Sin contenedor
+ .accesskey = N
+user-context-manage-containers =
+ .label = Gestionar contenedores
+ .accesskey = O
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/cookieBannerHandling.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/toolkit/global/createProfileWizard.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..598ba1c79e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Asistente para la creación de perfiles
+ .style = min-width: 45em; min-height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] Introducción
+ *[other] Bienvenido a { create-profile-window2.title }
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } guarda información sobre tu configuración y preferencias en tu perfil personal.
+
+profile-creation-explanation-2 = Si compartes esta copia de { -brand-short-name } con otros usuarios, puedes usar perfiles para mantener separada la información de cada usuario. Para ello, cada usuario debe crear su propio perfil.
+
+profile-creation-explanation-3 = Si eres el único en usar esta copia de { -brand-short-name }, debes tener al menos un perfil. Si lo deseas, puedes crear múltiples perfiles para guardar diferentes configuraciones y preferencias. Por ejemplo, un perfil para el uso personal y otro para el trabajo.
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] Da clic en Continuar para comenzar a crear tu perfil.
+ *[other] Para comenzar a crear tu perfil, haz clic en Siguiente.
+ }
+
+## Second wizard page
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] Conclusión
+ *[other] Completando el { create-profile-window2.title }
+ }
+
+profile-creation-intro = Si creas varios perfiles puedes distinguirlos por su nombre. Puedes asignarle este nombre o ingresar uno nuevo.
+
+profile-prompt = Ingresa el nombre del nuevo perfil:
+ .accesskey = I
+
+profile-default-name =
+ .value = Usuario predeterminado
+
+profile-directory-explanation = Tu configuración de usuario, preferencias y otros datos relativos al usuario se guardarán en:
+
+create-profile-choose-folder =
+ .label = Elegir carpeta…
+ .accesskey = c
+
+create-profile-use-default =
+ .label = Usar carpeta predeterminada
+ .accesskey = U
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/cspErrors.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..e02becad96
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 política carece de una directiva '{ $directive }' necesaria
+
+# 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 directiva ‘{ $directive }’ contiene una palabra clave { $keyword } prohibida
+
+# 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 directiva '{ $directive }' contiene una fuente de protocolo { $scheme } prohibida
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-missing-host = { $scheme }: el protocolo requiere un servidor en las directivas '{ $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 }' debe incluir la fuente { $source }
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-host-wildcard = { $scheme }: fuentes extra en directivas '{ $directive }' deben incluir al menos un subdominio no genérico (por ejemplo: *.example.com en lugar de *.com)
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/datepicker.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..630838caf9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Elegir una fecha
+date-spinner-label =
+ .aria-label = Elegir un mes y un año
+
+## Text of the clear button
+
+date-picker-clear-button = Limpiar
+
+## 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 = Mes anterior
+date-picker-next =
+ .aria-label = Próximo mes
+
+## 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 = Mes
+date-spinner-year =
+ .aria-label = Año
+
+## 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 = Mes anterior
+date-spinner-month-next =
+ .aria-label = Próximo mes
+date-spinner-year-previous =
+ .aria-label = Año anterior
+date-spinner-year-next =
+ .aria-label = El próximo año
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/datetimebox.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..1a170e9ec9
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = dd
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = Año
+datetime-month =
+ .aria-label = Mes
+datetime-day =
+ .aria-label = Día
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = Horas
+datetime-minute =
+ .aria-label = Minutos
+datetime-second =
+ .aria-label = Segundos
+datetime-millisecond =
+ .aria-label = Milisegundos
+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 = Calendario
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/extensionPermissions.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..12e0b86f6e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Leer y modificar marcadores
+webext-perms-description-browserSettings = Leer y modificar configuración del navegador
+webext-perms-description-browsingData = Borrar historial de navegación reciente, cookies y datos relacionados
+webext-perms-description-clipboardRead = Obtener datos desde el portapapeles
+webext-perms-description-clipboardWrite = Ingresar datos desde el portapapeles
+webext-perms-description-declarativeNetRequest = Bloquear contenido en cualquier página
+webext-perms-description-declarativeNetRequestFeedback = Lee tu historial de navegación
+webext-perms-description-devtools = Extiende las herramientas de desarrollador para acceder a tus datos en las pestañas abiertas
+webext-perms-description-downloads = Descargar archivos y leer y modificar el historial de descargas del navegador
+webext-perms-description-downloads-open = Abrir archivos descargados a tu computadora
+webext-perms-description-find = Leer el texto de todas las pestañas abiertas
+webext-perms-description-geolocation = Acceder a tu ubicación
+webext-perms-description-history = Acceder al historial de navegación
+webext-perms-description-management = Controlar el uso de la extensión y administrar temas
+webext-perms-description-nativeMessaging = Intercambiar mensajes con programas distintos a { -brand-short-name }
+webext-perms-description-notifications = Mostrarte notificaciones
+webext-perms-description-pkcs11 = Proporciona servicios autenticación criptográfica
+webext-perms-description-privacy = Leer y modificar la configuración de privacidad
+webext-perms-description-proxy = Controlar configuración del proxy del navegador
+webext-perms-description-sessions = Acceder a pestañas recientemente cerradas del navegador
+webext-perms-description-tabs = Acceder a pestañas del navegador
+webext-perms-description-tabHide = Ocultar y mostrar pestañas de navegación
+webext-perms-description-topSites = Acceder el historial de navegación
+webext-perms-description-webNavigation = Acceder a la actividad del navegador durante la navegación
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/extensions.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..4d741ae70a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = ¿Agregar { $extension }?
+webext-perms-header-with-perms = ¿Añadir { $extension }? Este complemento tendrá permiso para:
+webext-perms-header-unsigned = ¿Añadir { $extension }? Este complemento no está verificado. Los complementos maliciosos pueden robar tu información privada y comprometer tu equipo. Instala este complementos sólo si confías en la fuente
+webext-perms-header-unsigned-with-perms = ¿Añadir { $extension }? Este complemento no esta verificado. Los complementos maliciosos pueden robar tu información privada y comprometer tu equipo. Solamente instala este complemento si confías en la fuente. Este complemento tendrá permiso para:
+webext-perms-sideload-header = { $extension } agregado
+webext-perms-optional-perms-header = { $extension } requiere permisos adicionales.
+
+##
+
+webext-perms-add =
+ .label = Añadir
+ .accesskey = A
+webext-perms-cancel =
+ .label = Cancelar
+ .accesskey = C
+
+webext-perms-sideload-text = Otro programa en tu computadora ha instalado un complemento que podría afectar a tu navegador. Por favor, revisa las solicitudes de permisos de este complemento y selecciona Habilitar o Cancelar (para dejarlo deshabilitado).
+webext-perms-sideload-text-no-perms = Otro programa en tu computadora ha instalado un complemento que podría afectar a tu navegador. Por favor, seleccionar Habilitar o Cancelar (para dejarlo deshabilitado).
+webext-perms-sideload-enable =
+ .label = Habilitar
+ .accesskey = E
+webext-perms-sideload-cancel =
+ .label = Cancelar
+ .accesskey = C
+
+# Variables:
+# $extension (String): replaced with the localized name of the extension.
+webext-perms-update-text = Se actualizo { $extension }. Tienes que aprobar nuevos permisos antes de que la versión actualizada se instale. Seleccionar “Cancelar” mantendrá la versión actual. Este complemento tendrá permisos para:
+webext-perms-update-accept =
+ .label = Actualizar
+ .accesskey = U
+
+webext-perms-optional-perms-list-intro = Quiere:
+webext-perms-optional-perms-allow =
+ .label = Permitir
+ .accesskey = A
+webext-perms-optional-perms-deny =
+ .label = Denegar
+ .accesskey = D
+
+webext-perms-host-description-all-urls = Acceder a tus datos para todos los sitios 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 = Acceder a tus datos para los sitios del dominio { $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] Accede a tus datos en { $domainCount } otro dominio
+ *[other] Accede a tus datos en { $domainCount } otros dominios
+ }
+# 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 = Acceder a tus datos para { $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] Acceder a tus datos en { $domainCount } otro sitio
+ *[other] Acceder a tus datos en { $domainCount } otros sitios
+ }
+
+## 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 = Este complemento le da a { $hostname } acceso a tus dispositivos MIDI.
+webext-site-perms-header-with-gated-perms-midi-sysex = Este complemento le da a { $hostname } acceso a tus dispositivos MIDI (con soporte SysEx).
+
+##
+
+# 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 =
+ Por lo general, se trata de dispositivos como sintetizadores de audio, pero también pueden estar integrados en tu computadora.
+
+ Normalmente, los sitios web no pueden acceder a dispositivos MIDI. El uso inadecuado podría causar daños o comprometer la seguridad.
+
+## 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 = ¿Agregar { $extension }? Esta extensión otorga las siguientes capacidades a { $hostname }:
+webext-site-perms-header-unsigned-with-perms = ¿Agregar { $extension }? Esta extensión no está verificada. Las extensiones maliciosas pueden robar tu información privada o comprometer tu computadora. Instala este complemento sólo si confías en la fuente. Esta extensión otorga las siguientes capacidades a { $hostname }:
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
+webext-site-perms-midi = Acceder a dispositivos MIDI
+webext-site-perms-midi-sysex = Acceder a dispositivos MIDI con soporte para SysEx
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/handlerDialog.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..22d981fb8a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/handlerDialog.ftl
@@ -0,0 +1,108 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Permission Dialog
+## Variables:
+## $host - the hostname that is initiating the request
+## $scheme - the type of link that's being opened.
+## $appName - Name of the application that will be opened.
+
+
+## Permission Dialog
+## Variables:
+## $host - the hostname that is initiating the request
+## $scheme - the type of link that's being opened.
+## $appName - Name of the application that will be opened.
+## $extension - Name of extension that initiated the request
+
+## 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 = ¿Permitir que este sitio abra el enlace { $scheme }?
+
+permission-dialog-description-file = ¿Permitir que este archivo abra el enlace { $scheme }?
+
+permission-dialog-description-host = ¿Permitir que { $host } abra el enlace { $scheme }?
+
+permission-dialog-description-extension = ¿Permitir que la extensión { $extension } abra el enlace { $scheme }?
+
+permission-dialog-description-app = ¿Permitir que este sitio abra el enlace { $scheme } con { $appName }?
+
+permission-dialog-description-host-app = ¿Permitir que { $host } abra el enlace { $scheme } con { $appName }?
+
+permission-dialog-description-file-app = ¿Permitir que este archivo abra el enlace { $scheme } con { $appName }?
+
+permission-dialog-description-extension-app = ¿Permitir qué la extensión { $extension } abra el enlace { $scheme } con { $appName }?
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+
+## 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 = Siempre permitir a <strong>{ $host }</strong> abrir enlaces <strong>{ $scheme }</strong>
+
+permission-dialog-remember-file = Siempre permitir que este archivo abra enlaces <strong>{ $scheme }</strong>
+
+permission-dialog-remember-extension = Siempre permitir que esta extensión abra enlaces <strong>{ $scheme }</strong>
+
+##
+
+permission-dialog-btn-open-link =
+ .label = Abrir enlace
+ .accessKey = O
+
+permission-dialog-btn-choose-app =
+ .label = Elegir aplicación
+ .accessKey = A
+
+permission-dialog-unset-description = Tendrás que elegir una aplicación.
+
+permission-dialog-set-change-app-link = Elija una aplicación diferente.
+
+## Chooser dialog
+## Variables:
+## $scheme - the type of link that's being opened.
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - The type of link that's being opened.
+
+chooser-window =
+ .title = Elegir aplicación
+ .style = min-width: 26em; min-height: 26em;
+
+chooser-dialog =
+ .buttonlabelaccept = Abrir enlace
+ .buttonaccesskeyaccept = O
+
+chooser-dialog-description = Elige una aplicación para abrir el enlace { $scheme }.
+
+# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags).
+chooser-dialog-remember = Utilizar siempre esta aplicación para abrir enlaces <strong>{ $scheme }</strong>
+
+chooser-dialog-remember-extra =
+ { PLATFORM() ->
+ [windows] Esto se puede cambiar en las opciones de { -brand-short-name }.
+ *[other] Esto se puede cambiar en las preferencias de { -brand-short-name }.
+ }
+
+choose-other-app-description = Elegir otra aplicación
+choose-app-btn =
+ .label = Elegir…
+ .accessKey = E
+choose-other-app-window-title = Otra aplicación…
+
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+choose-dialog-privatebrowsing-disabled = Desactivado en ventanas privadas
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/htmlForm.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..80bb168a17
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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] y uno más
+ *[other] y { $fileCount } más
+ }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozCard.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/toolkit/global/mozFiveStar.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..f9f2dc0357
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Calificación de { NUMBER($rating, maximumFractionDigits: 1) } sobre 5
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozMessageBar.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..ad0059041e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozMessageBar.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/.
+
+moz-message-bar-close-button =
+ .aria-label = Cerrar
+ .title = Cerrar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozSupportLink.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..f788d8ff90
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Saber más
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/notification.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..a733b2d6e7
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Saber más
+
+# 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 = Cerrar
+ .title = Cerrar
+
+close-notification-message =
+ .tooltiptext = Cerrar este mensaje
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/popupnotification.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..679d3eea81
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Saber más
+popup-notification-more-actions-button =
+ .aria-label = Más acciones
+popup-notification-default-button =
+ .label = ¡Está bien!
+ .accesskey = O
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/processTypes.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..7ccf94aebe
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Contenido web
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = Acerca de - privilegiado
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = Contenido de Mozilla - privilegiado
+
+process-type-extension = Extensión
+
+# process used to open file:// URLs
+process-type-file = Archivo local
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = Contenido web aislado
+
+# process used to isolate a ServiceWorker to improve
+# performance
+process-type-webserviceworker = Service Worker aislado
+
+# process preallocated; may change to other types
+process-type-prealloc = Preasignado
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+process-type-default = Principal
+process-type-tab = Pestaña
+
+# 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 = Actor IPC en espacio aislado
+
+##
+## Other
+##
+
+# fallback
+process-type-unknown = Desconocido
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..24aeea08a5
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiledowngrade-window2 =
+ .title = Has ejecutado una versión antigua de { -brand-product-name }
+ .style = min-width: 490px;
+
+profiledowngrade-window-create =
+ .label = Crear nuevo perfil
+
+profiledowngrade-sync = Usar una versión antigua de { -brand-product-name } puede corromper los marcadores y el historial de navegación ya guardados en un perfil de { -brand-product-name } existente. Para proteger tu información, crea un nuevo perfil para esta instalación de { -brand-short-name }. Siempre puedes conectarte a una { -fxaccount-brand-name } para sincronizar tus marcadores e historial de navegación entre perfiles.
+profiledowngrade-nosync = Usar una versión antigua de { -brand-product-name } puede corromper los marcadores y el historial de navegación ya guardados en un perfil de { -brand-product-name } existente. Para proteger tu información, crea un nuevo perfil para esta instalación de { -brand-short-name }.
+
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] Salir
+ *[other] Salir
+ }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/profileSelection.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..c59ed286f6
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 } - Selecciona un perfil de usuario
+
+profile-selection-button-accept =
+ .label = Iniciar { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = Salir
+
+profile-selection-new-button =
+ .label = Crear perfil…
+ .accesskey = C
+
+profile-selection-rename-button =
+ .label = Renombrar perfil…
+ .accesskey = R
+
+profile-selection-delete-button =
+ .label = Eliminar perfil…
+ .accesskey = E
+
+profile-selection-conflict-message = Otra copia de { -brand-product-name } ha hecho cambios a los perfiles. Debes reiniciar { -brand-short-name } antes de hacer más cambios.
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } guarda información sobre tu configuración, preferencias y otros elementos en tu perfil de usuario.
+
+profile-manager-work-offline =
+ .label = Trabajar sin conexión
+ .accesskey = T
+
+profile-manager-use-selected =
+ .label = Usar el perfil seleccionado sin preguntar en cada inicio
+ .accesskey = U
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/resetProfile.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..9daf1e3dcd
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = ¿Refrescar { -brand-short-name } a sus ajustes predeterminados?
+refresh-profile-dialog-button =
+ .label = Restablecer { -brand-short-name }
+refresh-profile-dialog-description = Empieza de cero para solucionar problemas de rendimiento. Esto eliminara tus complementos y personalizaciones. No perderás información esencial como marcadores y contraseñas.
+refresh-profile = Dar un repaso a { -brand-short-name }
+refresh-profile-button = Restablecer { -brand-short-name }…
+refresh-profile-learn-more = Aprender más
+
+refresh-profile-progress =
+ .title = Restablecer { -brand-short-name }
+refresh-profile-progress-description = Casi listo…
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/resistFingerPrinting.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..dc0bac8627
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Cambiar la configuración del idioma al inglés hará que sea más difícil identificarlo y mejorar tu privacidad. ¿Deseas solicitar versiones en inglés de páginas web?
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/run-from-dmg.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..ba5df265fe
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = ¿Terminar de instalar { -brand-short-name }?
+prompt-to-install-message = Completa esta instalación en un solo paso para ayudar a mantener { -brand-short-name } actualizado y prevenir la pérdida de datos. { -brand-short-name } se agregará a tu carpeta de aplicaciones y Dock.
+prompt-to-install-yes-button = Instalar
+prompt-to-install-no-button = No instalar
+
+## Strings for a dialog that opens if the installation failed.
+
+install-failed-title = Ha fallado la instalación de { -brand-short-name }.
+install-failed-message = Ha fallado la instalación de { -brand-short-name } pero seguirá en ejecución.
+
+## 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 = ¿Abrir la aplicación { -brand-short-name } existente?
+prompt-to-launch-existing-app-message = Ya tienes { -brand-short-name } instalado. Usa la aplicación instalada para mantenerte al día y evitar la pérdida de datos.
+prompt-to-launch-existing-app-yes-button = Abrir existente
+prompt-to-launch-existing-app-no-button = No gracias
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/tabprompts.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..5adc830d3e
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Nombre de usuario:
+tabmodalprompt-password =
+ .value = Contraseña:
+
+tabmodalprompt-ok-button =
+ .label = Aceptar
+tabmodalprompt-cancel-button =
+ .label = Cancelar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/textActions.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..d5951c8215
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/textActions.ftl
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+text-action-undo =
+ .label = Deshacer
+ .accesskey = D
+
+text-action-undo-shortcut =
+ .key = Z
+
+text-action-redo =
+ .label = Rehacer
+ .accesskey = R
+
+text-action-redo-shortcut =
+ .key = Y
+
+text-action-cut =
+ .label = Cortar
+ .accesskey = r
+
+text-action-cut-shortcut =
+ .key = X
+
+text-action-copy =
+ .label = Copiar
+ .accesskey = C
+
+text-action-copy-shortcut =
+ .key = C
+
+text-action-paste =
+ .label = Pegar
+ .accesskey = P
+
+text-action-paste-no-formatting =
+ .label = Pegar sin formato
+ .accesskey = m
+
+text-action-paste-shortcut =
+ .key = V
+
+text-action-delete =
+ .label = Eliminar
+ .accesskey = l
+
+text-action-select-all =
+ .label = Seleccionar todo
+ .accesskey = t
+
+text-action-select-all-shortcut =
+ .key = A
+
+text-action-spell-no-suggestions =
+ .label = No hay sugerencias ortográficas
+
+text-action-spell-add-to-dictionary =
+ .label = Agregar al diccionario
+ .accesskey = o
+
+text-action-spell-undo-add-to-dictionary =
+ .label = Deshacer agregar al diccionario
+ .accesskey = n
+
+text-action-spell-check-toggle =
+ .label = Revisar ortografía
+ .accesskey = o
+
+text-action-spell-add-dictionaries =
+ .label = Agregar diccionarios
+ .accesskey = A
+
+text-action-spell-dictionaries =
+ .label = Idiomas
+ .accesskey = I
+
+text-action-search-text-box-clear =
+ .title = Limpiar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/timepicker.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/toolkit/global/tree.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..60a9ae648c
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Restaurar el orden de columnas
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/unknownContentType.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..6f2cd39edf
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Abrir en { -brand-short-name }
+ .accesskey = e
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] Puede cambiar la configuración de { -brand-short-name } en sus opciones.
+ *[other] Puede cambiar la configuración de { -brand-short-name } en sus preferencias.
+ }
+
+unknowncontenttype-intro = Ha elegido abrir:
+unknowncontenttype-which-is = el cual es un:
+unknowncontenttype-from = de:
+unknowncontenttype-prompt = ¿Quieres guardar este archivo?
+unknowncontenttype-action-question = ¿Qué debería hacer { -brand-short-name } con este archivo?
+unknowncontenttype-open-with =
+ .label = Abrir con
+ .accesskey = o
+unknowncontenttype-other =
+ .label = Otros…
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] Elegir…
+ *[other] Examinar…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] E
+ *[other] E
+ }
+unknowncontenttype-save-file =
+ .label = Guardar archivo
+ .accesskey = u
+unknowncontenttype-remember-choice =
+ .label = Repetir esta decisión de ahora en adelante para este tipo de archivos.
+ .accesskey = a
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/videocontrols.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..adbbe44e9a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Cargando:
+videocontrols-volume-control =
+ .aria-label = Volumen
+videocontrols-closed-caption-button =
+ .aria-label = Subtítulos
+
+videocontrols-play-button =
+ .aria-label = Reproducir
+videocontrols-pause-button =
+ .aria-label = Pausar
+videocontrols-mute-button =
+ .aria-label = Silenciar
+videocontrols-unmute-button =
+ .aria-label = Escuchar
+videocontrols-enterfullscreen-button =
+ .aria-label = Pantalla completa
+videocontrols-exitfullscreen-button =
+ .aria-label = Salir de pantalla completa
+videocontrols-casting-button-label =
+ .aria-label = Enviar a pantalla
+videocontrols-closed-caption-off =
+ .offlabel = Desactivar
+
+# This string is used as part of the Picture-in-Picture video toggle button when
+# the mouse is hovering it.
+videocontrols-picture-in-picture-label = Picture-in-Picture
+
+# This string is used as the label for a variation of the Picture-in-Picture video
+# toggle button when the mouse is hovering over the video.
+videocontrols-picture-in-picture-toggle-label2 = Saca este video
+
+videocontrols-picture-in-picture-explainer3 = Más pantallas son más divertidas. Reproduce este video mientras haces otras cosas.
+
+videocontrols-error-aborted = Se detuvo la carga del video.
+videocontrols-error-network = Reproducción de video interrumpida por un error de red.
+videocontrols-error-decode = No puede reproducirse el video porque el archivo está corrupto.
+videocontrols-error-src-not-supported = El formato o tipo MIME del video no se admite.
+videocontrols-error-no-source = No se encontró ningún video que tenga un formato y tipo MIME compatibles.
+videocontrols-error-generic = La reproducción del video se detuvo por un error desconocido.
+videocontrols-status-picture-in-picture = Este video se está reproduciendo en modo Picture-in-Picture.
+
+# 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 = Posición
+ .aria-valuetext = { $position } / { $duration }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/wizard.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..29e153af9a
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Retroceder
+ .accesskey = R
+wizard-linux-button-back =
+ .label = Atrás
+ .accesskey = A
+wizard-win-button-back =
+ .label = < Atrás
+ .accesskey = A
+
+wizard-macos-button-next =
+ .label = Continuar
+ .accesskey = C
+wizard-linux-button-next =
+ .label = Siguiente
+ .accesskey = S
+wizard-win-button-next =
+ .label = Siguiente >
+ .accesskey = S
+
+wizard-macos-button-finish =
+ .label = Terminado
+wizard-linux-button-finish =
+ .label = Finalizar
+wizard-win-button-finish =
+ .label = Finalizar
+
+wizard-macos-button-cancel =
+ .label = Cancelar
+wizard-linux-button-cancel =
+ .label = Cancelar
+wizard-win-button-cancel =
+ .label = Cancelar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/languageNames.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..8687c03572
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/languageNames.ftl
@@ -0,0 +1,214 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = Abjasia
+language-name-ach = Acholi
+language-name-ae = Avéstico
+language-name-af = Africano
+language-name-ak = Akan
+language-name-am = Amárico
+language-name-an = Aragonés
+language-name-ar = Árabe
+language-name-as = Asamés
+language-name-ast = Asturiano
+language-name-av = Ávaro
+language-name-ay = Aimara
+language-name-az = Azerí
+language-name-ba = Bashkir
+language-name-be = Bielorruso
+language-name-bg = Búlgaro
+language-name-bh = Bihari
+language-name-bi = Bislama
+language-name-bm = Bambara
+language-name-bn = Bengalí
+language-name-bo = Tibetano
+language-name-br = Bretón
+language-name-bs = Bosnio
+language-name-ca = Catalán
+language-name-cak = Kakchiquel
+language-name-ce = Checheno
+language-name-ch = Chamorro
+language-name-co = Corso
+language-name-cr = Cree
+language-name-crh = Tártaro de Crimea
+language-name-cs = Checo
+language-name-csb = Kashubian
+language-name-cu = Eslavo eclesiástico
+language-name-cv = Chuvasio
+language-name-cy = Galés
+language-name-da = Danés
+language-name-de = Alemán
+language-name-dsb = Lower Sorbian
+language-name-dv = Divehi
+language-name-dz = Dzongkha
+language-name-ee = Ewe
+language-name-el = Griego
+language-name-en = Inglés
+language-name-eo = Esperanto
+language-name-es = Español
+language-name-et = Estonio
+language-name-eu = Vasco
+language-name-fa = Persa
+language-name-ff = Fulah
+language-name-fi = Finlandés
+language-name-fj = Fiji
+language-name-fo = Feroés
+language-name-fr = Francés
+language-name-fur = Friulano
+language-name-fy = Frisio
+language-name-ga = Irlandés
+language-name-gd = Gaélico escocés
+language-name-gl = Gallego
+language-name-gn = Guaraní
+language-name-gu = Gujarati
+language-name-gv = Manés
+language-name-ha = Hausa
+language-name-haw = Hawaiian
+language-name-he = Hebreo
+language-name-hi = Hindú
+language-name-hil = Hiligaynon
+language-name-ho = Hiri Motu
+language-name-hr = Croata
+language-name-hsb = Serbio superior
+language-name-ht = Haitiano
+language-name-hu = Húngaro
+language-name-hy = Armenio
+language-name-hz = Herero
+language-name-ia = Interlingua
+language-name-id = Indonesio
+language-name-ie = Interlingue
+language-name-ig = Igbo
+language-name-ii = Sichuan Yi
+language-name-ik = Inupiaq
+language-name-io = Ido
+language-name-is = Islandés
+language-name-it = Italiano
+language-name-iu = Inuktitut
+language-name-ja = Japonés
+language-name-jv = Javanés
+language-name-ka = Georgiano
+language-name-kab = Cabilio
+language-name-kg = Kongo
+language-name-ki = Kikuyu
+language-name-kj = Kuanyama
+language-name-kk = Kazajo
+language-name-kl = Groenlandés
+language-name-km = Camboyano
+language-name-kn = Kannada
+language-name-ko = Coreano
+language-name-kok = Konkani
+language-name-kr = Kanuri
+language-name-ks = Cachemiro
+language-name-ku = Kurdo
+language-name-kv = Komi
+language-name-kw = Córnico
+language-name-ky = Kirguises
+language-name-la = Latín
+language-name-lb = Luxemburgués
+language-name-lg = Ganda
+language-name-li = Limburgan
+language-name-lij = Ligur
+language-name-ln = Lingala
+language-name-lo = Lao
+language-name-lt = Lituano
+language-name-ltg = Latgaliano
+language-name-lu = Luba-Katanga
+language-name-lv = Letón
+language-name-mai = Maithili
+language-name-meh = Mixteco tlaxiaco del sureste
+language-name-mg = Malagasy
+language-name-mh = Marshalés
+language-name-mi = Maorí
+language-name-mix = Mixteco de mixtepec
+language-name-mk = Macedonio
+language-name-ml = Malayalam
+language-name-mn = Mongol
+language-name-mr = Maratí
+language-name-ms = Malayo
+language-name-mt = Maltés
+language-name-my = Birmano
+language-name-na = Nauru
+language-name-nb = Noruego/Bokmål
+language-name-nd = Ndebele, Norte
+language-name-ne = Nepalí
+language-name-ng = Ndonga
+language-name-nl = Holandés
+language-name-nn = Noruego/Nynorsk
+language-name-no = Noruego
+language-name-nr = Ndebele del sur
+language-name-nso = Sotho del norte
+language-name-nv = Navajo
+language-name-ny = Chichewa
+language-name-oc = Occitano
+language-name-oj = Ojibwa
+language-name-om = Oromo
+language-name-or = Oriya
+language-name-os = Osetio
+language-name-pa = Punjabi
+language-name-pi = Pali
+language-name-pl = Polaco
+language-name-ps = Pashto
+language-name-pt = Portugués
+language-name-qu = Quechua
+language-name-rm = Rhaeto-Romanic
+language-name-rn = Kirundi
+language-name-ro = Rumano
+language-name-ru = Ruso
+language-name-rw = Kinyarwanda
+language-name-sa = Sánscrito
+language-name-sc = Sardo
+language-name-sco = Escocés
+language-name-sd = Sindhi
+language-name-se = Sami del norte
+language-name-sg = Sango
+language-name-si = Cingalés
+language-name-sk = Eslovaco
+language-name-sl = Esloveno
+language-name-sm = Samoano
+language-name-sn = Shona
+language-name-so = Somalí
+language-name-son = Songhay
+language-name-sq = Albanés
+language-name-sr = Serbio
+language-name-ss = Siswati
+language-name-st = Sotho del sur
+language-name-su = Sudanés
+language-name-sv = Sueco
+language-name-sw = Swahili
+language-name-szl = Silesiano
+language-name-ta = Tamil
+language-name-te = Telugu
+language-name-tg = Tayikistán
+language-name-th = Tailandés
+language-name-ti = Tigrinya
+language-name-tig = Tigre
+language-name-tk = Turkmen
+language-name-tl = Tagalo
+language-name-tlh = Klingon
+language-name-tn = Tswana
+language-name-to = Tonga
+language-name-tr = Turco
+language-name-trs = Triqui
+language-name-ts = Tsonga
+language-name-tt = Tártaro
+language-name-tw = Twi
+language-name-ty = Tahití
+language-name-ug = Uigur
+language-name-uk = Ucraniano
+language-name-ur = Urdu
+language-name-uz = Uzbekistán
+language-name-ve = Venda
+language-name-vi = Vietnamita
+language-name-vo = Volapük
+language-name-wa = Valón
+language-name-wen = Serbio
+language-name-wo = Wolof
+language-name-xh = Xhosa
+language-name-yi = Judío
+language-name-yo = Yoruba
+language-name-za = Zhuang
+language-name-zam = Zapoteco Miahuatlán
+language-name-zh = Chino
+language-name-zu = Zulú
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/regionNames.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..bda8dde670
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/intl/regionNames.ftl
@@ -0,0 +1,280 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = Andorra
+region-name-ae = Emiratos Árabes Unidos
+region-name-af = Afganistán
+region-name-ag = Antigua y Barbuda
+region-name-ai = Anquilla
+region-name-al = Albania
+region-name-am = Armenia
+region-name-ao = Angola
+region-name-aq = Antártida
+region-name-ar = Argentina
+region-name-as = Samoa americana
+region-name-at = Austria
+region-name-au = Australia
+region-name-aw = Aruba
+region-name-az = Azerbayán
+region-name-ba = Bosnia-Herzegovina
+region-name-bb = Barbados
+region-name-bd = Bangladesh
+region-name-be = Bélgica
+region-name-bf = Burkina Faso
+region-name-bg = Bulgaria
+region-name-bh = Bahrein
+region-name-bi = Burundi
+region-name-bj = Benin
+region-name-bl = San Bartolomé
+region-name-bm = Bermudas
+region-name-bn = Brunei
+region-name-bo = Bolivia
+region-name-bq-2018 = Países Bajos Caribeños
+region-name-br = Brasil
+region-name-bs = Bahamas, Las
+region-name-bt = Bhután
+region-name-bv = Isla Bouvet
+region-name-bw = Botswana
+region-name-by = Belarús
+region-name-bz = Belice
+region-name-ca = Canadá
+region-name-cc = Islas Cocos (Keeling)
+region-name-cd = Congo (Kinshasa)
+region-name-cf = República Centroafricana
+region-name-cg = República del Congo
+region-name-ch = Suiza
+region-name-ci = Costa de Marfil
+region-name-ck = Islas Cook
+region-name-cl = Chile
+region-name-cm = Camerún
+region-name-cn = China
+region-name-co = Colombia
+region-name-cp = Isla Clipperton
+region-name-cr = Costa Rica
+region-name-cu = Cuba
+region-name-cv-2020 = Cabo verde
+region-name-cw = Curazao
+region-name-cx = Isla de Navidad
+region-name-cy = Chipre
+region-name-cz-2019 = República Checa
+region-name-de = Alemania
+region-name-dg = Diego García
+region-name-dj = Djibouti
+region-name-dk = Dinamarca
+region-name-dm = Dominica
+region-name-do = República Dominicana
+region-name-dz = Argelia
+region-name-ec = Ecuador
+region-name-ee = Estonia
+region-name-eg = Egipto
+region-name-eh = Sáhara Occidental
+region-name-er = Eritrea
+region-name-es = España
+region-name-et = Etiopía
+region-name-fi = Finlandia
+region-name-fj = Fiji
+region-name-fk = Islas Malvinas
+region-name-fm = Estados Federados de la Micronesia
+region-name-fo = Islas Faroe
+region-name-fr = Francia
+region-name-ga = Gabón
+region-name-gb = Reino Unido
+region-name-gd = Granada
+region-name-ge = Georgia
+region-name-gf = Guayana Francesa
+region-name-gg = Guernsey
+region-name-gh = Ghana
+region-name-gi = Gibraltar
+region-name-gl = Groenlandia
+region-name-gm = Gambia
+region-name-gn = Guinea
+region-name-gp = Guadalupe
+region-name-gq = Guinea Ecuatorial
+region-name-gr = Grecia
+region-name-gs = Islas Georgias del Sur y Sandwich del Sur
+region-name-gt = Guatemala
+region-name-gu = Guam
+region-name-gw = Guinea-Bissau
+region-name-gy = Guyana
+region-name-hk = Hong Kong
+region-name-hm = Islas Heard e Islas McDonald
+region-name-hn = Honduras
+region-name-hr = Croacia
+region-name-ht = Haití
+region-name-hu = Hungría
+region-name-id = Indonesia
+region-name-ie = Irlanda
+region-name-il = Israel
+region-name-im = Isla de Man
+region-name-in = India
+region-name-io = Territorio británico en el Océano Índico
+region-name-iq = Irak
+region-name-ir = Irán
+region-name-is = Islandia
+region-name-it = Italia
+region-name-je = Jersey
+region-name-jm = Jamaica
+region-name-jo = Jordania
+region-name-jp = Japón
+region-name-ke = Kenia
+region-name-kg = Kirguistán
+region-name-kh = Camboya
+region-name-ki = Kiribati
+region-name-km = Comoras
+region-name-kn = Saint Kitts y Nevis
+region-name-kp = Corea del Norte
+region-name-kr = Corea del Sur
+region-name-kw = Kuwait
+region-name-ky = Islas Caimán
+region-name-kz = Kazajstán
+region-name-la = Laos
+region-name-lb = Líbano
+region-name-lc = Santa Lucía
+region-name-li = Liechtenstein
+region-name-lk = Sri Lanka
+region-name-lr = Liberia
+region-name-ls = Lesotho
+region-name-lt = Lituania
+region-name-lu = Luxemburgo
+region-name-lv = Letonia
+region-name-ly = Libia
+region-name-ma = Marruecos
+region-name-mc = Mónaco
+region-name-md = Moldavia
+region-name-me = Montenegro
+region-name-mf = San Martín
+region-name-mg = Madagascar
+region-name-mh = Islas Marshall
+region-name-mk-2019 = Macedonia del Norte
+region-name-ml = Malí
+region-name-mm = Burma
+region-name-mn = Mongolia
+region-name-mo = Macao
+region-name-mp = Islas Marianas del Norte
+region-name-mq = Martinica
+region-name-mr = Mauritania
+region-name-ms = Montserrat
+region-name-mt = Malta
+region-name-mu = Mauricio
+region-name-mv = Maldivas
+region-name-mw = Malawi
+region-name-mx = México
+region-name-my = Malasia
+region-name-mz = Mozambique
+region-name-na = Namibia
+region-name-nc = Nueva Caledonia
+region-name-ne = Níger
+region-name-nf = Isla Norfolk
+region-name-ng = Nigeria
+region-name-ni = Nicaragua
+region-name-nl = Holanda (Países Bajos)
+region-name-no = Noruega
+region-name-np = Nepal
+region-name-nr = Nauru
+region-name-nu = Niue
+region-name-nz = Nueva Zelanda
+region-name-om = Omán
+region-name-pa = Panamá
+region-name-pe = Perú
+region-name-pf = Polinesia Francesa
+region-name-pg = Papúa Nueva Guinea
+region-name-ph = Filipinas
+region-name-pk = Pakistán
+region-name-pl = Polonia
+region-name-pm = San Pedro y Miquelón
+region-name-pn = Islas Pitcairn
+region-name-pr = Puerto Rico
+region-name-pt = Portugal
+region-name-pw = Palau
+region-name-py = Paraguay
+region-name-qa = Qatar
+region-name-qm = Islas Midway
+region-name-qs = Bassas da India
+region-name-qu = Isla Juan de Nova
+region-name-qw = Isla Wake
+region-name-qx = Islas Glorioso
+region-name-qz = Acrotiri
+region-name-re = Reunión
+region-name-ro = Rumanía
+region-name-rs = Serbia
+region-name-ru = Rusia
+region-name-rw = Ruanda
+region-name-sa = Arabia Saudí
+region-name-sb = Islas Salomón
+region-name-sc = Seychelles
+region-name-sd = Sudán
+region-name-se = Suecia
+region-name-sg = Singapur
+region-name-sh = Santa Elena, Ascensión y Tristán de Acuña
+region-name-si = Eslovenia
+region-name-sk = Eslovaquia
+region-name-sl = Sierra Leona
+region-name-sm = San Marino
+region-name-sn = Senegal
+region-name-so = Somalia
+region-name-sr = Suriname
+region-name-ss = Sudán del Sur
+region-name-st = San Tome y Príncipe
+region-name-sv = El Salvador
+region-name-sx = San Martín
+region-name-sy = Siria
+region-name-sz-2019 = Suazilandia
+region-name-tc = Islas Turcas y Caicos
+region-name-td = Chad
+region-name-tf = Territorios franceses del sur y tierras antárticas
+region-name-tg = Togo
+region-name-th = Tailandia
+region-name-tj = Tayikistán
+region-name-tk = Tokelau
+region-name-tl = Timor Oriental
+region-name-tm = Turkmenistán
+region-name-tn = Túnez
+region-name-to = Tonga
+region-name-tr = Turquía
+region-name-tt = Trinidad y Tobago
+region-name-tv = Tuvalu
+region-name-tw = Taiwán
+region-name-tz = Tanzania
+region-name-ua = Ucrania
+region-name-ug = Uganda
+region-name-us = Estados Unidos
+region-name-uy = Uruguay
+region-name-uz = Uzbekistán
+region-name-va = Ciudad del Vaticano
+region-name-vc = San Vicente y las Granadinas
+region-name-ve = Venezuela
+region-name-vg = Islas Vírgenes, Británicas
+region-name-vi = Islas Vírgenes, de EEUU
+region-name-vn = Vietnám
+region-name-vu = Vanuatu
+region-name-wf = Wallis y Futuna
+region-name-ws = Samoa
+region-name-xa = Islas Ashmore y Cartier
+region-name-xb = Isla Baker
+region-name-xc = Islas del Mar del Coral
+region-name-xd = Dhekelia
+region-name-xe = Isla Europa
+region-name-xg = Franja de Gaza
+region-name-xh = Isla Howland
+region-name-xj = Jan Mayen
+region-name-xk = Kosovo
+region-name-xl = Atolón Palmira
+region-name-xm = Arrecife Kingman
+region-name-xp = Islas Paracelso
+region-name-xq = Isla Jarvis
+region-name-xr = Svalbard
+region-name-xs = Islas Spratly
+region-name-xt = Isla Tromelin
+region-name-xu = Atolón Johnston
+region-name-xv = Isla de Navaza
+region-name-xw = Cisjordania
+region-name-ye = Yemen
+region-name-yt = Mayotte
+region-name-za = Sudáfrica
+region-name-zm = Zambia
+region-name-zw = Zimbabue
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/main-window/autocomplete.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..8cf5e19e12
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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">Importa tus conexiones desde Google Chrome</div>
+ <div data-l10n-name="line2">para { $host } y otros sitios</div>
+autocomplete-import-logins-chromium =
+ <div data-l10n-name="line1">Importa tus conexiones desde Chromium</div>
+ <div data-l10n-name="line2">para { $host } y otros sitios</div>
+autocomplete-import-logins-chromium-edge =
+ <div data-l10n-name="line1">Importa tus conexiones desde Microsoft Edge</div>
+ <div data-l10n-name="line2">para { $host } y otros sitios</div>
+
+##
+
+autocomplete-import-learn-more = Más información
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/main-window/findbar.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..02bef32588
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Ir a la siguiente frase encontrada
+findbar-previous =
+ .tooltiptext = Ir a la anterior frase encontrada
+
+findbar-find-button-close =
+ .tooltiptext = Cerrar la barra de búsqueda
+
+findbar-highlight-all2 =
+ .label = Remarcar todo
+ .accesskey =
+ { PLATFORM() ->
+ [macos] m
+ *[other] a
+ }
+ .tooltiptext = Resaltar todas las apariciones de la frase
+
+findbar-case-sensitive =
+ .label = Sensible a mayúsculas
+ .accesskey = m
+ .tooltiptext = Buscar distinguiendo mayúsculas y minúsculas
+
+findbar-match-diacritics =
+ .label = Coincidir diacríticos
+ .accesskey = o
+ .tooltiptext = Distingue entre letras con acentos y sus letras base (por ejemplo, al buscar por "como", "cómo" no coincidirá y por lo tanto no aparecerá)
+
+findbar-entire-word =
+ .label = Palabras completas
+ .accesskey = P
+ .tooltiptext = Buscar solo palabras completas
+
+findbar-not-found = No se encontró la frase
+
+findbar-wrapped-to-top = Final de la página, se continúa desde el inicio
+findbar-wrapped-to-bottom = Inicio de la página, se continúa desde el final
+
+findbar-normal-find =
+ .placeholder = Buscar en la página
+findbar-fast-find =
+ .placeholder = Búsqueda rápida
+findbar-fast-find-links =
+ .placeholder = Búsqueda rápida (enlaces)
+
+findbar-case-sensitive-status =
+ .value = (Sensible a mayúsculas)
+findbar-match-diacritics-status =
+ .value = (Coincidencia de diacrícitos)
+findbar-entire-word-status =
+ .value = (Solo palabras completas)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value =
+ { $total ->
+ [one] { $current } de { $total } coincidencia
+ *[other] { $current } de { $total } coincidencias
+ }
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value =
+ { $limit ->
+ [one] Más de { $limit } coincidencia
+ *[other] Más de { $limit } coincidencias
+ }
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/certError.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..e4ed2f0b95
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 } usa un certificado de seguridad no válido.
+
+cert-error-mitm-intro = Los sitios web demuestran su identidad a través de certificados, los cuales son emitidos por autoridades de certificación.
+
+cert-error-mitm-mozilla = { -brand-short-name } está respaldado por Mozilla, la organización sin fines de lucro que administra un almacén de autoridad de certificados (CA) completamente abierto. La tienda de CA ayuda a garantizar que las autoridades de certificación sigan las mejores prácticas para la seguridad del usuario.
+
+cert-error-mitm-connection = { -brand-short-name } usa el almacén de Mozilla CA para verificar que la conexión sea segura, en lugar de los certificados proporcionados por el sistema operativo del usuario. Por lo tanto, si un antivirus o una red está interceptando una conexión con un certificado de seguridad emitido por una CA que no está en el almacén de la CA de Mozilla, la conexión se considera insegura.
+
+cert-error-trust-unknown-issuer-intro = Alguien podría estar intentando hacerse pasar por el sitio y no debes continuar.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = Los sitios web prueban su identidad a través de certificados. { -brand-short-name } no confía en { $hostname } porque se desconoce el emisor del certificado, el certificado está autofirmado o el servidor no envía los certificados intermedios correctos.
+
+cert-error-trust-cert-invalid = El certificado no es de confianza porque fue emitido por un certificado de CA no válido.
+
+cert-error-trust-untrusted-issuer = El certificado no es de confianza porque el certificado del emisor no es de confianza.
+
+cert-error-trust-signature-algorithm-disabled = El certificado no es de confianza porque se firmó con un algoritmo de firma que se deshabilitó porque ese algoritmo no es seguro.
+
+cert-error-trust-expired-issuer = El certificado no es de confianza porque el certificado del emisor ha caducado.
+
+cert-error-trust-self-signed = El certificado no es de confianza porque está autofirmado.
+
+cert-error-trust-symantec = Los certificados emitidos por GeoTrust, RapidSSL, Symantec, Thawte y VeriSign ya no se consideran seguros porque estas autoridades de certificación no siguieron las prácticas de seguridad en el pasado.
+
+cert-error-untrusted-default = El certificado no procede de una fuente confiable.
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-domain-mismatch = Los sitios web prueban su identidad a través de certificados. { -brand-short-name } no confía en este sitio porque usa un certificado que no es válido para { $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 = Los sitios web prueban su identidad a través de certificados. { -brand-short-name } no confía en este sitio porque usa un certificado que no es válido para { $hostname }. El certificado es válido solo para <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 = Los sitios web prueban su identidad a través de certificados. { -brand-short-name } no confía en este sitio porque usa un certificado que no es válido para { $hostname }. El certificado es válido solo para { $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 = Los sitios web prueban su identidad a través de certificados. { -brand-short-name } no confía en este sitio porque usa un certificado que no es válido para { $hostname }. El certificado solo es válido para los siguientes nombres: { $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 = Los sitios web acreditan su identidad mediante certificados, los cuales son válidos durante un plazo determinado. El certificado de { $hostname } caducó el { $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 = Los sitios web acreditan su identidad mediante certificados, los cuales son válidos durante un plazo determinado. El certificado de { $hostname } no será válido sino a partir del { $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 = Código de error: { $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 = Código de error: <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 = Un error ocurrió durante una conexión a { $hostname }. { $errorMessage }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = Los sitios web prueban su identidad a través de certificados que son emitidos por las autoridades de certificación. La mayoría de los navegadores ya no confían en los certificados emitidos por GeoTrust, RapidSSL, Symantec, Thawte y VeriSign. { $hostname } usa un certificado de una de estas autoridades y, por lo tanto, no se puede probar la identidad del sitio web.
+
+cert-error-symantec-distrust-admin = Puedes notificar al administrador del sitio web acerca de este problema.
+
+cert-error-old-tls-version = Es posible que este sitio web no admita el protocolo TLS 1.2, que es la versión mínima admitida por { -brand-short-name }.
+
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = Seguridad de transporte HTTP estricta: { $hasHSTS }
+
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = Fijar clave pública HTTP: { $hasHPKP }
+
+cert-error-details-cert-chain-label = Cadena de certificado:
+
+open-in-new-window-for-csp-or-xfo-error = Abrir el sitio en una nueva ventana
+
+# Variables:
+# $hostname (string) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = Para proteger tu seguridad, { $hostname } no permitirá que { -brand-short-name } muestre la página si otro sitio la ha incrustado. Para ver esta página, debes abrirla en una nueva ventana.
+
+## Messages used for certificate error titles
+
+connectionFailure-title = No puede conectarse
+deniedPortAccess-title = Esta dirección está restringida
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = Hmm. Estamos teniendo problemas para encontrar ese sitio.
+
+dns-not-found-trr-only-title2 = Posible riesgo de seguridad buscando este dominio
+dns-not-found-native-fallback-title2 = Posible riesgo de seguridad buscando este dominio
+
+fileNotFound-title = Archivo no encontrado
+fileAccessDenied-title = El acceso al archivo fue denegado
+generic-title = ¡Chin!
+captivePortal-title = Iniciar sesión en la red
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = Hmm. Esa dirección no parece correcta.
+netInterrupt-title = La conexión se interrumpió
+notCached-title = Documento expirado
+netOffline-title = Modo sin conexión
+contentEncodingError-title = Error de codificación de contenido
+unsafeContentType-title = Tipo de archivo inseguro
+netReset-title = La conexión se reinició
+netTimeout-title = La conexión ha caducado
+unknownProtocolFound-title = No se comprende la dirección
+proxyConnectFailure-title = El servidor proxy está rechazando las conexiones
+proxyResolveFailure-title = No se puede encontrar el servidor proxy
+redirectLoop-title = La página no se está redireccionando correctamente
+unknownSocketType-title = Respuesta inesperada del servidor
+nssFailure2-title = Falló la conexión segura
+csp-xfo-error-title = { -brand-short-name } no puede abrir esta página
+corruptedContentError-title = Error por contenido dañado
+sslv3Used-title = Imposible conectar de forma segura
+inadequateSecurityError-title = Tu conexión no es segura
+blockedByPolicy-title = Página bloqueada
+clockSkewError-title = El reloj de tu computadora está mal
+networkProtocolError-title = Error de protocolo de red
+nssBadCert-title = Advertencia: Riesgo potencial de seguridad a continuación
+nssBadCert-sts-title = No se conectó: Posible problema de seguridad
+certerror-mitm-title = Un Software está impidiendo que { -brand-short-name } se conecte de forma segura a este sitio
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/netError.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..9e51e416a2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/netError.ftl
@@ -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/.
+
+
+## Error page titles
+
+neterror-page-title = Problemas al cargar la página
+certerror-page-title = Advertencia: Riesgo potencial de seguridad a continuación
+certerror-sts-page-title = No se conectó: Potencial problema de seguridad
+neterror-blocked-by-policy-page-title = Página bloqueada
+neterror-captive-portal-page-title = Iniciar sesión en la red
+neterror-dns-not-found-title = Servidor no encontrado
+neterror-malformed-uri-page-title = URL inválida
+
+## Error page actions
+
+neterror-advanced-button = Avanzado…
+neterror-copy-to-clipboard-button = Copiar texto al portapapeles
+neterror-learn-more-link = Saber más…
+neterror-open-portal-login-page-button = Abrir página de ingreso a la red
+neterror-override-exception-button = Aceptar el riesgo y continuar
+neterror-pref-reset-button = Restaurar ajustes predeterminados
+neterror-return-to-previous-page-button = Regresar
+neterror-return-to-previous-page-recommended-button = Volver (recomendado)
+neterror-try-again-button = Intentar de nuevo
+neterror-add-exception-button = Continuar siempre para este sitio
+neterror-settings-button = Cambiar la configuración de DNS
+neterror-view-certificate-link = Ver certificado
+neterror-trr-continue-this-time = Continuar esta vez
+neterror-disable-native-feedback-warning = Continuar siempre
+
+##
+
+neterror-pref-reset = Parece que la configuración de seguridad de la red podría estar provocando esto. ¿Quieres la configuración predeterminada para restaurar?
+neterror-error-reporting-automatic = Informa errores de este tipo para ayudar a { -vendor-short-name } a identificar y bloquear sitios maliciosos.
+
+## Specific error messages
+
+neterror-generic-error = { -brand-short-name } no puede cargar esta página por alguna razón.
+
+neterror-load-error-try-again = El sitio podría estar temporalmente fuera de servicio o muy ocupado. Intenta nuevamente en un momento.
+neterror-load-error-connection = Si no puedes cargar ninguna página, verifica la conexión de red de tu computadora.
+neterror-load-error-firewall = Si la red o tu computadora están protegidas por un firewall o proxy, asegúrate que { -brand-short-name } pueda acceder a internet.
+
+neterror-captive-portal = Hay que iniciar sesión en esta red antes de poder acceder a 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 = ¿Querías ir a <a data-l10n-name="website">{ $hostAndPath }</a>?
+neterror-dns-not-found-hint-header = <strong>Si ingresaste la dirección correcta, puedes:</strong>
+neterror-dns-not-found-hint-try-again = Intentar de nuevo más tarde
+neterror-dns-not-found-hint-check-network = Comprueba tu conexión de red
+neterror-dns-not-found-hint-firewall = Verifica que { -brand-short-name } tenga permiso para acceder a la web (es posible que estés conectado pero detrás de un firewall)
+
+## TRR-only specific messages
+## Variables:
+## $hostname (String) - Hostname of the website to which the user was trying to connect.
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-trr-only-reason = { -brand-short-name } no puede proteger tu solicitud para la dirección de este sitio a través de nuestro sistema de resolución de nuestro DNS de confianza. Esta es la razón:
+neterror-dns-not-found-trr-third-party-warning2 = Puedes continuar con tu solucionador de DNS predeterminado. Sin embargo, un tercero podría ver qué sitios web visitas.
+
+neterror-dns-not-found-trr-only-could-not-connect = { -brand-short-name } no pudo conectarse a { $trrDomain }.
+neterror-dns-not-found-trr-only-timeout = La conexión a { $trrDomain } tomó más tiempo de lo esperado.
+neterror-dns-not-found-trr-offline = No estás conectado a Internet.
+neterror-dns-not-found-trr-unknown-host2 = Este sitio web no fue encontrado por { $trrDomain }.
+neterror-dns-not-found-trr-server-problem = Hubo un problema con { $trrDomain }.
+neterror-dns-not-found-trr-unknown-problem = Problema inesperado.
+
+## 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 } no puede proteger tu solicitud para la dirección de este sitio a través de nuestro sistema de resolución de nuestro DNS de confianza. Esta es la razón:
+neterror-dns-not-found-native-fallback-heuristic = DNS sobre HTTPS ha sido deshabilitado en tu red.
+neterror-dns-not-found-native-fallback-not-confirmed2 = { -brand-short-name } no pudo conectarse a { $trrDomain }.
+
+##
+
+neterror-file-not-found-filename = Comprueba que el nombre del archivo no contenga errores.
+neterror-file-not-found-moved = Verifica si el archivo se borró, movió o renombró.
+
+neterror-access-denied = Puede haber sido eliminado, movido o los permisos del archivo pueden evitar el acceso.
+
+neterror-unknown-protocol = Necesitas instalar otro programa para abrir esta dirección.
+
+neterror-redirect-loop = Este problema puede estar pasando por haber deshabilitado las cookies.
+
+neterror-unknown-socket-type-psm-installed = Verifica que tu sistema tiene instalado el administrador de seguridad personal.
+neterror-unknown-socket-type-server-config = Esto podría ser ocasionado por una configuración no estándar en el servidor.
+
+neterror-not-cached-intro = El documento solicitado no está disponible en la caché de { -brand-short-name }.
+neterror-not-cached-sensitive = Como precaución de seguridad, { -brand-short-name } no solicita automáticamente documentos sensibles.
+neterror-not-cached-try-again = Haz clic en Intentar de nuevo para volver a solicitar el documento del sitio web.
+
+neterror-net-offline = Pulsa “Intentar de nuevo” para cambiar al modo con conexión y recargar la página.
+
+neterror-proxy-resolve-failure-settings = Comprueba que la configuración del proxy esté correcta.
+neterror-proxy-resolve-failure-connection = Comprueba que la conexión de red de tu computadora esté funcionando.
+neterror-proxy-resolve-failure-firewall = Si tu computadora o red están protegidos por un firewall o proxy, asegúrate que { -brand-short-name } tiene permisos para acceder a la web.
+
+neterror-proxy-connect-failure-settings = Comprueba que la configuración del proxy esté correcta.
+neterror-proxy-connect-failure-contact-admin = Comunícate con el administrador de la red para comprobar que el servidor proxy está funcionando.
+
+neterror-content-encoding-error = Contacta a los propietarios del sitio web para informarles sobre este problema.
+
+neterror-unsafe-content-type = Contacta a los propietarios del sitio web para informarles sobre este problema.
+
+neterror-nss-failure-not-verified = La página que estás tratando de ver no se puede mostrar porque la autenticidad de los datos recibidos no pueden ser verificados.
+neterror-nss-failure-contact-website = Por favor contacta a los propietarios del sitio web para informarles de este problema.
+
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } ha detectado una potencial amenaza y no ha continuado a <b>{ $hostname }</b>. Si visitas este sitio, los atacantes podrían intentar robar tu información como tus contraseñas, correo o datos de tu tarjeta de crédito.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } ha detectado una potencial amenaza de seguridad y no ha continuado a <b>{ $hostname }</b> porque este sitio web requiere una conexión segura.
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } ha detectado un problema y no continuó a <b>{ $hostname }</b>. El sitio web está mal configurado o el reloj de tu computadora tiene una hora incorrecta.
+# 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> es probablemente un sitio seguro, pero no se puede realizar una conexión segura. Este problema es causado por <b>{ $mitm }</b>, el cual es un programa en su computadora o en tu red.
+
+neterror-corrupted-content-intro = La página que estás tratando de ver no puede mostrarse porque se detectó un error en la transmisión de los datos.
+neterror-corrupted-content-contact-website = Por favor, contacta a los dueños del sitio web para informarles de este problema.
+
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = Información avanzada: 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> usa tecnología de seguridad que es obsoleta y vulnerable a los ataques. Un atacante podría fácilmente revelar información que se piensa segura. El administrador del sitio web necesitará corregir el servidor antes de poder visitar el sitio.
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = Código de error: 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 = Tu computadora cree que son las { DATETIME($now, dateStyle: "medium") }, lo que previene a { -brand-short-name } de conectarse de forma segura. Para visitar <b>{ $hostname }</b>, actualiza la hora de tu computadora en los ajustes de tu sistema a la hora, fecha y zona horaria actuales, y luego recarga <b>{ $hostname }</b>.
+
+neterror-network-protocol-error-intro = La página que estás intentando ver no se puede mostrar porque fue detectado un error del protocolo de red.
+neterror-network-protocol-error-contact-website = Por favor, contacta con los propietarios del sitio web para informarles de este problema.
+
+certerror-expired-cert-second-para = Es probable que el certificado del sitio esté expirado, lo que previene a { -brand-short-name } de conectarse de forma segura. Si visitas este sitio, los atacantes pueden intentar robar tu información como contraseñas, correos electrónicos o detalles de tu tarjeta de crédito.
+certerror-expired-cert-sts-second-para = Probablemente el certificado del sitio ha expirado, impidiendo que { -brand-short-name } se conecte con seguridad.
+
+certerror-what-can-you-do-about-it-title = ¿Qué puedes hacer al respecto?
+
+certerror-unknown-issuer-what-can-you-do-about-it-website = Es probable que haya un problema con el sitio web y no hay nada que puedas hacer al respecto.
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = Si estás usando una red corporativa o un software antivirus, puedes contactarte con el equipo de asistencia técnica. También puedes notificarle al administrador del sitio sobre el problema.
+
+# 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 = El reloj de tu computadora está ajustado a las { DATETIME($now, dateStyle: "medium") }. Asegúrate de que tu computadora está ajustada a la fecha, hora y zona horaria correctas en los ajustes de tu sistema, y luego recarga <b>{ $hostname }</b>.
+certerror-expired-cert-what-can-you-do-about-it-contact-website = Si tu reloj ya está ajustado a la hora correcta, el sitio web probablemente está mal configurado, y no hay nada que puedas hacer para resolverlo. Podrías intentar notificar al administrador del sitio sobre el problema.
+
+certerror-bad-cert-domain-what-can-you-do-about-it = Es probable que haya un problema con el sitio web, y no hay nada que puedas hacer para resolverlo. Puedes notificar al administrador del sitio web sobre el problema.
+
+certerror-mitm-what-can-you-do-about-it-antivirus = Si tu antivirus tiene una característica que escanea conexiones encriptadas (normalmente llamado “web scanning” o “https scanning”), puedes desactivar esta característica. Si no funciona, puedes eliminar y reinstalar el antivirus.
+certerror-mitm-what-can-you-do-about-it-corporate = Si estás en una red corporativa, puedes comunicarte con el departamento de informática.
+# 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 no estás familiarizado con <b>{ $mitm }</b>, entonces esto puede ser un ataque y no sería bueno continuar al sitio.
+
+# 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 no estás familiarizado con <b>{ $mitm }</b>, entonces esto puede ser un ataque y no hay nada que puedas hacer para acceder al sitio.
+
+# 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> tiene una política de seguridad llamada HTTP Strict transporte Security (HSTS), que significa que { -brand-short-name } solo puede conectarse a él con seguridad. No puedes agregar una excepción para visitar este sitio.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/nsserrors.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..a40c2e73bc
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,350 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = No se puede conectar de forma segura porque el protocolo ha sido desactivado.
+psmerr-ssl2-disabled = No se puede conectar de forma segura porque el sitio usa una versión antigua e insegura del protocolo SSL.
+
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ Recibiste un certificado no válido. Ponte en contacto con el administrador del servidor o envíales un correo con la siguiente información:
+
+ Su certificado contiene el mismo número de serie que otro certificado expedido por la autoridad certificadora. Obtengan un nuevo certificado que contenga un número de serie único.
+
+ssl-error-export-only-server = No es posible comunicar de forma segura. El otro extremo de la conexión no admite cifrado de grado alto.
+ssl-error-us-only-server = No es posible comunicar de forma segura. El otro extremo de la conexión requiere cifrado de grado alto que no está admitido.
+ssl-error-no-cypher-overlap = No se puede comunicar de forma segura con la otra parte: no hay algoritmos de cifrado comunes.
+ssl-error-no-certificate = No es posible encontrar el certificado o clave necesarios para la identificación.
+ssl-error-bad-certificate = No es posible la comunicación de forma segura con el otro extremo de la conexión porque el certificado de éste fue rechazado.
+ssl-error-bad-client = El servidor encontró datos erróneos del cliente.
+ssl-error-bad-server = El cliente encontró datos erróneos del servidor.
+ssl-error-unsupported-certificate-type = Tipo de certificado no admitido.
+ssl-error-unsupported-version = La otra parte está usando una versión del protocolo de seguridad no admitida.
+ssl-error-wrong-certificate = Identificación del cliente fallida: la clave privada en la base de datos de claves no coincide con la clave pública en la base de datos de certificados.
+ssl-error-bad-cert-domain = No es posible comunicar de forma segura con el otro extremo de la conexión porque el nombre de dominio solicitado no coincide con el certificado del servidor.
+ssl-error-post-warning = Código de error SSL no reconocido.
+ssl-error-ssl2-disabled = La otra parte sólo admite SSL versión 2, que está desactivado localmente.
+ssl-error-bad-mac-read = SSL ha recibido un registro con un código de identificación de mensaje incorrecto.
+ssl-error-bad-mac-alert = El otro extremo de la conexión SSL informa de un código de identificación de mensaje incorrecto.
+ssl-error-bad-cert-alert = El otro extremo de la conexión SSL no puede verificar tu certificado.
+ssl-error-revoked-cert-alert = El otro extremo de la conexión SSL ha rechazado tu certificado por considerarlo revocado.
+ssl-error-expired-cert-alert = El otro extremo de la conexión SSL ha rechazado tu certificado por considerarlo expirado.
+ssl-error-ssl-disabled = No se puede conectar: SSL está desactivado.
+ssl-error-fortezza-pqg = No se puede conectar: el otro extremo de la conexión SSL está en otro dominio FORTEZZA.
+ssl-error-unknown-cipher-suite = Se ha solicitado una suite de cifrado SSL desconocida.
+ssl-error-no-ciphers-supported = No hay suites de cifrado presentes y activas en este programa.
+ssl-error-bad-block-padding = SSL ha recibido un registro con un ajuste de bloque incorrecto.
+ssl-error-rx-record-too-long = SSL ha recibido un registro que excedía la longitud máxima permitida.
+ssl-error-tx-record-too-long = SSL ha intentado enviar un registro que excede la longitud máxima admisible.
+ssl-error-rx-malformed-hello-request = SSL ha recibido un mensaje de negociación Hello Request mal formado.
+ssl-error-rx-malformed-client-hello = SSL ha recibido un mensaje de negociación Client Hello mal formado.
+ssl-error-rx-malformed-server-hello = SSL ha recibido un mensaje de negociación Server Hello mal formado.
+ssl-error-rx-malformed-certificate = SSL ha recibido un mensaje de negociación Certificate mal formado.
+ssl-error-rx-malformed-server-key-exch = SSL ha recibido un mensaje de negociación Server Key Exchange mal formado.
+ssl-error-rx-malformed-cert-request = SSL ha recibido un mensaje de negociación de Certificate Request mal formado.
+ssl-error-rx-malformed-hello-done = SSL ha recibido un mensaje de negociación Server Hello Done mal formado.
+ssl-error-rx-malformed-cert-verify = SSL ha recibido un mensaje de negociación Certificate Verify mal formado.
+ssl-error-rx-malformed-client-key-exch = SSL ha recibido un mensaje de negociación Client Key Exchange mal formado.
+ssl-error-rx-malformed-finished = SSL ha recibido un mensaje de negociación Finished mal formado.
+ssl-error-rx-malformed-change-cipher = SSL ha recibido un registro de cambio de especificaciones de cifrado mal formado.
+ssl-error-rx-malformed-alert = SSL ha recibido un registro de alerta mal formada.
+ssl-error-rx-malformed-handshake = SSL ha recibido un registro de negociación mal formado.
+ssl-error-rx-malformed-application-data = SSL ha recibido un registro de datos de aplicación mal formado.
+ssl-error-rx-unexpected-hello-request = SSL ha recibido un mensaje de negociación Hello Request inesperado.
+ssl-error-rx-unexpected-client-hello = SSL ha recibido un mensaje de negociación Client Hello inesperado.
+ssl-error-rx-unexpected-server-hello = SSL ha recibido un mensaje de negociación Server Hello inesperado.
+ssl-error-rx-unexpected-certificate = SSL ha recibido un mensaje de negociación Certificate inesperado.
+ssl-error-rx-unexpected-server-key-exch = SSL ha recibido un mensaje de negociación Server Key Exchange inesperado.
+ssl-error-rx-unexpected-cert-request = SSL ha recibido un mensaje de negociación Certificate Request inesperado.
+ssl-error-rx-unexpected-hello-done = SSL ha recibido un mensaje de negociación Server Hello Done inesperado.
+ssl-error-rx-unexpected-cert-verify = SSL ha recibido un mensaje de negociación Certificate Verify inesperado.
+ssl-error-rx-unexpected-client-key-exch = SSL ha recibido un mensaje de negociación Client Key Exchange inesperado.
+ssl-error-rx-unexpected-finished = SSL ha recibido un mensaje de negociación Finished inesperado.
+ssl-error-rx-unexpected-change-cipher = SSL ha recibido un registro Change Cipher Spec inesperado.
+ssl-error-rx-unexpected-alert = SSL ha recibido un registro Alert inesperado.
+ssl-error-rx-unexpected-handshake = SSL ha recibido un registro de negociación inesperado.
+ssl-error-rx-unexpected-application-data = SSL ha recibido un registro Application Data inesperado.
+ssl-error-rx-unknown-record-type = SSL ha recibido un registro con un tipo de contenido desconocido.
+ssl-error-rx-unknown-handshake = SSL ha recibido un mensaje de negociación con un tipo de mensaje desconocido.
+ssl-error-rx-unknown-alert = SSL ha recibido un registro de alerta con una descripción de alerta desconocida.
+ssl-error-close-notify-alert = El otro extremo de la conexión SSL ha cerrado esta conexión.
+ssl-error-handshake-unexpected-alert = El otro extremo de la conexión SSL no esperaba un mensaje de negociación que ha recibido.
+ssl-error-decompression-failure-alert = El otro extremo de la conexión SSL no ha podido descomprimir con éxito un registro SSL que ha recibido.
+ssl-error-handshake-failure-alert = El otro extremo de la conexión SSL no ha podido negociar un conjunto aceptable de parámetros de seguridad.
+ssl-error-illegal-parameter-alert = El otro extremo de la conexión SSL ha rechazado un mensaje de negociación por contenido no aceptable.
+ssl-error-unsupported-cert-alert = El otro extremo de la conexión SSL no admite certificados del tipo que ha recibido.
+ssl-error-certificate-unknown-alert = El otro extremo de la conexión SSL ha tenido algún problema no especificado con el certificado que ha recibido.
+ssl-error-generate-random-failure = SSL ha experimentado un fallo de su generador de números aleatorios.
+ssl-error-sign-hashes-failure = No es posible firmar digitalmente los datos requeridos para verificar tu certificado.
+ssl-error-extract-public-key-failure = SSL no ha podido extraer la clave pública del certificado del otro extremo de la conexión.
+ssl-error-server-key-exchange-failure = Fallo no especificado mientras se procesaba la negociación de intercambio de claves servidor de SSL.
+ssl-error-client-key-exchange-failure = Fallo no especificado mientras se procesaba la negociación de intercambio de claves cliente de SSL.
+ssl-error-encryption-failure = Ha fallado el algoritmo de cifrado de lotes de datos en la suite de cifrado seleccionada.
+ssl-error-decryption-failure = Ha fallado el algoritmo de descifrado de lotes de datos en la suite de cifrado seleccionada.
+ssl-error-socket-write-failure = Ha fallado un intento de escribir datos cifrados en el socket subyacente.
+ssl-error-md5-digest-failure = Función resumen MD5 fallida.
+ssl-error-sha-digest-failure = Función resumen SHA-1 fallida.
+ssl-error-mac-computation-failure = Cálculo MAC fallido.
+ssl-error-sym-key-context-failure = No se ha podido crear un contexto de clave simétrica.
+ssl-error-sym-key-unwrap-failure = No se ha podido desempaquetar la clave simétrica en el mensaje de intercambio de claves de cliente.
+ssl-error-pub-key-size-limit-exceeded = El servidor SSL ha intentado usar una clave pública de grado doméstico con una suite de cifrado de exportación.
+ssl-error-iv-param-failure = El código PKCS11 no permite traducir un IV en un parámetro.
+ssl-error-init-cipher-suite-failure = No se ha podido inicializar la suite de cifrado seleccionada.
+ssl-error-session-key-gen-failure = El cliente no ha podido generar claves de sesión para la sesión SSL.
+ssl-error-no-server-key-for-alg = El servidor no tiene clave para el algoritmo de intercambio de claves intentado.
+ssl-error-token-insertion-removal = El token PKCS#11 se insertó o eliminó mientras la operación estaba en progreso.
+ssl-error-token-slot-not-found = No se ha podido encontrar un token PKCS#11 para hacer una operación requerida.
+ssl-error-no-compression-overlap = No se puede comunicar de forma segura con la otra parte: no hay algoritmos de compresión comunes.
+ssl-error-handshake-not-completed = No se puede iniciar otra negociación SSL (SSL handshake) hasta que la actual se haya completado.
+ssl-error-bad-handshake-hash-value = Se han recibido de la otra parte valores hash incorrectos de negociación.
+ssl-error-cert-kea-mismatch = El certificado proporcionado no puede usarse con el algoritmo de intercambio de claves seleccionado.
+ssl-error-no-trusted-ssl-client-ca = No se confía en ninguna autoridad certificadora para la identificación del cliente SSL.
+ssl-error-session-not-found = La ID de sesión SSL del cliente no se ha encontrado en el caché de sesión del servidor.
+ssl-error-decryption-failed-alert = La otra parte no ha podido descifrar un registro SSL recibido por ella.
+ssl-error-record-overflow-alert = La otra parte ha recibido un registro SSL más largo de lo permitido.
+ssl-error-unknown-ca-alert = La otra parte no reconoce o confía en la CA que emitió tu certificado.
+ssl-error-access-denied-alert = La otra parte recibió un certificado válido, pero el acceso fue denegado.
+ssl-error-decode-error-alert = El otro extremo de la conexión no ha podido decodificar un mensaje de negociación SSL (SSL handshake).
+ssl-error-decrypt-error-alert = La otra parte indica un fallo en la verificación de la firma o intercambio de claves.
+ssl-error-export-restriction-alert = La otra parte informa que la negociación no cumple las regulaciones de exportación.
+ssl-error-protocol-version-alert = La otra parte informa de una versión del protocolo incompatible o no admitida.
+ssl-error-insufficient-security-alert = El servidor requiere cifrado más segudo del soportado por el cliente.
+ssl-error-internal-error-alert = La otra parte informa que ha experimentado un error interno.
+ssl-error-user-canceled-alert = El usuario del otro extremo de la conexión ha cancelado el negociación.
+ssl-error-no-renegotiation-alert = La otra parte no permite renegociar los parámetros de seguridad SSL.
+ssl-error-server-cache-not-configured = El caché del servidor SSL no está configurado ni desactivado en este socket.
+ssl-error-unsupported-extension-alert = El otro extremo de la conexión SSL no admite la extensión hello TLS solicitada.
+ssl-error-certificate-unobtainable-alert = El otro extremo de la conexión SSL no ha podido obtener tu certificado de la URL suministrada.
+ssl-error-unrecognized-name-alert = El otro extremo de la conexión SSL no tiene certificado para el nombre DNS solicitado.
+ssl-error-bad-cert-status-response-alert = El otro extremo de la conexión SSL no ha podido obtener una respuesta OCSP para su certificado.
+ssl-error-bad-cert-hash-value-alert = El otro extremo de la conexión SSL ha informado de un valor hash de certificado erróneo.
+ssl-error-rx-unexpected-new-session-ticket = SSL recibió un mensaje inesperado de handshake New Session Ticket.
+ssl-error-rx-malformed-new-session-ticket = SSL recibió un mensaje de handshake New Session Ticket con formato incorrecto.
+ssl-error-decompression-failure = SSL recibió un registro comprimido que no podrá descomprimirse.
+ssl-error-renegotiation-not-allowed = La renegociación no está permitida por este SSL socket.
+ssl-error-unsafe-negotiation = Peer intentó un handshake al viejo estilo (potencialmente vulnerable).
+ssl-error-rx-unexpected-uncompressed-record = SSL recibió un registro sin comprimir inesperado.
+ssl-error-weak-server-ephemeral-dh-key = SSL ha recibido una clave débil Diffie-Hellman en el servidor de mensaje de negociación de intercambio de claves.
+ssl-error-next-protocol-data-invalid = SSL recibió datos no válidos de la extensión NPN.
+ssl-error-feature-not-supported-for-ssl2 = Característica SSL no compatible con las conexiones SSL 2.0.
+ssl-error-feature-not-supported-for-servers = Característica SSL no admitida en los servidores.
+ssl-error-feature-not-supported-for-clients = Característica SSL no admitida en los clientes.
+ssl-error-invalid-version-range = El intervalo de versiones SSL no es válido.
+ssl-error-cipher-disallowed-for-version = El interlocutor SSL ha seleccionado una suite de cifrado no permitida en la versión de protocolo elegida.
+ssl-error-rx-malformed-hello-verify-request = SSL ha recibido un mensaje de negociación Hello Verify Request mal formado.
+ssl-error-rx-unexpected-hello-verify-request = SSL ha recibido un mensaje de negociación Hello Verify Request inesperado.
+ssl-error-feature-not-supported-for-version = Característica SSL no admitida en esa versión del protocolo.
+ssl-error-rx-unexpected-cert-status = SSL ha recibido un mensaje de negociación Certificate Status inesperado.
+ssl-error-unsupported-hash-algorithm = Algoritmo resumen no admitido utilizado por el interlocutor TLS.
+ssl-error-digest-failure = Falló la función de resumen.
+ssl-error-incorrect-signature-algorithm = Algoritmo de firma incorrecto especificado en un elemento firmado digitalmente.
+ssl-error-next-protocol-no-callback = Se activó la extensión de negociación del siguiente protocolo, pero la llamada de respuesta se inicializó antes de necesitarse.
+ssl-error-next-protocol-no-protocol = El servidor no admite protocolos anunciados por el cliente en la extensión ALPN.
+ssl-error-inappropriate-fallback-alert = El servidor rechazó la negociación porque el cliente degradó a una versión TLS inferior a la que admite el servidor.
+ssl-error-weak-server-cert-key = El certificado de servidor incluía una clave pública que era demasiado débil.
+ssl-error-rx-short-dtls-read = Sin espacio suficiente en buffer para un registro DTLS.
+ssl-error-no-supported-signature-algorithm = No se configuró un algoritmo de firma TLS soportado.
+ssl-error-unsupported-signature-algorithm = El par usó una combinación no soportada de firma y algoritmo hash.
+ssl-error-missing-extended-master-secret = El par trató de continuar sin una extensión extended_master_secret correcta.
+ssl-error-unexpected-extended-master-secret = El par trató de continuar con una extensión extended_master_secret inesperada.
+
+sec-error-io = Ha ocurrido un error de E/S durante la autorización de seguridad.
+sec-error-library-failure = fallo de la biblioteca de seguridad.
+sec-error-bad-data = biblioteca de seguridad: se han recibido datos incorrectos.
+sec-error-output-len = biblioteca de seguridad: error de longitud de salida.
+sec-error-input-len = la biblioteca de seguridad ha experimentado un error de longitud de entrada.
+sec-error-invalid-args = biblioteca de seguridad: argumentos no válidos.
+sec-error-invalid-algorithm = biblioteca de seguridad: algoritmo no válido.
+sec-error-invalid-ava = biblioteca de seguridad: AVA no válido.
+sec-error-invalid-time = Cadena de fecha/hora incorrectamente formateada.
+sec-error-bad-der = biblioteca de seguridad: mensaje codificado en DER incorrectamente formateado.
+sec-error-bad-signature = El certificado de la otra parte tiene una firma no válida.
+sec-error-expired-certificate = El certificado de la otra parte ha expirado.
+sec-error-revoked-certificate = El certificado de la otra parte ha sido revocado.
+sec-error-unknown-issuer = El emisor del certificado de la otra parte no se reconoce.
+sec-error-bad-key = La clave pública de la otra parte no es válida.
+sec-error-bad-password = La contraseña de seguridad introducida es incorrecta.
+sec-error-retry-password = La nueva contraseña se ha introducido incorrectamente. Inténtalo de nuevo.
+sec-error-no-nodelock = biblioteca de seguridad: no hay bloqueo de nodo (nodelock).
+sec-error-bad-database = biblioteca de seguridad: base de datos incorrecta.
+sec-error-no-memory = biblioteca de seguridad: fallo de ubicación (allocation) de memoria.
+sec-error-untrusted-issuer = El emisor del certificado de la otra parte ha sido marcado como no confiable por el usuario.
+sec-error-untrusted-cert = El certificado de la otra parte ha sido marcado como no confiable por el usuario.
+sec-error-duplicate-cert = El certificado ya existe en tu base de datos.
+sec-error-duplicate-cert-name = El nombre del certificado descargado duplica uno ya instalado en tu base de datos.
+sec-error-adding-cert = Error al agregar el certificado a la base de datos.
+sec-error-filing-key = Error asociando la llave para este certificado.
+sec-error-no-key = La clave privada de este certificado no puede encontrarse en la base de datos de claves
+sec-error-cert-valid = Este certificado es válido.
+sec-error-cert-not-valid = Este certificado no es válido.
+sec-error-cert-no-response = Biblioteca de certificados: no hay respuesta
+sec-error-expired-issuer-certificate = El certificado del emisor del certificado ha caducado. Comprueba la fecha y hora de tu sistema.
+sec-error-crl-expired = La CRL del emisor del certificado ha caducado. Actualiza o compruebe la fecha y hora de tu sistema.
+sec-error-crl-bad-signature = La CRL del emisor del certificado tiene una firma no válida.
+sec-error-crl-invalid = La nueva CRL tiene un formato no válido.
+sec-error-extension-value-invalid = El valor de la extensión del certificado no es válido.
+sec-error-extension-not-found = No se ha encontrado una extensión del certificado.
+sec-error-ca-cert-invalid = El certificado del emisor no es válido.
+sec-error-path-len-constraint-invalid = La restricción a la longitud de la ruta del certificado no es válida.
+sec-error-cert-usages-invalid = El campo de usos del certificado no es válido.
+sec-internal-only = **Módulo EXCLUSIVAMENTE interno**
+sec-error-invalid-key = La clave no admite la operación solicitada.
+sec-error-unknown-critical-extension = El certificado contiene una extensión crítica desconocida.
+sec-error-old-crl = La nueva CRL no es posterior a la actual.
+sec-error-no-email-cert = No cifrado o firmado: aún no tiene un certificado de correo electrónico.
+sec-error-no-recipient-certs-query = No cifrado: no tiene ciertificados para cada uno de los recipientes.
+sec-error-not-a-recipient = No se puede descrifrar: tú no es un destinatario, o bien no se ha encontrado una clave privada o certificado apropiados.
+sec-error-pkcs7-keyalg-mismatch = No se puede descifrar: el algoritmo de cifrado de clave no coincide con tu certificado.
+sec-error-pkcs7-bad-signature = Verificación de la firma fallida: o no se ha encontrado firmante, o se han encontrado demasiados firmantes, o los datos son inadecuados o corruptos.
+sec-error-unsupported-keyalg = Algoritmo de claves no admitido o desconocido.
+sec-error-decryption-disallowed = No se puede descifrar: se ha cifrado usando un algoritmo o tamaño de clave no permitidos.
+sec-error-no-krl = No se ha encontrado KRL para el certificado de este sitio.
+sec-error-krl-expired = La KRL del certificado de este sitio ha expirado.
+sec-error-krl-bad-signature = La KRL del certificado de este sitio tiene una firma no válida.
+sec-error-revoked-key = La clave para el certificado de este sitio ha sido revocada.
+sec-error-krl-invalid = La nueva KRL tiene un formato no válido.
+sec-error-need-random = biblioteca de seguridad: se necesitan datos aleatorios.
+sec-error-no-module = biblioteca de seguridad: ningún módulo de seguridad puede ejecutar la operación solicitada.
+sec-error-no-token = La tarjeta o token de seguridad no existe, tiene que ser inicializada, o ha sido eliminada.
+sec-error-read-only = biblioteca de seguridad: base de datos de sólo lectura.
+sec-error-no-slot-selected = No se ha seleccionado una ranura o token.
+sec-error-cert-nickname-collision = Ya existe un certificado con el mismo apodo.
+sec-error-key-nickname-collision = Ya existe una clave con el mismo apodo.
+sec-error-safe-not-created = error al crear el objeto seguro
+sec-error-baggage-not-created = error al crear el objeto de transporte (baggage object)
+sec-error-bad-export-algorithm = Un algoritmo requerido no está permitido.
+sec-error-exporting-certificates = Error al intentar exportar certificados.
+sec-error-importing-certificates = Error al intentar importar certificados.
+sec-error-pkcs12-decoding-pfx = No es posible importar. Error de decodificación. Archivo no válido.
+sec-error-pkcs12-invalid-mac = No es posible importar. MAC no válida. Contraseña incorrecta o archivo corrupto.
+sec-error-pkcs12-unsupported-mac-algorithm = No es posible importar. Algoritmo MAC no admitido.
+sec-error-pkcs12-unsupported-transport-mode = No es posible importar. Sólo se admiten los modos de privacidad e integridad de contraseña.
+sec-error-pkcs12-corrupt-pfx-structure = No es posible importar. La estructura del archivo está corrupta.
+sec-error-pkcs12-unsupported-pbe-algorithm = No es posible importar. Algoritmo de cifrado no admitido.
+sec-error-pkcs12-unsupported-version = No es posible importar. Versión del archivo no admitida.
+sec-error-pkcs12-privacy-password-incorrect = No es posible importar. Contraseña de privacidad incorrecta.
+sec-error-pkcs12-cert-collision = No es posible importar. El mismo apodo existe ya en la base de datos.
+sec-error-user-cancelled = El usuario ha presionado Cancelar.
+sec-error-pkcs12-duplicate-data = No importado, ya en la base de datos.
+sec-error-message-send-aborted = Mensaje no enviado.
+sec-error-inadequate-key-usage = El uso de la clave del certificado es inapropiada para la operación pretendida.
+sec-error-inadequate-cert-type = Tipo de certificado no aprobado para la aplicación.
+sec-error-cert-addr-mismatch = La dirección en el certificado de firma no coincide con la dirección en las cabeceras del mensaje.
+sec-error-pkcs12-unable-to-import-key = No es posible importar. Error al intentar importar la clave privada.
+sec-error-pkcs12-importing-cert-chain = No es posible importar. Error al intentar importar la cadena de certificados.
+sec-error-pkcs12-unable-to-locate-object-by-name = No es posible exportar. No se puede localizar el certificado o clave por el apodo.
+sec-error-pkcs12-unable-to-export-key = No es posible exportar. La clave privada no ha podido ser localizada y exportada.
+sec-error-pkcs12-unable-to-write = No es posible exportar. No se puede escribir el archivo de exportación.
+sec-error-pkcs12-unable-to-read = No es posible importar. No se puede leer el archivo de importación.
+sec-error-pkcs12-key-database-not-initialized = No es posible exportar. La base de datos de claves está corrupta o ha sido borrada.
+sec-error-keygen-fail = No es posible generar el par de claves pública/privada.
+sec-error-invalid-password = La contraseña introducida no es válida. Por favor, escoge una diferente.
+sec-error-retry-old-password = Contraseña anterior introducida incorrectamente. Vuelve a intentarlo.
+sec-error-bad-nickname = El apodo del certificado ya está en uso.
+sec-error-not-fortezza-issuer = La cadena FORTEZZA de la otra parte tiene un certificado que no es de FORTEZZA.
+sec-error-cannot-move-sensitive-key = No se puede mover una clave confidencial a la ranura donde se necesita.
+sec-error-js-invalid-module-name = Nombre de módulo no válido.
+sec-error-js-invalid-dll = Ruta o nombre de archivo de módulo no válido
+sec-error-js-add-mod-failure = No es posible agregar el módulo
+sec-error-js-del-mod-failure = No es posible eliminar el módulo
+sec-error-old-krl = La nueva KRL no es posterior a la actual.
+sec-error-ckl-conflict = La nueva CKL tiene un emisor diferente de la CKL actual. Borra la CKL actual.
+sec-error-cert-not-in-name-space = La autoridad certificadora de este certificado no tiene permitido emitir un certificado con este nombre.
+sec-error-krl-not-yet-valid = La lista de revocación de claves para este certificado no es válida aún.
+sec-error-crl-not-yet-valid = La lista de revocación de certificados para este certificado no es válido aún.
+sec-error-unknown-cert = No se ha podido encontrar el certificado solicitado.
+sec-error-unknown-signer = No se ha podido encontrar el certificado del firmante.
+sec-error-cert-bad-access-location = La dirección del servidor de estado de certificado tiene un formato no válido.
+sec-error-ocsp-unknown-response-type = La respuesta OCSP no puede decodificarse totalmente; es de un tipo desconocido.
+sec-error-ocsp-bad-http-response = El servidor OCSP ha devuelto datos HTTP inesperados/no válidos.
+sec-error-ocsp-malformed-request = El servidor OCSP ha encontrado que la solicitud está corrupta o incorrectamente formada.
+sec-error-ocsp-server-error = El servidor OCSP ha experimentado un error interno.
+sec-error-ocsp-try-server-later = El servidor OCSP sugiere que lo intente de nuevo más tarde.
+sec-error-ocsp-request-needs-sig = El servidor OCSP requiere una firma en esta solicitud.
+sec-error-ocsp-unauthorized-request = El servidor OCSP ha rechazado esta solicitud como no autorizada.
+sec-error-ocsp-unknown-response-status = El servidor OCSP ha devuelto un estado irreconocible.
+sec-error-ocsp-unknown-cert = El servidor OCSP no tiene estado para el certificado.
+sec-error-ocsp-not-enabled = Debe activar OCSP antes de ejecutar esta operación.
+sec-error-ocsp-no-default-responder = Debe establecer el respondedor OCSP predeterminado antes de ejecutar esta operación.
+sec-error-ocsp-malformed-response = La respuesta del servidor OCSP estaba corrupta o incorrectamente formada.
+sec-error-ocsp-unauthorized-response = El firmante de la respuesta OCSP no está autorizado a proporcionar el estado de este certificado.
+sec-error-ocsp-future-response = La respuesta OCSP no es válida aún (contiene una fecha en el futuro).
+sec-error-ocsp-old-response = La respuesta OCSP contiene información no actualizada.
+sec-error-digest-not-found = No se ha encontrado el resumen CMS o PKCS #7 en el mensaje firmado.
+sec-error-unsupported-message-type = El tipo de mensaje CMS o PKCS #7 no está admitido.
+sec-error-module-stuck = El módulo PKCS #11 no se ha podido eliminar porque está aún en uso.
+sec-error-bad-template = No se ha podido decodificar los datos ASN.1. La plantilla especificada no era válida.
+sec-error-crl-not-found = No se ha encontrado CRL apropiada.
+sec-error-reused-issuer-and-serial = Está intentando importar un certificado con el mismo número de serie/emisor que un certificado existente, pero no es el mismo certificado.
+sec-error-busy = NSS no se pudo cerrar. Hay objetos aún en uso.
+sec-error-extra-input = El mensaje codificado con DER contenía datos extra no usados.
+sec-error-unsupported-elliptic-curve = Curva elíptica no admitida.
+sec-error-unsupported-ec-point-form = Forma de punto de curva elíptica no admitida.
+sec-error-unrecognized-oid = Identificador de objeto no reconocido.
+sec-error-ocsp-invalid-signing-cert = Certificado de firma OCSP no valido en respuesta OCSP.
+sec-error-revoked-certificate-crl = El certificado está revocado en la lista de revocación de certificados del emisor.
+sec-error-revoked-certificate-ocsp = El respondedor OCSP del emisor informa que el certificado está revocado.
+sec-error-crl-invalid-version = La lista de revocación de certificados del emisor tiene un número de versión desconocido.
+sec-error-crl-v1-critical-extension = La lista de revocación de certificados V1 del emisor tiene una extensión crítica.
+sec-error-crl-unknown-critical-extension = La lista de revocación de certificados V2 del emisor tiene una extensión crítica desconocida.
+sec-error-unknown-object-type = Tipo de objeto especificado desconocido.
+sec-error-incompatible-pkcs11 = El controlador PKCS #11 viola la especificación en una forma incompatible.
+sec-error-no-event = No hay disponible ningún nuevo evento de ranura en este momento.
+sec-error-crl-already-exists = La CRL ya existe.
+sec-error-not-initialized = NSS no está inicializado.
+sec-error-token-not-logged-in = La operación ha fallado porque el token PKCS#11 no ha iniciado sesión.
+sec-error-ocsp-responder-cert-invalid = El certificado configurado del respondedor OCSP no es válido.
+sec-error-ocsp-bad-signature = La respuesta OCSP tiene una firma no válida.
+sec-error-out-of-search-limits = La búsqueda de validación del certificado está fuera de los límites
+sec-error-invalid-policy-mapping = El mapeo de políticas contiene anypolicy
+sec-error-policy-validation-failed = La cadena de certificados no cumple la validación de políticas
+sec-error-unknown-aia-location-type = Tipo de ubicación desconocida en la extensión certificado AIA
+sec-error-bad-http-response = El servidor regresó una mala respuesta HTTP
+sec-error-bad-ldap-response = El servidor regresó una respuesta mala del LDAP
+sec-error-failed-to-encode-data = Fallo al codificar datos con el codificador ASN1
+sec-error-bad-info-access-location = Dirección de acceso a información no válida en extensión de certificado
+sec-error-libpkix-internal = Ocurrió un error interno Libpkix durante la validación del certificado.
+sec-error-pkcs11-general-error = Un módulo PKCS #11 ha devuelto CKR_GENERAL_ERROR, indicando que ha sucedido un error no recuperable.
+sec-error-pkcs11-function-failed = Un módulo PKCS #11 ha devuelto CKR_FUNCTION_FAILED, indicando que la función solicitada no se ha podido ejecutar. Si se intenta de nuevo la misma operación podría tener éxito.
+sec-error-pkcs11-device-error = Un módulo PKCS #11 ha devuelto CKR_DEVICE_ERROR, indicando que ha ocurrido un problema con el token o slot.
+sec-error-bad-info-access-method = Método de acceso a información desconocido en extensión de certificado.
+sec-error-crl-import-failed = Error al intentar importar una CRL.
+sec-error-expired-password = La contraseña ha caducado.
+sec-error-locked-password = La contraseña está bloqueada.
+sec-error-unknown-pkcs11-error = Error PKCS #11 desconocido.
+sec-error-bad-crl-dp-url = URL no válida o no admitida en el nombre del punto de distribución de la CRL.
+sec-error-cert-signature-algorithm-disabled = El certificado se firmó usando un algoritmo de firma que está desactivado porque no es seguro.
+
+mozilla-pkix-error-key-pinning-failure = Este servidor usa key pinning (HPKP) pero no se ha podido construir una cadena de certificados confiables que coincida con el pinset. Las violaciones de key pinning no se pueden solventar.
+mozilla-pkix-error-ca-cert-used-as-end-entity = El servidor usa un certificado con una extensión básica de restricciones que lo identifica como autoridad de certificación. Esto no debería ser el caso para un certificado emitido correctamente.
+mozilla-pkix-error-inadequate-key-size = El servidor ha presentado un certificado con un tamaño de clave que es demasiado pequeño para establecer una conexión segura.
+mozilla-pkix-error-v1-cert-used-as-ca = Un certificado X.509 versión 1 que no sea un anclar confiable se usó para emitir el certificado del servidor. Certificados X.509 versión 1 son obsoletos y no se deben usar para firmar otros certificados.   
+mozilla-pkix-error-not-yet-valid-certificate = El servidor ha presentado un certificado que aún no es válido.
+mozilla-pkix-error-not-yet-valid-issuer-certificate = Se ha usado un certificado que aún no es válido para emitir el certificado del servidor.
+mozilla-pkix-error-signature-algorithm-mismatch = El algoritmo de firma en el campo de firma del certificado no concuerda con el algoritmo en su campo signatureAlgorithm.
+mozilla-pkix-error-ocsp-response-for-cert-missing = La respuesta OCSP no incluye un estado para el certificado que se está verificando.
+mozilla-pkix-error-validity-too-long = El servidor ha presentado un certificado con una validez excesivamente amplia.
+mozilla-pkix-error-required-tls-feature-missing = Falta una característica necesaria de TLS.
+mozilla-pkix-error-invalid-integer-encoding = El servidor presentó un certificado que contenía una codificación inválida de un entero. Las causas usuales incluyen números de serie negativos, módulos RSA negativos, y codificaciones que ya no son necesarias.
+mozilla-pkix-error-empty-issuer-name = El servidor ha presentado un certificado que aún no es válido.
+mozilla-pkix-error-additional-policy-constraint-failed = Una restricción de política adicional falló al validar este certificado.
+mozilla-pkix-error-self-signed-cert = El certificado no es confiable porque fue autofirmado.
+
+xp-java-remove-principal-error = No se puede eliminar el principal
+xp-java-delete-privilege-error = No se puede eliminar el privilegio
+xp-java-cert-not-exists-error = Este principal no tiene un certificado
+
+xp-sec-fortezza-bad-card = La tarjeta Fortezza no ha sido correctamente inicializada. Retírala y devuélvela a tu emisor.
+xp-sec-fortezza-no-card = No se han encontrado tarjetas Fortezza
+xp-sec-fortezza-none-selected = No hay tarjeta Fortezza seleccionada
+xp-sec-fortezza-more-info = Selecciona una personalidad para obtener más información sobre
+xp-sec-fortezza-person-not-found = Personalidad no encontrada
+xp-sec-fortezza-no-more-info = No hay más información en esa personalidad
+xp-sec-fortezza-bad-pin = PIN no válido
+xp-sec-fortezza-person-error = No se pueden inicializar las personalidades Fortezza.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/passwordmgr/passwordmgr.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..55d6ff38ad
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/passwordmgr/passwordmgr.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Save and update password doorhanger
+
+# Variables
+# $host (String) - Hostname for which the password is saved for.
+password-manager-save-password-message = ¿Guardar contraseña para { $host }?
+password-manager-save-password-button-allow =
+ .label = Guardar
+ .accesskey = S
+password-manager-save-password-button-never =
+ .label = Nunca guardar
+ .accesskey = e
+# Variables
+# $host (String) - Hostname for which the password is updated for.
+password-manager-update-password-message = ¿Actualizar contraseña para { $host }?
+password-manager-update-login-add-username = ¿Añadir nombre de usuario a la contraseña guardada?
+password-manager-password-password-button-allow =
+ .label = Actualizar
+ .accesskey = U
+password-manager-update-password-button-deny =
+ .label = No actualizar
+ .accesskey = D
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = Sin nombre de usuario
+password-manager-toggle-password =
+ .label = Mostrar contraseña
+ .accesskey = h
+password-manager-confirm-password-change = Confirmar cambio de contraseña
+password-manager-select-username = Selecciona que inicio de sesión actualizar:
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/payments/payments.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..15274a9cde
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Expirará el { $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/es-MX/localization/es-MX/toolkit/pdfviewer/viewer.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..0069c6eb53
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,299 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Main toolbar buttons (tooltips and alt text for images)
+
+pdfjs-previous-button =
+ .title = Página anterior
+pdfjs-previous-button-label = Anterior
+pdfjs-next-button =
+ .title = Página siguiente
+pdfjs-next-button-label = Siguiente
+# .title: Tooltip for the pageNumber input.
+pdfjs-page-input =
+ .title = Página
+# 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 = de { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } de { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = Reducir
+pdfjs-zoom-out-button-label = Reducir
+pdfjs-zoom-in-button =
+ .title = Aumentar
+pdfjs-zoom-in-button-label = Aumentar
+pdfjs-zoom-select =
+ .title = Zoom
+pdfjs-presentation-mode-button =
+ .title = Cambiar al modo presentación
+pdfjs-presentation-mode-button-label = Modo presentación
+pdfjs-open-file-button =
+ .title = Abrir archivo
+pdfjs-open-file-button-label = Abrir
+pdfjs-print-button =
+ .title = Imprimir
+pdfjs-print-button-label = Imprimir
+pdfjs-save-button =
+ .title = Guardar
+pdfjs-save-button-label = Guardar
+pdfjs-bookmark-button =
+ .title = Página actual (Ver URL de la página actual)
+pdfjs-bookmark-button-label = Página actual
+# Used in Firefox for Android.
+pdfjs-open-in-app-button =
+ .title = Abrir en la aplicación
+# 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 = Abrir en la aplicación
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = Herramientas
+pdfjs-tools-button-label = Herramientas
+pdfjs-first-page-button =
+ .title = Ir a la primera página
+pdfjs-first-page-button-label = Ir a la primera página
+pdfjs-last-page-button =
+ .title = Ir a la última página
+pdfjs-last-page-button-label = Ir a la última página
+pdfjs-page-rotate-cw-button =
+ .title = Girar a la derecha
+pdfjs-page-rotate-cw-button-label = Girar a la derecha
+pdfjs-page-rotate-ccw-button =
+ .title = Girar a la izquierda
+pdfjs-page-rotate-ccw-button-label = Girar a la izquierda
+pdfjs-cursor-text-select-tool-button =
+ .title = Activar la herramienta de selección de texto
+pdfjs-cursor-text-select-tool-button-label = Herramienta de selección de texto
+pdfjs-cursor-hand-tool-button =
+ .title = Activar la herramienta de mano
+pdfjs-cursor-hand-tool-button-label = Herramienta de mano
+pdfjs-scroll-page-button =
+ .title = Usar desplazamiento de página
+pdfjs-scroll-page-button-label = Desplazamiento de página
+pdfjs-scroll-vertical-button =
+ .title = Usar desplazamiento vertical
+pdfjs-scroll-vertical-button-label = Desplazamiento vertical
+pdfjs-scroll-horizontal-button =
+ .title = Usar desplazamiento horizontal
+pdfjs-scroll-horizontal-button-label = Desplazamiento horizontal
+pdfjs-scroll-wrapped-button =
+ .title = Usar desplazamiento encapsulado
+pdfjs-scroll-wrapped-button-label = Desplazamiento encapsulado
+pdfjs-spread-none-button =
+ .title = No unir páginas separadas
+pdfjs-spread-none-button-label = Vista de una página
+pdfjs-spread-odd-button =
+ .title = Unir las páginas partiendo con una de número impar
+pdfjs-spread-odd-button-label = Vista de libro impar
+pdfjs-spread-even-button =
+ .title = Juntar las páginas partiendo con una de número par
+pdfjs-spread-even-button-label = Vista de libro par
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = Propiedades del documento…
+pdfjs-document-properties-button-label = Propiedades del documento…
+pdfjs-document-properties-file-name = Nombre del archivo:
+pdfjs-document-properties-file-size = Tamaño del archivo:
+# Variables:
+# $size_kb (Number) - the PDF file size in kilobytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } bytes)
+# Variables:
+# $size_mb (Number) - the PDF file size in megabytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-mb = { $size_mb } MB ({ $size_b } bytes)
+pdfjs-document-properties-title = Título:
+pdfjs-document-properties-author = Autor:
+pdfjs-document-properties-subject = Asunto:
+pdfjs-document-properties-keywords = Palabras claves:
+pdfjs-document-properties-creation-date = Fecha de creación:
+pdfjs-document-properties-modification-date = Fecha de modificación:
+# 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 = Creador:
+pdfjs-document-properties-producer = Productor PDF:
+pdfjs-document-properties-version = Versión PDF:
+pdfjs-document-properties-page-count = Número de páginas:
+pdfjs-document-properties-page-size = Tamaño de la página:
+pdfjs-document-properties-page-size-unit-inches = in
+pdfjs-document-properties-page-size-unit-millimeters = mm
+pdfjs-document-properties-page-size-orientation-portrait = vertical
+pdfjs-document-properties-page-size-orientation-landscape = horizontal
+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 = Carta
+pdfjs-document-properties-page-size-name-legal = Oficio
+
+## 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 = Vista rápida de la web:
+pdfjs-document-properties-linearized-yes = Sí
+pdfjs-document-properties-linearized-no = No
+pdfjs-document-properties-close-button = Cerrar
+
+## Print
+
+pdfjs-print-progress-message = Preparando documento para impresión…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress }%
+pdfjs-print-progress-close-button = Cancelar
+pdfjs-printing-not-supported = Advertencia: La impresión no esta completamente soportada por este navegador.
+pdfjs-printing-not-ready = Advertencia: El PDF no cargo completamente para impresión.
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = Cambiar barra lateral
+pdfjs-toggle-sidebar-notification-button =
+ .title = Alternar barra lateral (el documento contiene esquemas/adjuntos/capas)
+pdfjs-toggle-sidebar-button-label = Cambiar barra lateral
+pdfjs-document-outline-button =
+ .title = Mostrar esquema del documento (doble clic para expandir/contraer todos los elementos)
+pdfjs-document-outline-button-label = Esquema del documento
+pdfjs-attachments-button =
+ .title = Mostrar adjuntos
+pdfjs-attachments-button-label = Adjuntos
+pdfjs-layers-button =
+ .title = Mostrar capas (doble clic para restablecer todas las capas al estado predeterminado)
+pdfjs-layers-button-label = Capas
+pdfjs-thumbs-button =
+ .title = Mostrar miniaturas
+pdfjs-thumbs-button-label = Miniaturas
+pdfjs-current-outline-item-button =
+ .title = Buscar elemento de esquema actual
+pdfjs-current-outline-item-button-label = Elemento de esquema actual
+pdfjs-findbar-button =
+ .title = Buscar en el documento
+pdfjs-findbar-button-label = Buscar
+pdfjs-additional-layers = Capas adicionales
+
+## Thumbnails panel item (tooltip and alt text for images)
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-title =
+ .title = Página { $page }
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-canvas =
+ .aria-label = Miniatura de la página { $page }
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = Buscar
+ .placeholder = Buscar en el documento…
+pdfjs-find-previous-button =
+ .title = Ir a la anterior frase encontrada
+pdfjs-find-previous-button-label = Anterior
+pdfjs-find-next-button =
+ .title = Ir a la siguiente frase encontrada
+pdfjs-find-next-button-label = Siguiente
+pdfjs-find-highlight-checkbox = Resaltar todo
+pdfjs-find-match-case-checkbox-label = Coincidir con mayúsculas y minúsculas
+pdfjs-find-match-diacritics-checkbox-label = Coincidir diacríticos
+pdfjs-find-entire-word-checkbox-label = Palabras completas
+pdfjs-find-reached-top = Se alcanzó el inicio del documento, se buscará al final
+pdfjs-find-reached-bottom = Se alcanzó el final del documento, se buscará al inicio
+pdfjs-find-not-found = No se encontró la frase
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = Ancho de página
+pdfjs-page-scale-fit = Ajustar página
+pdfjs-page-scale-auto = Zoom automático
+pdfjs-page-scale-actual = Tamaño real
+# 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 = Página { $page }
+
+## Loading indicator messages
+
+pdfjs-loading-error = Un error ocurrió al cargar el PDF.
+pdfjs-invalid-file-error = Archivo PDF invalido o dañado.
+pdfjs-missing-file-error = Archivo PDF no encontrado.
+pdfjs-unexpected-response-error = Respuesta inesperada del servidor.
+pdfjs-rendering-error = Un error ocurrió al renderizar la página.
+
+## Annotations
+
+# Variables:
+# $date (Date) - the modification date of the annotation
+# $time (Time) - the modification time of the annotation
+pdfjs-annotation-date-string = { $date }, { $time }
+# .alt: This is used as a tooltip.
+# Variables:
+# $type (String) - an annotation type from a list defined in the PDF spec
+# (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+pdfjs-text-annotation-type =
+ .alt = [{ $type } anotación]
+
+## Password
+
+pdfjs-password-label = Ingresa la contraseña para abrir este archivo PDF.
+pdfjs-password-invalid = Contraseña inválida. Por favor intenta de nuevo.
+pdfjs-password-ok-button = Aceptar
+pdfjs-password-cancel-button = Cancelar
+pdfjs-web-fonts-disabled = Las fuentes web están desactivadas: es imposible usar las fuentes PDF embebidas.
+
+## Editing
+
+pdfjs-editor-free-text-button =
+ .title = Texto
+pdfjs-editor-free-text-button-label = Texto
+pdfjs-editor-ink-button =
+ .title = Dibujar
+pdfjs-editor-ink-button-label = Dibujar
+# Editor Parameters
+pdfjs-editor-free-text-color-input = Color
+pdfjs-editor-free-text-size-input = Tamaño
+pdfjs-editor-ink-color-input = Color
+pdfjs-editor-ink-thickness-input = Grossor
+pdfjs-editor-ink-opacity-input = Opacidad
+pdfjs-free-text =
+ .aria-label = Editor de texto
+pdfjs-free-text-default-content = Empieza a escribir…
+pdfjs-ink =
+ .aria-label = Editor de dibujo
+pdfjs-ink-canvas =
+ .aria-label = Imagen creada por el usuario
+
+## Alt-text dialog
+
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/pictureinpicture/pictureinpicture.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..3a2598e92f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/pictureinpicture/pictureinpicture.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/.
+
+pictureinpicture-player-title = Picture-in-Picture
+
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+##
+## Variables:
+## $shortcut (String) - Keyboard shortcut to execute the command.
+
+pictureinpicture-pause-btn =
+ .aria-label = Pausa
+ .tooltip = Pausa (barra espaciadora)
+pictureinpicture-play-btn =
+ .aria-label = Reproducir
+ .tooltip = Reproducir (barra espaciadora)
+
+pictureinpicture-mute-btn =
+ .aria-label = Silenciar
+ .tooltip = Silenciar ({ $shortcut })
+pictureinpicture-unmute-btn =
+ .aria-label = Activar sonido
+ .tooltip = Activar sonido ({ $shortcut })
+
+pictureinpicture-unpip-btn =
+ .aria-label = Enviar de vuelta a la pestaña
+ .tooltip = Volver a la pestaña
+
+pictureinpicture-close-btn =
+ .aria-label = Cerrar
+ .tooltip = Cerrar ({ $shortcut })
+
+pictureinpicture-subtitles-btn =
+ .aria-label = Subtítulos
+ .tooltip = Subtítulos
+
+##
+
+## 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 = Ir atrás
+ .tooltip = Ir atrás (←)
+
+pictureinpicture-seekforward-btn =
+ .aria-label = Ir adelante
+ .tooltip = Ir adelante (→)
+
+##
+
+# 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 = Configuración de subtítulos
+
+pictureinpicture-subtitles-label = Subtítulos
+
+pictureinpicture-font-size-label = Tamaño de fuente
+
+pictureinpicture-font-size-small = Pequeño
+
+pictureinpicture-font-size-medium = Mediano
+
+pictureinpicture-font-size-large = Grande
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/preferences/preferences.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..8c87b75e4f
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = (sin definir)
+
+failed-pp-change = No se pudo cambiar la contraseña primaria.
+incorrect-pp = No ingresaste correctamente la contraseña primaria. Por favor, vuelve a intentarlo.
+pp-change-ok = La contraseña primaria ha sido cambiada exitosamente.
+
+settings-pp-erased-ok = Has eliminado tu contraseña principal. Las contraseñas almacenadas y las claves privadas de certificado administradas por { -brand-short-name } ya no estarán protegidas.
+settings-pp-not-wanted = ¡Advertencia! Has decidido no usar una contraseñas principal. Contraseñas almacenadas y las claves privadas de certificados administradas por { -brand-short-name } ya no estarán protegidas.
+
+pp-change2empty-in-fips-mode = Actualmente estás en modo FIPS. FIPS requiere de una contraseña primaria que no esté en blanco.
+pw-change-success-title = Cambio de contraseña correcto
+pw-change-failed-title = Falló el cambio de contraseña
+pw-remove-button =
+ .label = Eliminar
+
+primary-password-dialog =
+ .title = Contraseña primaria
+set-password-old-password = Contraseña actual:
+set-password-new-password = Introducir nueva contraseña:
+set-password-reenter-password = Confirmar contraseña:
+set-password-meter = Calidad de la contraseña
+set-password-meter-loading = Cargando
+primary-password-admin = Tu administrador requiere que tengas configurada una contraseña primaria para guardar las credenciales y contraseñas.
+primary-password-description = Una contraseña primaria se usa para proteger cierta información sensible como credenciales y contraseñas, en este dispositivo. Si creas una contraseña primaria, deberás introducirla una vez por sesión cuando { -brand-short-name } recupere la información que estás protegiendo.
+primary-password-warning = Procura recordar bien o escribir en un lugar seguro esta contraseña primaria ya que, si la olvidas, no podrás acceder a ninguna información protegida por ésta en este dispositivo.
+
+remove-primary-password =
+ .title = Eliminar la contraseña primaria
+remove-info =
+ .value = Debe introducir la contraseña actual para proceder:
+remove-primary-password-warning1 = La contraseña primaria se usa para proteger información sensible, como credenciales y contraseñas de sitios.
+remove-primary-password-warning2 = Si eliminas la contraseña primaria, la información que ésta protege ya no estará segura, además, se verá comprometida si tu computador no cuenta con las medidas de seguridad adecuadas.
+remove-password-old-password =
+ .value = Contraseña actual:
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printDialogs.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..4d339982f3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Configuración de página
+custom-prompt-title = Personalizado…
+custom-prompt-prompt = Introduzca el texto personalizado para el encabezado/pie
+basic-tab =
+ .label = Formato y opciones
+advanced-tab =
+ .label = Márgenes y encabezado/pie de página
+format-group-label =
+ .value = Formato
+orientation-label =
+ .value = Orientación:
+portrait =
+ .label = Vertical
+ .accesskey = V
+landscape =
+ .label = Horizontal
+ .accesskey = l
+scale =
+ .label = Escala:
+ .accesskey = E
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = Reducir hasta ajustar al ancho de la página
+ .accesskey = R
+options-group-label =
+ .value = Opciones
+print-bg =
+ .label = Imprimir fondo (colores e imágenes)
+ .accesskey = f
+margin-group-label-inches =
+ .value = Márgenes (pulgadas)
+margin-group-label-metric =
+ .value = Márgenes (milímetros)
+margin-top =
+ .value = Superior:
+ .accesskey = S
+margin-top-invisible =
+ .value = Superior:
+margin-bottom =
+ .value = Inferior:
+ .accesskey = I
+margin-bottom-invisible =
+ .value = Inferior:
+margin-left =
+ .value = Izquierda:
+ .accesskey = I
+margin-left-invisible =
+ .value = Izquierda:
+margin-right =
+ .value = Derecha:
+ .accesskey = D
+margin-right-invisible =
+ .value = Derecha:
+header-footer-label =
+ .value = Encabezados y pies de página
+hf-left-label =
+ .value = Izquierda:
+hf-center-label =
+ .value = Centro:
+hf-right-label =
+ .value = Derecha:
+header-left-tip =
+ .tooltiptext = Encabezado izquierdo
+header-center-tip =
+ .tooltiptext = Encabezado central
+header-right-tip =
+ .tooltiptext = Encabezado derecho
+footer-left-tip =
+ .tooltiptext = Pie izquierdo
+footer-center-tip =
+ .tooltiptext = Pie central
+footer-right-tip =
+ .tooltiptext = Pie derecho
+hf-blank =
+ .label = --nada--
+hf-title =
+ .label = Título
+hf-url =
+ .label = Dirección
+hf-date-and-time =
+ .label = Fecha/hora
+hf-page =
+ .label = Página #
+hf-page-and-total =
+ .label = Página # de #
+hf-custom =
+ .label = Personalizado…
+print-preview-window =
+ .title = Vista previa
+print-title =
+ .value = Título:
+print-preparing =
+ .value = Preparando…
+print-progress =
+ .value = Progreso:
+print-window =
+ .title = Imprimiendo
+print-complete =
+ .value = La impresión se ha completado.
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent }%
+dialog-cancel-label = Cancelar
+dialog-close-label = Cerrar
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printPreview.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..ee1378b563
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Simplificar página
+ .accesskey = i
+ .tooltiptext = Esta página no se puede simplificar automáticamente
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = Cambiar diseño para una lectura más clara
+printpreview-close =
+ .label = Cerrar
+ .accesskey = C
+printpreview-portrait =
+ .label = Vertical
+ .accesskey = V
+printpreview-landscape =
+ .label = Horizontal
+ .accesskey = l
+printpreview-scale =
+ .value = Escala:
+ .accesskey = s
+printpreview-shrink-to-fit =
+ .label = Ajustar a la página
+printpreview-custom =
+ .label = Personalizado…
+printpreview-print =
+ .label = Imprimir…
+ .accesskey = p
+printpreview-of =
+ .value = de
+printpreview-custom-scale-prompt-title = Escala personalizada
+printpreview-page-setup =
+ .label = Configurar página…
+ .accesskey = u
+printpreview-page =
+ .value = Página:
+ .accesskey = a
+
+# Variables
+# $sheetNum (integer) - The current sheet number
+# $sheetCount (integer) - The total number of sheets to print
+printpreview-sheet-of-sheets = { $sheetNum } de { $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 = Primera página
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = Página anterior
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = Página siguiente
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = Última página
+
+printpreview-homearrow-button =
+ .title = Primera página
+printpreview-previousarrow-button =
+ .title = Página anterior
+printpreview-nextarrow-button =
+ .title = Página siguiente
+printpreview-endarrow-button =
+ .title = Última página
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printUI.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..57a59c312d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Imprimir
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = Guardar como
+
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ [one] { $sheetCount } hoja de papel
+ *[other] { $sheetCount } hojas de papel
+ }
+
+printui-page-range-all = Todo
+printui-page-range-current = Actual
+printui-page-range-odd = Impar
+printui-page-range-even = Par
+printui-page-range-custom = Personalizado
+printui-page-range-label = Páginas
+printui-page-range-picker =
+ .aria-label = Seleccionar rango de páginas
+printui-page-custom-range-input =
+ .aria-label = Ingresa un rango de páginas personalizado
+ .placeholder = Por ej. 2-6, 9, 12-16
+
+# Section title for the number of copies to print
+printui-copies-label = Copias
+
+printui-orientation = Orientación
+printui-landscape = Horizontal
+printui-portrait = Vertical
+
+# Section title for the printer or destination device to target
+printui-destination-label = Destino
+printui-destination-pdf-label = Guardar como PDF
+
+printui-more-settings = Más opciones
+printui-less-settings = Menos opciones
+
+printui-paper-size-label = Tamaño de papel
+
+# Section title (noun) for the print scaling options
+printui-scale = Escala
+printui-scale-fit-to-page-width = Ajustar al ancho de página
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = Escala
+
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = Impresión a doble cara
+printui-two-sided-printing-off = Desactivado
+# Flip the sheet as if it were bound along its long edge.
+printui-two-sided-printing-long-edge = Dar la vuelta por el borde largo
+# Flip the sheet as if it were bound along its short edge.
+printui-two-sided-printing-short-edge = Dar la vuelta por el borde corto
+
+# Section title for miscellaneous print options
+printui-options = Opciones
+printui-headers-footers-checkbox = Imprimir encabezados y pies de página
+printui-backgrounds-checkbox = Imprimir fondos
+
+## 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 = Formato
+# 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 = Selección
+# Option for "simplifying" the page by printing the Reader View version.
+printui-simplify-page-radio = Simplificado
+
+##
+
+printui-color-mode-label = Modo color
+printui-color-mode-color = Color
+printui-color-mode-bw = Blanco y negro
+
+printui-margins = Márgenes
+printui-margins-default = Predeterminado
+printui-margins-min = Mínimo
+printui-margins-none = Ninguno
+printui-margins-custom-inches = Personalizado (pulgadas)
+printui-margins-custom-mm = Personalizado (mm)
+printui-margins-custom-top = Superior
+printui-margins-custom-top-inches = Superior (pulgadas)
+printui-margins-custom-top-mm = Superior (mm)
+printui-margins-custom-bottom = Inferior
+printui-margins-custom-bottom-inches = Inferior (pulgadas)
+printui-margins-custom-bottom-mm = Inferior (mm)
+printui-margins-custom-left = Izquierda
+printui-margins-custom-left-inches = Izquierda (pulgadas)
+printui-margins-custom-left-mm = Izquierda (mm)
+printui-margins-custom-right = Derecha
+printui-margins-custom-right-inches = Derecha (pulgadas)
+printui-margins-custom-right-mm = Derecha (mm)
+
+printui-system-dialog-link = Imprimir usando el diálogo del sistema…
+
+printui-primary-button = Imprimir
+printui-primary-button-save = Guardar
+printui-cancel-button = Cancelar
+printui-close-button = Cerrar
+
+printui-loading = Preparando vista previa
+
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = Imprimir vista previa
+
+printui-pages-per-sheet = Páginas por hoja
+
+# 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 = Imprimiendo…
+printui-print-progress-indicator-saving = Guardando…
+
+## 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 = Carta EEUU
+printui-paper-legal = Oficio EEUU
+printui-paper-tabloid = Tabloide
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = La escala debe ser un número entre 10 y 200.
+printui-error-invalid-margin = Por favor, introduce un margen válido para el tamaño de papel seleccionado.
+printui-error-invalid-copies = Las copias deben ser un número entre 1 y 10000.
+
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = El rango debe ser un número entre 1 y { $numPages }.
+printui-error-invalid-start-overflow = El número de página “desde” debe ser menor que el número “hasta“.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/reportBrokenSite/reportBrokenSite.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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/es-MX/localization/es-MX/toolkit/updates/backgroundupdate.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..602358b378
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 tarea de actualización en segundo plano comprueba si hay actualizaciones para { -brand-short-name } cuando { -brand-short-name } no se está ejecutando. Esta tarea es instalada de manera automática por { -brand-short-name }, y se reinstala cuando { -brand-short-name } se ejecuta. Para desactivar esta tarea, actualiza la configuración del navegador o la política empresarial de { -brand-short-name } "BackgroundAppUpdate".
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/elevation.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..6fb4ce4dc3
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/elevation.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/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = Actualización de software
+elevation-details-link-label =
+ .value = Detalles
+elevation-error-manual = Puedes actualizar { -brand-short-name } manualmente visitando este enlace y descargando la última versión:
+elevation-finished-page = Actualización lista para instalar
+elevation-finished-background-page = Se ha descargado una actualización de seguridad y estabilidad para { -brand-short-name } y está lista para ser instalada.
+elevation-finished-background = Actualización:
+elevation-more-elevated =
+ Esta actualización requiere privilegios de administrador. La actualización será
+ instalada la próxima vez que se inicie { -brand-short-name } . Puede reiniciar
+ { -brand-short-name } ahora, continuar trabajando y reiniciar después o rechazar esta
+ actualización.
diff --git a/thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/history.ftl b/thunderbird-l10n/es-MX/localization/es-MX/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..567874531d
--- /dev/null
+++ b/thunderbird-l10n/es-MX/localization/es-MX/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 = Historial de actualizaciones
+history-intro = Las siguientes actualizaciones han sido instaladas
+
+close-button-label =
+ .buttonlabelcancel = Cerrar
+ .title = Historial de actualizaciones
+
+no-updates-label = No hay actualizaciones instaladas
+name-header = Nombre de la actualización
+date-header = Fecha de instalación
+type-header = Tipo
+state-header = Estado
+
+# 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 = Detalles
+
+update-installed-on = Instalado en: { $date }
+
+update-status = Estado: { $status }
diff --git a/thunderbird-l10n/es-MX/manifest.json b/thunderbird-l10n/es-MX/manifest.json
new file mode 100644
index 0000000000..6dcb11aacf
--- /dev/null
+++ b/thunderbird-l10n/es-MX/manifest.json
@@ -0,0 +1,56 @@
+{
+ "langpack_id": "es-MX",
+ "manifest_version": 2,
+ "browser_specific_settings": {
+ "gecko": {
+ "id": "langpack-es-MX@thunderbird.mozilla.org",
+ "strict_min_version": "115.0",
+ "strict_max_version": "115.*"
+ }
+ },
+ "name": "Language: Español (MX) (Spanish, Mexico)",
+ "description": "Thunderbird Language Pack for Español (MX) (es-MX) – Spanish, Mexico",
+ "version": "115.7.20240119.95007",
+ "languages": {
+ "es-MX": {
+ "version": "20240119105013",
+ "chrome_resources": {
+ "alerts": "chrome/es-MX/locale/es-MX/alerts/",
+ "autoconfig": "chrome/es-MX/locale/es-MX/autoconfig/",
+ "branding": "chrome/es-MX/locale/branding/",
+ "calendar": "chrome/es-MX/locale/es-MX/calendar/",
+ "chat": "chrome/es-MX/locale/es-MX/chat/",
+ "communicator": "chrome/es-MX/locale/es-MX/communicator/",
+ "devtools": "chrome/es-MX/locale/es-MX/devtools/client/",
+ "devtools-shared": "chrome/es-MX/locale/es-MX/devtools/shared/",
+ "global": "chrome/es-MX/locale/es-MX/global/",
+ "global-platform": {
+ "macosx": "chrome/es-MX/locale/es-MX/global-platform/mac/",
+ "linux": "chrome/es-MX/locale/es-MX/global-platform/unix/",
+ "android": "chrome/es-MX/locale/es-MX/global-platform/unix/",
+ "win": "chrome/es-MX/locale/es-MX/global-platform/win/"
+ },
+ "lightning": "chrome/es-MX/locale/es-MX/lightning/",
+ "messenger": "chrome/es-MX/locale/es-MX/messenger/",
+ "messenger-mapi": "chrome/es-MX/locale/es-MX/messenger-mapi/",
+ "messenger-newsblog": "chrome/es-MX/locale/es-MX/messenger-newsblog/",
+ "messenger-region": "chrome/es-MX/locale/es-MX/messenger-region/",
+ "messenger-smime": "chrome/es-MX/locale/es-MX/messenger-smime/",
+ "mozapps": "chrome/es-MX/locale/es-MX/mozapps/",
+ "mozldap": "chrome/es-MX/locale/es-MX/mozldap/",
+ "necko": "chrome/es-MX/locale/es-MX/necko/",
+ "passwordmgr": "chrome/es-MX/locale/es-MX/passwordmgr/",
+ "pdf.js": "chrome/es-MX/locale/pdfviewer/",
+ "pipnss": "chrome/es-MX/locale/es-MX/pipnss/",
+ "pippki": "chrome/es-MX/locale/es-MX/pippki/",
+ "places": "chrome/es-MX/locale/es-MX/places/"
+ }
+ }
+ },
+ "sources": {
+ "browser": {
+ "base_path": "browser/"
+ }
+ },
+ "author": "mozilla.org (contributors: Joe Solon, Suzy Solon)"
+}