summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/zh-CN
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/zh-CN
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/zh-CN')
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/pdfviewer/chrome.properties20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/pdfviewer/viewer.properties256
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/alerts/alert.properties23
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/autoconfig/autoconfig.properties12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-alarms.properties39
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog-attendees.properties15
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.dtd428
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.properties541
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-extract.properties294
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.dtd19
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.properties10
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-occurrence-prompt.dtd7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-occurrence-prompt.properties63
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar.dtd386
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar.properties696
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.dtd51
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.properties6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/categories.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dateFormat.properties146
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dialogs/calendar-event-dialog-reminder.dtd19
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/global.dtd25
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/menuOverlay.dtd50
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.dtd9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/provider-uninstall.dtd12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/timezones.properties497
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.dtd41
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.properties9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/commands.properties27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/contacts.properties8
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/conversations.properties85
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/facebook.properties6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/imtooltip.properties12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/irc.properties209
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/logger.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/matrix.properties255
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/status.properties23
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/twitter.properties122
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/xmpp.properties281
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/yahoo.properties5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/communicator/utilityOverlay.dtd43
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/accessibility.properties306
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/animationinspector.properties182
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/boxmodel.properties48
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/changes.properties64
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/components.properties61
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/debugger.properties1132
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/device.properties21
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/dom.properties27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/filterwidget.properties59
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/font-inspector.properties69
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/har.properties30
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/inspector.properties602
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/jsonview.properties47
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/layout.properties138
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/memory.properties434
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/menus.properties29
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/netmonitor.properties1679
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/network-throttling.properties27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/responsive.properties182
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/shared.properties26
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/sourceeditor.properties117
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/startup.properties247
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/styleeditor.properties74
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/toolbox.properties266
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/webconsole.properties601
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/accessibility.properties142
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/debugger.properties67
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/eyedropper.properties14
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/screenshot.properties148
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/shared.properties6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties267
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/accessible.properties71
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/intl.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/platformKeys.properties33
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/accessible.properties21
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/intl.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/platformKeys.properties33
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/accessible.properties21
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/intl.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/platformKeys.properties33
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/aboutStudies.properties32
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/appstrings.properties37
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/autocomplete.properties9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/browser.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/commonDialogs.properties46
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/contentAreaCommands.properties28
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/css.properties52
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dialog.properties12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dom/dom.properties478
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/extensions.properties27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/fallbackMenubar.properties8
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/filepicker.properties20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/global-strres.properties5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/intl.css11
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/intl.properties43
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/keys.properties78
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/HtmlForm.properties35
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/MediaDocument.properties22
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/htmlparser.properties144
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/xmlparser.properties48
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout_errors.properties53
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/mathml/mathml.properties15
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/narrate.properties25
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/nsWebBrowserPersist.properties17
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/printdialog.properties53
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/printing.properties56
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/resetProfile.properties14
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/caps.properties9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/csp.properties125
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/security.properties167
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/svg/svg.properties5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/viewSource.properties16
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/wizard.properties8
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/xslt/xslt.properties39
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/xul.properties5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning-toolbar.dtd51
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning.dtd114
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning.properties165
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-mapi/mapi.properties36
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/am-newsblog.dtd14
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/feed-subscriptions.dtd55
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/newsblog.properties93
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-region/region.properties29
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/certFetchingStatus.dtd10
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSMIMEOverlay.dtd16
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.dtd18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSMIMEOverlay.properties11
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSecurityInfo.dtd17
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgSecurityInfo.properties36
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/AccountManager.dtd25
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/AccountWizard.dtd51
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/CustomHeaders.dtd11
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/FilterEditor.dtd67
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/FilterListDialog.dtd43
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/SearchDialog.dtd38
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutDownloads.dtd23
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutRights.properties6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutSupportMail.properties15
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationModel.properties20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationUtil.properties34
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/activity.dtd19
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/activity.properties99
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addbuddy.dtd7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abAddressBookNameDialog.dtd7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abContactsPanel.dtd49
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abMailListDialog.dtd22
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abMainWindow.dtd17
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abResultsPane.dtd38
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/addressBook.properties178
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/ldapAutoCompErrs.properties109
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory-add.dtd45
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory.dtd17
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/replicationProgress.properties20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-addressing.dtd51
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-advanced.dtd28
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-archiveoptions.dtd26
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-copies.dtd50
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-e2e.properties5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identities-list.dtd15
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identity-edit.dtd14
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-im.dtd16
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-junk.dtd31
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-main.dtd47
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.dtd33
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.properties6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-offline.dtd57
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-advanced.dtd31
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-top.dtd89
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-serverwithnoidentities.dtd6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-smime.dtd47
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-smime.properties39
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appUpdate.properties40
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appleMailImportMsgs.properties20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/baseMenuOverlay.dtd34
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/beckyImportMsgs.properties19
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/charsetTitles.properties80
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/chat.dtd44
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/chat.properties110
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/configEditorOverlay.dtd5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.dtd11
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.properties41
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/custom.properties5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.dtd18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.properties11
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/downloadheaders.dtd27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.dtd20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.properties14
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/fieldMapImport.dtd17
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/filter.properties108
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderProps.dtd70
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderWidgets.properties12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderpane.dtd7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/gloda.properties175
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaComplete.properties19
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.dtd29
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.properties171
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccountWizard.dtd32
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccounts.properties63
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imapMsgs.properties266
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importDialog.dtd56
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importMsgs.properties304
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/joinChat.dtd10
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/junkLog.dtd10
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/localMsgs.properties139
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailEditorOverlay.dtd6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailOverlay.dtd11
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewList.dtd9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewSetup.dtd12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailviews.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/markByDate.dtd9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.dtd947
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.properties762
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdAdvancedEdit.dtd18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdColorPicker.dtd22
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdConvertToTable.dtd15
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdDialogOverlay.dtd17
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdNamedAnchorProperties.dtd9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorColorProperties.dtd29
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorHLineProperties.dtd27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorImageProperties.dtd79
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertChars.dtd19
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertMath.dtd21
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertSource.dtd15
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTOC.dtd16
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTable.dtd18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorLinkProperties.dtd6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorListProperties.dtd20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorPersonalDictionary.dtd18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorReplace.dtd29
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorSpellCheck.dtd38
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorTableProperties.dtd75
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/composeMsgs.properties463
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editor.properties208
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editorOverlay.dtd304
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/mailComposeEditorOverlay.dtd9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/messengercompose.dtd306
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.dtd8
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.properties21
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/migration/migration.dtd30
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/migration/migration.properties32
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mime.properties154
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mimeheader.properties35
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/morkImportMsgs.properties18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgAccountCentral.dtd26
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgHdrViewOverlay.dtd114
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgSynchronize.dtd27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgViewPickerOverlay.dtd23
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgmdn.properties18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.dtd8
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.properties66
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newFolderDialog.dtd16
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/news.properties56
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newsError.dtd31
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offline.properties28
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offlineStartup.properties8
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/outlookImportMsgs.properties82
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/pgpmime.properties10
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applicationManager.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applications.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/messagestyle.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/preferences.properties100
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/prefs.properties89
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/profileDowngrade.dtd20
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.dtd22
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.properties5
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/renameFolderDialog.dtd9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/sanitize.dtd36
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/seamonkeyImportMsgs.properties18
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-attributes.properties45
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-operators.properties31
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search.properties27
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/searchTermOverlay.dtd19
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/shutdownWindow.properties10
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/smime.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/smtpEditOverlay.dtd24
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.dtd22
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/tabmail.dtd9
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/taskbar.properties8
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/telemetry.properties13
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/templateUtils.properties7
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/textImportMsgs.properties53
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/vCardImportMsgs.properties26
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewLog.dtd12
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewSource.dtd84
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewSource.properties17
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewZoomOverlay.dtd32
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderListDialog.dtd10
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderProperties.dtd22
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/wmImportMsgs.properties76
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/downloads/downloads.properties6
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/downloads/unknownContentType.properties23
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/profile/profileSelection.properties55
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/update/updates.properties45
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozldap/ldap.properties272
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.properties99
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/passwordmgr/passwordmgr.properties79
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/nsserrors.properties331
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/pipnss.properties123
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pippki/pippki.properties76
-rw-r--r--thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/places/places.properties32
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/branding/brand.ftl22
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/browser/appExtensionFields.ftl16
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/browser/branding/brandings.ftl18
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/browser/components/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/browser/components/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-context-menus.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-delete-prompt.ftl32
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-editable-item.ftl30
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-event-dialog-reminder.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-event-listing.ftl71
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-ics-file-dialog.ftl48
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-invitation-panel.ftl113
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-invitations-dialog.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-itip-identity-dialog.ftl8
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-print.ftl17
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-recurrence-dialog.ftl8
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-summary-dialog.ftl17
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-uri-redirect-dialog.ftl12
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-widgets.ftl111
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/category-dialog.ftl7
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/calendar/preferences.ftl192
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/chat/matrix.ftl20
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/crashreporter/aboutcrashes.ftl31
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/aboutdebugging.ftl336
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/accessibility.ftl95
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/application.ftl153
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/compatibility.ftl53
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/perftools.ftl140
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/storage.ftl132
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/styleeditor.ftl52
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/toolbox-options.ftl154
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/toolbox.ftl55
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.ftl97
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/debugger-paused-reasons.ftl87
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/highlighters.ftl67
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/webconsole-commands.ftl35
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/devtools/startup/key-shortcuts.ftl38
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/dom/XMLPrettyPrint.ftl5
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/dom/media.ftl6
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/locales-preview/aboutTranslations.ftl28
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/about3Pane.ftl401
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutAddonsExtra.ftl12
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutDialog.ftl48
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutImport.ftl178
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutProfilesExtra.ftl5
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutRights.ftl30
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportCalendar.ftl33
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportChat.ftl11
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportMail.ftl31
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountCentral.ftl65
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountManager.ftl18
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountProvisioner.ftl77
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl83
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountSetup.ftl291
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addonNotifications.ftl110
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/abCardDAVDialog.ftl26
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/abCardDAVProperties.ftl33
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/aboutAddressBook.ftl300
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/fieldMapImport.ftl12
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/vcard.ftl138
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/appmenu.ftl210
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/chat-verifySession.ftl17
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/chat.ftl47
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl20
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/exportDialog.ftl22
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensionPermissions.ftl27
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensions/popup.ftl14
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensionsUI.ftl9
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/firefoxAccounts.ftl32
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/flatpak.ftl24
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/folderprops.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/importDialog.ftl30
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/mailWidgets.ftl13
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/menubar.ftl144
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messageheader/headerFields.ftl49
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messenger.ftl404
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messengercompose/messengercompose.ftl406
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/migration.ftl15
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/multimessageview.ftl14
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/backupKeyPassword.ftl17
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/changeExpiryDlg.ftl22
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/composeKeyStatus.ftl23
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyAssistant.ftl118
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyWizard.ftl139
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/msgReadStatus.ftl86
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/oneRecipientStatus.ftl48
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp-frontend.ftl46
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl723
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/add-finger.ftl16
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/am-im-otr.ftl23
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/auth.ftl60
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/chat.ftl19
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/finger-sync.ftl12
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/finger.ftl20
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/otr.ftl97
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/otrUI.ftl87
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/policies/aboutPolicies.ftl17
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/policies/policies-descriptions.ftl159
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/am-copies.ftl5
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/am-im.ftl23
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/application-manager.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/attachment-reminder.ftl21
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/colors.ftl36
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/connection.ftl88
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/cookies.ftl44
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/dock-options.ftl23
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/fonts.ftl132
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/languages.ftl33
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/new-tag.ftl13
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/notifications.ftl29
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/offline.ftl43
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/passwordManager.ftl83
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/permissions.ftl43
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/preferences.ftl791
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/receipts.ftl39
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/sync-dialog.ftl11
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl39
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/shortcuts.ftl113
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/syncAccounts.ftl28
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/treeView.ftl65
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/troubleshootMode.ftl33
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbar.ftl100
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbarItems.ftl165
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/messenger/viewSource.ftl19
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/security/certificates/certManager.ftl228
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/security/certificates/deviceManager.ftl133
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/security/pippki/pippki.ftl106
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/services/accounts.ftl8
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAbout.ftl6
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAddons.ftl484
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutCompat.ftl22
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutGlean.ftl70
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutHttpsOnlyError.ftl24
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutLogging.ftl69
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutMozilla.ftl7
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutNetworking.ftl68
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutPerformance.ftl67
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutPlugins.ftl43
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutProcesses.ftl186
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutProfiles.ftl74
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutReader.ftl48
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutRights.ftl36
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutServiceWorkers.ftl35
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutSupport.ftl409
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutTelemetry.ftl135
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutThirdParty.ftl72
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebauthn.ftl129
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebrtc.ftl322
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWindowsMessages.ftl15
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/abuseReports.ftl100
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/certviewer.ftl122
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/config.ftl55
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/url-classifier.ftl58
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/branding/accounts.ftl7
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/branding/brandings.ftl45
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/contentanalysis/contentanalysis.ftl25
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/downloads/downloadUI.ftl51
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/downloads/downloadUtils.ftl90
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/featuregates/features.ftl58
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/formautofill/formAutofill.ftl22
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/alert.ftl12
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/appPicker.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/browser-utils.ftl11
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/commonDialog.ftl21
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/contextual-identity.ftl29
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/cookieBannerHandling.ftl5
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/createProfileWizard.ftl53
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/cspErrors.ftl32
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/datepicker.ftl50
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/datetimebox.ftl42
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/extensionPermissions.ftl33
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/extensions.ftl97
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/handlerDialog.ftl70
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/htmlForm.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozCard.ftl3
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozFiveStar.ftl9
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozMessageBar.ftl15
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozSupportLink.ftl5
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/notification.ftl16
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/popupnotification.ftl10
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/processTypes.ftl61
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/profileDowngrade.ftl18
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/profileSelection.ftl38
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/resetProfile.ftl15
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/resistFingerPrinting.ftl6
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/run-from-dmg.ftl28
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/tabprompts.ftl13
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/textActions.ftl64
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/timepicker.ftl3
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/tree.ftl6
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/unknownContentType.ftl42
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/videocontrols.ftl74
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/wizard.ftl37
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/languageNames.ftl215
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/regionNames.ftl280
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/autocomplete.ftl24
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/findbar.ftl68
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/certError.ftl141
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/netError.ftl149
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/nsserrors.ftl349
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/passwordmgr/passwordmgr.ftl39
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/payments/payments.ftl51
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/pdfviewer/viewer.ftl376
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/pictureinpicture/pictureinpicture.ftl86
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/preferences/preferences.ftl39
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printDialogs.ftl112
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printPreview.ftl73
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printUI.ftl129
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/reportBrokenSite/reportBrokenSite.ftl3
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/backgroundupdate.ftl5
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/elevation.ftl14
-rw-r--r--thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/history.ftl29
-rw-r--r--thunderbird-l10n/zh-CN/manifest.json56
518 files changed, 40644 insertions, 0 deletions
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd
new file mode 100644
index 0000000000..e4ffe44c2d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.dtd
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!ENTITY brandShortName "Thunderbird">
+<!ENTITY brandShorterName "Thunderbird">
+<!ENTITY brandFullName "Mozilla Thunderbird">
+<!-- LOCALIZATION NOTE (brandProductName):
+ This brand name can be used in messages where the product name needs to
+ remain unchanged across different versions (Daily, Beta, etc.). -->
+<!ENTITY brandProductName "Thunderbird">
+<!ENTITY vendorShortName "Mozilla">
+<!ENTITY trademarkInfo.part1 "Mozilla Thunderbird 和 Thunderbird 标志是 Mozilla 基金会的商标。">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/branding/brand.properties
new file mode 100644
index 0000000000..9dd5011219
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/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/zh-CN/chrome/zh-CN/locale/pdfviewer/chrome.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/pdfviewer/chrome.properties
new file mode 100644
index 0000000000..3be9fd8bab
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/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=这份 PDF 文档可能并未正确显示。
+unsupported_feature_forms=此 PDF 文档包含表单。尚不支持填写表单栏。
+unsupported_feature_signatures=此 PDF 文档包含数字签名。尚不支持签名验证。
+open_with_different_viewer=用其他查看器打开
+open_with_different_viewer.accessKey=o
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/pdfviewer/viewer.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/pdfviewer/viewer.properties
new file mode 100644
index 0000000000..5cd56439dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/pdfviewer/viewer.properties
@@ -0,0 +1,256 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Main toolbar buttons (tooltips and alt text for images)
+previous.title=上一页
+previous_label=上一页
+next.title=下一页
+next_label=下一页
+
+# LOCALIZATION NOTE (page.title): The tooltip for the pageNumber input.
+page.title=页面
+# LOCALIZATION NOTE (of_pages): "{{pagesCount}}" will be replaced by a number
+# representing the total number of pages in the document.
+of_pages=/ {{pagesCount}}
+# LOCALIZATION NOTE (page_of_pages): "{{pageNumber}}" and "{{pagesCount}}"
+# will be replaced by a number representing the currently visible page,
+# respectively a number representing the total number of pages in the document.
+page_of_pages=({{pageNumber}} / {{pagesCount}})
+
+zoom_out.title=缩小
+zoom_out_label=缩小
+zoom_in.title=放大
+zoom_in_label=放大
+zoom.title=缩放
+presentation_mode.title=切换到演示模式
+presentation_mode_label=演示模式
+open_file.title=打开文件
+open_file_label=打开
+print.title=打印
+print_label=打印
+save.title=保存
+save_label=保存
+bookmark1.title=当前页面(在当前页面查看 URL)
+bookmark1_label=当前页面
+# LOCALIZATION NOTE (open_in_app.title): This string is used in Firefox for Android.
+open_in_app.title=在应用中打开
+# LOCALIZATION NOTE (open_in_app_label): This string is used in Firefox for Android. Length of the translation matters since we are in a mobile context, with limited screen estate.
+open_in_app_label=在应用中打开
+
+# Secondary toolbar and context menu
+tools.title=工具
+tools_label=工具
+first_page.title=转到第一页
+first_page_label=转到第一页
+last_page.title=转到最后一页
+last_page_label=转到最后一页
+page_rotate_cw.title=顺时针旋转
+page_rotate_cw_label=顺时针旋转
+page_rotate_ccw.title=逆时针旋转
+page_rotate_ccw_label=逆时针旋转
+
+cursor_text_select_tool.title=启用文本选择工具
+cursor_text_select_tool_label=文本选择工具
+cursor_hand_tool.title=启用手形工具
+cursor_hand_tool_label=手形工具
+
+scroll_page.title=使用页面滚动
+scroll_page_label=页面滚动
+scroll_vertical.title=使用垂直滚动
+scroll_vertical_label=垂直滚动
+scroll_horizontal.title=使用水平滚动
+scroll_horizontal_label=水平滚动
+scroll_wrapped.title=使用平铺滚动
+scroll_wrapped_label=平铺滚动
+
+spread_none.title=不加入衔接页
+spread_none_label=单页视图
+spread_odd.title=加入衔接页使奇数页作为起始页
+spread_odd_label=双页视图
+spread_even.title=加入衔接页使偶数页作为起始页
+spread_even_label=书籍视图
+
+# Document properties dialog box
+document_properties.title=文档属性…
+document_properties_label=文档属性…
+document_properties_file_name=文件名:
+document_properties_file_size=文件大小:
+# LOCALIZATION NOTE (document_properties_kb): "{{size_kb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in kilobytes, respectively in bytes.
+document_properties_kb={{size_kb}} KB ({{size_b}} 字节)
+# LOCALIZATION NOTE (document_properties_mb): "{{size_mb}}" and "{{size_b}}"
+# will be replaced by the PDF file size in megabytes, respectively in bytes.
+document_properties_mb={{size_mb}} MB ({{size_b}} 字节)
+document_properties_title=标题:
+document_properties_author=作者:
+document_properties_subject=主题:
+document_properties_keywords=关键词:
+document_properties_creation_date=创建日期:
+document_properties_modification_date=修改日期:
+# LOCALIZATION NOTE (document_properties_date_string): "{{date}}" and "{{time}}"
+# will be replaced by the creation/modification date, and time, of the PDF file.
+document_properties_date_string={{date}}, {{time}}
+document_properties_creator=创建者:
+document_properties_producer=PDF 生成器:
+document_properties_version=PDF 版本:
+document_properties_page_count=页数:
+document_properties_page_size=页面大小:
+document_properties_page_size_unit_inches=英寸
+document_properties_page_size_unit_millimeters=毫米
+document_properties_page_size_orientation_portrait=纵向
+document_properties_page_size_orientation_landscape=横向
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=Letter
+document_properties_page_size_name_legal=Legal
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} × {{height}} {{unit}}({{orientation}})
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} × {{height}} {{unit}}({{name}},{{orientation}})
+# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
+# the document; usually called "Fast Web View" in English locales of Adobe software.
+document_properties_linearized=快速 Web 视图:
+document_properties_linearized_yes=是
+document_properties_linearized_no=否
+document_properties_close=关闭
+
+print_progress_message=正在准备打印文档…
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=取消
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=切换侧栏
+toggle_sidebar_notification2.title=切换侧栏(文档所含的大纲/附件/图层)
+toggle_sidebar_label=切换侧栏
+document_outline.title=显示文档大纲(双击展开/折叠所有项)
+document_outline_label=文档大纲
+attachments.title=显示附件
+attachments_label=附件
+layers.title=显示图层(双击即可将所有图层重置为默认状态)
+layers_label=图层
+thumbs.title=显示缩略图
+thumbs_label=缩略图
+current_outline_item.title=查找当前大纲项目
+current_outline_item_label=当前大纲项目
+findbar.title=在文档中查找
+findbar_label=查找
+
+additional_layers=其他图层
+# LOCALIZATION NOTE (page_landmark): "{{page}}" will be replaced by the page number.
+page_landmark=第 {{page}} 页
+# Thumbnails panel item (tooltip and alt text for images)
+# LOCALIZATION NOTE (thumb_page_title): "{{page}}" will be replaced by the page
+# number.
+thumb_page_title=第 {{page}} 页
+# LOCALIZATION NOTE (thumb_page_canvas): "{{page}}" will be replaced by the page
+# number.
+thumb_page_canvas=页面 {{page}} 的缩略图
+
+# Find panel button title and messages
+find_input.title=查找
+find_input.placeholder=在文档中查找…
+find_previous.title=查找词语上一次出现的位置
+find_previous_label=上一页
+find_next.title=查找词语后一次出现的位置
+find_next_label=下一页
+find_highlight=全部高亮显示
+find_match_case_label=区分大小写
+find_match_diacritics_label=匹配变音符号
+find_entire_word_label=全词匹配
+find_reached_top=到达文档开头,从末尾继续
+find_reached_bottom=到达文档末尾,从开头继续
+# LOCALIZATION NOTE (find_match_count): The supported plural forms are
+# [one|two|few|many|other], with [other] as the default value.
+# "{{current}}" and "{{total}}" will be replaced by a number representing the
+# index of the currently active find result, respectively a number representing
+# the total number of matches in the document.
+find_match_count={[ plural(total) ]}
+find_match_count[one]=第 {{current}} 项,共匹配 {{total}} 项
+find_match_count[two]=第 {{current}} 项,共匹配 {{total}} 项
+find_match_count[few]=第 {{current}} 项,共匹配 {{total}} 项
+find_match_count[many]=第 {{current}} 项,共匹配 {{total}} 项
+find_match_count[other]=第 {{current}} 项,共匹配 {{total}} 项
+# LOCALIZATION NOTE (find_match_count_limit): The supported plural forms are
+# [zero|one|two|few|many|other], with [other] as the default value.
+# "{{limit}}" will be replaced by a numerical value.
+find_match_count_limit={[ plural(limit) ]}
+find_match_count_limit[zero]=超过 {{limit}} 项匹配
+find_match_count_limit[one]=超过 {{limit}} 项匹配
+find_match_count_limit[two]=超过 {{limit}} 项匹配
+find_match_count_limit[few]=超过 {{limit}} 项匹配
+find_match_count_limit[many]=超过 {{limit}} 项匹配
+find_match_count_limit[other]=超过 {{limit}} 项匹配
+find_not_found=找不到指定词语
+
+# Predefined zoom values
+page_scale_width=适合页宽
+page_scale_fit=适合页面
+page_scale_auto=自动缩放
+page_scale_actual=实际大小
+# LOCALIZATION NOTE (page_scale_percent): "{{scale}}" will be replaced by a
+# numerical scale value.
+page_scale_percent={{scale}}%
+
+# Loading indicator messages
+loading_error=加载 PDF 时发生错误。
+invalid_file_error=无效或损坏的 PDF 文件。
+missing_file_error=缺少 PDF 文件。
+unexpected_response_error=意外的服务器响应。
+rendering_error=渲染页面时发生错误。
+
+# LOCALIZATION NOTE (annotation_date_string): "{{date}}" and "{{time}}" will be
+# replaced by the modification date, and time, of the annotation.
+annotation_date_string={{date}},{{time}}
+
+# LOCALIZATION NOTE (text_annotation_type.alt): This is used as a tooltip.
+# "{{type}}" will be replaced with an annotation type from a list defined in
+# the PDF spec (32000-1:2008 Table 169 – Annotation types).
+# Some common types are e.g.: "Check", "Text", "Comment", "Note"
+text_annotation_type.alt=[{{type}} 注释]
+password_label=输入密码以打开此 PDF 文件。
+password_invalid=密码无效。请重试。
+password_ok=确定
+password_cancel=取消
+
+printing_not_supported=警告:此浏览器尚未完整支持打印功能。
+printing_not_ready=警告:此 PDF 未完成加载,无法打印。
+web_fonts_disabled=Web 字体已被禁用:无法使用嵌入的 PDF 字体。
+
+# Editor
+editor_free_text2.title=文本
+editor_free_text2_label=文本
+editor_ink2.title=绘图
+editor_ink2_label=绘图
+
+free_text2_default_content=开始输入…
+
+# Editor Parameters
+editor_free_text_color=颜色
+editor_free_text_size=字号
+editor_ink_color=颜色
+editor_ink_thickness=粗细
+editor_ink_opacity=不透明度
+
+# Editor aria
+editor_free_text2_aria_label=文本编辑器
+editor_ink2_aria_label=绘图编辑器
+editor_ink_canvas_aria_label=用户创建图像
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/alerts/alert.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/alerts/alert.properties
new file mode 100644
index 0000000000..0855ae0946
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/alerts/alert.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(closeButton.title): Used as the close button text for web notifications on OS X.
+# This should ideally match the string that OS X uses for the close button on alert-type
+# notifications. OS X will truncate the value if it's too long.
+closeButton.title = 关闭
+# LOCALIZATION NOTE(actionButton.label): Used as the button label to provide more actions on OS X notifications. OS X will truncate this if it's too long.
+actionButton.label = …
+# LOCALIZATION NOTE(webActions.disableForOrigin.label): %S is replaced
+# with the hostname origin of the notification.
+webActions.disableForOrigin.label = 禁止来自 %S 的通知
+
+# LOCALIZATION NOTE(source.label): Used to show the URL of the site that
+# sent the notification (e.g., "via mozilla.org"). "%1$S" is the source host
+# and port.
+source.label=由 %1$S 提示
+webActions.settings.label = 通知设置
+
+# LOCALIZATION NOTE(pauseNotifications.label): %S is replaced with the
+# brandShortName of the application.
+pauseNotifications.label = 暂停通知直至下次打开 %S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/autoconfig/autoconfig.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/autoconfig/autoconfig.properties
new file mode 100644
index 0000000000..7eb8f4c534
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/autoconfig/autoconfig.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readConfigTitle = 配置错误
+readConfigMsg = 读取配置文件失败。请联系您的系统管理员。
+
+autoConfigTitle = 自动配置警告
+autoConfigMsg = Netscape.cfg/自动配置失败。请联系您的系统管理员。\n错误:%S失败:
+
+emailPromptTitle = 电子邮件地址
+emailPromptMsg = 请输入您的电子邮件地址
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-alarms.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-alarms.properties
new file mode 100644
index 0000000000..5cb3cca16c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=%2$S %1$S
+reminderTitleAtStartEvent=当事件开始时
+reminderTitleAtStartTask=当任务开始时
+reminderTitleAtEndEvent=当事件结束时
+reminderTitleAtEndTask=当任务结束时
+
+# LOCALIZATION NOTE (reminderSnoozeOkA11y)
+# This string is not seen in the UI, it is read by screen readers when the user
+# focuses the "OK" button in the "Snooze for..." popup of the alarm dialog.
+# %1$S = any of unit*
+reminderSnoozeOkA11y=暂缓 %1$S 提醒
+
+reminderCustomOriginBeginBeforeEvent=在事项开始之前
+reminderCustomOriginBeginAfterEvent=在事项开始之后
+reminderCustomOriginEndBeforeEvent=在事项结束之前
+reminderCustomOriginEndAfterEvent=在事项结束之后
+reminderCustomOriginBeginBeforeTask=在任务开始之前
+reminderCustomOriginBeginAfterTask=在任务开始之后
+reminderCustomOriginEndBeforeTask=在任务结束之前
+reminderCustomOriginEndAfterTask=在任务结束之后
+
+reminderErrorMaxCountReachedEvent=当前选中的日历限制为每个事件设置最多 #1 个提醒。;当前选中的日历限制为每个事件设置最多 #1 个提醒。
+reminderErrorMaxCountReachedTask=当前选中的日历限制为每个任务设置最多 #1 个提醒。;当前选中的日历限制为每个任务设置最多 #1 个提醒。
+
+# LOCALIZATION NOTE (reminderReadonlyNotification)
+# This notification will be presented in the alarm dialog if reminders for not
+# writable items/calendars are displayed.
+# %1$S - localized value of calendar.alarm.snoozeallfor.label (defined in calendar.dtd)
+reminderReadonlyNotification=只读日历的提醒现在只能被取消,不能被推迟,“%1$S”按钮只能够推迟可更改日历的提醒。
+# LOCALIZATION NOTE (reminderDisabledSnoozeButtonTooltip)
+# This tooltip is only displayed, if the button is disabled
+reminderDisabledSnoozeButtonTooltip=只读日历不支持推迟提醒
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog-attendees.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog-attendees.properties
new file mode 100644
index 0000000000..76a6542421
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog-attendees.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+event.attendee.role.required = 必须参与者
+event.attendee.role.optional = 可选参与者
+event.attendee.role.nonparticipant = 非参与者
+event.attendee.role.chair = 主席
+event.attendee.role.unknown = 未知参与者(%1$S)
+
+event.attendee.usertype.individual = 个人
+event.attendee.usertype.group = 群组
+event.attendee.usertype.resource = 资源
+event.attendee.usertype.room = 房间
+event.attendee.usertype.unknown = 未知类型(%1$S)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.dtd
new file mode 100644
index 0000000000..92f26d2e61
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,428 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY event.title.label "编辑项目" >
+
+<!ENTITY event.dialog.keepDurationButton.tooltip "更改截止时间时保持连续性">
+<!ENTITY event.dialog.keepDurationButton.accesskey "K">
+
+<!ENTITY newevent.from.label "从" >
+<!ENTITY newevent.to.label "到" >
+
+<!ENTITY newevent.status.label "状态" >
+<!ENTITY newevent.status.accesskey "S" >
+<!ENTITY newevent.eventStatus.none.label "未指定" >
+<!ENTITY newevent.eventStatus.none.accesskey "o" >
+<!ENTITY newevent.todoStatus.none.label "未指定" >
+<!ENTITY newevent.eventStatus.cancelled.label "已取消" >
+<!ENTITY newevent.eventStatus.cancelled.accesskey "n" >
+<!ENTITY newevent.todoStatus.cancelled.label "已取消" >
+<!ENTITY newevent.status.tentative.label "暂定" >
+<!ENTITY newevent.status.tentative.accesskey "T" >
+<!ENTITY newevent.status.confirmed.label "已确认" >
+<!ENTITY newevent.status.confirmed.accesskey "C" >
+<!ENTITY newevent.status.needsaction.label "将处理" >
+<!ENTITY newevent.status.inprogress.label "处理中" >
+<!ENTITY newevent.status.completed.label "已完成" >
+
+<!-- The following entity is for New Task dialog only -->
+<!ENTITY newtodo.percentcomplete.label "&#037; 完成">
+
+<!-- LOCALIZATON NOTE(event.attendees.notify.label,event.attendees.notifyundisclosed.label,
+ event.attendees.disallowcounter.label)
+ - These three labels are displayed side by side in the event dialog, make sure
+ - they still fit in. -->
+<!ENTITY event.attendees.notify.label "通知参与者">
+<!ENTITY event.attendees.notify.accesskey "f">
+<!ENTITY event.attendees.notifyundisclosed.label "分别邀请各参与者">
+<!ENTITY event.attendees.notifyundisclosed.accesskey "x">
+<!ENTITY event.attendees.notifyundisclosed.tooltip "此选项将分别为每个参与者发送一封邀请信。每封邀请信只包含收件方,而不会披露其他参与者。">
+<!ENTITY event.attendees.disallowcounter.label "不允许计数">
+<!ENTITY event.attendees.disallowcounter.accesskey "a">
+<!ENTITY event.attendees.disallowcounter.tooltip "表示您不接受计数提案">
+
+<!-- Keyboard Shortcuts -->
+<!ENTITY event.dialog.new.event.key2 "I">
+<!ENTITY event.dialog.new.task.key2 "D">
+<!ENTITY event.dialog.new.message.key2 "N">
+<!ENTITY event.dialog.close.key "W">
+<!ENTITY event.dialog.save.key "S">
+<!ENTITY event.dialog.saveandclose.key "L">
+<!ENTITY event.dialog.print.key "P">
+<!ENTITY event.dialog.undo.key "Z">
+<!ENTITY event.dialog.redo.key "Y">
+<!ENTITY event.dialog.cut.key "X">
+<!ENTITY event.dialog.copy.key "C">
+<!ENTITY event.dialog.paste.key "V">
+<!ENTITY event.dialog.select.all.key "A">
+
+<!-- Menubar -->
+<!ENTITY event.menu.item.new.label "新建">
+<!ENTITY event.menu.item.new.accesskey "N">
+<!ENTITY event.menu.item.new.event.label "事件">
+<!ENTITY event.menu.item.new.event.accesskey "E">
+<!ENTITY event.menu.item.new.task.label "任务">
+<!ENTITY event.menu.item.new.task.accesskey "T">
+<!ENTITY event.menu.item.new.message.label "消息">
+<!ENTITY event.menu.item.new.message.accesskey "M">
+<!ENTITY event.menu.item.new.contact.label "通讯录联系人">
+<!ENTITY event.menu.item.new.contact.accesskey "C">
+<!ENTITY event.menu.item.close.label "关闭">
+<!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 "保存">
+<!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 "保存并关闭">
+<!ENTITY event.menu.item.saveandclose.accesskey "l">
+<!ENTITY event.menu.item.saveandclose.tab.accesskey "z">
+
+<!ENTITY event.menu.item.delete.label "删除…">
+<!ENTITY event.menu.item.delete.accesskey "D">
+<!ENTITY event.menu.item.page.setup.label "页面设置">
+<!ENTITY event.menu.item.page.setup.accesskey "u">
+<!ENTITY event.menu.item.print.label "打印">
+<!ENTITY event.menu.item.print.accesskey "P">
+
+<!ENTITY event.menu.edit.label "编辑">
+<!ENTITY event.menu.edit.accesskey "E">
+<!ENTITY event.menu.edit.undo.label "撤消">
+<!ENTITY event.menu.edit.undo.accesskey "U">
+<!ENTITY event.menu.edit.redo.label "重做">
+<!ENTITY event.menu.edit.redo.accesskey "R">
+<!ENTITY event.menu.edit.cut.label "剪切">
+<!ENTITY event.menu.edit.cut.accesskey "t">
+<!ENTITY event.menu.edit.copy.label "复制">
+<!ENTITY event.menu.edit.copy.accesskey "C">
+<!ENTITY event.menu.edit.paste.label "粘贴">
+<!ENTITY event.menu.edit.paste.accesskey "P">
+<!ENTITY event.menu.edit.select.all.label "全选">
+<!ENTITY event.menu.edit.select.all.accesskey "A">
+
+<!ENTITY event.menu.view.label "视图">
+<!ENTITY event.menu.view.accesskey "V">
+<!ENTITY event.menu.view.toolbars.label "工具栏">
+<!ENTITY event.menu.view.toolbars.accesskey "T">
+<!ENTITY event.menu.view.toolbars.event.label "事件工具栏">
+<!ENTITY event.menu.view.toolbars.event.accesskey "E">
+<!ENTITY event.menu.view.toolbars.customize.label "定制">
+<!ENTITY event.menu.view.toolbars.customize.accesskey "C">
+<!ENTITY event.menu.view.showlink.label "显示相关链接">
+<!ENTITY event.menu.view.showlink.accesskey "R">
+
+<!ENTITY event.menu.options.label "选项">
+<!ENTITY event.menu.options.accesskey "O">
+<!ENTITY event.menu.options.attendees.label "邀请参与者…">
+<!ENTITY event.menu.options.attendees.accesskey "I">
+<!ENTITY event.menu.options.timezone2.label "显示时区">
+<!ENTITY event.menu.options.timezone2.accesskey "z">
+<!ENTITY event.menu.options.priority2.label "优先级">
+<!ENTITY event.menu.options.priority2.accesskey "y">
+<!ENTITY event.menu.options.priority.notspecified.label "未指定">
+<!ENTITY event.menu.options.priority.notspecified.accesskey "o">
+<!ENTITY event.menu.options.priority.low.label "低">
+<!ENTITY event.menu.options.priority.low.accesskey "L">
+<!ENTITY event.menu.options.priority.normal.label "普通">
+<!ENTITY event.menu.options.priority.normal.accesskey "N">
+<!ENTITY event.menu.options.priority.high.label "高">
+<!ENTITY event.menu.options.priority.high.accesskey "H">
+<!ENTITY event.menu.options.privacy.label "隐私">
+<!ENTITY event.menu.options.privacy.accesskey "P">
+<!ENTITY event.menu.options.privacy.public.label "公开事件">
+<!ENTITY event.menu.options.privacy.public.accesskey "u">
+<!ENTITY event.menu.options.privacy.confidential.label "只显示时间和日期">
+<!ENTITY event.menu.options.privacy.confidential.accesskey "S">
+<!ENTITY event.menu.options.privacy.private.label "私人事件">
+<!ENTITY event.menu.options.privacy.private.accesskey "r">
+<!ENTITY event.menu.options.show.time.label "把时间段显示为">
+<!ENTITY event.menu.options.show.time.accesskey "T">
+<!ENTITY event.menu.options.show.time.busy.label "繁忙">
+<!ENTITY event.menu.options.show.time.busy.accesskey "B">
+<!ENTITY event.menu.options.show.time.free.label "空闲">
+<!ENTITY event.menu.options.show.time.free.accesskey "F">
+
+<!ENTITY event.invite.attendees.label "邀请参与者…">
+<!ENTITY event.invite.attendees.accesskey "I">
+<!ENTITY event.email.attendees.label "编写邮件给所有的参与者…">
+<!ENTITY event.email.attendees.accesskey "A">
+<!ENTITY event.email.tentative.attendees.label "编写邮件给待定的参与者…">
+<!ENTITY event.email.tentative.attendees.accesskey "U">
+<!ENTITY event.remove.attendees.label2 "移除所有参与者">
+<!ENTITY event.remove.attendees.accesskey "q">
+<!ENTITY event.remove.attendee.label "移除参与者">
+<!ENTITY event.remove.attendee.accesskey "e">
+
+<!-- Toolbar -->
+<!ENTITY event.toolbar.save.label2 "保存">
+<!ENTITY event.toolbar.saveandclose.label "保存并关闭">
+<!ENTITY event.toolbar.delete.label "删除">
+<!ENTITY event.toolbar.attendees.label "邀请参与者">
+<!ENTITY event.toolbar.privacy.label "隐私">
+
+<!ENTITY event.toolbar.save.tooltip2 "保存">
+<!ENTITY event.toolbar.saveandclose.tooltip "保存并关闭">
+<!ENTITY event.toolbar.delete.tooltip "删除">
+<!ENTITY event.toolbar.attendees.tooltip "邀请参与者">
+<!ENTITY event.toolbar.attachments.tooltip "添加附件">
+<!ENTITY event.toolbar.privacy.tooltip "更改隐私设定">
+<!ENTITY event.toolbar.priority.tooltip "更改优先级">
+<!ENTITY event.toolbar.status.tooltip "更改状态">
+<!ENTITY event.toolbar.freebusy.tooltip "更改忙/闲时间">
+
+<!-- Counter box -->
+<!-- LOCALIZATON NOTE(counter.button.*)
+ - This is only visible in the UI if you have received a counterproposal before and are going to
+ - reschedule the event from the imipbar in the email view. Clicking on the buttons will only
+ - populate the form fields in the dialog, there's no other immediate action on clicking like with
+ - the imip bar. Rescheduling will happen after clicking on save&close as usual. This screenshot
+ - illustrates how it might look like: https://bugzilla.mozilla.org/attachment.cgi?id=8810121 -->
+<!ENTITY counter.button.proposal.label "应用提案">
+<!ENTITY counter.button.proposal.accesskey "p">
+<!ENTITY counter.button.proposal.tooltip2 "事件字段将会填入反对意见,不论是否有附加更改,保存后才会通知所有参与者">
+<!ENTITY counter.button.original.label "应用原始数据">
+<!ENTITY counter.button.original.accesskey "r">
+<!ENTITY counter.button.original.tooltip2 "此字段将填入提出反对意见前原始事件的内容">
+
+<!-- Main page -->
+<!ENTITY event.title.textbox.label "标题:" >
+<!ENTITY event.title.textbox.accesskey "i">
+<!ENTITY event.location.label "位置:" >
+<!ENTITY event.location.accesskey "L">
+<!ENTITY event.categories.label "分类:">
+<!ENTITY event.categories.accesskey "y">
+<!ENTITY event.categories.textbox.label "添加新分类" >
+<!ENTITY event.calendar.label "日历:" >
+<!ENTITY event.calendar.accesskey "C">
+<!ENTITY event.attendees.label "参与者:" >
+<!ENTITY event.attendees.accesskey "I">
+<!ENTITY event.alldayevent.label "全天事件" >
+<!ENTITY event.alldayevent.accesskey "d">
+<!ENTITY event.from.label "开始:" >
+<!ENTITY event.from.accesskey "S">
+<!ENTITY task.from.label "开始:" >
+<!ENTITY task.from.accesskey "B">
+<!ENTITY event.to.label "结束:" >
+<!ENTITY event.to.accesskey "n">
+<!ENTITY task.to.label "截止时间:" >
+<!ENTITY task.to.accesskey "u">
+<!ENTITY task.status.label "状态:" >
+<!ENTITY task.status.accesskey "a">
+<!ENTITY event.repeat.label "重复:" >
+<!ENTITY event.repeat.accesskey "R">
+<!ENTITY event.until.label "直到:">
+<!ENTITY event.until.accesskey "i">
+<!ENTITY event.reminder.label "提醒:" >
+<!ENTITY event.reminder.accesskey "m">
+<!ENTITY event.description.label "描述:" >
+<!ENTITY event.description.accesskey "p">
+<!ENTITY event.attachments.label "附件:" >
+<!ENTITY event.attachments.accesskey "h" >
+<!ENTITY event.attachments.menubutton.label "附加">
+<!ENTITY event.attachments.menubutton.accesskey "A">
+<!ENTITY event.attachments.url.label "网页 (W)...">
+<!ENTITY event.attachments.url.accesskey "W">
+<!ENTITY event.attachments.popup.remove.label "移除" >
+<!ENTITY event.attachments.popup.remove.accesskey "R" >
+<!ENTITY event.attachments.popup.open.label "打开" >
+<!ENTITY event.attachments.popup.open.accesskey "O" >
+<!ENTITY event.attachments.popup.removeAll.label "全部移除" >
+<!ENTITY event.attachments.popup.removeAll.accesskey "A" >
+<!ENTITY event.attachments.popup.attachPage.label "附加网页…" >
+<!ENTITY event.attachments.popup.attachPage.accesskey "W" >
+<!ENTITY event.url.label "相关链接:" >
+<!ENTITY event.priority2.label "优先级:">
+
+<!ENTITY event.reminder.none.label "无提醒" >
+<!ENTITY event.reminder.0minutes.before.label "0 分钟前" >
+<!ENTITY event.reminder.5minutes.before.label "5 分钟之前" >
+<!ENTITY event.reminder.15minutes.before.label "15 分钟之前" >
+<!ENTITY event.reminder.30minutes.before.label "30 分钟之前" >
+<!ENTITY event.reminder.1hour.before.label "1 小时之前" >
+<!ENTITY event.reminder.2hours.before.label "2 小时之前" >
+<!ENTITY event.reminder.12hours.before.label "12小时之前" >
+<!ENTITY event.reminder.1day.before.label "1 天前" >
+<!ENTITY event.reminder.2days.before.label "2 天之前" >
+<!ENTITY event.reminder.1week.before.label "1 周之前" >
+<!ENTITY event.reminder.custom.label "定制…" >
+
+<!ENTITY event.reminder.multiple.label "多重提醒器…" >
+
+<!ENTITY event.statusbarpanel.freebusy.label "标记时间为:">
+<!ENTITY event.statusbarpanel.privacy.label "隐私政策:">
+
+<!-- Recurrence dialog -->
+<!ENTITY recurrence.title.label "编辑重复事件">
+
+<!ENTITY event.repeat.does.not.repeat.label "不重复">
+<!ENTITY event.repeat.daily.label "每天">
+<!ENTITY event.repeat.weekly.label "每周">
+<!ENTITY event.repeat.every.weekday.label "每个周末">
+<!ENTITY event.repeat.bi.weekly.label "每两周">
+<!ENTITY event.repeat.monthly.label "每月">
+<!ENTITY event.repeat.yearly.label "每年">
+<!ENTITY event.repeat.custom.label "定制…">
+
+<!ENTITY event.recurrence.pattern.label "重复模式">
+<!ENTITY event.recurrence.occurs.label "重复" >
+<!ENTITY event.recurrence.day.label "每日" >
+<!ENTITY event.recurrence.week.label "每周" >
+<!ENTITY event.recurrence.month.label "每月" >
+<!ENTITY event.recurrence.year.label "每年" >
+
+<!ENTITY event.recurrence.pattern.every.label "每" >
+<!ENTITY repeat.units.days.both "天" >
+<!ENTITY event.recurrence.pattern.every.weekday.label "每个工作周" >
+
+<!ENTITY event.recurrence.pattern.weekly.every.label "每" >
+<!ENTITY repeat.units.weeks.both "周" >
+<!ENTITY event.recurrence.on.label "在:" >
+
+<!ENTITY event.recurrence.pattern.monthly.every.label "每" >
+<!ENTITY repeat.units.months.both "月" >
+<!ENTITY event.recurrence.monthly.every.label "每" >
+<!ENTITY event.recurrence.monthly.first.label "第一">
+<!ENTITY event.recurrence.monthly.second.label "第二">
+<!ENTITY event.recurrence.monthly.third.label "第三">
+<!ENTITY event.recurrence.monthly.fourth.label "第四">
+<!ENTITY event.recurrence.monthly.fifth.label "第五">
+<!ENTITY event.recurrence.monthly.last.label "最后">
+<!ENTITY event.recurrence.pattern.monthly.week.1.label "星期天" >
+<!ENTITY event.recurrence.pattern.monthly.week.2.label "星期一" >
+<!ENTITY event.recurrence.pattern.monthly.week.3.label "星期二" >
+<!ENTITY event.recurrence.pattern.monthly.week.4.label "星期三" >
+<!ENTITY event.recurrence.pattern.monthly.week.5.label "星期四" >
+<!ENTITY event.recurrence.pattern.monthly.week.6.label "星期五" >
+<!ENTITY event.recurrence.pattern.monthly.week.7.label "星期六" >
+<!ENTITY event.recurrence.repeat.dayofmonth.label "天/月">
+<!ENTITY event.recurrence.repeat.recur.label "重复间隔天数">
+
+<!ENTITY event.recurrence.every.label "每:" >
+<!ENTITY repeat.units.years.both "年" >
+<!ENTITY event.recurrence.pattern.yearly.every.month.label "每" >
+
+<!-- LOCALIZATON NOTE
+ Some languages use a preposition when describing dates:
+ Portuguese: 6 de Setembro
+ English: 6 [of] September
+ event.recurrence.pattern.yearly.of.label is "of" in
+ Edit recurrence window -> Recurrence pattern -> Repeat yearly
+-->
+<!ENTITY event.recurrence.pattern.yearly.of.label "" >
+
+<!ENTITY event.recurrence.pattern.yearly.month.1.label "一月" >
+<!ENTITY event.recurrence.pattern.yearly.month.2.label "二月" >
+<!ENTITY event.recurrence.pattern.yearly.month.3.label "三月" >
+<!ENTITY event.recurrence.pattern.yearly.month.4.label "四月" >
+<!ENTITY event.recurrence.pattern.yearly.month.5.label "五月" >
+<!ENTITY event.recurrence.pattern.yearly.month.6.label "六月" >
+<!ENTITY event.recurrence.pattern.yearly.month.7.label "七月" >
+<!ENTITY event.recurrence.pattern.yearly.month.8.label "八月" >
+<!ENTITY event.recurrence.pattern.yearly.month.9.label "九月" >
+<!ENTITY event.recurrence.pattern.yearly.month.10.label "十月" >
+<!ENTITY event.recurrence.pattern.yearly.month.11.label "十一月" >
+<!ENTITY event.recurrence.pattern.yearly.month.12.label "十二月" >
+<!ENTITY event.recurrence.yearly.every.label "每">
+<!ENTITY event.recurrence.yearly.first.label "第一">
+<!ENTITY event.recurrence.yearly.second.label "第二">
+<!ENTITY event.recurrence.yearly.third.label "第三">
+<!ENTITY event.recurrence.yearly.fourth.label "第四">
+<!ENTITY event.recurrence.yearly.fifth.label "第五">
+<!ENTITY event.recurrence.yearly.last.label "最后">
+<!ENTITY event.recurrence.pattern.yearly.week.1.label "星期天" >
+<!ENTITY event.recurrence.pattern.yearly.week.2.label "星期一" >
+<!ENTITY event.recurrence.pattern.yearly.week.3.label "星期二" >
+<!ENTITY event.recurrence.pattern.yearly.week.4.label "星期三" >
+<!ENTITY event.recurrence.pattern.yearly.week.5.label "星期四" >
+<!ENTITY event.recurrence.pattern.yearly.week.6.label "星期五" >
+<!ENTITY event.recurrence.pattern.yearly.week.7.label "星期六" >
+<!ENTITY event.recurrence.pattern.yearly.day.label "日" >
+<!ENTITY event.recurrence.of.label "之" >
+<!ENTITY event.recurrence.pattern.yearly.month2.1.label "一月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.2.label "二月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.3.label "三月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.4.label "四月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.5.label "五月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.6.label "六月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.7.label "七月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.8.label "八月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.9.label "九月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.10.label "十月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.11.label "十一月" >
+<!ENTITY event.recurrence.pattern.yearly.month2.12.label "十二月" >
+
+<!ENTITY event.recurrence.range.label "重复发生的范围">
+<!ENTITY event.recurrence.forever.label "无结束日期" >
+<!ENTITY event.recurrence.repeat.for.label "创建" >
+<!ENTITY event.recurrence.appointments.label "指派" >
+<!ENTITY event.repeat.until.label "重复直到" >
+<!ENTITY event.recurrence.preview.label "预览">
+
+<!-- Attendees dialog -->
+<!ENTITY invite.title.label "邀请参与者">
+<!ENTITY event.organizer.label "组织者">
+<!ENTITY event.freebusy.suggest.slot "建议时间间距:">
+<!ENTITY event.freebusy.button.next.slot "下一段空闲">
+<!ENTITY event.freebusy.button.previous.slot "上一段空闲">
+<!ENTITY event.freebusy.zoom "缩放:">
+<!ENTITY event.freebusy.legend.free "空闲" >
+<!ENTITY event.freebusy.legend.busy "繁忙" >
+<!ENTITY event.freebusy.legend.busy_tentative "暂定" >
+<!ENTITY event.freebusy.legend.busy_unavailable "不在办公室" >
+<!ENTITY event.freebusy.legend.unknown "无信息" >
+<!ENTITY event.attendee.role.required "必须参与者">
+<!ENTITY event.attendee.role.optional "可选参与者">
+<!ENTITY event.attendee.role.chair "主席">
+<!ENTITY event.attendee.role.nonparticipant "非参与者">
+<!ENTITY event.attendee.usertype.individual "个人">
+<!ENTITY event.attendee.usertype.group "群组">
+<!ENTITY event.attendee.usertype.resource "资源">
+<!ENTITY event.attendee.usertype.room "房间">
+<!ENTITY event.attendee.usertype.unknown "未知的">
+
+<!-- Timezone dialog -->
+<!ENTITY timezone.title.label "请指定时区">
+<!ENTITY event.timezone.custom.label "更多时区…">
+
+<!-- Read-Only dialog -->
+<!ENTITY read.only.general.label "常规">
+<!ENTITY read.only.title.label "标题:">
+<!ENTITY read.only.calendar.label "日历:">
+<!ENTITY read.only.event.start.label "开始日期:">
+<!ENTITY read.only.task.start.label "开始日期:">
+<!ENTITY read.only.event.end.label "截止日期:">
+<!ENTITY read.only.task.due.label "截止时间:">
+<!ENTITY read.only.repeat.label "重复:">
+<!ENTITY read.only.location.label "位置:">
+<!ENTITY read.only.category.label "分类:">
+<!ENTITY read.only.organizer.label "组织:">
+<!ENTITY read.only.reminder.label "提醒:">
+<!ENTITY read.only.attachments.label "附件:">
+<!ENTITY read.only.attendees.label "参与者">
+<!ENTITY read.only.description.label "描述">
+<!ENTITY read.only.link.label "相关链接">
+
+<!-- Summary dialog -->
+<!ENTITY summary.dialog.saveclose.label "保存并关闭">
+<!ENTITY summary.dialog.saveclose.tooltiptext "保存更改并关闭窗口,但不更改参与状态、不发送回复">
+<!ENTITY summary.dialog.accept.label "接受">
+<!ENTITY summary.dialog.accept.tooltiptext "接受邀请">
+<!ENTITY summary.dialog.tentative.label "暂定">
+<!ENTITY summary.dialog.tentative.tooltiptext "暂时接受邀请">
+<!ENTITY summary.dialog.decline.label "拒绝">
+<!ENTITY summary.dialog.decline.tooltiptext "拒绝邀请">
+<!ENTITY summary.dialog.dontsend.label "不要发送回复">
+<!ENTITY summary.dialog.dontsend.tooltiptext "变更您的参与状态而不发送回复给组织者,并关闭窗口">
+<!ENTITY summary.dialog.send.label "立刻发送回复">
+<!ENTITY summary.dialog.send.tooltiptext "发送回复给组织者,并关闭窗口">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.properties
new file mode 100644
index 0000000000..36b11d6019
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-event-dialog.properties
@@ -0,0 +1,541 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dailyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Daily repeat rules
+# #1 - number
+# e.g. "every 4 days"
+dailyEveryNth=每天;每 #1 天
+repeatDetailsRuleDaily4=每周日
+
+# LOCALIZATION NOTE (weeklyNthOnNounclass...)
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - weekday (one or more)
+# #2 - week interval
+# e.g. "every 3 weeks on Tuesday, Wednesday and Thursday
+weeklyNthOnNounclass1=每 %1$S;每 #2 周的 %1$S
+weeklyNthOnNounclass2=每 %1$S;每 #2 周的 %1$S
+
+# LOCALIZATION NOTE (weeklyEveryNth):
+# Edit recurrence window -> Recurrence pattern -> Weekly repeat rules
+# #1 - interval
+# e.g. "every 5 weeks"
+weeklyEveryNth=每周;每 #1 周
+
+# LOCALIZATION NOTE ('repeatDetailsDay...' and 'repeatDetailsDay...Nounclass'):
+# Week days names and week days noun classes (feminine/masculine grammatical
+# gender) for languages that need different localization when weekdays nouns
+# have different noun classes (genders).
+# For every weekday, in 'repeatDetailsDay...Nounclass' strings write:
+# "nounclass1" for languages with grammatical genders -> MASCULINE gender;
+# for languages with noun classes -> a noun class;
+# for languages without noun classes or grammatical gender.
+#
+# "nounclass2" for languages with grammatical genders -> FEMININE gender;
+# for languages with noun classes -> a different noun class.
+#
+# "nounclass3", "nounclass4" and so on for languages that need more than two
+# noun classes for weekdays. In this case add corresponding
+# rule string with "Nounclass..." suffix and ordinal string
+# "repeatOrdinalxNounclass..."
+# Will be used rule strings with "Nounclass..." suffix corresponding to the
+# following strings if there is a weekday in the rule string.
+repeatDetailsDay1=星期天
+repeatDetailsDay1Nounclass=nounclass1
+repeatDetailsDay2=星期一
+repeatDetailsDay2Nounclass=nounclass1
+repeatDetailsDay3=星期二
+repeatDetailsDay3Nounclass=nounclass1
+repeatDetailsDay4=星期三
+repeatDetailsDay4Nounclass=nounclass1
+repeatDetailsDay5=星期四
+repeatDetailsDay5Nounclass=nounclass1
+repeatDetailsDay6=星期五
+repeatDetailsDay6Nounclass=nounclass1
+repeatDetailsDay7=星期六
+repeatDetailsDay7Nounclass=nounclass1
+
+# LOCALIZATION NOTE (repeatDetailsAnd)
+# Used to show a number of weekdays in a list
+# i.e. "Sunday, Monday, Tuesday " + and + " Wednesday"
+repeatDetailsAnd=并且
+
+# LOCALIZATION NOTE (monthlyRuleNthOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%2$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of weekdays with ordinal, article and noun class/gender
+# (ordinal and weekday of every element in the list follow the order
+# and the rule of ordinalWeekdayOrder string)
+# #2 - interval
+# e.g. "the first Monday and the last Friday of every 3 months"
+monthlyRuleNthOfEveryNounclass1=每月的 %1$S;每 #2 个月的 %1$S
+monthlyRuleNthOfEveryNounclass2=每月的 %1$S;每 #2 个月的 %1$S
+
+# LOCALIZATION NOTE (ordinalWeekdayOrder):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# This string allows to change the order of the elements "ordinal" and
+# "weekday" (or to insert a word between them) for the argument %1$S of the
+# string monthlyRuleNthOfEveryNounclass...
+# Without changing this string, the order is that one required from most
+# languages: ordinal + weekday (e.g. "'the first' 'Monday' of every 2 months").
+# %1$S - ordinal with article
+# %2$S - weekday noun
+# e.g. "'the first' 'Monday'"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+ordinalWeekdayOrder=%1$S %2$S
+
+# LOCALIZATION NOTE (monthlyEveryOfEveryNounclass...):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# Translate these strings according to noun class/gender of weekday (%1$S)
+# set in 'repeadDetailsDay...Nounclass' strings.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add others strings with suffix 3, 4,... for others noun classes if your
+# language need them. In this case, corresponding strings must be added for
+# others rule strings with 'Nounclass...' suffix and corresponding values
+# "nounclass..." must be written in 'repeatDetailsDayxNounclass' strings.
+# %1$S - list of single weekdays and/or weekdays with ordinal, article and
+# noun class/gender when rule contains also specific day in the month
+# #2 - interval
+# e.g. "every Monday, Tuesday and the second Sunday of every month"
+monthlyEveryOfEveryNounclass1=每月的 %1$S;每 #2 月的 %1$S
+monthlyEveryOfEveryNounclass2=每月的 %1$S;每 #2 月的 %1$S
+
+# LOCALIZATION NOTE (monthlyDaysOfNth_day):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month or a sequence of days of month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties) separated with commas;
+# e.g. "days 3, 6 and 9" or "days 3rd, 6th and 9th"
+monthlyDaysOfNth_day=第 %1$S 日;第 %1$S 日
+
+# LOCALIZATION NOTE (monthlyDaysOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - it's the string monthlyDaysOfNth_day: day of month or a sequence of days
+# of month, possibly followed by an ordinal symbol, separated with commas;
+# #2 - monthly interval
+# e.g. "days 3, 6, 9 and 12 of every 3 months"
+monthlyDaysOfNth=每月的 %1$S;每 #2 个月的 %1$S
+
+# LOCALIZATION NOTE (monthlyLastDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# %1$S - day of month
+# #2 - month interval
+# e.g. "the last day of every 3 months"
+monthlyLastDayOfNth=每月最后一天; 每 #1 月最后一天
+
+# LOCALIZATION NOTE (monthlyEveryDayOfNth):
+# Edit recurrence window -> Recurrence pattern -> Monthly repeat rules
+# #2 - month interval
+# e.g. "every day of the month every 4 months"
+monthlyEveryDayOfNth=每月的每天;每第 #2 个月的每天
+
+# LOCALIZATION NOTE (repeatOrdinal...Nounclass...):
+# Ordinal numbers nouns for every noun class (grammatical genders) of weekdays
+# considered in 'repeatDetailsDayxNounclass' strings. For languages that need
+# localization according to genders or noun classes.
+# Nounclass1 <-> Masculine gender; Nounclass2 <-> Feminine gender.
+# Add 'repeatOrdinal...Nounclass' strings with suffix 3, 4 and so on for
+# languages with more than two noun classes for weekdays. In this case
+# must be added corresponding rule strings with 'Nounclass...' suffix and
+# corresponding values "nounclass..." must be written in
+# 'repeatDetailsDayxNounclass' strings.
+repeatOrdinal1Nounclass1=第一
+repeatOrdinal2Nounclass1=第二
+repeatOrdinal3Nounclass1=第三
+repeatOrdinal4Nounclass1=第四
+repeatOrdinal5Nounclass1=第五
+repeatOrdinal-1Nounclass1=最后
+repeatOrdinal1Nounclass2=第一
+repeatOrdinal2Nounclass2=第二
+repeatOrdinal3Nounclass2=第三
+repeatOrdinal4Nounclass2=第四
+repeatOrdinal5Nounclass2=第五
+repeatOrdinal-1Nounclass2=最后
+
+# LOCALIZATION NOTE (yearlyNthOn):
+# Edit recurrence window -> Recurrence pattern -> Yearly repeat rules
+# %1$S - month name
+# %2$S - day of month possibly followed by an ordinal symbol (depending on the string
+# dayOrdinalSymbol in dateFormat.properties)
+# #3 - yearly interval
+# e.g. "every 3 years on December 14"
+# "every 2 years on December 8th"
+yearlyNthOn=每 %1$S %2$S;每 #3 年中的 %1$S %2$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=每 %3$S 的 %1$S %2$S;每 #4 年 %3$S 的 %1$S %2$S
+yearlyNthOnNthOfNounclass2=每 %3$S 的 %1$S %2$S;每 #4 年 %3$S 的 %1$S %2$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=%2$S 的每个 %1$S;每 #3 年中 %2$S 的每个 %1$S
+yearlyOnEveryNthOfNthNounclass2=%2$S 的每个 %1$S;每 #3 年中 %2$S 的每个 %1$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=%1$S 月的每一天;每 #2 年的 %1$S 月的每一天
+
+repeatDetailsMonth1=一月
+repeatDetailsMonth2=二月
+repeatDetailsMonth3=三月
+repeatDetailsMonth4=四月
+repeatDetailsMonth5=五月
+repeatDetailsMonth6=六月
+repeatDetailsMonth7=七月
+repeatDetailsMonth8=八月
+repeatDetailsMonth9=九月
+repeatDetailsMonth10=十月
+repeatDetailsMonth11=十一月
+repeatDetailsMonth12=十二月
+
+# LOCALIZATION NOTE (repeatCount):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# #5 - event 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=发生 %1$S\n有效期从 %2$S 开始重复 #5 次\n从 %3$S 到 %4$S时间段;发生 %1$S\n有效期从 %2$S 开始重复 #5 次\n从 %3$S 到 %4$S时间段。
+
+# LOCALIZATION NOTE (repeatCountAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# #3 - event 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=发生 %1$S\n生效日 %2$S 重复 #3 次。;发生 %1$S\n生效日 %2$S 重复 #3 次。
+
+# LOCALIZATION NOTE (repeatDetailsUntil):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# %4$S - event start time (e.g. hh:mm (PM/AM))
+# %5$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with weeklyNthOn:
+# "Occurs every 2 weeks on Sunday and Friday
+# effective 1/1/2009 until 1/1/2010
+# from 5:00 PM to 6:00 PM"
+repeatDetailsUntil=发生 %1$S\n有效期从 %2$S 到 %3$S\n从 %4$S 到 %5$S 时间段。
+
+# LOCALIZATION NOTE (repeatDetailsUntilAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event end date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009 until 1/1/2010"
+repeatDetailsUntilAllDay=发生 %1$S\n有效期从 %2$S 到 %3$S。
+
+# LOCALIZATION NOTE (repeatDetailsInfinite):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# %3$S - event start time (e.g. hh:mm (PM/AM))
+# %4$S - event end time (e.g. hh:mm (PM/AM))
+# e.g. with monthlyDaysOfNth:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009
+# from 5:00 PM to 6:00 PM"
+repeatDetailsInfinite=发生 %1$S\n生效日 %2$S\n从 %3$S 到 %4$S时间段。
+
+# LOCALIZATION NOTE (repeatDetailsInfiniteAllDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# %1%$ - A rule string (see above). This is the first line of the link
+# %2%$ - event start date (e.g. mm/gg/yyyy)
+# e.g. with monthlyDaysOfNth and all day event:
+# "Occurs day 3 of every 5 month
+# effective 1/1/2009"
+repeatDetailsInfiniteAllDay=发生 %1$S\n 生效日 %2$S。
+
+# LOCALIZATION NOTE (monthlyLastDay):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# A monthly rule with one or more days of the month (monthlyDaysOfNth) and the
+# string "the last day" of the month.
+# e.g.: "Occurs day 15, 20, 25 and the last day of every 3 months"
+monthlyLastDay=最后一天
+
+# LOCALIZATION NOTE (ruleTooComplex):
+# This string is shown in the repeat details area if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplex=单击此处查看详细信息
+
+# LOCALIZATION NOTE (ruleTooComplexSummary):
+# This string is shown in the event summary dialog if our code can't handle the
+# complexity of the recurrence rule yet.
+ruleTooComplexSummary=未知的详细重复信息
+
+# differences between the dialog for an Event or a Task
+newEvent=新建事件
+newTask=新任务
+itemMenuLabelEvent=事件
+itemMenuAccesskeyEvent2=F
+itemMenuLabelTask=任务
+itemMenuAccesskeyTask2=F
+
+emailSubjectReply=回复: %1$S
+
+# Link Location Dialog
+specifyLinkLocation=请指定链接位置
+enterLinkLocation=输入网页地址或文档位置。
+
+summaryDueTaskLabel=期限:
+
+# Attach File Dialog
+attachViaFilelink=使用文件 %1$S
+selectAFile=请选择要附加的文件
+removeCalendarsTitle=移除附件
+
+# LOCALIZATION NOTE (removeAttachmentsText): Semi-colon list of plural forms for
+# prompting attachment removal.
+# See http://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentsText=您确定要移除 #1 个附件吗?
+
+# Recurrence Dialog Widget Order
+# LOCALIZATION NOTE: You can change the order of below params
+# Edit recurrence window -> Recurrence pattern -> Repeat monthly
+# %1$S - ordinal with article, %2$S - weekday
+# e.g. "the First Saturday"
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+monthlyOrder=%1$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - day of month, %2$S - of, %3$S - month
+# e.g. "6 [of] September"
+# If you don't need %2$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder=%1$S %3$S %2$S
+
+# Edit recurrence window -> Recurrence pattern -> Repeat yearly
+# %1$S - ordinal with article, %2$S - weekday, %3$S - of, %4$S - month
+# e.g. "the First Saturday of September"
+# If you don't need %3$S in your locale - please put this on the third place.
+# DONT_TRANSLATE: Make sure there are no extra words in this property, just variables.
+yearlyOrder2=%1$S %2$S %3$S %4$S
+
+# LOCALIZATION NOTE (pluralForWeekdays):
+# This string allows to set the use of weekdays nouns in plural form for
+# languages that need them in sentences like "every Monday" or "every Sunday
+# of March" etc.
+# Rule strings involved by this setting are:
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+# In your local write:
+# "true" if sentences like those above need weekday in plural form;
+# "false" if sentences like those above don't need weekday in plural form;
+pluralForWeekdays=false
+
+# LOCALIZATION NOTE (repeatDetailsDayxxxPlural):
+# Edit recurrence window -> Recurrence details link on Event/Task dialog window
+# Weekdays in plural form used inside sentences like "every Monday" or
+# "every Sunday of May" etc. for languages that need them.
+# These plurals will be used inside the following rule strings only if string
+# 'pluralForWeekdays' (see above) is set to "true":
+# - weeklyNthOn (only the first part) e.g. "every Sunday"
+# - monthlyEveryOfEvery
+# e.g. "every Monday of every month;every Monday every 2 months"
+# - yearlyOnEveryNthOfNth
+# e.g. "every Friday of March;every 2 years on every Friday of March"
+repeatDetailsDay1Plural=星期天
+repeatDetailsDay2Plural=星期一
+repeatDetailsDay3Plural=星期二
+repeatDetailsDay4Plural=星期三
+repeatDetailsDay5Plural=星期四
+repeatDetailsDay6Plural=星期五
+repeatDetailsDay7Plural=星期六
+
+# LOCALIZATION NOTE (eventRecurrenceForeverLabel):
+# Edit/New Event dialog -> datepicker that sets the until date.
+# For recurring rules that repeat forever, this labels appears in the
+# datepicker, below the minimonth, as an option for the until date.
+eventRecurrenceForeverLabel=永远
+
+# LOCALIZATION NOTE (eventRecurrenceMonthlyLastDayLabel):
+# Edit dialog recurrence -> Monthly Recurrence pattern -> Monthly daypicker
+# The label on the monthly daypicker's last button that allows to select
+# the last day of the month inside a BYMONTHDAY rule.
+eventRecurrenceMonthlyLastDayLabel=最后一天
+
+# LOCALIZATION NOTE (counterSummaryAccepted) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryAccepted=%1$S 已接受该邀请,但做了一个计数提案:
+
+# LOCALIZATION NOTE (counterSummaryDeclined) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDeclined=%1$S 已拒绝该邀请,但做了一个计数提案:
+
+# LOCALIZATION NOTE (counterSummaryDelegated) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryDelegated=%1$S 已委托他人代为参与此邀请,但提出了反对意见:
+
+# LOCALIZATION NOTE (counterSummaryNeedsAction) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryNeedsAction=%1$S 尚未决定是否参加和做计数提案:
+
+# LOCALIZATION NOTE (counterSummaryTentative) - this is only visible when opening the dialog from the
+# email summary view after receiving a counter message
+# %1$S - the name or email address of the replying attendee
+counterSummaryTentative=%1$S 已暂且接受该邀请并做了计数提案:
+
+# LOCALIZATION NOTE (counterOnPreviousVersionNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnPreviousVersionNotification=这是一个此事件以前版本的计数提案。
+
+# LOCALIZATION NOTE (counterOnCounterDisallowedNotification) - this is only visible when opening the
+# dialog from the email summary view after receiving a counter message
+counterOnCounterDisallowedNotification=您不允许在发出邀请时计数。
+
+# LOCALIZATION NOTE (eventAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation
+eventAccepted=您已接受此邀请
+
+# LOCALIZATION NOTE (eventTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted the event invitation tentatively
+eventTentative=您已暂时接受此邀请
+
+# LOCALIZATION NOTE (eventDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the event invitation
+eventDeclined=您已拒绝此邀请
+
+# LOCALIZATION NOTE (eventDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her participation to one
+# or more other participants (without attending / working on it his/herself)
+eventDelegated=您已委托他人代为参与此邀请
+
+# LOCALIZATION NOTE (eventNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to an invitation
+eventNeedsAction=您尚未回复此邀请
+
+# LOCALIZATION NOTE (taskAccepted) - this will be displayed as notification
+# in the summary dialog if the user has accepted the assigned task
+taskAccepted=您已接受此任务
+
+# LOCALIZATION NOTE (taskTentative) - this will be displayed as notification
+# in the summary dialog if the user has accepted tentatively the assigned task
+taskTentative=您已暂时接受此任务
+
+# LOCALIZATION NOTE (taskDeclined) - this will be displayed as notification
+# in the summary dialog if the user has declined the assigned task
+taskDeclined=您已拒绝此任务
+
+# LOCALIZATION NOTE (taskDelegated) - this will be displayed as notification
+# in the summary dialog if the user has delegated his/her assignement to one or
+# more others (without attending / working on it his/herself)
+taskDelegated=您已委托他人代为完成此任务
+
+# LOCALIZATION NOTE (taskNeedsAction) - this will be displayed as notification
+# in the summary dialog if the user hasn't yet responded to the task assignment
+taskNeedsAction=您尚未回复此任务
+
+# LOCALIZATION NOTE (taskInProgress) - this will be displayed as notification
+# in the summary dialog if the user is working on an assigned task
+taskInProgress=您已开始进行此任务
+
+# LOCALIZATION NOTE (taskCompleted) - this will be displayed as notification
+# in the summary dialog if the user has completed the work on this assigned task
+taskCompleted=您已完成此任务
+
+# LOCALIZATION NOTE (sendandcloseButtonLabel) - this is a runtime replacement for
+# event.toolbar.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonLabel=发送并关闭
+
+# LOCALIZATION NOTE (sendandcloseButtonTooltip) - this is a runtime replacement for
+# event.toolbar.saveandclose.tooltip in the event dialog/tab toolbar if attendees
+# will be notified on saving & closing
+sendandcloseButtonTooltip=通知参与人员并关闭
+
+# LOCALIZATION NOTE (saveandsendButtonLabel) - this is a runtime replacement for
+# event.toolbar.save.label2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonLabel=保存并发送
+
+# LOCALIZATION NOTE (saveandsendButtonTooltip) - this is a runtime replacement
+# for event.toolbar.save.tooltip2 in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendButtonTooltip=保存并通知参与人员
+
+# LOCALIZATION NOTE (saveandsendMenuLabel) - this is a runtime replacement for
+# event.menu.item.save.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+saveandsendMenuLabel=保存并发送
+
+# LOCALIZATION NOTE (sendandcloseMenuLabel) - this is a runtime replacement for
+# event.menu.item.saveandclose.label in the event dialog/tab toolbar if attendees
+# will be notified on saving
+sendandcloseMenuLabel=发送并关闭
+
+# LOCALIZATION NOTE (attendeesTabLabel) - this is a runtime replacement for
+# event.attendees.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attendee
+# %1$S - the number of attendee (1-n)
+attendeesTabLabel=与会者(%1$S 名):
+
+# LOCALIZATION NOTE (attachmentsTabLabel) - this is a runtime replacement for
+# event.attachments.label defined in calendar-event-dialog.dtd and used in the
+# event dialog/tab as attendee tab label if an event has at least one attachment
+# %1$S - the number of attachments (1-n)
+attachmentsTabLabel=附件(%1$S 项):
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-extract.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-extract.properties
new file mode 100644
index 0000000000..206949a8ca
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = by | until | to | - | till | til | and
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = by | until | to | - | till | til | and | due: | due | ends | 截止日期为 | 截止日期:
+
+# 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 = 上周 | 已发送 | 电邮 | 电子邮件 | 代替 | > | unfortunately | in | 不是
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = 楼 | 层 | : | 电邮 | 电子邮件 | > | % | 元 | 美元 | $
+
+# LOCALIZATION NOTE (from.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (from.today):
+# must not be empty!
+from.today = 今天 | 今日 | 本日
+
+from.tomorrow = 明天
+# LOCALIZATION NOTE (until.*):
+# can be a list of values, separate variants by |
+until.tomorrow =至明天 | 至明日 | 迄明天 | 迄明日 | 明天为止 | 明日为止 | 隔夜
+
+# LOCALIZATION NOTE (from.ordinal.date):
+# %1$S = matches numbers 1-31 and number.x
+# should not have "%1$S" as this would match any single number in email to a time
+from.ordinal.date = %1$Sst | %1$Snd | %1$Srd | %1$Sth
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# %1$S = matches numbers 1-31 and number.x
+until.ordinal.date =第 %1$S | %1$S 日 | %1$S 号
+
+from.noon = 中午
+until.noon =中午 | 正午
+
+# LOCALIZATION NOTE (from.hour):
+# %1$S = matches numbers 0-23 and number.0-number.23
+# should not have "%1$S" as this would match any single number in email to a time
+from.hour = 在 %1$S | 大约 %1$S | %1$S - | %1$S 至
+
+# LOCALIZATION NOTE (until.hour):
+# %1$S = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour = - %1$S | 至 %1$S | 直到 %1$S | 到 %1$S
+
+# LOCALIZATION NOTE (from.hour.am):
+# %1$S = matches numbers 0-23 and number.0-number.23
+from.hour.am = 上午 %1$S 点 | 上午 %1$S 时
+
+# LOCALIZATION NOTE (until.hour.am):
+# %1$S = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.am =上午 %1$S 时 | 上午 %1$S 点 | 早上 %1$S 时 | 早上 %1$S 点 | 凌晨 %1$S 点 | 凌晨 %1$S 时 | %1$S am | %1$S AM | %1$S a.m.
+
+# LOCALIZATION NOTE (from.hour.pm):
+# %1$S = matches numbers 0-23 and number.0-number.23
+from.hour.pm = 下午 %1$S 点 | 下午 %1$S 时 | 下午 %1$S 时
+
+# LOCALIZATION NOTE (until.hour.pm):
+# %1$S = matches numbers 0-23 and number.0-number.23
+# should also list how to find end of a timeframe
+until.hour.pm =下午 %1$S 点 | 下午 %1$S 时 | %1$S p.m. | %1$S PM | 晚上 %1$S 点 | 晚上 %1$S 时
+
+# LOCALIZATION NOTE (from.half.hour.before):
+# denotes times 30 minutes before next full hour
+from.half.hour.before = %1$S 之前的半小时
+
+# LOCALIZATION NOTE (until.half.hour.before):
+# denotes times 30 minutes before next full hour
+until.half.hour.before =%1$S 点前半小时
+
+# LOCALIZATION NOTE (from.half.hour.after):
+# denotes times 30 minutes after last full hour
+from.half.hour.after = %1$S 半小时后
+
+# LOCALIZATION NOTE (until.half.hour.after):
+# denotes times 30 minutes after last full hour
+until.half.hour.after =%1$S 点半
+
+# LOCALIZATION NOTE (from.hour.minutes):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+from.hour.minutes = %1$S:%2$S | 在 %1$S%2$S
+
+# LOCALIZATION NOTE (until.hour.minutes):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+until.hour.minutes =%1$S:%2$S | 于 %$S%2$S | 的 %1$S:%2$S
+
+# LOCALIZATION NOTE (from.hour.minutes.am):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+from.hour.minutes.am = 上午 %1$S:%2$S | 上午 %1$S:%2$S
+
+# LOCALIZATION NOTE (until.hour.minutes.am):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+until.hour.minutes.am =上午 %1$S:%2$S | 早上 %1$S:%2$S | 早上 %1$S 点 %2$S 分 | 上午 %1$S 点 %2$S 分 | 凌晨 %1$S 点 %2$S 分 | 中午 %1$S 点 %2$S 分 | 早上 %1$S 时 %2$S 分 | 上午 %1$S 时 %2$S 分 | 凌晨 %1$S 时 %2$S 分 | %1$S:%2$S a.m. | %1$S:%2$S am | %1$S:%2$S AM
+
+# LOCALIZATION NOTE (from.hour.minutes.pm):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+from.hour.minutes.pm = 下午 %1$S:%2$S | 下午 %1$S:%2$S |下午 %1$S:%2$S
+
+# LOCALIZATION NOTE (until.hour.minutes.pm):
+# %1$S = matches numbers 0-23
+# %2$S = matches numbers 0-59
+until.hour.minutes.pm =到下午 %1$S:%2$S | 到晚上 %1$S:%2$S | 到下午 %1$S 点 %2$S 分 | 到晚上 %1$S 点 %2$S 分 | %1$S:%2$S pm | %1$S:%2$S PM | %1$S:%2$S p.m.
+
+# LOCALIZATION NOTE (from.monthname.day):
+# %1$S = matches numbers 1-31 and number.x
+# %2$S = matches monthname
+from.monthname.day = %1$S %2$S | %2$S %1$S | %2$S %1$Sst | %2$S %1$Snd | %2$S %1$Srd | %2$S %1$Sth | %1$Sst of %2$S | %1$Snd of %2$S | %1$Srd of %2$S | %1$Sth of %2$S
+
+# LOCALIZATION NOTE (until.monthname.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches monthname
+until.monthname.day =到 %2$S 月 %1$S 日 | 至 %2$S 月 %1$S 日 | 到 %2$S 月 %1$S 号 | 至 %2$S 月 %1$S 号 | %2$S 月 %1$S 号止 | %2$S 月 %1$S 号前 | %2$S 月 %1$S 日止 | %2$S 月 %1$S 日前| 到 %2$S/%1$S | 至 %2$S/%1$S | %2$S/%1$S 止 | %2$S/%1$S 前| ~ %2$S/%1$S | - %2$S/%1$S
+
+# LOCALIZATION NOTE (from.month.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches numbers 1-12
+from.month.day = %2$S/%1$S
+
+# LOCALIZATION NOTE (until.month.day):
+# %1$S = matches numbers 1-31 and number.x
+# %2$S = matches numbers 1-12
+until.month.day =
+
+# LOCALIZATION NOTE (from.year.month.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches numbers 1-12
+# %3$S = matches 2/4 numbers
+from.year.month.day = %2$S/%1$S/%3$S | %3$S/%2$S/%1$S | %3$S-%2$S-%1$S
+
+# LOCALIZATION NOTE (until.year.month.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches numbers 1-12
+# %3$S = matches 2/4 numbers
+until.year.month.day =至 %3$S/%2$S/%1$S | 至 %3$S-%2$S-%1$S | %3$S/%2$S/%1$S 前 | %3$S/%2$S/%1$S 止 | %3$S/%2$S/%1$S 为止
+
+# LOCALIZATION NOTE (from.year.monthname.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches monthname
+# %3$S = matches 2/4 numbers
+from.year.monthname.day = %1$S %2$S %3$S | %1$Sst %2$S %3$S | %1$Snd %2$S %3$S | %1$Srd %2$S %3$S | %1$Sth %2$S %3$S | %2$S %1$S, %3$S | %3$S-%2$S-%1$S
+
+# LOCALIZATION NOTE (until.year.monthname.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches monthname
+# %3$S = matches 2/4 numbers
+until.year.monthname.day =至 %3$S/%2$S/%1$S | 至 %3$S-%2$S-%1$S | %3$S/%2$S/%1$S 前 | %3$S/%2$S/%1$S 止 | %3$S/%2$S/%1$S 为止
+
+# LOCALIZATION NOTE (duration.*):
+# can be a list of values, separate variants by |
+
+# LOCALIZATION NOTE (duration.minutes):
+# %1$S = matches 1/2 numbers and number.0 - and number.31
+duration.minutes = %1$S 分钟 | %1$S 分 | %1$S 分
+
+# LOCALIZATION NOTE (duration.hours):
+# %1$S = matches 1/2 numbers and number.0 - and number.31
+duration.hours = %1$S 小时 | %1$S 小时
+
+# LOCALIZATION NOTE (duration.days):
+# %1$S = matches 1/2 numbers and number.0 - and number.31
+duration.days = %1$S 天
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = 一月
+month.2 = 二月
+month.3 = 三月
+month.4 = 四月
+month.5 = 五月
+month.6 = 六月
+month.7 = 七月
+month.8 = 八月
+month.9 = 九月
+month.10 = 十月
+month.11 = 十一月
+month.12 = 十二月
+
+# LOCALIZATION NOTE (from.weekday.*):
+# used to derive start date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (from.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+from.weekday.0 = 周日 | 星期日 | 星期天 | 礼拜天 | 礼拜日
+from.weekday.1 = 周一 | 星期一 | 礼拜一
+from.weekday.2 = 周二 | 星期二 | 礼拜二
+from.weekday.3 = 周三 | 星期三 | 礼拜三
+from.weekday.4 = 周四 | 星期四 | 礼拜四
+from.weekday.5 = 周五 | 星期五 | 礼拜五
+from.weekday.6 = 周六 | 星期六 | 礼拜六
+
+# LOCALIZATION NOTE (until.weekday.*):
+# used to derive end date based on weekdays mentioned
+# can be a list of values, separate variants by |
+# LOCALIZATION NOTE (until.weekday.0):
+# Regardless of what the first day of the week is in your country, 0 is Sunday here.
+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 = 零 | 〇
+number.1 = 1 | 1日
+number.2 = 2 | 2日
+number.3 = 3 | 3日
+number.4 = 4 | 4日
+number.5 = 5 | 5日
+number.6 = 6 | 6日
+number.7 = 7 | 7日
+number.8 = 8 | 8日
+number.9 = 9 | 9日
+number.10 = 10 | 10日
+number.11 = 11 | 11日
+number.12 = 12 | 12日
+number.13 = 13 | 13日
+number.14 = 14 | 14日
+number.15 = 15 | 15日
+number.16 = 16 | 16日
+number.17 = 17 | 17日
+number.18 = 18 | 18日
+number.19 = 19 | 19日
+number.20 = 20 | 20日
+number.21 = 21 | 21日
+number.22 = 22 | 22日
+number.23 = 23 | 23日
+number.24 = 24 | 24日
+number.25 = 25 | 25日
+number.26 = 26 | 26日
+number.27 = 27 | 27日
+number.28 = 28 | 28日
+number.29 = 29 | 29日
+number.30 = 30 | 30日
+number.31 = 31 | 31日
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 0000000000..d2b9eef31f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/.
+-->
+<!-- Calendar Invitations Dialog -->
+
+<!ENTITY calendar.invitations.dialog.invitations.text "邀请">
+<!ENTITY calendar.invitations.dialog.statusmessage.updating.text "更新邀请列表。">
+<!ENTITY calendar.invitations.dialog.statusmessage.noinvitations.text "没有发现未确认的邀请。">
+<!-- Calendar Invitations List -->
+
+<!ENTITY calendar.invitations.list.accept.button.label "接受">
+<!ENTITY calendar.invitations.list.decline.button.label "拒绝">
+<!ENTITY calendar.invitations.list.recurrentevent.text "重复事件">
+<!ENTITY calendar.invitations.list.alldayevent.text "全天事件">
+<!ENTITY calendar.invitations.list.location.text "位置:">
+<!ENTITY calendar.invitations.list.organizer.text "组织者:">
+<!ENTITY calendar.invitations.list.attendee.text "参与者:">
+<!ENTITY calendar.invitations.list.none.text "无">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 0000000000..e0cac9c963
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-invitations-dialog.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+allday-event=全天事件
+recurrent-event=重复事件
+location=位置:%S
+organizer=组织者:%S
+attendee=参与者:%S
+none=无
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-occurrence-prompt.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-occurrence-prompt.dtd
new file mode 100644
index 0000000000..5864a9335f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-occurrence-prompt.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 0000000000..443d49dd5d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=是一个重复事件
+header.isrepeating.task.label=是一个重复任务\u0020
+
+header.containsrepeating.event.label=包含重复事件
+header.containsrepeating.task.label=包含重复任务
+header.containsrepeating.mixed.label=包含不同类型的重复项目
+
+windowtitle.event.copy=复制重复事件
+windowtitle.task.copy=复制重复任务
+windowtitle.mixed.copy=复制重复项目
+windowtitle.event.cut=剪切重复事件
+windowtitle.task.cut=剪切重复任务
+windowtitle.mixed.cut=剪切重复项目
+windowtitle.event.delete=删除重复事件
+windowtitle.task.delete=删除重复任务
+windowtitle.mixed.delete=删除重复项目
+windowtitle.event.edit=编辑重复事件
+windowtitle.task.edit=编辑重复任务
+
+buttons.occurrence.delete.label=只删除当前事项
+buttons.occurrence.edit.label=只编辑当前事项
+
+buttons.allfollowing.delete.label=删除当前和将来的重复事项
+buttons.allfollowing.edit.label=编辑当前和将来的重复事项
+
+buttons.parent.delete.label=删除所有重复事项
+buttons.parent.edit.label=编辑所有重复事项
+windowtitle.mixed.edit=编辑重复项目
+windowtitle.multipleitems=已选择项目
+
+buttons.single.occurrence.copy.label=只复制此次
+buttons.single.occurrence.cut.label=只剪切此次
+buttons.single.occurrence.delete.label=只删除此次
+buttons.single.occurrence.edit.label=只编辑此次
+
+buttons.multiple.occurrence.copy.label=只复制选中的重复事项
+buttons.multiple.occurrence.cut.label=只剪切选中的重复事项
+buttons.multiple.occurrence.delete.label=只删除选中的重复事项
+buttons.multiple.occurrence.edit.label=只编辑选中的重复事项
+
+buttons.single.allfollowing.copy.label=复制当前和将来的重复事项
+buttons.single.allfollowing.cut.label=剪切当前和将来的重复事项
+buttons.single.allfollowing.delete.label=删除当前和将来的重复事项
+buttons.single.allfollowing.edit.label=编辑当前和将来的重复事项
+
+buttons.multiple.allfollowing.copy.label=复制选中和将来的重复事项
+buttons.multiple.allfollowing.cut.label=剪切选中和将来的重复事项
+buttons.multiple.allfollowing.delete.label=删除选中和将来的重复事项
+buttons.multiple.allfollowing.edit.label=编辑选中和将来的重复事项
+
+buttons.single.parent.copy.label=复制所有重复事项
+buttons.single.parent.cut.label=剪切所有重复事项
+buttons.single.parent.delete.label=删除所有重复事项
+buttons.single.parent.edit.label=编辑所有重复事项
+
+buttons.multiple.parent.copy.label=复制选中项的所有重复事项
+buttons.multiple.parent.cut.label=剪切选中项的所有重复事项
+buttons.multiple.parent.delete.label=删除选中项的所有重复事项
+buttons.multiple.parent.edit.label=编辑选中项的所有重复事项
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar.dtd
new file mode 100644
index 0000000000..c041fed147
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar.dtd
@@ -0,0 +1,386 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- General -->
+<!ENTITY calendar.calendar.label "日历">
+<!ENTITY calendar.calendar.accesskey "C">
+
+<!ENTITY calendar.newevent.button.tooltip "创建新的事件" >
+<!ENTITY calendar.newtask.button.tooltip "创建新的任务" >
+
+<!ENTITY calendar.unifinder.showcompletedtodos.label "显示已完成任务">
+
+<!ENTITY calendar.today.button.label "今天">
+<!ENTITY calendar.tomorrow.button.label "明天">
+
+<!ENTITY calendar.events.filter.all.label "所有事件">
+<!ENTITY calendar.events.filter.today.label "今日事件">
+<!ENTITY calendar.events.filter.future.label "全部未来事件">
+<!ENTITY calendar.events.filter.current.label "已选日期">
+<!ENTITY calendar.events.filter.currentview.label "当前视图中的事件">
+<!ENTITY calendar.events.filter.next7Days.label "7 天内的事件">
+<!ENTITY calendar.events.filter.next14Days.label "14 天内的事件">
+<!ENTITY calendar.events.filter.next31Days.label "31 天内的事件">
+<!ENTITY calendar.events.filter.thisCalendarMonth.label "本月事件">
+
+<!-- LOCALIZATION NOTE(calendar.unifinder.tree.done.tooltip)
+ - This label and tooltip is used for the column with the checkbox in the
+ - task tree view. -->
+<!ENTITY calendar.unifinder.tree.done.label "完成">
+<!ENTITY calendar.unifinder.tree.done.tooltip2 "按完成状态排序">
+<!ENTITY calendar.unifinder.tree.priority.label "优先">
+<!ENTITY calendar.unifinder.tree.priority.tooltip2 "按优先级排序">
+<!ENTITY calendar.unifinder.tree.title.label "标题">
+<!ENTITY calendar.unifinder.tree.title.tooltip2 "按标题排序">
+<!ENTITY calendar.unifinder.tree.percentcomplete.label "&#037; 完成">
+<!ENTITY calendar.unifinder.tree.percentcomplete.tooltip2 "按完成百分比排序">
+<!ENTITY calendar.unifinder.tree.startdate.label "开始">
+<!ENTITY calendar.unifinder.tree.startdate.tooltip2 "按开始日期排序">
+<!ENTITY calendar.unifinder.tree.enddate.label "结束">
+<!ENTITY calendar.unifinder.tree.enddate.tooltip2 "按结束日期排序">
+<!ENTITY calendar.unifinder.tree.duedate.label "期限">
+<!ENTITY calendar.unifinder.tree.duedate.tooltip2 "按到期日期排序">
+<!ENTITY calendar.unifinder.tree.completeddate.label "已完成">
+<!ENTITY calendar.unifinder.tree.completeddate.tooltip2 "按完成日期排序">
+<!ENTITY calendar.unifinder.tree.categories.label "类别">
+<!ENTITY calendar.unifinder.tree.categories.tooltip2 "按分类排序">
+<!ENTITY calendar.unifinder.tree.location.label "位置">
+<!ENTITY calendar.unifinder.tree.location.tooltip2 "按位置排序">
+<!ENTITY calendar.unifinder.tree.status.label "状态">
+<!ENTITY calendar.unifinder.tree.status.tooltip2 "按状态排序">
+<!ENTITY calendar.unifinder.tree.calendarname.label "日历名称">
+<!ENTITY calendar.unifinder.tree.calendarname.tooltip2 "按日历名称排序">
+<!ENTITY calendar.unifinder.tree.duration.label "期限">
+<!ENTITY calendar.unifinder.tree.duration.tooltip2 "按剩余时限排序">
+<!ENTITY calendar.unifinder.close.tooltip "关闭事件搜索和事件列表">
+
+<!ENTITY calendar.today.button.tooltip "转至今日" >
+<!ENTITY calendar.todaypane.button.tooltip "显示今日窗格" >
+
+<!ENTITY calendar.day.button.tooltip "切换到日视图" >
+<!ENTITY calendar.week.button.tooltip "切换到周视图" >
+<!ENTITY calendar.month.button.tooltip "切换到月视图" >
+<!ENTITY calendar.multiweek.button.tooltip "切换到多周视图" >
+
+<!ENTITY calendar.nextday.label "后一天" >
+<!ENTITY calendar.prevday.label "前一天" >
+<!ENTITY calendar.nextday.accesskey "x" >
+<!ENTITY calendar.prevday.accesskey "s" >
+<!ENTITY calendar.nextweek.label "后一周" >
+<!ENTITY calendar.prevweek.label "前一周" >
+<!ENTITY calendar.nextweek.accesskey "x" >
+<!ENTITY calendar.prevweek.accesskey "s" >
+<!ENTITY calendar.nextmonth.label "后一月" >
+<!ENTITY calendar.prevmonth.label "前一月" >
+<!ENTITY calendar.nextmonth.accesskey "x" >
+<!ENTITY calendar.prevmonth.accesskey "s" >
+
+<!ENTITY calendar.navigation.nextday.tooltip "下一日" >
+<!ENTITY calendar.navigation.prevday.tooltip "上一日" >
+<!ENTITY calendar.navigation.nextweek.tooltip "下一周" >
+<!ENTITY calendar.navigation.prevweek.tooltip "上一周" >
+<!ENTITY calendar.navigation.nextmonth.tooltip "下一月" >
+<!ENTITY calendar.navigation.prevmonth.tooltip "上一月" >
+
+<!ENTITY calendar.newevent.button.label "新建事件" >
+<!ENTITY calendar.newtask.button.label "新建任务" >
+
+<!ENTITY calendar.day.button.label "日" >
+<!ENTITY calendar.week.button.label "周" >
+<!ENTITY calendar.month.button.label "月" >
+<!ENTITY calendar.multiweek.button.label "多周" >
+
+<!ENTITY calendar.onlyworkday.checkbox.label "仅显示工作日" >
+<!ENTITY calendar.onlyworkday.checkbox.accesskey "r" >
+<!ENTITY calendar.displaytodos.checkbox.label "显示任务" >
+<!ENTITY calendar.displaytodos.checkbox.accesskey "k" >
+<!ENTITY calendar.completedtasks.checkbox.label "显示已完成任务" >
+<!ENTITY calendar.completedtasks.checkbox.accesskey "c" >
+
+<!ENTITY calendar.orientation.label "循环视图" >
+<!ENTITY calendar.orientation.accesskey "o" >
+
+<!ENTITY calendar.search.options.searchfor "包含">
+
+<!ENTITY calendar.list.header.label "日历">
+
+<!ENTITY calendar.task.filter.title.label "显示">
+<!ENTITY calendar.task.filter.all.label "所有">
+<!ENTITY calendar.task.filter.all.accesskey "A">
+<!ENTITY calendar.task.filter.today.label "今天">
+<!ENTITY calendar.task.filter.today.accesskey "T">
+<!ENTITY calendar.task.filter.next7days.label "往后七天">
+<!ENTITY calendar.task.filter.next7days.accesskey "N">
+<!ENTITY calendar.task.filter.notstarted.label "未开始任务">
+<!ENTITY calendar.task.filter.notstarted.accesskey "a">
+<!ENTITY calendar.task.filter.overdue.label "过期的任务">
+<!ENTITY calendar.task.filter.overdue.accesskey "O">
+<!ENTITY calendar.task.filter.completed.label "已完成的任务">
+<!ENTITY calendar.task.filter.completed.accesskey "C">
+<!ENTITY calendar.task.filter.open.label "未完成任务">
+<!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 "当前任务">
+<!ENTITY calendar.task.filter.current.accesskey "u">
+
+<!ENTITY calendar.task-details.title.label "标题">
+<!ENTITY calendar.task-details.organizer.label "从">
+<!ENTITY calendar.task-details.priority.label "优先级">
+<!ENTITY calendar.task-details.priority.low.label "低">
+<!ENTITY calendar.task-details.priority.normal.label "普通">
+<!ENTITY calendar.task-details.priority.high.label "高">
+<!ENTITY calendar.task-details.status.label "状态">
+<!ENTITY calendar.task-details.category.label "分类">
+<!ENTITY calendar.task-details.repeat.label "重复">
+<!ENTITY calendar.task-details.attachments.label "附件">
+<!ENTITY calendar.task-details.start.label "开始日期">
+<!ENTITY calendar.task-details.due.label "截止日期">
+
+<!ENTITY calendar.task.category.button.tooltip "任务分类">
+<!ENTITY calendar.task.complete.button.tooltip "标记选中的任务为已完成">
+<!ENTITY calendar.task.priority.button.tooltip "改变优先级">
+
+<!ENTITY calendar.task.text-filter.textbox.emptytext.base1 "过滤任务 #1">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.nonmac "&lt;Ctrl+Shift+K&gt;">
+<!ENTITY calendar.task.text-filter.textbox.emptytext.keylabel.mac "&lt;&#x21E7;&#x2318;K&gt;">
+
+<!-- Context Menu -->
+<!ENTITY calendar.context.modifyorviewitem.label "打开">
+<!ENTITY calendar.context.modifyorviewitem.accesskey "O">
+<!ENTITY calendar.context.modifyorviewtask.label "打开任务…">
+<!ENTITY calendar.context.modifyorviewtask.accesskey "O">
+<!ENTITY calendar.context.newevent.label "新建事件…">
+<!ENTITY calendar.context.newevent.accesskey "N">
+<!ENTITY calendar.context.newtodo.label "新建任务…">
+<!ENTITY calendar.context.newtodo.accesskey "k">
+<!ENTITY calendar.context.deletetask.label "删除任务">
+<!ENTITY calendar.context.deletetask.accesskey "l">
+<!ENTITY calendar.context.deleteevent.label "删除事件">
+<!ENTITY calendar.context.deleteevent.accesskey "l">
+<!ENTITY calendar.context.cutevent.label "剪切">
+<!ENTITY calendar.context.cutevent.accesskey "t">
+<!ENTITY calendar.context.copyevent.label "复制">
+<!ENTITY calendar.context.copyevent.accesskey "C">
+<!ENTITY calendar.context.pasteevent.label "粘贴">
+<!ENTITY calendar.context.pasteevent.accesskey "P">
+<!ENTITY calendar.context.button.label "今日窗格">
+<!ENTITY calendar.context.button.accesskey "T">
+
+<!ENTITY calendar.context.attendance.menu.label "出席者">
+<!ENTITY calendar.context.attendance.menu.accesskey "d">
+<!ENTITY calendar.context.attendance.occurrence.label "此事件">
+<!ENTITY calendar.context.attendance.all2.label "完整系列">
+<!ENTITY calendar.context.attendance.send.label "立刻发送通知">
+<!ENTITY calendar.context.attendance.send.accesskey "S">
+<!ENTITY calendar.context.attendance.dontsend.label "不要发送通知">
+<!ENTITY calendar.context.attendance.dontsend.accesskey "D">
+
+<!ENTITY calendar.context.attendance.occ.accepted.accesskey "A">
+<!ENTITY calendar.context.attendance.occ.accepted.label "已接受">
+<!ENTITY calendar.context.attendance.occ.tentative.accesskey "y">
+<!ENTITY calendar.context.attendance.occ.tentative.label "暂时接受">
+<!ENTITY calendar.context.attendance.occ.declined.accesskey "c">
+<!ENTITY calendar.context.attendance.occ.declined.label "已拒绝">
+<!ENTITY calendar.context.attendance.occ.delegated.accesskey "g">
+<!ENTITY calendar.context.attendance.occ.delegated.label "已委托他人">
+<!ENTITY calendar.context.attendance.occ.needsaction.accesskey "S">
+<!ENTITY calendar.context.attendance.occ.needsaction.label "尚须处理">
+<!ENTITY calendar.context.attendance.occ.inprogress.accesskey "I">
+<!ENTITY calendar.context.attendance.occ.inprogress.label "进行中">
+<!ENTITY calendar.context.attendance.occ.completed.accesskey "C">
+<!ENTITY calendar.context.attendance.occ.completed.label "已完成">
+
+<!ENTITY calendar.context.attendance.all.accepted.accesskey "e">
+<!ENTITY calendar.context.attendance.all.accepted.label "已接受">
+<!ENTITY calendar.context.attendance.all.tentative.accesskey "v">
+<!ENTITY calendar.context.attendance.all.tentative.label "暂时接受">
+<!ENTITY calendar.context.attendance.all.declined.accesskey "d">
+<!ENTITY calendar.context.attendance.all.declined.label "已拒绝">
+<!ENTITY calendar.context.attendance.all.delegated.accesskey "l">
+<!ENTITY calendar.context.attendance.all.delegated.label "已委托他人">
+<!ENTITY calendar.context.attendance.all.needsaction.accesskey "l">
+<!ENTITY calendar.context.attendance.all.needsaction.label "尚须处理">
+<!ENTITY calendar.context.attendance.all.inprogress.accesskey "p">
+<!ENTITY calendar.context.attendance.all.inprogress.label "进行中">
+<!ENTITY calendar.context.attendance.all.completed.accesskey "m">
+<!ENTITY calendar.context.attendance.all.completed.label "已完成">
+
+<!-- Task Context Menu -->
+<!ENTITY calendar.context.progress.label "进度">
+<!ENTITY calendar.context.progress.accesskey "P">
+<!ENTITY calendar.context.priority.label "优先级">
+<!ENTITY calendar.context.priority.accesskey "r">
+<!ENTITY calendar.context.postpone.label "推迟任务">
+<!ENTITY calendar.context.postpone.accesskey "s">
+
+<!ENTITY percnt "&#38;#37;" ><!--=percent sign-->
+
+<!ENTITY calendar.context.markcompleted.label "标记为已完成">
+<!ENTITY calendar.context.markcompleted.accesskey "o">
+
+<!ENTITY progress.level.0 "已完成 0&percnt;">
+<!ENTITY progress.level.0.accesskey "0">
+<!ENTITY progress.level.25 "已完成 25&percnt;">
+<!ENTITY progress.level.25.accesskey "2">
+<!ENTITY progress.level.50 "已完成 50&percnt;">
+<!ENTITY progress.level.50.accesskey "5">
+<!ENTITY progress.level.75 "已完成 75&percnt;">
+<!ENTITY progress.level.75.accesskey "7">
+<!ENTITY progress.level.100 "已完成 100&percnt;">
+<!ENTITY progress.level.100.accesskey "1">
+
+<!ENTITY priority.level.none "未指定">
+<!ENTITY priority.level.none.accesskey "s">
+<!ENTITY priority.level.low "低">
+<!ENTITY priority.level.low.accesskey "L">
+<!ENTITY priority.level.normal "普通">
+<!ENTITY priority.level.normal.accesskey "N">
+<!ENTITY priority.level.high "高">
+<!ENTITY priority.level.high.accesskey "H">
+
+<!ENTITY calendar.context.postpone.1hour.label "1小时">
+<!ENTITY calendar.context.postpone.1hour.accesskey "H">
+<!ENTITY calendar.context.postpone.1day.label "1天">
+<!ENTITY calendar.context.postpone.1day.accesskey "D">
+<!ENTITY calendar.context.postpone.1week.label "1 周">
+<!ENTITY calendar.context.postpone.1week.accesskey "W">
+
+<!ENTITY calendar.copylink.label "复制链接地址">
+<!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 "删除">
+
+<!-- Server Context Menu -->
+<!ENTITY calendar.context.newserver.label "新建日历…">
+<!ENTITY calendar.context.newserver.accesskey "N">
+<!ENTITY calendar.context.findcalendar.label "查找日历…" >
+<!ENTITY calendar.context.findcalendar.accesskey "F" >
+<!ENTITY calendar.context.deleteserver2.label "删除日历…">
+<!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 "删除日历…">
+<!ENTITY calendar.context.removeserver.accesskey "R">
+<!ENTITY calendar.context.unsubscribeserver.label "取消订阅日历…">
+<!ENTITY calendar.context.unsubscribeserver.accesskey "U">
+<!ENTITY calendar.context.synccalendars.label "同步日历">
+<!ENTITY calendar.context.synccalendars.accesskey "S">
+<!ENTITY calendar.context.publish.label "发布日历…">
+<!ENTITY calendar.context.publish.accesskey "b">
+<!ENTITY calendar.context.export.label "导出日历…">
+<!ENTITY calendar.context.export.accesskey "E">
+<!ENTITY calendar.context.properties.label "属性">
+<!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 "显示所有日历">
+<!ENTITY calendar.context.showall.accesskey "A">
+
+<!ENTITY calendar.context.convertmenu.label "转换到">
+<!ENTITY calendar.context.convertmenu.accesskey.mail "n">
+<!ENTITY calendar.context.convertmenu.accesskey.calendar "v">
+<!ENTITY calendar.context.convertmenu.event.label "事件…">
+<!ENTITY calendar.context.convertmenu.event.accesskey "E">
+<!ENTITY calendar.context.convertmenu.message.label "消息…">
+<!ENTITY calendar.context.convertmenu.message.accesskey "M">
+<!ENTITY calendar.context.convertmenu.task.label "任务…">
+<!ENTITY calendar.context.convertmenu.task.accesskey "T">
+
+<!ENTITY calendar.tasks.view.minimonth.label "小月历">
+<!ENTITY calendar.tasks.view.minimonth.accesskey "M">
+
+<!ENTITY calendar.tasks.view.calendarlist.label "日历列表">
+<!ENTITY calendar.tasks.view.calendarlist.accesskey "L">
+
+<!ENTITY calendar.tasks.view.filtertasks.label "过滤任务">
+<!ENTITY calendar.tasks.view.filtertasks.accesskey "F">
+
+<!-- Calendar Alarm Dialog -->
+
+<!ENTITY calendar.alarm.location.label "位置:" >
+<!ENTITY calendar.alarm.details.label "细节…" >
+
+<!ENTITY calendar.alarm.snoozefor.label "暂缓" >
+<!ENTITY calendar.alarm.snoozeallfor.label "全部暂缓" >
+<!ENTITY calendar.alarm.title.label "日历提醒" >
+<!ENTITY calendar.alarm.dismiss.label "解除" >
+<!ENTITY calendar.alarm.dismissall.label "全部解除" >
+
+<!ENTITY calendar.alarm.snooze.5minutes.label "5分钟" >
+<!ENTITY calendar.alarm.snooze.10minutes.label "10分钟" >
+<!ENTITY calendar.alarm.snooze.15minutes.label "15分钟" >
+<!ENTITY calendar.alarm.snooze.30minutes.label "30分钟" >
+<!ENTITY calendar.alarm.snooze.45minutes.label "45分钟" >
+<!ENTITY calendar.alarm.snooze.1hour.label "1小时" >
+<!ENTITY calendar.alarm.snooze.2hours.label "2小时" >
+<!ENTITY calendar.alarm.snooze.1day.label "1天" >
+
+<!-- LOCALIZATION NOTE (calendar.alarm.snooze.cancel)
+ This string is not seen in the UI, it is read by screen readers when the
+ user focuses the "Cancel" button in the "Snooze for..." popup of the alarm
+ dialog. -->
+<!ENTITY calendar.alarm.snooze.cancel "取消暂缓">
+
+<!-- Calendar Server Dialog -->
+<!ENTITY calendar.server.dialog.title.edit "编辑日历">
+<!ENTITY calendar.server.dialog.name.label "日历名称:">
+
+<!-- Calendar Properties -->
+<!ENTITY calendarproperties.color.label "颜色:">
+<!ENTITY calendarproperties.webdav.label "iCalendar (ICS)">
+<!ENTITY calendarproperties.caldav.label "CalDAV">
+<!ENTITY calendarproperties.format.label "格式:">
+<!ENTITY calendarproperties.location.label "位置:">
+<!ENTITY calendarproperties.refreshInterval.label "刷新日历:">
+<!ENTITY calendarproperties.refreshInterval.manual.label "手动">
+<!ENTITY calendarproperties.name.label "名称:">
+<!ENTITY calendarproperties.readonly.label "只读">
+<!ENTITY calendarproperties.firealarms.label "显示提醒">
+<!ENTITY calendarproperties.cache3.label "离线支持">
+<!ENTITY calendarproperties.enabled2.label "启用此日历">
+<!ENTITY calendarproperties.forceDisabled.label "未找到该日历的提供者。通常是由于您禁用或者卸载了某些附加组件。">
+<!ENTITY calendarproperties.unsubscribe.label "取消订阅">
+<!ENTITY calendarproperties.unsubscribe.accesskey "U">
+
+<!-- Calendar Publish Dialog -->
+<!ENTITY calendar.publish.dialog.title "发布日历">
+<!ENTITY calendar.publish.url.label "发布 URL">
+<!ENTITY calendar.publish.publish.button "发布">
+<!ENTITY calendar.publish.close.button "关闭">
+
+<!-- Select Calendar Dialog -->
+<!ENTITY calendar.select.dialog.title "选择日历">
+
+<!-- Error reporting -->
+<!ENTITY calendar.error.detail "详细信息…">
+<!ENTITY calendar.error.code "错误码:">
+<!ENTITY calendar.error.description "描述:">
+<!ENTITY calendar.error.title "发生错误">
+
+<!-- Extract buttons in message header -->
+<!ENTITY calendar.extract.event.button "作为事件添加">
+<!ENTITY calendar.extract.task.button "作为任务添加">
+<!ENTITY calendar.extract.event.button.tooltip "从消息中提取日历信息并作为事件添加到你的日历中">
+<!ENTITY calendar.extract.task.button.tooltip "从消息中提取日历信息并作为任务添加到你的日历中">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendar.properties
new file mode 100644
index 0000000000..1cb7909d7f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=新建事件
+
+# Titles for the event/task dialog
+newEventDialog=新建事件
+editEventDialog=编辑事件
+newTaskDialog=新建任务
+editTaskDialog=编辑任务
+
+# Do you want to save changes?
+askSaveTitleEvent=保存事件
+askSaveTitleTask=保存任务
+askSaveMessageEvent=事件还未保存,您想保存吗?
+askSaveMessageTask=任务还未保存,您想保存吗?
+
+# Event Dialog Warnings
+warningEndBeforeStart=您输入的结束日期早于开始日期
+warningUntilDateBeforeStart=截止日期在开始日期之前
+
+# The name of the calendar provided with the application by default
+homeCalendarName=主日历
+
+# The name given to a calendar if an opened calendar has an empty filename
+untitledCalendarName=无标题日历
+
+# Event status: Tentative, Confirmed, Cancelled
+# ToDo task status: NeedsAction, InProcess, Completed, Cancelled
+statusTentative =暂定
+statusConfirmed =已确认
+eventStatusCancelled=已取消
+todoStatusCancelled =已取消
+statusNeedsAction =需处理
+statusInProcess =进行中
+statusCompleted =已完成
+
+# Task priority, these should match the priority.level.* labels in calendar.dtd
+highPriority=高
+normalPriority=普通
+lowPriority=低
+
+importPrompt=您想把这些条目导入到哪个日历?
+exportPrompt=您想导出哪个日历?
+pastePrompt=您想粘贴到哪个当前可写的日历?
+publishPrompt=您想发布哪个日历?
+
+# LOCALIZATION NOTE (pasteEventAlso): The users pasting operation includes among
+# others also a meeting invitation - this is used as a affix in
+# pasteNotifyAbout
+pasteEventAlso=您粘贴的内容涉及一场会议
+# LOCALIZATION NOTE (pasteEventsAlso): The users pasting operation includes among
+# others also several meeting invitations - this is used as a affix in
+# pasteNotifyAbout
+pasteEventsAlso=您粘贴的内容涉及多场会议
+# LOCALIZATION NOTE (pasteTaskAlso): The users pasting operation includes among
+# others also an assigned task - this is used as a affix in pasteNotifyAbout
+pasteTaskAlso=您粘贴的内容涉及已指派他人处理的任务
+# LOCALIZATION NOTE (pasteTasksAlso): The users pasting operation include among
+# others also several assigned tasks - this is used as a affix in
+# pasteNotifyAbout
+pasteTasksAlso=您粘贴的内容涉及已指派他人处理的任务
+# LOCALIZATION NOTE (pasteItemsAlso): The users pasting operation includes among
+# others also assigned task(s) and meeting invitation(s) - this is used as a affix
+# in pasteNotifyAbout
+pasteItemsAlso=您粘贴的内容涉及会议和已指派他人处理的任务
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting a meeting -
+# this is used as a affix in pasteNotifyAbout
+pasteEventOnly=您粘贴的是会议信息
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several meetings -
+# this is used as a affix in pasteNotifyAbout
+pasteEventsOnly=您粘贴的是会议信息
+# LOCALIZATION NOTE (pasteEventOnly): The users is pasting an assigned task -
+# this is used as a affix in pasteNotifyAbout
+pasteTaskOnly=您粘贴的是已指派他人处理的任务
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting several assigned
+# tasks - this is used as a affix in pasteNotifyAbout
+pasteTasksOnly=您粘贴的是已指派他人处理的任务
+# LOCALIZATION NOTE (pasteEventsOnly): The users is pasting assigned task(s) and
+# meeting(s) - this is used as a affix in pasteNotifyAbout
+pasteItemsOnly=您粘贴的是会议信息和已指派他人处理的任务
+
+# LOCALIZATION NOTE (pasteNotifyAbout): Text displayed if pasting an invitation
+# or assigned task
+# %1$S - pasteEvent* or pasteTask*
+pasteNotifyAbout=%1$S - 要向所有相关人员发送更新吗?
+
+# LOCALIZATION NOTE (pasteAndNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteAndNotifyLabel=粘贴并立刻发送
+# LOCALIZATION NOTE (pasteDontNotifyLabel): button label used in calendar prompt
+# of the pasted item has attendees
+pasteDontNotifyLabel=仅粘贴
+
+# LOCALIZATION NOTE (importItemsFailed):
+# %1$S will be replaced with number of failed items
+# %2$S will be replaced with last error code / error string
+importItemsFailed=%1$S 个条目导入失败。 最后一个错误为: %2$S
+# LOCALIZATION NOTE (noItemsInCalendarFile2):
+# %1$S will be replaced with file path
+noItemsInCalendarFile2=无法从 %1$S 导入。这个文件里没有可供导入的项目。
+
+#spaces needed at the end of the following lines
+eventDescription=描述:
+
+unableToRead=不能读取文件:
+unableToWrite=不能写入文件:
+defaultFileName=MozillaCalEvents
+HTMLTitle=Mozilla 日历
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=在读取 %1$S 过程中发现未知且未定义的时区。
+
+# LOCALIZATION NOTE (duplicateError):
+# %1$S will be replaced with number of duplicate items
+# %2$S will be replaced with a file path pointing to a calendar
+duplicateError=%1$S 个条目被忽略,因为它们同时存在于目标日历和 %2$S。
+
+unableToCreateProvider=准备使用位于 %1$S 的日历时发生了错误。 它将无法使用。
+
+# Sample: Unknown timezone "USPacific" in "Dentist Appt". Using the 'floating' local timezone instead: 2008/02/28 14:00:00
+unknownTimezoneInItem=未知 "%2$S" 中的时区 "%1$S"。按‘浮动’本地时区处理:%3$S
+TimezoneErrorsAlertTitle=时区错误
+TimezoneErrorsSeeConsole=参见错误控制台:未知时区按‘浮动’本地时区处理。
+
+# The following strings are for the prompt to delete/unsubscribe from the calendar
+removeCalendarTitle=移除日历
+removeCalendarButtonDelete=删除日历
+removeCalendarButtonUnsubscribe=取消订阅
+
+# LOCALIZATION NOTE (removeCalendarMessageDeleteOrUnsubscribe): Shown for
+# calendar where both deleting and unsubscribing is possible.
+# %1$S: The name of a calendar
+removeCalendarMessageDeleteOrUnsubscribe=您是否要移除日历“%1$S”?取消订阅将会从清单中移除该日历,而删除则会移除该日历并永久清除其数据。
+
+# LOCALIZATION NOTE (removeCalendarMessageDelete): Shown for calendar where
+# deleting is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageDelete=您真的想要永久删除日历“%1$S”吗?
+
+# LOCALIZATION NOTE (removeCalendarMessageUnsubscribe): Shown for calendar
+# where unsubscribing is the only option.
+# %1$S: The name of a calendar
+removeCalendarMessageUnsubscribe=您确定要取消订阅日历“%1$S”吗?
+
+WeekTitle=周 %1$S
+None=无
+
+# Error strings
+## @name UID_NOT_FOUND
+## @loc none
+
+# 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=您配置文件中的日历数据已由新版 %1$S 更新,与此版本的 %1$S 不兼容。已创建名为“%2$S”的备份文件,并使用新创建的数据文件以继续。
+
+# List of events or todos (unifinder)
+eventUntitled=无标题
+
+# Tooltips of events or todos
+tooltipTitle=标题:
+tooltipLocation=位置:
+# event date, usually an interval, such as
+# Date: 7:00--8:00 Thu 9 Oct 2011
+# Date: Thu 9 Oct 2000 -- Fri 10 Oct 2000
+tooltipDate=日期:
+# event calendar name
+tooltipCalName=日历名称:
+# event status: tentative, confirmed, cancelled
+tooltipStatus=状态:
+# event organizer
+tooltipOrganizer=组织者:
+# task/todo fields
+# start date time, due date time, task priority number, completed date time
+tooltipStart=开始:
+tooltipDue=期限:
+tooltipPriority=优先级:
+tooltipPercent=% 完成:
+tooltipCompleted=已完成:
+
+#File commands and dialogs
+New=新建
+Open=打开
+filepickerTitleImport=导入
+filepickerTitleExport=导出
+
+# Filters for export/import/open file picker. %1$S will be replaced with
+# wildmat used to filter files by extension, such as (*.html; *.htm).
+filterIcs=iCalendar (%1$S)
+filterHtml=网页 (%1$S)
+
+# Remote calendar errors
+genericErrorTitle=发生错误
+httpPutError=发布日历文件失败。\n状态码: %1$S: %2$S
+otherPutError=发布日历文件失败。\n状态码: 0x%1$S
+
+# LOCALIZATION NOTE (readOnlyMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+readOnlyMode=读取日历(%1$S)数据时发生错误。它已经被设为只读模式,因此对该日历的变更可能会造成数据丢失。您可以通过选择“编辑日历”改变该设置。
+
+# LOCALIZATION NOTE (disabledMode):
+# used for an message like 'There has been an error reading data for calendar: Home. It has been...'
+# %1$S will be replaced with the name of a calendar
+disabledMode=读取日历(%1$S)数据时出现错误。 它将一直被禁用,直到能安全使用为止。
+
+# LOCALIZATION NOTE (minorError):
+# used for an message like 'There has been an error reading data for calendar: Home. However this...'
+# %1$S will be replaced with the name of a calendar
+minorError=读取日历(%1$S)数据时出现错误。但是,该错误并不严重,因此程序将尝试继续。
+
+# LOCALIZATION NOTE (stillReadOnlyError):
+# used for an message like 'There has been an error reading data for calendar: Home.'
+# %1$S will be replaced with the name of a calendar
+stillReadOnlyError=读取日历(%1$S)数据时出现错误。
+utf8DecodeError=以 UTF-8 解码 iCalendar (ics) 文件发生错误。请检查该文件,包括符号和读音符号,是否都是用 UTF-8 编码的。
+icsMalformedError=验证 iCalendar (ics) 文件失败。检查该文件符合 iCalendar (ics) 文件的语法。
+itemModifiedOnServerTitle=在服务器上的项目发生变化
+itemModifiedOnServer=在服务器上的这个项目最近已被变更。\n
+modifyWillLoseData=如果提交您的变更,那么服务器上进行的修改将被覆盖
+deleteWillLoseData=如果删除这个项目,那么服务器上进行的修改也将丢失。
+updateFromServer=放弃更改并重新加载
+proceedModify=继续提交我的更改
+proceedDelete=一律删除
+dav_notDav=在 %1$S 的资源是否不是一个 DAV 集合或不可用
+dav_davNotCaldav=在 %1$S 的资源是一个 DAV 集合,但不是 CalDAV 日历
+itemPutError=保存项目至服务器时发生错误。
+itemDeleteError=从服务器上删除项目时发生错误。
+caldavRequestError=发送邀请时发生了错误!
+caldavResponseError=发送回复时发生了错误!
+caldavRequestStatusCode=状态码:%1$S
+caldavRequestStatusCodeStringGeneric=此请求无法处理。
+caldavRequestStatusCodeString400=此请求包含语法错误并且无法处理。
+caldavRequestStatusCodeString403=用户缺少所需权限来执行该请求。
+caldavRequestStatusCodeString404=找不到资源。
+caldavRequestStatusCodeString409=资源冲突。
+caldavRequestStatusCodeString412=不满足前提条件。
+caldavRequestStatusCodeString500=内部服务器错误。
+caldavRequestStatusCodeString502=错误网关(代理配置?)。
+caldavRequestStatusCodeString503=内部服务器错误(服务器临时停机?)。
+caldavRedirectTitle=更新日历 %1$S 的位置?
+caldavRedirectText=%1$S 的请求将被重定向至新的位置,您想要将地址更改为下列值吗?
+caldavRedirectDisableCalendar=禁用日历
+
+
+# LOCALIZATION NOTE (likelyTimezone):
+# Translators, please put the most likely timezone(s) where the people using
+# your locale will be. Use the Olson ZoneInfo timezone name *in English*,
+# ie "Europe/Paris", (continent or ocean)/(largest city in timezone).
+# Order does not matter, except if two historically different zones now match,
+# such as America/New_York and America/Toronto, will only find first listed.
+# (Particularly needed to guess the most relevant timezones if there are
+# similar timezones at the same June/December GMT offsets with alphabetically
+# earlier ZoneInfo timezone names. Sample explanations for English below.)
+# for english-US:
+# America/Los_Angeles likelier than America/Dawson
+# America/New_York likelier than America/Detroit (NY for US-EasternTime)
+# for english:
+# Europe/London likelier than Atlantic/Canary
+# Europe/Paris likelier than Africa/Ceuta (for WestEuropeanTime)
+# America/Halifax likelier than America/Glace_Bay (Canada-AtlanticTime)
+# America/Mexico_City likelier than America/Cancun
+# America/Argentina/Buenos_Aires likelier than America/Araguaina
+# America/Sao_Paolo (may not recognize: summer-time dates change every year)
+# Asia/Singapore likelier than Antarctica/Casey
+# Asia/Tokyo likelier than Asia/Dili
+# Africa/Lagos likelier than Africa/Algiers (for WestAfricanTime)
+# Africa/Johannesburg likelier than Africa/Blantyre (for SouthAfricanStdTime)
+# Africa/Nairobi likelier than Africa/Addis_Ababa (for EastAfricanTime)
+# Australia/Brisbane likelier than Antarctica/DumontDUrville
+# Australia/Sydney likelier than Australia/Currie or Australia/Hobart
+# Pacific/Auckland likelier than Antarctica/McMurdo
+likelyTimezone=Asia/Chongqing, Asia/Shanghai, Asia/Urumqi, Asia/Hong_Kong, Asia/Macao, Asia/Taipei, Asia/Singapore, Asia/Tokyo, Asia/Seoul, America/Los_Angeles, America/New_York, America/Toronto, Europe/London, Australia/Sydney
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart
+# - observe guess in error console and verify whether guessed timezone city
+# makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+# no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+# (windows; or TZ env var, /etc/localtime target path, or line in
+# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+# can also trigger this warning.
+WarningOSTZNoMatch=警告:操作系统时区“%1$S”与内部 ZoneInfo 时区“%2$S”不匹配。
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=忽略操作系统时区“%1$S”。
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=忽略本地时区“%1$S”。
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=警告:使用“动态”时区。\n没有匹配操作系统时区数据的 ZoneInfo 时区数据。
+
+# "Warning: Using guessed timezone
+# America/New York (UTC-0500/-0400).
+# [rfc2445 summer daylight saving shift rules for timezone]
+# This ZoneInfo timezone almost matches/seems to match..."
+# This ZoneInfo timezone was chosen based on ... "
+WarningUsingGuessedTZ=警告: 使用猜测的时区\n %1$S(UTC%2$S)。\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=此 ZoneInfo 时区比较匹配操作系统的时区。\n按此规则,下次夏令时与标准时间的转换\n与操作系统时区转换相差最多可达一周。\n届时数据可能存在矛盾,例如不同的开始日期、不同的规则,或非标准公历估算规则。
+
+TZSeemsToMatchOS=此 ZoneInfo 时区与今年操作系统时区似乎是匹配的。
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=此 ZoneInfo 时区的选择,基于操作系统时区的标识符“%1$S”。
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=此 ZoneInfo 时区的选择,基于操作系统时区和简体中文互联网用户可能时区的匹配。
+
+TZFromKnownTimezones=此 ZoneInfo 时区的选择,基于操作系统时区和按字母顺序的时区代码中已知时区的匹配。
+
+# Print Layout
+tasksWithNoDueDate = 未指定完成日期的任务
+
+# Providers
+caldavName=CalDAV
+compositeName=组合
+icsName=iCalendar (ICS)
+memoryName=临时 (内存)
+storageName=本地 (SQLite)
+
+# Used in created html code for export
+htmlPrefixTitle=标题
+htmlPrefixWhen=时间
+htmlPrefixLocation=位置
+htmlPrefixDescription=描述
+htmlTaskCompleted=%1$S (已完成)
+
+# Categories
+addCategory=添加类别
+multipleCategories=多重分类
+
+today=今天
+tomorrow=明天
+yesterday=昨天
+
+#Today pane
+eventsonly=事件
+eventsandtasks=事件和任务
+tasksonly=任务
+shortcalendarweek=CW
+
+go=转到
+
+# Some languages have different conjugations of 'next' and 'last'. If yours
+# does not, simply repeat the value. This will be used with day names, as in
+# 'next Sunday'.
+next1=下次
+next2=下次
+last1=最近
+last2=最近
+
+# Alarm Dialog
+# LOCALIZATION NOTE (alarmWindowTitle.label): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+alarmWindowTitle.label=#1 个提醒
+
+# LOCALIZATION NOTE (alarmStarts):
+# used for a display the start of an alarm like 'Starts: Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmStarts=始于: %1$S
+
+# LOCALIZATION NOTE (alarmTodayAt):
+# used for a display the date-time of an alarm like 'Today at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTodayAt=于今天 %1$S
+
+# LOCALIZATION NOTE (alarmTomorrowAt):
+# used for a display the date-time of an alarm like 'Tomorrow at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmTomorrowAt=于明天 %1$S
+
+# LOCALIZATION NOTE (alarmYesterdayAt):
+# used for a display the date-time of an alarm like 'Yesterday at Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with a date-time
+alarmYesterdayAt=于昨天 %1$S
+
+# Alarm interface strings
+# LOCALIZATION NOTE: These strings do not get displayed. They are only visible
+# when exporting an item with i.e a DISPLAY alarm, that doesn't have a
+# description set, or an EMAIL alarm that doesn't have a summary set.
+alarmDefaultDescription=默认 Mozilla 描述
+alarmDefaultSummary=默认 Mozilla 概括
+
+# LOCALIZATION NOTE (alarmSnoozeLimitExceeded): Semi-colon list of plural
+# forms.
+alarmSnoozeLimitExceeded=您不能将提醒推迟超过 #1 个月;您不能将提醒推迟超过 #1 个月
+
+taskDetailsStatusNeedsAction=需要动作
+
+# LOCALIZATION NOTE (taskDetailsStatusInProgress):
+# used for a display of how much of a task is completed '25% Complete'
+# %1$S will be replaced with the number of percentage completed
+taskDetailsStatusInProgress=完成 %1$S%%
+taskDetailsStatusCompleted=已经完成
+
+# LOCALIZATION NOTE (taskDetailsStatusCompletedOn):
+# used for a display of completion date like 'Completed on Thu 2 Oct 2008 13:21'
+# %1$S will be replaced with the completion date-time of the task
+taskDetailsStatusCompletedOn=在 %1$S 完成
+taskDetailsStatusCancelled=已经取消
+
+gettingCalendarInfoCommon=检查日历中…
+
+# LOCALIZATION NOTE (gettingCalendarInfoDetail):
+# used for a progress-display of processed like 'Checking Calendar 5 of 10'
+# %1$S will be replaced with the index of the currently processed calendar
+# %2$S will be replaced with the total numbers of calendars
+gettingCalendarInfoDetail=检查日历 %2$S 的 %1$S
+
+# LOCALIZATION NOTE (errorCode):
+# %1$S will be replaced with the number of an error code
+errorCode=错误代码: %1$S
+
+# LOCALIZATION NOTE (errorDescription):
+# %1$S will be replaced with the description of an error
+errorDescription=描述: %1$S
+
+# LOCALIZATION NOTE (errorWriting):
+# used for an message like 'An error occurred when writing to the calendar Home!'
+# %1$S will be replaced with the name of a calendar
+errorWriting2=写入日历 %1$S 时出错!下方写有详情。
+
+# LOCALIZATION NOTE (errorWritingDetails):
+# This will be displayed in the detail section of the error dialog
+errorWritingDetails=如果您在推迟或取消一个提醒后看到此消息,并且这是您不想向其添加或编辑事件的日历,则可将此日历标记为只读,以免将来出现类似情况。如果要这么做,请在日历或任务视图的列表中右键单击此日历,设定日历的属性。
+
+# LOCALIZATION NOTE (tooltipCalendarDisabled):
+# used for an alert-message like 'The calendar Home is momentarily not available'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarDisabled=日历 %1$S 暂时不可用
+
+# LOCALIZATION NOTE (tooltipCalendarReadOnly):
+# used for an message like 'The calendar Home is readonly'
+# %1$S will be replaced with the name of a calendar
+tooltipCalendarReadOnly=日历 %1$S 为只读
+
+taskEditInstructions=点此添加新任务
+taskEditInstructionsReadonly=请选择一个可写的日历
+taskEditInstructionsCapability=请选择一个支持任务的日历
+
+eventDetailsStartDate=开始:
+eventDetailsEndDate=结束:
+
+# LOCALIZATION NOTE (datetimeWithTimezone):
+# used for a display of a date-time with timezone 'Thu 2 Oct 2008 13:21', Europe/Paris
+# %1$S will be replaced with the completion date-time
+# %2$S will be replaced with the name of the timezone
+datetimeWithTimezone=%1$S, %2$S
+
+# LOCALIZATION NOTE (singleLongCalendarWeek):
+# used for display of calendar weeks in short form like 'Calendar Week 43'
+# %1$S will be replaced with the index of the week
+singleLongCalendarWeek=日历周: %1$S
+
+# LOCALIZATION NOTE (severalLongCalendarWeeks):
+# used for display of calendar weeks in short form like 'Calendar Weeks 43 - 45'
+# %1$S will be replaced with the index of the start-week
+# %2$S will be replaced with the index of the end-week
+severalLongCalendarWeeks=日历周 %1$S-%2$S
+
+# LOCALIZATION NOTE (singleShortCalendarWeek):
+# used for display of calendar weeks in short form like 'CW 43'
+# %1$S will be replaced with the index of the week
+singleShortCalendarWeek=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=第 %1$S 周
+
+# Task tree, "Due In" column.
+# LOCALIZATION NOTE (dueInDays, dueInHours): Semi-colon list of plural
+# forms. See: http://developer.mozilla.org/en/Localization_and_Plurals
+dueInDays=#1 天
+dueInHours=#1 小时;#1 小时
+dueInLessThanOneHour=< 一小时
+
+# LOCALIZATION NOTE (monthInYear):
+# used for display of Month-dates like 'December 2008'
+# %1$S will be replaced with name of the month
+# %2$S will be replaced with the year
+monthInYear=%1$S %2$S
+
+# LOCALIZATION NOTE (monthInYear.monthFormat):
+# If your language requires a different declension, change this to
+# one of the values specified in dateFormat.properties.
+# In any case, DO NOT TRANSLATE.
+monthInYear.monthFormat=nominative
+
+# LOCALIZATION NOTE (formatDateLong):
+# used for display dates in long format like 'Mon 15 Oct 2008' when it's
+# impossible to retrieve the formatatted date from the OS.
+# %1$S will be replaced with name of the day in short format;
+# %2$S will be replaced with the day-index of the month, possibly followed by an ordinal symbol
+# (depending on the string dayOrdinalSymbol in dateFormat.properties);
+# %3$S will be replaced with the name of the month in short format;
+# %4$S will be replaced with the year.
+formatDateLong=%4$S 年 %3$S %2$S 日 %1$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=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenMonths):
+# used for display of intervals in the form 'September 29 - October 5, 2008'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with name of the month of the end date
+# %4$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %5$S will be replaced with the common year of both dates
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenMonths=%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=nominative
+
+# LOCALIZATION NOTE (daysIntervalBetweenYears):
+# used for display of intervals in the form 'December 29, 2008 - January 4, 2009'
+# %1$S will be replaced with name of the month of the start date
+# %2$S will be replaced with the day-index of the start date possibly followed by an ordinal symbol
+# %3$S will be replaced with the year of the start date
+# %4$S will be replaced with name of the month of the end date
+# %5$S will be replaced with the day-index of the end date possibly followed by an ordinal symbol
+# %6$S will be replaced with the year of the end date
+# The presence of the ordinal symbol in the day-indexes depends on the string
+# dayOrdinalSymbol in dateFormat.properties
+daysIntervalBetweenYears=%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=nominative
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDateTime):
+# used for intervals where end is equals to start
+# displayed form is '5 Jan 2006 13:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalOnSameDateTime=%2$S %1$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S – %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S – %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= 不设置开始时间或截至时间
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDueDate):
+# used for intervals in task with only start date
+# displayed form is 'start date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+datetimeIntervalTaskWithoutDueDate=开始时间 %1$S %2$S
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutStartDate):
+# used for intervals in task with only due date
+# displayed form is 'due date 5 Jan 2006 13:00'
+# (showed only in exported calendar in Html format)
+# %1$S will be replaced with the date of the due date
+# %2$S will be replaced with the time of the due date
+datetimeIntervalTaskWithoutStartDate=截止时间 %1$S %2$S
+
+# LOCALIZATION NOTE (dragLabelTasksWithOnlyEntryDate
+# dragLabelTasksWithOnlyDueDate)
+# Labels that appear while dragging a task with only
+# entry date OR due date
+dragLabelTasksWithOnlyEntryDate=开始时间
+dragLabelTasksWithOnlyDueDate=终止于
+
+deleteTaskLabel=删除任务
+deleteTaskAccesskey=l
+deleteItemLabel=删除
+deleteItemAccesskey=l
+deleteEventLabel=删除事件
+deleteEventAccesskey=l
+
+calendarPropertiesEveryMinute=每分钟;每 #1 分钟
+
+# LOCALIZATION NOTE (extractUsing)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+extractUsing=使用 %1$S
+
+# LOCALIZATION NOTE (extractUsingRegion)
+# Used in message header
+# %1$S will be replaced with language name from languageNames.properties
+# %2$S will be replaced with region like US in en-US
+extractUsingRegion=正在使用 %1$S (%2$S)
+
+# LOCALIZATION NOTE (unit)
+# Used to determine the correct plural form of a unit
+unitMinutes=#1 分钟;#1 分钟
+unitHours=#1 小时;#1 小时
+unitDays=#1 天;#1 天
+unitWeeks=#1 周;#1 周
+
+# LOCALIZATION NOTE (showCalendar)
+# Used in calendar list context menu
+# %1$S will be replaced with the calendar name
+# uses the access key calendar.context.togglevisible.accesskey
+showCalendar=显示 %1$S
+hideCalendar=隐藏 %1$S
+# uses the access key calendar.context.showonly.accesskey
+showOnlyCalendar=仅显示 %1$S
+
+# LOCALIZATION NOTE (modifyConflict)
+# Used by the event dialog to resolve item modification conflicts.
+modifyConflictPromptTitle=条目修改冲突
+modifyConflictPromptMessage=此条目在开启对话框之后已被修改。
+modifyConflictPromptButton1=覆盖其他改动
+modifyConflictPromptButton2=舍弃这些改动
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=未选择日期
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.dtd
new file mode 100644
index 0000000000..3b1c5f09bc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY wizard.title "创建新日历" >
+<!ENTITY wizard.label "创建一个新日历" >
+<!ENTITY wizard.description "定位您的日历" >
+
+<!ENTITY initialpage.description "您的日历可以保存在您的电脑上,或者是可远程存取的服务器上,或者是与朋友或合作者共享的服务器上。" >
+<!ENTITY initialpage.computer.label "保存在我的电脑中">
+<!ENTITY initialpage.network.label "保存在网络上">
+
+<!ENTITY locationpage.description "提供为访问您的远程日历所必需的信息" >
+<!ENTITY locationpage.login.description "可选:输入用户名和密码" >
+<!ENTITY locationpage.username.label "用户名:" >
+<!ENTITY locationpage.password.label "密码:" >
+
+<!ENTITY custompage.shortdescription "自定义您的日历" >
+<!ENTITY custompage.longdescription "您可以给日历取一个昵称,也可以给事件设置不同的颜色" >
+
+<!ENTITY finishpage.shortdescription "日历已创建" >
+<!ENTITY finishpage.longdescription "您的日历已成功创建。" >
+
+<!-- Below are new strings for the revised new calendar dialog. The above strings should be
+ removed/renamed later on -->
+
+<!ENTITY sourcetabs.other.label "其他">
+
+<!ENTITY buttons.create.label "新建日历">
+<!ENTITY buttons.create.accesskey "r">
+
+<!ENTITY buttons.find.label "寻找日历">
+<!ENTITY buttons.find.accesskey "F">
+
+<!ENTITY buttons.back.label "返回">
+<!ENTITY buttons.back.accesskey "B">
+
+<!ENTITY buttons.subscribe.label "订阅">
+<!ENTITY buttons.subscribe.accesskey "S">
+
+<!ENTITY calendartype.label "日历类型:">
+<!ENTITY location.label "位置:">
+<!ENTITY location.placeholder "日历服务器的网址或主机名称">
+
+<!ENTITY network.nocredentials.label "此网址无须输入账号密码">
+<!ENTITY network.loading.description "请稍等,我们正在检测您的日历。">
+<!ENTITY network.notfound.description "未能在此位置找到日历。请检查设置。">
+<!ENTITY network.authfail.description "您输入的账号密码未被接受。请检查设置。">
+
+<!ENTITY network.subscribe.single.description "请选择您要订阅的日历。">
+<!ENTITY network.subscribe.multiple.description "此位置有几种不同类型的日历。请先选择要订阅的日历类型,再勾选要订阅的日历。">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.properties
new file mode 100644
index 0000000000..13a0556c23
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/calendarCreation.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+error.invalidUri=请输入一个有效位置。
+error.alreadyExists=您已经订阅了在此位置的日历。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/categories.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/categories.properties
new file mode 100644
index 0000000000..471382e438
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/categories.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# default categories
+
+categories2=纪念,生日,商务,通讯,客人,竞争,客户,收藏,跟进,礼物,假日,点子,问题,会议,杂项,私人,项目,法定假日,状态,供应商,旅行,休假
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dateFormat.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dateFormat.properties
new file mode 100644
index 0000000000..b0bbe74a2b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dateFormat.properties
@@ -0,0 +1,146 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# In case you are looking for the note about different declensions on date
+# formats, here it is. If your language doesn't use different declensions of
+# month names, you shouldn't have much work. Just leave the *.monthFormat
+# string on "nominative" and the string month.*.name will be filled in.
+#
+# If you need a different form for a string, you can change the
+# *.monthFormat to a different value. Supported values are currently:
+# nominative (default), genitive
+# The modified month name form will then be filled in accordingly. If this
+# system does not suit your needs, please file a bug!
+
+# LOCALIZATION NOTE (month.*.name):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "nominative" or in places
+# where using a different declension is not yet supported.
+month.1.name=一月
+month.2.name=二月
+month.3.name=三月
+month.4.name=四月
+month.5.name=五月
+month.6.name=六月
+month.7.name=七月
+month.8.name=八月
+month.9.name=九月
+month.10.name=十月
+month.11.name=十一月
+month.12.name=十二月
+
+# LOCALIZATION NOTE (month.*.genitive):
+# Some languages require different declensions of month names.
+# These values will be used if *.monthFormat is set to "genitive"
+# If your language doesn't use different declensions, just set the same
+# values as for month.*.name.
+month.1.genitive=一月
+month.2.genitive=二月
+month.3.genitive=三月
+month.4.genitive=四月
+month.5.genitive=五月
+month.6.genitive=六月
+month.7.genitive=七月
+month.8.genitive=八月
+month.9.genitive=九月
+month.10.genitive=十月
+month.11.genitive=十一月
+month.12.genitive=十二月
+
+month.1.Mmm=一月
+month.2.Mmm=二月
+month.3.Mmm=三月
+month.4.Mmm=四月
+month.5.Mmm=五月
+month.6.Mmm=六月
+month.7.Mmm=七月
+month.8.Mmm=八月
+month.9.Mmm=九月
+month.10.Mmm=十月
+month.11.Mmm=十一月
+month.12.Mmm=十二月
+
+day.1.name=星期天
+day.2.name=星期一
+day.3.name=星期二
+day.4.name=星期三
+day.5.name=星期四
+day.6.name=星期五
+day.7.name=星期六
+
+day.1.Mmm=周日
+day.2.Mmm=周一
+day.3.Mmm=周二
+day.4.Mmm=周三
+day.5.Mmm=周四
+day.6.Mmm=周五
+day.7.Mmm=周六
+
+# Can someone tell me why we're not counting from zero?
+day.1.short=日
+day.2.short=一
+day.3.short=二
+day.4.short=三
+day.5.short=四
+day.6.short=五
+day.7.short=六
+
+# Localizable day's date
+day.1.number=1
+day.2.number=2
+day.3.number=3
+day.4.number=4
+day.5.number=5
+day.6.number=6
+day.7.number=7
+day.8.number=8
+day.9.number=9
+day.10.number=10
+day.11.number=11
+day.12.number=12
+day.13.number=13
+day.14.number=14
+day.15.number=15
+day.16.number=16
+day.17.number=17
+day.18.number=18
+day.19.number=19
+day.20.number=20
+day.21.number=21
+day.22.number=22
+day.23.number=23
+day.24.number=24
+day.25.number=25
+day.26.number=26
+day.27.number=27
+day.28.number=28
+day.29.number=29
+day.30.number=30
+day.31.number=31
+
+# LOCALIZATION NOTE (dayOrdinalSymbol):
+# Allows to insert a string, a character or a symbol after the number of a
+# monthday in order to give it the meaning of ordinal number e.g. 1 -> 1st etc.
+# It's mainly used when formatting dates with both monthday and month name. It
+# affects the following localizable strings that hence must be localized *without*
+# any ordinal symbol for the monthday number:
+# dayHeaderLabel, monthlyDaysOfNth_day,
+# yearlyNthOn, daysIntervalBetweenYears,
+# daysIntervalBetweenMonths, daysIntervalInMonth.
+# Write only a single string if the ordinal symbol is the same for every monthday, otherwise
+# write a sequence of _31_ strings (one for each monthday) separated with commas.
+# If your language doesn't require that in the mentioned strings, leave it empty.
+# e.g.
+# dayOrdinalSymbol=.
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# dayOrdinalSymbol=st,nd,rd,th,th,th,th,th,th,th,th,th,th,th,th,
+# th,th,th,th,th,st,nd,rd,th,th,th,th,th,th,th,st
+# -> daysIntervalBetweenMonths: 'September 29th - November 1st, 2008'
+dayOrdinalSymbol=
+
+noon=中午
+midnight=午夜
+
+AllDay=全天
+Repeating=(正在重复)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dialogs/calendar-event-dialog-reminder.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100644
index 0000000000..788dafe342
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY reminderdialog.title "设置提醒">
+<!ENTITY reminder.add.label "添加">
+<!ENTITY reminder.add.accesskey "A">
+<!ENTITY reminder.remove.label "移除">
+<!ENTITY reminder.remove.accesskey "R">
+
+<!ENTITY reminder.reminderDetails.label "提醒器详细信息">
+<!ENTITY reminder.action.label "选择提醒动作">
+
+<!ENTITY reminder.action.alert.label "显示一个警示">
+<!ENTITY reminder.action.email.label "发送一封邮件">
+
+<!ENTITY alarm.units.minutes "分钟" >
+<!ENTITY alarm.units.hours "小时" >
+<!ENTITY alarm.units.days "天" >
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/global.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/global.dtd
new file mode 100644
index 0000000000..5ab4ec09dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/global.dtd
@@ -0,0 +1,25 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY month.1.name "一月" >
+<!ENTITY month.2.name "二月" >
+<!ENTITY month.3.name "三月" >
+<!ENTITY month.4.name "四月" >
+<!ENTITY month.5.name "五月" >
+<!ENTITY month.6.name "六月" >
+<!ENTITY month.7.name "七月" >
+<!ENTITY month.8.name "八月" >
+<!ENTITY month.9.name "九月" >
+<!ENTITY month.10.name "十月" >
+<!ENTITY month.11.name "十一月" >
+<!ENTITY month.12.name "十二月" >
+
+<!ENTITY onemonthbackward.tooltip "上一月" >
+<!ENTITY onemonthforward.tooltip "下一月" >
+<!ENTITY oneyearbackward.tooltip "前一年" >
+<!ENTITY oneyearforward.tooltip "后一年" >
+<!ENTITY showToday.tooltip "转至今日">
+<!ENTITY onedayforward.tooltip "后一天">
+<!ENTITY onedaybackward.tooltip "前一天">
+<!ENTITY showselectedday.tooltip "显示所选日期的事件">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/menuOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/menuOverlay.dtd
new file mode 100644
index 0000000000..8a4acb5d91
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/menuOverlay.dtd
@@ -0,0 +1,50 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Event Menu -->
+<!ENTITY event.new.event "新事件…">
+<!ENTITY event.new.event.accesskey "N">
+
+<!ENTITY event.new.task "新建任务…">
+<!ENTITY event.new.task.accesskey "k">
+
+<!ENTITY calendar.import.label "导入…">
+<!ENTITY calendar.import.accesskey "I">
+
+<!ENTITY calendar.export.label "导出…">
+<!ENTITY calendar.export.accesskey "E">
+
+<!ENTITY calendar.publish.label "发布…">
+<!ENTITY calendar.publish.accesskey "b">
+
+<!ENTITY calendar.deletecalendar.label "删除选中日历…">
+<!ENTITY calendar.deletecalendar.accesskey "D">
+<!ENTITY calendar.unsubscribecalendar.label "取消订阅选中的日历…">
+<!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 "移除选中的日历…">
+<!ENTITY calendar.removecalendar.accesskey "R">
+
+
+<!ENTITY calendar.menu.customize.label "自定义…">
+<!ENTITY calendar.menu.customize.accesskey "C">
+
+<!ENTITY showUnifinderCmd.label "查找事件">
+<!ENTITY showUnifinderCmd.accesskey "F">
+<!ENTITY showUnifinderCmd.tooltip "切换查找事件窗格">
+
+<!ENTITY calendar.displaytodos.checkbox.label "在日历上显示任务">
+<!ENTITY calendar.displaytodos.checkbox.accesskey "T">
+
+<!ENTITY goTodayCmd.label "今天">
+<!ENTITY goTodayCmd.accesskey "T">
+
+<!ENTITY showCurrentView.label "当前视图">
+<!ENTITY showCurrentView.accesskey "V">
+
+<!ENTITY calendar.properties.label "日历属性…">
+<!ENTITY calendar.properties.accesskey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.dtd
new file mode 100644
index 0000000000..5fe528b8ec
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY migration.title "&brandFullName;: 数据导入">
+<!ENTITY migration.welcome "欢迎">
+<!ENTITY migration.importing "导入">
+<!ENTITY migration.list.description "&brandShortName; 可以从很多常用应用软件中导入日历数据,数据来自于您电脑中所发现的以下应用软件,请选择您想导入数据的软件。">
+<!ENTITY migration.progress.description "导入所选数据">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.properties
new file mode 100644
index 0000000000..141367df64
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/migration.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+migratingApp = 迁移 %1$S…
+
+# The next two lines are duplicated from migration.dtd until there is branding
+# for lightning
+migrationTitle = %1$S: 数据导入
+migrationDescription=%1$S 可以从很多常用应用软件中导入日历数据,数据来自于您电脑中所发现的以下应用软件,请选择您想导入数据的软件。
+finished = 完成
+disableExtTitle = 发现不兼容扩展
+disableExtText = 您安装了不兼容 Lightning 的旧版 Mozilla 日历扩展。 它将被禁用并且 %1$S 将重新启动。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/provider-uninstall.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/provider-uninstall.dtd
new file mode 100644
index 0000000000..68e17e04b7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/provider-uninstall.dtd
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY providerUninstall.title "卸载一个提供者">
+<!ENTITY providerUninstall.accept.label "取消订阅选中的项目">
+<!ENTITY providerUninstall.accept.accesskey "U">
+<!ENTITY providerUninstall.cancel.label "保留附加组件">
+<!ENTITY providerUninstall.cancel.accesskey "K">
+<!ENTITY providerUninstall.preName.label "你已要求卸载或禁用:">
+<!ENTITY providerUninstall.postName.label "以下日历将被禁用。">
+<!ENTITY providerUninstall.reinstallNote.label "除非计划重新安装这个提供者,否则你可以选择取消订阅来自这个提供者的日历。">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/timezones.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/calendar/timezones.properties
new file mode 100644
index 0000000000..34e69eb134
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=本地时间
+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=非洲/阿比让
+pref.timezone.Africa.Accra=非洲/阿克拉
+pref.timezone.Africa.Addis_Ababa=非洲/亚的斯亚贝巴
+pref.timezone.Africa.Algiers=非洲/阿尔及尔
+pref.timezone.Africa.Asmara=非洲/阿斯马拉
+pref.timezone.Africa.Bamako=非洲/巴马科
+pref.timezone.Africa.Bangui=非洲/班吉
+pref.timezone.Africa.Banjul=非洲/班珠尔
+pref.timezone.Africa.Bissau=非洲/比索
+pref.timezone.Africa.Blantyre=非洲/布兰太尔
+pref.timezone.Africa.Brazzaville=非洲/布拉柴维尔
+pref.timezone.Africa.Bujumbura=非洲/布琼布拉
+pref.timezone.Africa.Cairo=非洲/开罗
+pref.timezone.Africa.Casablanca=非洲/卡萨布兰卡
+pref.timezone.Africa.Ceuta=非洲/休达
+pref.timezone.Africa.Conakry=非洲/科纳克里
+pref.timezone.Africa.Dakar=非洲/达喀尔
+pref.timezone.Africa.Dar_es_Salaam=非洲/达累斯萨拉姆
+pref.timezone.Africa.Djibouti=非洲/吉布提
+pref.timezone.Africa.Douala=非洲/杜阿拉
+pref.timezone.Africa.El_Aaiun=非洲/阿尤恩
+pref.timezone.Africa.Freetown=非洲/弗里敦
+pref.timezone.Africa.Gaborone=非洲/哈博罗内
+pref.timezone.Africa.Harare=非洲/哈拉雷
+pref.timezone.Africa.Johannesburg=非洲/约翰内斯堡
+pref.timezone.Africa.Kampala=非洲/坎帕拉
+pref.timezone.Africa.Khartoum=非洲/喀土穆
+pref.timezone.Africa.Kigali=非洲/基加利
+pref.timezone.Africa.Kinshasa=非洲/金沙萨
+pref.timezone.Africa.Lagos=非洲/拉各斯
+pref.timezone.Africa.Libreville=非洲/利伯维尔
+pref.timezone.Africa.Lome=非洲/洛美
+pref.timezone.Africa.Luanda=非洲/罗安达
+pref.timezone.Africa.Lubumbashi=非洲/卢本巴希
+pref.timezone.Africa.Lusaka=非洲/卢萨卡
+pref.timezone.Africa.Malabo=非洲/马拉博
+pref.timezone.Africa.Maputo=非洲/马普托
+pref.timezone.Africa.Maseru=非洲/马塞卢
+pref.timezone.Africa.Mbabane=非洲/姆巴巴内
+pref.timezone.Africa.Mogadishu=非洲/摩加迪沙
+pref.timezone.Africa.Monrovia=非洲/蒙罗维亚
+pref.timezone.Africa.Nairobi=非洲/内罗毕
+pref.timezone.Africa.Ndjamena=非洲/恩贾梅纳
+pref.timezone.Africa.Niamey=非洲/尼亚美
+pref.timezone.Africa.Nouakchott=非洲/努瓦克肖特
+pref.timezone.Africa.Ouagadougou=非洲/瓦加杜古
+pref.timezone.Africa.Porto-Novo=非洲/波多诺伏
+pref.timezone.Africa.Sao_Tome=非洲/圣多美和普林西比
+pref.timezone.Africa.Tripoli=非洲/的黎波里
+pref.timezone.Africa.Tunis=非洲/突尼斯
+pref.timezone.Africa.Windhoek=非洲/温特和克
+pref.timezone.America.Adak=美洲/埃达克
+pref.timezone.America.Anchorage=美洲/安克雷奇
+pref.timezone.America.Anguilla=美洲/安圭拉
+pref.timezone.America.Antigua=美洲/安提瓜
+pref.timezone.America.Araguaina=美洲/阿拉瓜伊纳
+pref.timezone.America.Argentina.Buenos_Aires=美洲/阿根廷/布宜诺斯艾利斯
+pref.timezone.America.Argentina.Catamarca=美洲/阿拉瓜伊纳/卡塔马卡
+pref.timezone.America.Argentina.Cordoba=美洲/阿拉瓜伊纳/科尔多瓦
+pref.timezone.America.Argentina.Jujuy=美洲/阿拉瓜伊纳/胡胡伊
+pref.timezone.America.Argentina.La_Rioja=美洲/阿根廷/里奥哈
+pref.timezone.America.Argentina.Mendoza=美洲/阿拉瓜伊纳/门多萨
+pref.timezone.America.Argentina.Rio_Gallegos=美洲/阿根廷/里约加里戈斯
+pref.timezone.America.Argentina.San_Juan=美洲/阿根廷/圣胡安
+pref.timezone.America.Argentina.Tucuman=美洲/阿拉瓜伊纳/图库曼
+pref.timezone.America.Argentina.Ushuaia=美洲/阿拉瓜伊纳/乌斯怀亚
+pref.timezone.America.Aruba=美洲/阿鲁巴
+pref.timezone.America.Asuncion=美洲/亚松森
+pref.timezone.America.Atikokan=美洲/阿蒂科肯
+pref.timezone.America.Bahia=美洲/巴伊亚
+pref.timezone.America.Barbados=美洲/巴巴多斯
+pref.timezone.America.Belem=美洲/贝伦
+pref.timezone.America.Belize=美洲/伯利兹
+pref.timezone.America.Blanc-Sablon=美洲/布朗萨布隆
+pref.timezone.America.Boa_Vista=美洲/博阿维斯塔
+pref.timezone.America.Bogota=美洲/波哥大
+pref.timezone.America.Boise=美洲/博伊西
+pref.timezone.America.Cambridge_Bay=美洲/剑桥湾
+pref.timezone.America.Campo_Grande=美洲/大坎普
+pref.timezone.America.Cancun=美洲/坎昆
+pref.timezone.America.Caracas=美洲/卡拉卡斯
+pref.timezone.America.Cayenne=美洲/卡宴
+pref.timezone.America.Cayman=美洲/开曼
+pref.timezone.America.Chicago=美洲/芝加哥
+pref.timezone.America.Chihuahua=美洲/彻瓦瓦
+pref.timezone.America.Costa_Rica=美洲/哥斯达黎加
+pref.timezone.America.Cuiaba=美洲/库亚巴
+pref.timezone.America.Curacao=美洲/库拉索
+pref.timezone.America.Danmarkshavn=美洲/格陵兰
+pref.timezone.America.Dawson=美洲/道森
+pref.timezone.America.Dawson_Creek=美洲/道森克里克
+pref.timezone.America.Denver=美洲/丹佛
+pref.timezone.America.Detroit=美洲/底特律
+pref.timezone.America.Dominica=美洲/多米尼克
+pref.timezone.America.Edmonton=美洲/埃德蒙顿
+pref.timezone.America.Eirunepe=美洲/艾鲁内佩
+pref.timezone.America.El_Salvador=美洲/萨尔瓦多
+pref.timezone.America.Fortaleza=美洲/福塔莱萨
+pref.timezone.America.Glace_Bay=美洲/格莱斯贝
+pref.timezone.America.Godthab=美洲/戈特霍布
+pref.timezone.America.Goose_Bay=美洲/古斯贝
+pref.timezone.America.Grand_Turk=美洲/大特克
+pref.timezone.America.Grenada=美洲/格林纳达
+pref.timezone.America.Guadeloupe=美洲/瓜德罗普
+pref.timezone.America.Guatemala=美洲/危地马拉
+pref.timezone.America.Guayaquil=美洲/瓜亚基尔
+pref.timezone.America.Guyana=美洲/圭亚那
+pref.timezone.America.Halifax=美洲/哈利法克斯
+pref.timezone.America.Havana=美洲/哈瓦那
+pref.timezone.America.Hermosillo=美洲/埃莫西约
+pref.timezone.America.Indiana.Indianapolis=美洲/印第安纳州/印第安纳波利斯
+pref.timezone.America.Indiana.Knox=美洲/印第安纳州/诺克斯
+pref.timezone.America.Indiana.Marengo=美洲/印第安纳州/马伦戈
+pref.timezone.America.Indiana.Petersburg=美洲/印地安那州/彼得斯堡
+pref.timezone.America.Indiana.Vevay=美洲/印第安纳州/韦韦
+pref.timezone.America.Indiana.Vincennes=美洲/印地安那州/温森斯
+pref.timezone.America.Inuvik=美洲/因纽维克
+pref.timezone.America.Iqaluit=美洲/伊魁特
+pref.timezone.America.Jamaica=美洲/牙买加
+pref.timezone.America.Juneau=美洲/朱诺
+pref.timezone.America.Kentucky.Louisville=美洲/肯塔基州/路易维尔
+pref.timezone.America.Kentucky.Monticello=美洲/肯塔基州/蒙蒂塞洛
+pref.timezone.America.La_Paz=美洲/拉巴斯
+pref.timezone.America.Lima=美洲/利马
+pref.timezone.America.Los_Angeles=美洲/洛杉矶
+pref.timezone.America.Maceio=美洲/马塞约
+pref.timezone.America.Managua=美洲/马那瓜
+pref.timezone.America.Manaus=美洲/玛瑙斯
+pref.timezone.America.Martinique=美洲/马提尼克
+pref.timezone.America.Mazatlan=美洲/马萨特兰
+pref.timezone.America.Menominee=美洲/梅诺米尼
+pref.timezone.America.Merida=美洲/梅里达
+pref.timezone.America.Mexico_City=美洲/墨西哥城
+pref.timezone.America.Miquelon=美洲/密克隆
+pref.timezone.America.Moncton=美洲/蒙克顿
+pref.timezone.America.Monterrey=美洲/蒙特雷
+pref.timezone.America.Montevideo=美洲/蒙得维的亚
+pref.timezone.America.Montreal=美洲/蒙特利尔
+pref.timezone.America.Montserrat=美洲/蒙特塞拉特
+pref.timezone.America.Nassau=美洲/拿骚
+pref.timezone.America.New_York=美洲/纽约
+pref.timezone.America.Nipigon=美洲/尼皮贡
+pref.timezone.America.Nome=美洲/诺姆
+pref.timezone.America.Noronha=美洲/洛罗尼亚
+pref.timezone.America.North_Dakota.Center=美洲/北达科他州/中部
+pref.timezone.America.North_Dakota.New_Salem=美洲/北达科他州/新塞勒姆
+pref.timezone.America.Panama=美洲/巴拿马
+pref.timezone.America.Pangnirtung=美洲/庞纳唐
+pref.timezone.America.Paramaribo=美洲/帕拉马里博
+pref.timezone.America.Phoenix=美洲/菲尼克斯(凤凰城)
+pref.timezone.America.Port-au-Prince=美洲/太子港
+pref.timezone.America.Port_of_Spain=美洲/西班牙港
+pref.timezone.America.Porto_Velho=美洲/波多韦柳
+pref.timezone.America.Puerto_Rico=美洲/波多黎各
+pref.timezone.America.Rainy_River=美洲/雷尼河
+pref.timezone.America.Rankin_Inlet=美洲/兰金因雷特
+pref.timezone.America.Recife=美洲/累西腓
+pref.timezone.America.Regina=美洲/里贾纳
+pref.timezone.America.Rio_Branco=美洲/里奥布朗库
+pref.timezone.America.Santiago=美洲/圣地亚哥
+pref.timezone.America.Santo_Domingo=美洲/圣多明各
+pref.timezone.America.Sao_Paulo=美洲/圣保罗
+pref.timezone.America.Scoresbysund=美洲/斯科斯比松
+pref.timezone.America.Shiprock=美洲/希普罗克
+pref.timezone.America.St_Johns=美洲/圣约翰
+pref.timezone.America.St_Kitts=美洲/圣基茨
+pref.timezone.America.St_Lucia=美洲/圣卢西亚
+pref.timezone.America.St_Thomas=美洲/圣托马斯
+pref.timezone.America.St_Vincent=美洲/圣文森特
+pref.timezone.America.Swift_Current=美洲/斯威夫特卡伦特
+pref.timezone.America.Tegucigalpa=美洲/特古西加尔巴
+pref.timezone.America.Thule=美洲/图勒
+pref.timezone.America.Thunder_Bay=美洲/桑德贝
+pref.timezone.America.Tijuana=美洲/蒂华纳
+pref.timezone.America.Toronto=美洲/多伦多
+pref.timezone.America.Tortola=美洲/托尔托拉
+pref.timezone.America.Vancouver=美洲/温哥华
+pref.timezone.America.Whitehorse=美洲/怀特霍斯(白马)
+pref.timezone.America.Winnipeg=美洲/温尼伯
+pref.timezone.America.Yakutat=美洲/亚库塔特
+pref.timezone.America.Yellowknife=美洲/耶洛奈夫
+pref.timezone.Antarctica.Casey=南极洲/凯西站
+pref.timezone.Antarctica.Davis=南极洲/戴维斯站
+pref.timezone.Antarctica.DumontDUrville=南极洲/迪蒙·迪维尔站
+pref.timezone.Antarctica.Mawson=南极洲/莫森站
+pref.timezone.Antarctica.McMurdo=南极洲/麦克默多站
+pref.timezone.Antarctica.Palmer=南极洲/帕尔默站
+pref.timezone.Antarctica.Rothera=南极洲/罗瑟拉站
+pref.timezone.Antarctica.South_Pole=南极洲/南极点
+pref.timezone.Antarctica.Syowa=南极洲/昭和站
+pref.timezone.Antarctica.Vostok=南极洲/东方站
+pref.timezone.Arctic.Longyearbyen=北极/朗伊尔城
+pref.timezone.Asia.Aden=亚洲/亚丁
+pref.timezone.Asia.Almaty=亚洲/阿拉木图
+pref.timezone.Asia.Amman=亚洲/安曼
+pref.timezone.Asia.Anadyr=亚洲/阿纳德尔
+pref.timezone.Asia.Aqtau=亚洲/阿克套
+pref.timezone.Asia.Aqtobe=亚洲/阿克托贝
+pref.timezone.Asia.Ashgabat=亚洲/阿什哈巴德
+pref.timezone.Asia.Baghdad=亚洲/巴格达
+pref.timezone.Asia.Bahrain=亚洲/巴林
+pref.timezone.Asia.Baku=亚洲/巴库
+pref.timezone.Asia.Bangkok=亚洲/曼谷
+pref.timezone.Asia.Beirut=亚洲/贝鲁特
+pref.timezone.Asia.Bishkek=亚洲/比什凯克
+pref.timezone.Asia.Brunei=亚洲/文莱
+pref.timezone.Asia.Choibalsan=亚洲/乔巴山
+pref.timezone.Asia.Chongqing=亚洲/重庆
+pref.timezone.Asia.Colombo=亚洲/科伦坡
+pref.timezone.Asia.Damascus=亚洲/大马士革
+pref.timezone.Asia.Dhaka=亚洲/达卡
+pref.timezone.Asia.Dili=亚洲/帝力
+pref.timezone.Asia.Dubai=亚洲/迪拜
+pref.timezone.Asia.Dushanbe=亚洲/杜尚别
+pref.timezone.Asia.Gaza=亚洲/加沙
+pref.timezone.Asia.Harbin=亚洲/哈尔滨
+pref.timezone.Asia.Hong_Kong=亚洲/香港
+pref.timezone.Asia.Hovd=亚洲/科布多
+pref.timezone.Asia.Irkutsk=亚洲/伊尔库茨克
+pref.timezone.Asia.Istanbul=亚洲/伊斯坦布尔
+pref.timezone.Asia.Jakarta=亚洲/雅加达
+pref.timezone.Asia.Jayapura=亚洲/查亚普拉
+pref.timezone.Asia.Jerusalem=亚洲/耶路撒冷
+pref.timezone.Asia.Kabul=亚洲/喀布尔
+pref.timezone.Asia.Kamchatka=亚洲/堪察加
+pref.timezone.Asia.Karachi=亚洲/卡拉奇
+pref.timezone.Asia.Kashgar=亚洲/喀什
+pref.timezone.Asia.Kathmandu=亚洲/加德满都
+pref.timezone.Asia.Krasnoyarsk=亚洲/克拉斯诺亚尔斯克
+pref.timezone.Asia.Kuala_Lumpur=亚洲/吉隆坡
+pref.timezone.Asia.Kuching=亚洲/古晋
+pref.timezone.Asia.Kuwait=亚洲/科威特
+pref.timezone.Asia.Macau=亚洲/澳门
+pref.timezone.Asia.Magadan=亚洲/马加丹
+pref.timezone.Asia.Makassar=亚洲/马卡萨
+pref.timezone.Asia.Manila=亚洲/马尼拉
+pref.timezone.Asia.Muscat=亚洲/马斯喀特
+pref.timezone.Asia.Nicosia=亚洲/尼科西亚
+pref.timezone.Asia.Novosibirsk=亚洲/新西伯利亚
+pref.timezone.Asia.Omsk=亚洲/鄂木斯克
+pref.timezone.Asia.Oral=亚洲/乌拉尔
+pref.timezone.Asia.Phnom_Penh=亚洲/金边
+pref.timezone.Asia.Pontianak=亚洲/坤甸
+pref.timezone.Asia.Pyongyang=亚洲/平壤
+pref.timezone.Asia.Qatar=亚洲/卡塔尔
+pref.timezone.Asia.Qyzylorda=亚洲/克孜洛尔达
+pref.timezone.Asia.Rangoon=亚洲/仰光
+pref.timezone.Asia.Riyadh=亚洲/利雅得
+pref.timezone.Asia.Sakhalin=亚洲/萨哈林
+pref.timezone.Asia.Samarkand=亚洲/撒马尔罕
+pref.timezone.Asia.Seoul=亚洲/首尔
+pref.timezone.Asia.Shanghai=亚洲/上海
+pref.timezone.Asia.Singapore=亚洲/新加坡
+pref.timezone.Asia.Taipei=亚洲/台北
+pref.timezone.Asia.Tashkent=亚洲/塔什干
+pref.timezone.Asia.Tbilisi=亚洲/第比利斯
+pref.timezone.Asia.Tehran=亚洲/德黑兰
+pref.timezone.Asia.Thimphu=亚洲/辛布
+pref.timezone.Asia.Tokyo=亚洲/东京
+pref.timezone.Asia.Ulaanbaatar=亚洲/乌兰巴托
+pref.timezone.Asia.Urumqi=亚洲/乌鲁木齐
+pref.timezone.Asia.Vientiane=亚洲/万象
+pref.timezone.Asia.Vladivostok=亚洲/符拉迪沃斯托克(海参崴)
+pref.timezone.Asia.Yakutsk=亚洲/雅库茨克
+pref.timezone.Asia.Yekaterinburg=亚洲/叶卡捷琳堡
+pref.timezone.Asia.Yerevan=亚洲/埃里温
+pref.timezone.Atlantic.Azores=大西洋/亚速尔群岛
+pref.timezone.Atlantic.Bermuda=大西洋/百慕大
+pref.timezone.Atlantic.Canary=大西洋/卡纳里群岛
+pref.timezone.Atlantic.Cape_Verde=大西洋/佛得角
+pref.timezone.Atlantic.Faroe=大西洋地区/法罗群岛
+pref.timezone.Atlantic.Madeira=大西洋/马德拉群岛
+pref.timezone.Atlantic.Reykjavik=大西洋/雷克雅维克
+pref.timezone.Atlantic.South_Georgia=大西洋/南乔治亚
+pref.timezone.Atlantic.St_Helena=大西洋/圣赫勒拿岛
+pref.timezone.Atlantic.Stanley=大西洋/斯坦利岛
+pref.timezone.Australia.Adelaide=澳大利亚/阿德莱德
+pref.timezone.Australia.Brisbane=澳大利亚/布里斯班
+pref.timezone.Australia.Broken_Hill=澳大利亚/布罗肯希尔
+pref.timezone.Australia.Currie=澳大利亚/柯里
+pref.timezone.Australia.Darwin=澳大利亚/达尔文
+pref.timezone.Australia.Eucla=澳大利亚/尤克拉
+pref.timezone.Australia.Hobart=澳大利亚/霍巴特
+pref.timezone.Australia.Lindeman=澳大利亚/林德曼
+pref.timezone.Australia.Lord_Howe=澳大利亚/罗德豪维岛
+pref.timezone.Australia.Melbourne=澳大利亚/墨尔本
+pref.timezone.Australia.Perth=澳大利亚/珀斯
+pref.timezone.Australia.Sydney=澳大利亚/悉尼
+pref.timezone.Europe.Amsterdam=欧洲/阿姆斯特丹
+pref.timezone.Europe.Andorra=欧洲/安道尔
+pref.timezone.Europe.Athens=欧洲/雅典
+pref.timezone.Europe.Belgrade=欧洲/贝尔格勒
+pref.timezone.Europe.Berlin=欧洲/柏林
+pref.timezone.Europe.Bratislava=欧洲/布拉迪斯拉发
+pref.timezone.Europe.Brussels=欧洲/布鲁塞尔
+pref.timezone.Europe.Bucharest=欧洲/布加勒斯特
+pref.timezone.Europe.Budapest=欧洲/布达佩斯
+pref.timezone.Europe.Chisinau=欧洲/基希讷乌
+pref.timezone.Europe.Copenhagen=欧洲/哥本哈根
+pref.timezone.Europe.Dublin=欧洲/都柏林
+pref.timezone.Europe.Gibraltar=欧洲/直布罗陀
+pref.timezone.Europe.Guernsey=欧洲/根西岛
+pref.timezone.Europe.Helsinki=欧洲/赫尔辛基
+pref.timezone.Europe.Isle_of_Man=欧洲/马恩岛
+pref.timezone.Europe.Istanbul=欧洲/伊斯坦布尔
+pref.timezone.Europe.Jersey=欧洲/泽西
+pref.timezone.Europe.Kaliningrad=欧洲/加里宁格勒
+pref.timezone.Europe.Kiev=欧洲/基辅
+pref.timezone.Europe.Lisbon=欧洲/里斯本
+pref.timezone.Europe.Ljubljana=欧洲/卢布尔雅那
+pref.timezone.Europe.London=欧洲/伦敦
+pref.timezone.Europe.Luxembourg=欧洲/卢森堡
+pref.timezone.Europe.Madrid=欧洲/马德里
+pref.timezone.Europe.Malta=欧洲/马耳他
+pref.timezone.Europe.Mariehamn=欧洲/玛丽港
+pref.timezone.Europe.Minsk=欧洲/明斯克
+pref.timezone.Europe.Monaco=欧洲/摩纳哥
+pref.timezone.Europe.Moscow=欧洲/莫斯科
+pref.timezone.Europe.Nicosia=欧洲/尼科西亚
+pref.timezone.Europe.Oslo=欧洲/奥斯陆
+pref.timezone.Europe.Paris=欧洲/巴黎
+pref.timezone.Europe.Podgorica=欧洲/波德戈里察
+pref.timezone.Europe.Prague=欧洲/布拉格
+pref.timezone.Europe.Riga=欧洲/里加
+pref.timezone.Europe.Rome=欧洲/罗马
+pref.timezone.Europe.Samara=欧洲/萨马拉
+pref.timezone.Europe.San_Marino=欧洲/圣马力诺
+pref.timezone.Europe.Sarajevo=欧洲/萨拉热窝
+pref.timezone.Europe.Simferopol=欧洲/辛菲罗波尔
+pref.timezone.Europe.Skopje=欧洲/斯科普里
+pref.timezone.Europe.Sofia=欧洲/索非亚
+pref.timezone.Europe.Stockholm=欧洲/斯德哥尔摩
+pref.timezone.Europe.Tallinn=欧洲/塔林
+pref.timezone.Europe.Tirane=欧洲/地拉那
+pref.timezone.Europe.Uzhgorod=欧洲/乌日哥罗德
+pref.timezone.Europe.Vaduz=欧洲/瓦杜兹
+pref.timezone.Europe.Vatican=欧洲/梵蒂冈
+pref.timezone.Europe.Vienna=欧洲/维也纳
+pref.timezone.Europe.Vilnius=欧洲/维尔纽斯
+pref.timezone.Europe.Volgograd=欧洲/伏尔加格勒
+pref.timezone.Europe.Warsaw=欧洲/华沙
+pref.timezone.Europe.Zagreb=欧洲/萨格勒布
+pref.timezone.Europe.Zaporozhye=欧洲/扎波罗热
+pref.timezone.Europe.Zurich=欧洲/苏黎世
+pref.timezone.Indian.Antananarivo=印度洋/塔那那利佛
+pref.timezone.Indian.Chagos=印度洋/查戈斯群岛
+pref.timezone.Indian.Christmas=印度洋/圣诞岛
+pref.timezone.Indian.Cocos=印度洋/科科斯群岛
+pref.timezone.Indian.Comoro=印度洋/科摩罗群岛
+pref.timezone.Indian.Kerguelen=印度洋/克尔格伦群岛
+pref.timezone.Indian.Mahe=印度洋/马埃岛
+pref.timezone.Indian.Maldives=印度洋/马尔代夫
+pref.timezone.Indian.Mauritius=印度洋/毛里求斯
+pref.timezone.Indian.Mayotte=印度洋/马约特岛
+pref.timezone.Indian.Reunion=印度洋/留尼旺岛
+pref.timezone.Pacific.Apia=太平洋/阿皮亚
+pref.timezone.Pacific.Auckland=太平洋/奥克兰
+pref.timezone.Pacific.Chatham=太平洋/查塔姆
+pref.timezone.Pacific.Easter=太平洋/复活节岛
+pref.timezone.Pacific.Efate=太平洋/埃法特岛
+pref.timezone.Pacific.Enderbury=太平洋/恩德伯里岛
+pref.timezone.Pacific.Fakaofo=太平洋/法考福
+pref.timezone.Pacific.Fiji=太平洋/斐济
+pref.timezone.Pacific.Funafuti=太平洋/福那富提
+pref.timezone.Pacific.Galapagos=太平洋/加拉帕戈斯群岛
+pref.timezone.Pacific.Gambier=太平洋/甘比尔群岛
+pref.timezone.Pacific.Guadalcanal=太平洋/瓜达尔卡纳尔岛
+pref.timezone.Pacific.Guam=太平洋/关岛
+pref.timezone.Pacific.Honolulu=太平洋/火奴鲁鲁(檀香山)
+pref.timezone.Pacific.Johnston=太平洋/约翰斯顿
+pref.timezone.Pacific.Kiritimati=太平洋/圣诞岛
+pref.timezone.Pacific.Kosrae=太平洋/科斯雷
+pref.timezone.Pacific.Kwajalein=太平洋/夸贾林
+pref.timezone.Pacific.Majuro=太平洋/马朱罗
+pref.timezone.Pacific.Marquesas=太平洋/马克萨斯
+pref.timezone.Pacific.Midway=太平洋/中途岛
+pref.timezone.Pacific.Nauru=太平洋/诺鲁
+pref.timezone.Pacific.Niue=太平洋/纽埃岛
+pref.timezone.Pacific.Norfolk=太平洋/诺福克
+pref.timezone.Pacific.Noumea=太平洋/努美亚
+pref.timezone.Pacific.Pago_Pago=太平洋/帕果帕果
+pref.timezone.Pacific.Palau=太平洋/帕劳
+pref.timezone.Pacific.Pitcairn=太平洋/皮特凯恩
+pref.timezone.Pacific.Ponape=太平洋/波那佩
+pref.timezone.Pacific.Port_Moresby=太平洋/莫尔兹比港
+pref.timezone.Pacific.Rarotonga=太平洋/拉罗汤加岛
+pref.timezone.Pacific.Saipan=太平洋/塞班岛
+pref.timezone.Pacific.Tahiti=太平洋/塔希提岛
+pref.timezone.Pacific.Tarawa=太平洋/塔拉瓦岛
+pref.timezone.Pacific.Tongatapu=太平洋/汤加塔布
+pref.timezone.Pacific.Truk=太平洋/特鲁克岛
+pref.timezone.Pacific.Wake=太平洋/威克岛
+pref.timezone.Pacific.Wallis=太平洋/沃利斯
+
+# the following have been missing
+pref.timezone.America.Indiana.Tell_City=美洲/印第安纳州/特尔城
+pref.timezone.America.Indiana.Winamac=美洲/印第安纳州/威纳马克
+pref.timezone.America.Marigot=美洲/马里戈特
+pref.timezone.America.Resolute=美洲/雷索路特
+pref.timezone.America.St_Barthelemy=美洲/圣巴泰勒米
+
+# added with 2008d:
+pref.timezone.America.Argentina.San_Luis=美洲/阿根廷/圣路易斯
+pref.timezone.America.Santarem=美洲/圣塔伦
+pref.timezone.Asia.Ho_Chi_Minh=亚洲/胡志明市
+pref.timezone.Asia.Kolkata=亚洲/加尔各答
+
+# added with 2008i:
+pref.timezone.America.Argentina.Salta=美洲/阿根廷/萨尔塔
+
+# added with 2010i
+pref.timezone.America.Matamoros=美洲/马塔莫罗斯
+pref.timezone.America.Ojinaga=美洲/奥希纳加
+pref.timezone.America.Santa_Isabel=美洲/圣伊萨贝尔
+pref.timezone.Antarctica.Macquarie=南极洲/麦夸里站
+pref.timezone.Asia.Novokuznetsk=亚洲/新库兹涅茨克
+
+#added with 2011b
+pref.timezone.America.Bahia_Banderas=美洲/巴伊亚州班德拉斯
+pref.timezone.America.North_Dakota.Beulah=美洲/北达科他州/比尤拉
+pref.timezone.Pacific.Chuuk=太平洋/楚克
+pref.timezone.Pacific.Pohnpei=太平洋/波纳佩岛
+
+#added with 2011n
+pref.timezone.Africa.Juba=非洲/朱巴
+pref.timezone.America.Kralendijk=美洲/克拉伦代克
+pref.timezone.America.Lower_Princes=美洲/下太子
+pref.timezone.America.Metlakatla=美洲/梅特拉卡特拉
+pref.timezone.America.Sitka=美洲/锡特卡
+pref.timezone.Asia.Hebron=亚洲/希伯伦
+
+#added with 2013a
+pref.timezone.America.Creston=美洲/克雷斯顿
+pref.timezone.Asia.Khandyga=亚洲/汉德加
+pref.timezone.Asia.Ust-Nera=亚洲/乌斯季挪拉
+pref.timezone.Europe.Busingen=欧洲/布辛根
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=南极洲/特罗尔站
+
+#added with 2014j
+pref.timezone.Asia.Chita=亚洲/赤塔
+pref.timezone.Asia.Srednekolymsk=亚洲/中科雷姆斯克
+pref.timezone.Pacific.Bougainville=太平洋/布干维尔岛
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=美洲/纳尔逊堡
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=欧洲/乌里扬诺夫斯克
+pref.timezone.Europe.Astrakhan=欧洲/阿斯特拉罕
+pref.timezone.Asia.Barnaul=亚洲/巴尔瑙尔
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=亚洲/仰光
+pref.timezone.Asia.Tomsk=亚洲/托木斯克
+pref.timezone.Asia.Famagusta=亚洲/法马古斯塔
+pref.timezone.Europe.Kirov=欧洲/基洛夫
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=欧洲/萨拉托夫
+pref.timezone.Asia.Atyrau=亚洲/阿特劳
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=美洲/蓬塔阿雷纳斯
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=亚洲/库斯塔奈
+
+#added with 2.2020a
+pref.timezone.America.Nuuk=美洲/努克
+
+#added with 2.2021c
+pref.timezone.Pacific.Kanton=太平洋/坎顿岛
+
+#added with 2.2022b
+pref.timezone.Europe.Kyiv=欧洲/基辅
+
+#added with 2.2023c
+pref.timezone.America.Ciudad_Juarez=美洲/华雷斯城
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.dtd
new file mode 100644
index 0000000000..9b1a6d429b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.dtd
@@ -0,0 +1,41 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Account manager window for Instantbird -->
+<!ENTITY accounts.title "账号 - &brandShortName;">
+<!ENTITY accountManager.width "450">
+<!-- Instant messaging account status window for Thunderbird -->
+<!ENTITY accountsWindow.title "即时通信状态">
+<!ENTITY accountsWindow2.style "width: 41em; height: 27em;">
+
+<!ENTITY accountManager.newAccount.label "新账号">
+<!ENTITY accountManager.newAccount.accesskey "N">
+<!ENTITY accountManager.close.label "关闭">
+<!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 "还没有配置账号">
+<!ENTITY accountManager.noAccount.description "点击 &accountManager.newAccount.label; 按钮让 &brandShortName; 指导您的配置过程。">
+<!ENTITY account.autoSignOn.label "启动时登录">
+<!ENTITY account.autoSignOn.accesskey "S">
+<!ENTITY account.connect.label "连接">
+<!ENTITY account.connect.accesskey "o">
+<!ENTITY account.disconnect.label "断开">
+<!ENTITY account.disconnect.accesskey "i">
+<!ENTITY account.delete.label "删除">
+<!ENTITY account.delete.accesskey "D">
+<!ENTITY account.edit.label "属性">
+<!ENTITY account.edit.accesskey "P">
+<!ENTITY account.moveup.label "上移">
+<!ENTITY account.movedown.label "下移">
+<!ENTITY account.cancelReconnection.label "取消重新连接">
+<!ENTITY account.cancelReconnection.accesskey "A">
+<!ENTITY account.copyDebugLog.label "复制调试日志">
+<!ENTITY account.copyDebugLog.accesskey "C">
+<!ENTITY account.showDebugLog.label "显示调试日志">
+<!ENTITY account.showDebugLog.accesskey "H">
+<!ENTITY account.connecting "正在连接…">
+<!ENTITY account.disconnecting "正在断开…">
+<!ENTITY account.disconnected "未连接">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.properties
new file mode 100644
index 0000000000..67dd5e8beb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/accounts.properties
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (passwordPromptTitle, passwordPromptText):
+# %S is replaced with the name of the account
+passwordPromptTitle=%S 的密码
+passwordPromptText=请输入 %S 的密码以供连接。
+passwordPromptSaveCheckbox=使用密码管理器来记住这个密码。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/commands.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/commands.properties
new file mode 100644
index 0000000000..6035c5895a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/commands.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (commands):
+# %S is a comma separated list of command names.
+commands=命令: %S.\n使用 /help &lt;命令&gt;了解更多信息。
+# LOCALIZATION NOTE (noCommand, noHelp):
+# %S is the command name the user typed.
+noCommand=没有“%S”命令。
+noHelp=抱歉,“%S”没有帮助信息。
+
+sayHelpString=say &lt;信息&gt;: 发送一条单纯的信息而不进行命令处理。
+rawHelpString=raw &lt;信息&gt;: 发送一条未进行 HTML 项目转义的信息。
+helpHelpString=help &lt;名称&gt;: 显示命令 &lt;命令名称&gt; 的帮助信息,如果不带参数使用,则显示可用的命令列表。
+
+# LOCALIZATION NOTE (statusCommand):
+# %1$S is replaced with a status command name
+# (one of "back", "away", "busy", "dnd", or "offline").
+# %2$S is replaced with the localized version of that status type
+# (one of the 5 strings below).
+statusCommand=%1$S &lt;状态信息&gt;: 用一个可选的状态信息将状态设置为 %2$S 。
+back=空闲
+away=离开
+busy=忙碌
+dnd=忙碌
+offline=离线
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/contacts.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/contacts.properties
new file mode 100644
index 0000000000..ae848468f9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/contacts.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (defaultGroup):
+# This is the name of the group that will automatically be created when adding a
+# buddy without specifying a group.
+defaultGroup=联系人
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/conversations.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/conversations.properties
new file mode 100644
index 0000000000..c404678a1e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/conversations.properties
@@ -0,0 +1,85 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (targetChanged):
+# %1$S is the new conversation title (display name of the new target),
+# %2$S is the protocol name used for the new target.
+targetChanged=将会继续 %1$S 的会话,使用 %2$S 。
+
+# LOCALIZATION NOTE (statusChanged):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+statusChanged=%1$S 现在处于 %2$S 。
+# LOCALIZATION NOTE (statusChangedWithStatusText):
+# %1$S is the display name of the contact.
+# %2$S is the new status type (a value from status.properties).
+# %3$S is the status text (eg. "I'm currently away from the computer").
+statusChangedWithStatusText=%1$S 现在处于 %2$S:%3$S 。
+# LOCALIZATION NOTE (statusChangedFromUnknown[WithStatusText]):
+# special case of the previous 2 strings for when the status was
+# previously unknown. These 2 strings should not mislead the user
+# into thinking the person's status has just changed.
+statusChangedFromUnknown=%1$S 正处于 %2$S 。
+statusChangedFromUnknownWithStatusText=%1$S 正处于 %2$S: %3$S.
+# LOCALIZATION NOTE (statusKnown[WithStatusText]):
+# special case of the previous 2 strings for when an account has just
+# been reconnected, so the status is now known. These 2 strings should not
+# mislead the user into thinking the person's status has just changed.
+statusKnown=你的账户已经重新连接(%1$S %2$S)。
+statusKnownWithStatusText=你的账户已经重新连接(%1$S %2$S:%3$S)。
+# LOCALIZATION NOTE (statusUnknown):
+# %S is the display name of the contact.
+statusUnknown=您的账户已离线(无法得知 %S 的状态)。
+
+accountDisconnected=您的账户已离线。
+accountReconnected=你的账户已经重新连接。
+
+# LOCALIZATION NOTE (autoReply):
+# %S is replaced by the text of a message that was sent as an automatic reply.
+autoReply=自动回复 - %S
+
+# LOCALIZATION NOTE (noTopic):
+# Displayed instead of the topic when no topic is set.
+noTopic=这个房间没有主题信息。
+
+# LOCALIZATION NOTE (topicSet):
+# %1$S is the conversation name, %2$S is the topic.
+topicSet=%1$S 的话题为:%2$S。
+# LOCALIZATION NOTE (topicNotSet):
+# %S is the conversation name.
+topicNotSet=没有 %S 相关的话题。
+# LOCALIZATION NOTE (topicChanged):
+# %1$S is the user who changed the topic, %2$S is the new topic.
+topicChanged=%1$S 已将话题变更为:%2$S。
+# LOCALIZATION NOTE (topicCleared):
+# %1$S is the user who cleared the topic.
+topicCleared=%1$S 已清除话题。
+
+# LOCALIZATION NOTE (nickSet):
+# This is displayed as a system message when a participant changes his/her
+# nickname in a conversation.
+# %1$S is the old nick.
+# %2$S is the new nick.
+nickSet=%1$S 现在的名字是 %2$S。
+# LOCALIZATION NOTE (nickSet.you):
+# This is displayed as a system message when your nickname is changed.
+# %S is your new nick.
+nickSet.you=您现在的名字是 %S。
+
+# LOCALIZATION NOTE (messenger.conversations.selections.ellipsis):
+# ellipsis is used when copying a part of a message to show that the message was cut
+messenger.conversations.selections.ellipsis=[…]
+
+# LOCALIZATION NOTE (messenger.conversations.selections.{system,content,action}MessagesTemplate):
+# These 3 templates are used to format selected messages before copying them.
+# Do not translate the texts between % characters, but feel free to adjust
+# whitespace and separators to make them fit your locale.
+messenger.conversations.selections.systemMessagesTemplate=%time% - %message%
+messenger.conversations.selections.contentMessagesTemplate=%time% - %sender%: %message%
+messenger.conversations.selections.actionMessagesTemplate=%time% * %sender% %message%
+
+# LOCALIZATION NOTE (message.status):
+# This is used as title attribute for the visible lock icon in case a message
+# was sent encrypted through the OTR protocol.
+message.status=消息已加密
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/facebook.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/facebook.properties
new file mode 100644
index 0000000000..caf0032f40
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/facebook.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+facebook.chat.name=Facebook 聊天
+facebook.disabled=由于 Facebook 禁用了 XMPP 网关,因此不再支持 Facebook Chat。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/imtooltip.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/imtooltip.properties
new file mode 100644
index 0000000000..00f2d86d48
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=用户名
+buddy.account=账户
+contact.tags=标签
+
+otr.tag=OTR 状态
+
+encryption.tag=加密状态
+message.status=消息已加密
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/irc.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/irc.properties
new file mode 100644
index 0000000000..1567a923be
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/irc.properties
@@ -0,0 +1,209 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (irc.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring an IRC account.
+irc.usernameHint=昵称
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if the account is
+# disconnected because of an error.
+connection.error.lost=失去了与服务器的连接
+connection.error.timeOut=连接超时
+connection.error.invalidUsername=%S 是不允许使用的昵称。
+connection.error.invalidPassword=无效的服务器密码
+connection.error.passwordRequired=需要密码
+
+# LOCALIZATION NOTE (joinChat.*):
+# These show up on the join chat menu. An underscore is for the access key.
+joinChat.channel=频道
+joinChat.password=密码
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.server=服务器
+options.port=端口
+options.ssl=使用 SSL
+options.encoding=字符集
+options.quitMessage=退出消息
+options.partMessage=离开消息
+options.showServerTab=显示来自服务器的消息
+options.alternateNicks=备用昵称
+
+# LOCALIZATION NOTE (ctcp.version):
+# %1$S is the nickname of the user whose version was requested.
+# %2$S is the version response from the client.
+ctcp.version=%1$S 使用“%2$S”
+# LOCALIZATION NOTE (ctcp.time):
+# %1$S is the nickname of the user whose time was requested.
+# %2$S is the time response.
+ctcp.time=%1$S 的时间为 %2$S 。
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command, the %S is the command name
+# Each command first gives the parameter it accepts and then a description of
+# the command.
+command.action=%S &lt;要执行的动作&gt;:执行一个动作。
+command.ban=%S &lt;nick!user@host&gt;:封禁符合指定模式的用户。
+command.ctcp=%S &lt;昵称&gt; &lt;消息&gt;:发送 CTCP 消息至昵称。
+command.chanserv=%S &lt;命令&gt;:发送命令至 ChanServ。
+command.deop=%S &lt;昵称1&gt;[,&lt;昵称2&gt;]*:移除某人的频道操作员状态。您必须为频道操作员才能这么做。
+command.devoice=%S &lt;昵称1&gt;[,&lt;昵称2&gt;]*:把某人的频道发言状态移除,用于阻止被主持(+m)频道中的某人说话。您必须为频道操作员才能这么做。
+command.invite2=%S &lt;nick&gt;[ &lt;nick&gt;]* [&lt;channel&gt;]: 用昵称邀请一个或者多个用户加入你当前所在频道,或者加入指定频道。
+command.join=%S &lt;房间1&gt;[,&lt;房间2&gt;]* [&lt;密钥1&gt;[,&lt;密钥2&gt;]*]:进入一个或者多个频道,可根据需要为每个房间提供频道密钥。
+command.kick=%S &lt;昵称&gt; [&lt;消息&gt;]:将某人从一个频道移除。您必须是频道操作员才能这么做。
+command.list=%S:显示网络的聊天室列表。警告,某些服务器可能会因此断开与您的连接。
+command.memoserv=%S &lt;命令&gt;:发送命令至 MemoServ。
+command.modeUser2=%S &lt;nick&gt; [(+|-)&lt;模式&gt;]:获取、设置或取消用户的模式。
+command.modeChannel2=%S [&lt;channel&gt;] [(+|-)&lt;新模式&gt; [&lt;参数&gt;][,&lt;参数&gt;]*]:获取、设置或取消频道模式。
+command.msg=%S &lt;昵称&gt; &lt;消息&gt;:发送私信至用户(相对于频道而言)。
+command.nick=%S &lt;新昵称&gt;:更改您的昵称。
+command.nickserv=%S &lt;命令&gt;:发送命令至 NickServ。
+command.notice=%S &lt;目标&gt; &lt;消息&gt;:发送通知至用户或频道。
+command.op=%S &lt;昵称1&gt;[,&lt;昵称2&gt;]*:授权某人为频道操作员。您必须是频道操作员才能这么做。
+command.operserv=%S &lt;命令&gt;:发送命令至 OperServ。
+command.part=%S [消息]:离开当前频道并留下消息(可选)。
+command.ping=%S [&lt;昵称&gt;]:询问用户(或者服务器-不指定的话)的延时。
+command.quit=%S &lt;消息&gt;:从服务器断开,并留下(可选)消息。
+command.quote=%S &lt;命令&gt;:向服务器发送一条原始命令。
+command.time=%S:显示当前 IRC 服务器的当地时间。
+command.topic=%S [&lt;新话题&gt;]:查看或者更改频道话题。
+command.umode=%S (+|-)&lt;新模式&gt;:设置或取消一个用户模式。
+command.version=%S &lt;昵称&gt;:请求用户客户端的版本信息。
+command.voice=%S &lt;昵称1&gt;[,&lt;昵称2&gt;]*:授权某人以频道发言状态。您必须为频道操作员才能这么做。
+command.whois2=%S [&lt;昵称&gt;]: 获取一个用户的信息。
+
+# LOCALIZATION NOTE (message.*):
+# These are shown as system messages in the conversation.
+# %1$S is the nick and %2$S is the nick and host of the user who joined.
+message.join=%1$S [%2$S] 进入了房间。
+message.rejoined=你已重新加入房间。
+# %1$S is the nick of who kicked you.
+# %2$S is message.kicked.reason, if a kick message was given.
+message.kicked.you=您被 %1$S%2$S 踢出了房间。
+# %1$S is the nick that is kicked, %2$S the nick of the person who kicked
+# %1$S. %3$S is message.kicked.reason, if a kick message was given.
+message.kicked=%1$S 被 %2$S%3$S 踢出了房间。
+# %S is the kick message
+message.kicked.reason=: %S
+# %1$S is the new mode, %2$S is the nickname of the user whose mode
+# was changed, and %3$S is who set the mode.
+message.usermode=%3$S 为 %2$S 设置了模式 %1$S 。
+# %1$S is the new channel mode and %2$S is who set the mode.
+message.channelmode=%2$S 设置了频道模式 %1$S 。
+# %S is the user's mode.
+message.yourmode=您的模式是 %S。
+# Could not change the nickname. %S is the user's nick.
+message.nick.fail=无法使用指定的昵称。你的昵称依然是 %S 。
+# The parameter is the message.parted.reason, if a part message is given.
+message.parted.you=您已离开房间 (离开%1$S)。
+# %1$S is the user's nick, %2$S is message.parted.reason, if a part message is given.
+message.parted=%1$S 已离开房间 (离开%2$S)。
+# %S is the part message supplied by the user.
+message.parted.reason=: %S
+# %1$S is the user's nick, %2$S is message.quit2 if a quit message is given.
+message.quit=%1$S 已离开房间 (退出%2$S)。
+# The parameter is the quit message given by the user.
+message.quit2=: %S
+# %1$S is the nickname of the user that invited us, %2$S is the conversation
+# name.
+message.inviteReceived=%1$S 已经邀请你到 %2$S 。
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to.
+message.invited=%1$S 已被成功邀请至 %2$S。
+# %1$S is the nickname of the invited user, %2$S is the conversation name
+# they were invited to but are already in
+message.alreadyInChannel=%1$S 已经在 %2$S 。
+# %S is the nickname of the user who was summoned.
+message.summoned=%S 已被召唤。
+# %S is the nickname of the user whose WHOIS information follows this message.
+message.whois=%S 的 WHOIS 信息:
+# %1$S is the nickname of the (offline) user whose WHOWAS information follows this message.
+message.whowas=%1$S 已离线。%1$S 的 WHOWAS 信息为:
+# %1$S is the entry description (from tooltip.*), %2$S is its value.
+message.whoisEntry=\u00A0   %1$S: %2$S
+# %S is the nickname that is not known to the server.
+message.unknownNick=%S 是未知的昵称。
+# %1$S is the nickname of the user who changed the mode and %2$S is the new
+# channel key (password).
+message.channelKeyAdded=%1$S 更改频道密码为 %2$S 。
+message.channelKeyRemoved=%S 移除频道密码。
+# This will be followed by a list of ban masks.
+message.banMasks=来自以下位置的用户被 %S 屏蔽:
+message.noBanMasks=%S 没有屏蔽任何位置。
+message.banMaskAdded=来源地址匹配 %1$S 的用户被 %2$S 屏蔽。
+message.banMaskRemoved=来源地址匹配 %1$S 的用户不再被 %2$S 屏蔽。
+# LOCALIZATION NOTE (message.ping): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %1$S is the nickname of the user or the server that was pinged.
+# #2 is the delay (in milliseconds).
+message.ping=于 #2 毫秒后收到来自 %1$S 的 Ping 回复。
+
+
+# LOCALIZATION NOTE (error.*):
+# These are shown as error messages in the conversation or server tab.
+# %S is the channel name.
+error.noChannel=无此频道:%S。
+error.tooManyChannels=无法加入 %S; 您已经加入了过多的频道。
+# %1$S is your new nick, %2$S is the kill message from the server.
+error.nickCollision=昵称已被使用,修改昵称为 %1$S [%2$S]。
+error.erroneousNickname=%S 是不允许使用的昵称。
+error.banned=您被禁止访问此服务器。
+error.bannedSoon=您将会很快被禁止访问此服务器。
+error.mode.wrongUser=您无法修改其他用户的模式。
+# %S is the nickname or channel name that isn't available.
+error.noSuchNick=%S 不在线。
+error.wasNoSuchNick=没有这个昵称:%S
+error.noSuchChannel=无此频道:%S。
+error.unavailable=%S 暂时不可用。
+# %S is the channel name.
+error.channelBanned=您已被 %S 封禁。
+error.cannotSendToChannel=您无法发送消息至 %S。
+error.channelFull=频道 %S 已满。
+error.inviteOnly=您必须被邀请才能加入 %S。
+error.nonUniqueTarget=%S 不是一个唯一的 user@host 或者短名称,或者您一次性进入了过多的频道。
+error.notChannelOp=您不是 %S 的频道操作员。
+error.notChannelOwner=你不是 %S 频道的所有者。
+error.wrongKey=无法加入 %S ,无效的频道密码。
+error.sendMessageFailed=发送最近一条信息时出现错误。当连接重新建立后请再次尝试。
+# %1$S is the channel the user tried to join, %2$S is the channel
+# he was forwarded to.
+error.channelForward=您可能未加入 %1$S,并被自动重定向到 %2$S。
+# %S is the mode that the user tried to set but was not recognized
+# by the server as a valid mode.
+error.unknownMode=“%S”不是此服务器上有效的用户模式。
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from a whois response.
+# The human readable ("realname") description of the user.
+tooltip.realname=姓名
+tooltip.server=已连接至
+# The username and hostname that the user connects from (usually based on the
+# reverse DNS of the user's IP, but often mangled by the server to
+# protect users).
+tooltip.connectedFrom=连接自
+tooltip.registered=已注册
+tooltip.registeredAs=注册为
+tooltip.secure=使用安全连接
+# The away message of the user
+tooltip.away=离开
+tooltip.ircOp=IRC 操作员
+tooltip.bot=机器人
+tooltip.lastActivity=最后活动
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=%S 天前
+tooltip.channels=当前在
+
+# %1$S is the server name, %2$S is some generic server information (usually a
+# location or the date the user was last seen).
+tooltip.serverValue=%1$S (%2$S)
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=是
+no=否
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/logger.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/logger.properties
new file mode 100644
index 0000000000..9306f313f0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/logger.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (badLogfile):
+# %S is the filename of the log file.
+badLogfile=空的或者中断的日志文件:%S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/matrix.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/matrix.properties
new file mode 100644
index 0000000000..f629728837
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/matrix.properties
@@ -0,0 +1,255 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (matrix.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Matrix account.
+matrix.usernameHint=Matrix ID
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.saveToken=存储访问令牌(Token)
+options.deviceDisplayName=设备显示名称
+options.homeserver=服务器
+options.backupPassphrase=备份密钥密语
+
+# 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=加密函数:%S
+options.encryption.secretStorage=私密存储空间:%S
+options.encryption.keyBackup=加密密钥备份:%S
+options.encryption.crossSigning=交叉签名:%S
+options.encryption.statusOk=就绪
+options.encryption.statusNotOk=未就绪
+options.encryption.needBackupPassphrase=请到协议选项中输入备份密钥密语。
+options.encryption.setUpSecretStorage=要设置私密数据存储空间,请登录另一客户端并在该客户端输入在“常规”标签页生成的备份密钥密语。
+options.encryption.setUpBackupAndCrossSigning=请输入您在“常规”标签页设置的备份密钥密语或验证下列任一会话身份,即可启用加密密钥备份及交叉签名功能。
+# %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=等候您的授权
+connection.requestAccess=正在完成授权
+
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.noSupportedFlow=服务器未提供兼容的登录流程。
+connection.error.authCancelled=您已取消授权操作。
+connection.error.sessionEnded=会话已注销。
+connection.error.serverNotFound=找不到提供的 Matrix 账户所在的 Matrix 服务器。
+
+# 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=聊天室(_R)
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the descriptions given in a tooltip with information received
+# from the "User" object.
+# The human readable name of the user.
+tooltip.displayName=显示名
+# %S is the timespan elapsed since the last activity.
+tooltip.timespan=%S 前
+tooltip.lastActive=最后活动
+
+# 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=默认
+powerLevel.moderator=主持人
+powerLevel.admin=管理员
+powerLevel.restricted=已受限
+powerLevel.custom=自定义
+# %1$S is the power level name
+# %2$S is the power level number
+powerLevel.detailed=%1$S(%2$S)
+powerLevel.defaultRole=默认角色:%S
+powerLevel.inviteUser=邀请用户:%S
+powerLevel.kickUsers=踢走用户:%S
+powerLevel.ban=封禁用户:%S
+powerLevel.roomAvatar=更改聊天室头像:%S
+powerLevel.mainAddress=更改聊天室主地址:%S
+powerLevel.history=更改聊天记录可见性:%S
+powerLevel.roomName=更改聊天室名称:%S
+powerLevel.changePermissions=更改权限:%S
+powerLevel.server_acl=发送 m.room.server_acl 事件:%S
+powerLevel.upgradeRoom=升级聊天室:%S
+powerLevel.remove=移除消息:%S
+powerLevel.events_default=事件默认值:%S
+powerLevel.state_default=更改设置:%S
+powerLevel.encryption=启用聊天室加密:%S
+powerLevel.topic=设置聊天室主题:%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=名称:%S
+# Example placeholder: "My first room"
+detail.topic=主题:%S
+# Example placeholder: "5"
+detail.version=聊天室版本:%S
+# Example placeholder: "#thunderbird:mozilla.org"
+detail.roomId=RoomID:%S
+# %S are all admin users. Example: "@foo:example.com, @bar:example.com"
+detail.admin=管理员:%S
+# %S are all moderators. Example: "@lorem:mozilla.org, @ipsum:mozilla.org"
+detail.moderator=主持人:%S
+# Example placeholder: "#thunderbird:matrix.org"
+detail.alias=别名:%S
+# Example placeholder: "can_join"
+detail.guest=访客访问权限:%S
+# This is a heading, followed by the powerLevel.* strings
+detail.power=权力等级:
+
+# 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;原因&gt;]:封禁 ID 为 userId 的用户(原因选填)。须有封禁用户的权限。
+command.invite=%S &lt;userId&gt;:邀请用户加入聊天室。
+command.kick=%S &lt;userId&gt; [&lt;原因&gt;]:踢走 ID 为 userId 的用户(原因选填)。须有踢走用户的权限。
+command.nick=%S &lt;显示名称&gt;:更改您的显示名称。
+command.op=%S &lt;userId&gt; [&lt;权力等级&gt;]:指定用户的权力等级。请在等级栏中输入整数,普通用户:0、主持人:50、管理员:100。若未指定参数,则默认值为 50。须有更改成员权力等级的权限;对您自己以外的管理员无效。
+command.deop=%S &lt;userId&gt;:将用户的权力等级重置为 0(普通用户)。须有更改成员权力等级的权限;对您自己以外的管理员无效。
+command.leave=%S:离开当前聊天室。
+command.topic=%S &lt;主题&gt;:设置聊天室的主题。须有更改聊天室主题的权限。
+command.unban=%S &lt;userId&gt;:解封被聊天室封禁的用户。须有封禁用户的权限。
+command.visibility=%S [&lt;visibility&gt;]:设置当前 Home Server 的聊天室目录中的当前聊天室的可见性。请指定整数值:0 表示私人聊天室、1 表示公共聊天室。若未指定可见性,默认为私人(0)。须有有更改聊天室可见性的权限。
+command.guest=%S &lt;guest access&gt; &lt;history visibility&gt;:设置访客是否可以访问当前聊天室,以及聊天记录的可见性。请输入两个整数值:第一个为访客访问权限(0 表示不允许、1 表示允许),第二个为聊天记录的可见性(0 表示不可见、1 表示可见)。须有更改聊天记录可见性的权限。
+command.roomname=%S &lt;名称&gt;:设置聊天室的名称。须有更改聊天室名称的权限。
+command.detail=%S:显示聊天室详细信息。
+command.addalias=%S &lt;别名&gt;:为聊天室创建别名。预期的别名格式应为“#localname:domain”。须有创建别名的权限。
+command.removealias=%S &lt;别名&gt;:移除聊天室的别名。预期的别名格式应为“#localname:domain”。须有移除别名的权限。
+command.upgraderoom=%S &lt;新版本&gt;:将聊天室升级至新版本。须有升级聊天室的权限。
+command.me=%S &lt;操作&gt;:执行某操作。
+command.msg=%S &lt;userId&gt; &lt;消息&gt;:向指定用户发送私信。
+command.join=%S &lt;roomId&gt;:加入指定的聊天室。
+
+# 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 已封禁 %2$S。
+# Same as message.banned but with a reason.
+# %3$S is the reason the user was banned.
+message.bannedWithReason=%1$S 已封禁 %2$S。原因:%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 已接受 %2$S 的邀请。
+# %S is the name of the user who accepted an invitation.
+message.acceptedInvite=$S 已接受邀请。
+# %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 已邀请 %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 已将显示名称从 %2$S 更改为 %3$S。
+# %1$S is the name of the user who set their display name.
+# %2$S is the newly set display name.
+message.displayName.set=%1$S 已将显示名称设为 %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 已移除显示名称 %2$S。
+# %S is the name of the user who has joined the room.
+message.joined=%S 已加入聊天室。
+# %S is the name of the user who has rejected the invitation.
+message.rejectedInvite=%S 已拒绝邀请。
+# %S is the name of the user who has left the room.
+message.left=%S 已离开聊天室。
+# %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 已解封 %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 已踢走 %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 已踢走 %2$S。原因:%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 撤回了对 %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 撤回了对 %2$S 的邀请。原因:%3$S
+# %S is the name of the user who has removed the room name.
+message.roomName.remove=%S 已移除聊天室名称。
+# %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 已将聊天室名称更改为 %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 已调整权力等级:%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 从 %2$S 更改为 %3$S
+# %S is the name of the user who has allowed guests to join the room.
+message.guest.allowed=%S 已允许访客加入聊天室。
+# %S is the name of the user who has prevented guests to join the room.
+message.guest.prevented=%S 已禁止访客加入聊天室。
+# %S is the name of the user who has made future room history visible to anyone.
+message.history.anyone=%S 已将未来的聊天记录,设为所有人可见。
+# %S is the name of the user who has made future room history visible to all room members.
+message.history.shared=%S 已将未来的聊天记录,设为所有聊天室成员可见。
+# %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 已将未来的聊天记录,设为从成员被邀请之时起,所有聊天室成员可见。
+# %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 已将未来的聊天记录,设为从成员加入之时起,所有聊天室成员可见。
+# %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 已将此聊天室的主地址从 %2$S 更改为 %3$S。
+# %1$S is the name of the user who added the address.
+# %2$S is a comma delimited list of added addresses.
+message.alias.added=%1$S 已将 %2$S 添加为此聊天室的备用地址。
+# %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 已将 %2$S 从此聊天室的备用地址移除。
+# %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 已移除 %2$S,并添加 %3$S 作为此聊天室的备用地址。
+message.spaceNotSupported=此聊天室是一个空间,暂不支持。
+message.encryptionStart=现在起,此对话中的消息将进行端到端加密。
+# %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 想要验证 %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 已取消身份验证请求,原因:%2$S
+message.verification.done=验证完成。
+message.decryptionError=无法解密此消息内容。若要从您的其他设备请求加解密密钥,请右键点击此消息。
+message.decrypting=正在解密...
+message.redacted=消息已撤回。
+# %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 回应 %2$S - %3$S。
+
+# Label in the message context menu
+message.action.requestKey=重新请求密钥
+message.action.redact=撤回
+message.action.report=举报消息
+message.action.retry=重试发送
+message.action.cancel=撤销消息
+
+# LOCALIZATION NOTE (error.*)
+# These are strings shown as system messages when an action the user took fails.
+error.sendMessageFailed=发送您的消息“%1$S”时出错。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/status.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/status.properties
new file mode 100644
index 0000000000..cbfca69924
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/status.properties
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+availableStatusType=空闲
+awayStatusType=离开
+unavailableStatusType=忙碌
+offlineStatusType=脱机
+invisibleStatusType=隐身
+idleStatusType=空闲
+mobileStatusType=移动版
+# LOCALIZATION NOTE (unknownStatusType):
+# the status of a buddy is unknown when it's in the list of a disconnected account
+unknownStatusType=未知
+
+# LOCALIZATION NOTE (statusWithStatusMessage):
+# Used to display the status of a buddy together with its status message.
+# %1$S is the status type, %2$S is the status message text.
+statusWithStatusMessage=%1$S - %2$S
+
+# LOCALIZATION NOTE (messenger.status.defaultIdleAwayMessage):
+# This will be the away message put automatically when the user is idle.
+messenger.status.defaultIdleAwayMessage=我暂时不在电脑旁。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/twitter.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/twitter.properties
new file mode 100644
index 0000000000..ed7a9698ac
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/twitter.properties
@@ -0,0 +1,122 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (twitter.protocolName)
+# This name is used whenever the name of the protocol is shown.
+twitter.protocolName=Twitter
+
+# LOCALIZATION NOTE (error.*):
+# These are errors that will be shown to the user in conversation.
+error.tooLong=状态信息超过了 140 个字符。
+# LOCALIZATION NOTE (error.general, error.retweet, error.delete):
+# %1$S will be either the error string returned by the twitter server,
+# in English, inside parenthesis, or the empty string if we have no specific
+# message for the error.
+# %2$S is the message that caused the error.
+error.general=发送: %2$S 时发生 %1$S 错误。
+error.retweet=锐推:%2$S 时发生 %1$S 错误
+error.delete=删除:%2$S 时发生 %1$S 错误
+error.like=错误 %1$S 发生,当喜欢:%2$S
+error.unlike=错误 %1$S 发生,当取消喜欢:%2$S
+# LOCALIZATION NOTE (error.descriptionTooLong)
+# %S is the truncated string that was sent to the server.
+error.descriptionTooLong=描述超过了最大长度(160个字符),自动截断为:%S 。
+
+# LOCALIZATION NOTE (timeline):
+# This is the title of the conversation tab, %S will be replaced by
+# @<username>.
+timeline=%S 时间轴
+
+# LOCALIZATION NOTE (action.*):
+# This will be an action in the context menu of displayed tweets.
+action.copyLink=复制链接至推特
+action.retweet=锐推
+action.reply=回复
+action.delete=删除
+# LOCALIZATION NOTE (action.follow, action.stopFollowing):
+# %S will be replaced by the screen name of a twitter user.
+action.follow=关注 %S
+action.stopFollowing=不再关注 %S
+action.like=喜欢
+action.unlike=移除喜欢
+
+# LOCALIZATION NOTE (event.follow, event.unfollow, event.followed):
+# This will be displayed in system messages inside the timeline conversation.
+# %S will be replaced by the screen name of a twitter user.
+event.follow=您现已关注 %S。
+event.unfollow=您已不再关注 %S。
+event.followed=%S 现已关注您。
+# LOCALIZATION NOTE (event.deleted):
+# %S will be replaced by the text of the deleted tweet.
+event.deleted=您已删除此推:“%S”。
+
+# LOCALIZATION NOTE (replyingToStatusText):
+# This will be visible in the status bar of the conversation window
+# while the user is typing a reply to a tweet.
+# %S will be replaced by the text of the tweet the user is replying to.
+replyingToStatusText=回复至:%S
+
+# LOCALIZATION NOTE (connection.*):
+# These will be displayed in the account manager in order to show the progress
+# of the connection.
+# (These will be displayed in account.connection.progress from
+# accounts.properties, which adds … at the end, so do not include
+# periods at the end of these messages.)
+connection.initAuth=初始化验证过程
+connection.requestAuth=等待您的验证
+connection.requestAccess=正在完成验证
+connection.requestTimelines=请求用户时间轴
+# LOCALIZATION NOTE (connection.error.*):
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.userMismatch=用户名不匹配。
+connection.error.failedToken=无法获取请求令牌。
+connection.error.authCancelled=您取消了验证过程。
+connection.error.authFailed=无法通过验证。
+connection.error.noNetwork=网络不可以用。
+
+# LOCALIZATION NOTE (authPrompt):
+# This is the prompt in the browser window that pops up to authorize us
+# to use a Twitter account. It is shown in the title bar of the authorization
+# window.
+authPrompt=授权使用您的推特账户
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.track=已追踪的关键字
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the Twitter information that will appear in the tooltip
+# for each participant on the home timeline.
+# LOCALIZATION NOTE (tooltip.created_at): the date the user joined.
+tooltip.created_at=加入日期
+tooltip.location=地址
+tooltip.lang=语言
+tooltip.time_zone=时区
+tooltip.url=主页
+# LOCALIZATION NOTE (tooltip.protected):
+# whether the user's tweets are publicly visible.
+tooltip.protected=保护推
+# LOCALIZATION NOTE (tooltip.following):
+# whether you are subscribed to the user's tweets.
+tooltip.following=现关注
+tooltip.name=名称
+tooltip.description=描述
+# LOCALIZATION NOTE (tooltip.*_count):
+# Please see the right side of the official Twitter website UI.
+tooltip.friends_count=关注
+tooltip.statuses_count=推特
+tooltip.followers_count=粉丝
+tooltip.listed_count=已列出
+
+# LOCALIZATION NOTE (yes, no):
+# These are used to turn true/false values into a yes/no response.
+yes=是
+no=否
+
+command.follow=%S &lt;username&gt;[ &lt;username&gt;]*: 开始关注一个或多个用户。
+command.unfollow=%S &lt;username&gt;[ &lt;username&gt;]*: 停止关注一个或多个用户。
+
+twitter.disabled=由于 Twitter 禁用了其流媒体协议,已不再支持。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/xmpp.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/xmpp.properties
new file mode 100644
index 0000000000..1cf04af91b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=正在初始化流
+connection.initializingEncryption=正在初始化加密
+connection.authenticating=正在验证
+connection.gettingResource=正在获取资源
+connection.downloadingRoster=正在下载联系人列表
+connection.srvLookup=正在查找 SRV 记录
+
+# LOCALIZATION NOTE (connection.error.*)
+# These will show in the account manager if an error occurs during the
+# connection attempt.
+connection.error.invalidUsername=无效的用户名(你的用户名应该包括一个 '@' 字符)
+connection.error.failedToCreateASocket=创建套接字失败(您离线了吗?)
+connection.error.serverClosedConnection=服务器关闭了连接
+connection.error.resetByPeer=连接被重置
+connection.error.timedOut=连接超时
+connection.error.receivedUnexpectedData=收到意外的数据
+connection.error.incorrectResponse=收到不正确的响应
+connection.error.startTLSRequired=服务器要求加密,但您禁用了它
+connection.error.startTLSNotSupported=服务器不支持加密,但您的配置要求了必须加密
+connection.error.failedToStartTLS=无法启动加密
+connection.error.noAuthMec=服务器未提供身份验证机制
+connection.error.noCompatibleAuthMec=服务器提供的身份验证方法皆不支持
+connection.error.notSendingPasswordInClear=服务器只支持发送明文密码的验证方法
+connection.error.authenticationFailure=验证失败
+connection.error.notAuthorized=验证失败(您输入了错误的密码?)
+connection.error.failedToGetAResource=获取资源失败
+connection.error.failedMaxResourceLimit=此账号在短时间内在太多地方连接。
+connection.error.failedResourceNotValid=资源无效。
+connection.error.XMPPNotSupported=此服务器不支持 XMPP
+
+# LOCALIZATION NOTE (conversation.error.notDelivered):
+# This is displayed in a conversation as an error message when a message
+# the user has sent wasn't delivered.
+# %S is replaced by the text of the message that wasn't delivered.
+conversation.error.notDelivered=此消息未能投递:%S
+# This is displayed in a conversation as an error message when joining a MUC
+# fails.
+# %S is the name of the MUC.
+conversation.error.joinFailed=未能加入:%S
+# This is displayed in a conversation as an error message when the user is
+# banned from a room.
+# %S is the name of the MUC room.
+conversation.error.joinForbidden=未能加入 %S,您已被此聊天室封禁。
+conversation.error.joinFailedNotAuthorized=需要注册:您无权加入此聊天室。
+conversation.error.creationFailedNotAllowed=访问受限:您未被允许创建聊天室。
+# This is displayed in a conversation as an error message when remote server
+# is not found.
+# %S is the name of MUC room.
+conversation.error.joinFailedRemoteServerNotFound=由于无法连接到聊天室所在的服务器,目前无法加入聊天室“%S”。
+conversation.error.changeTopicFailedNotAuthorized=您无权设置此聊天室的主题。
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that he is not in.
+# %1$S is the name of MUC room.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsNotInRoom=消息未能发送到 %1$S,您已不在此聊天室中:%2$S
+# This is displayed in a conversation as an error message when the user sends
+# a message to a room that the recipient is not in.
+# %1$S is the jid of the recipient.
+# %2$S is the text of the message that wasn't delivered.
+conversation.error.sendFailedAsRecipientNotInRoom=消息未能发送到 %1$S,接收者已不在此聊天室中:%2$S
+# These are displayed in a conversation as a system error message.
+conversation.error.remoteServerNotFound=无法连通收件人的服务器
+conversation.error.unknownSendError=发送此消息时发生一个未知错误。
+# %S is the name of the message recipient.
+conversation.error.sendServiceUnavailable=目前无法发送消息至 %S。
+# %S is the nick of participant that is not in room.
+conversation.error.nickNotInRoom=%S 不在此聊天室内。
+conversation.error.banCommandAnonymousRoom=您不能封禁匿名聊天室的参与者。尝试 /kick 代替。
+conversation.error.banKickCommandNotAllowed=您不需要权限即可踢走此聊天室中的成员。
+conversation.error.banKickCommandConflict=抱歉,您不能移除聊天室内的自己。
+conversation.error.changeNickFailedConflict=无法更改您的昵称到 %S,此昵称已被占用。
+conversation.error.changeNickFailedNotAcceptable=无法更改您的昵称到 %S,此昵称已被此聊天室锁定。
+conversation.error.inviteFailedForbidden=您没有可邀请用户进入此聊天室的权限。
+# %S is the jid of user that is invited.
+conversation.error.failedJIDNotFound=无法与 %S 联系。
+# %S is the jid that is invalid.
+conversation.error.invalidJID=%S 是无效的 jid (Jabber ID 必须是 user@domain 格式)。
+conversation.error.commandFailedNotInRoom=您必须重新加入聊天室才能使用此命令。
+# %S is the name of the recipient.
+conversation.error.resourceNotAvailable=你必须先与 %S 通话才能与多个客户端连接。
+
+# LOCALIZATION NOTE (conversation.error.version.*):
+# %S is the name of the recipient.
+conversation.error.version.unknown=%S 的客户端不支持查询其软件版本。
+
+# LOCALIZATION NOTE (tooltip.*):
+# These are the titles of lines of information that will appear in
+# the tooltip showing details about a contact or conversation.
+# LOCALIZATION NOTE (tooltip.status):
+# %S will be replaced by the XMPP resource identifier
+tooltip.status=状态 (%S)
+tooltip.statusNoResource=状态
+tooltip.subscription=订阅
+tooltip.fullName=全名
+tooltip.nickname=昵称
+tooltip.email=电子邮件
+tooltip.birthday=生日
+tooltip.userName=用户名
+tooltip.title=标题
+tooltip.organization=组织
+tooltip.locality=地区
+tooltip.country=国家/地区
+tooltip.telephone=手机号码
+
+# LOCALIZATION NOTE (chatRoomField.*):
+# These are the name of fields displayed in the 'Join Chat' dialog
+# for XMPP accounts.
+# The _ character won't be displayed; it indicates the next
+# character of the string should be used as the access key for this
+# field.
+chatRoomField.room=聊天室_R
+chatRoomField.server=_S服务器
+chatRoomField.nick=_N昵称
+chatRoomField.password=密码
+
+# LOCALIZATION NOTE (conversation.muc.*):
+# These are displayed as a system message when a chatroom invitation is
+# received.
+# %1$S is the inviter.
+# %2$S is the room.
+# %3$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2=%1$S 邀请您加入 %2$S:%3$S
+# %3$S is the password of the room.
+# %4$S is the reason which is a message provided by the person sending the
+# invitation.
+conversation.muc.invitationWithReason2.password=%1$S 邀请您使用密码 %3$S 加入 %2$S:%4$S
+conversation.muc.invitationWithoutReason=%1$S 已邀请您加入 %2$S
+# %3$S is the password of the room.
+conversation.muc.invitationWithoutReason.password=%1$S 已邀请您加入 %2$S,使用密码 %3$S
+
+# LOCALIZATION NOTE (conversation.muc.join):
+# This is displayed as a system message when a participant joins room.
+# %S is the nick of the participant.
+conversation.message.join=%S 进入了聊天室。
+
+# LOCALIZATION NOTE (conversation.muc.rejoined):
+# This is displayed as a system message when a participant rejoins room after
+# parting it.
+conversation.message.rejoined=您重新加入了聊天室。
+
+# LOCALIZATION NOTE (conversation.message.parted.*):
+# These are displayed as a system message when a participant parts a room.
+# %S is the part message supplied by the user.
+conversation.message.parted.you=您离开了聊天室。
+conversation.message.parted.you.reason=您离开了聊天室:%S
+# %1$S is the participant that is leaving.
+# %2$S is the part message supplied by the participant.
+conversation.message.parted=%1$S 离开了此聊天室。
+conversation.message.parted.reason=%1$S 离开此聊天室:%2$S
+
+# LOCALIZATION NOTE (conversation.message.invitationDeclined*):
+# %1$S is the invitee that declined the invitation.
+# %2$S is the decline message supplied by the invitee.
+conversation.message.invitationDeclined=%1$S 拒绝了您的邀请。
+conversation.message.invitationDeclined.reason=%1$S 拒绝了您的邀请:%2$S
+
+# LOCALIZATION NOTE (conversation.message.banned.*):
+# These are displayed as a system message when a participant is banned from
+# a room.
+# %1$S is the participant that is banned.
+# %2$S is the reason.
+# %3$S is the person who is banning.
+conversation.message.banned=%1$S 已被此聊天室封禁。
+conversation.message.banned.reason=%1$S 已被聊天室封禁:%2$S
+# %1$S is the person who is banning.
+# %2$S is the participant that is banned.
+# %3$S is the reason.
+conversation.message.banned.actor=%1$S 在此聊天室封禁了 %2$S。
+conversation.message.banned.actor.reason=%1$S 在聊天室 %3$S 封禁了 %2$S。
+conversation.message.banned.you=您已被此聊天室封禁。
+# %1$S is the reason.
+conversation.message.banned.you.reason=您已被该聊天室封禁:%1$S
+# %1$S is the person who is banning.
+# %2$S is the reason.
+conversation.message.banned.you.actor=%1$S 已在此聊天室中将您封禁。
+conversation.message.banned.you.actor.reason=%1$S 已在此聊天室中将您封禁:%2$S
+
+# LOCALIZATION NOTE (conversation.message.kicked.*):
+# These are displayed as a system message when a participant is kicked from
+# a room.
+# %1$S is the participant that is kicked.
+# %2$S is the reason.
+conversation.message.kicked=%1$S 已被此聊天室移出。
+conversation.message.kicked.reason=%1$S 已被踢出聊天室:%2$S
+# %1$S is the person who is kicking.
+# %2$S is the participant that is kicked.
+# %3$S is the reason.
+conversation.message.kicked.actor=%1$S 已将 %2$S 踢出聊天室。
+conversation.message.kicked.actor.reason=%1$S 已将 %2$S 踢出聊天室:%3$S
+conversation.message.kicked.you=您已被踢出聊天室。
+# %1$S is the reason.
+conversation.message.kicked.you.reason=您已被踢出聊天室:%1$S
+# %1$S is the person who is kicking.
+# %2$S is the reason.
+conversation.message.kicked.you.actor=%1$S 已将您踢出聊天室。
+conversation.message.kicked.you.actor.reason=%1$S 已将您踢出聊天室:%2$S
+
+# LOCALIZATION NOTE (conversation.message.removedNonMember.*):
+# These are displayed as a system message when a participant is removed from
+# a room because the room has been changed to members-only.
+# %1$S is the participant that is removed.
+# %2$S is the person who changed the room configuration.
+conversation.message.removedNonMember=由于聊天室更改设置为仅限成员,%1$S 已被移出聊天室。
+conversation.message.removedNonMember.actor=由于 %2$S 更改聊天室设置为仅限成员,%1$S 已被移出聊天室。
+conversation.message.removedNonMember.you=由于聊天室更改设置为仅限成员,您已被移出聊天室。
+# %1$S is the person who changed the room configuration.
+conversation.message.removedNonMember.you.actor=由于 %1$S 更改聊天室设置为仅限成员,您已被移出聊天室。
+
+# LOCALIZATION NOTE (conversation.message.MUCShutdown):
+# These are displayed as a system message when a participant is removed from
+# a room because of a system shutdown.
+conversation.message.mucShutdown=由于系统关闭,您已被移出聊天室。
+
+# LOCALIZATION NOTE (conversation.message.version*):
+# %1$S is the name of the user whose version was requested.
+# %2$S is the client name response from the client.
+# %3$S is the client version response from the client.
+# %4$S is the operating system(OS) response from the client.
+conversation.message.version=%1$S 正在使用 "%2$S %3$S"。
+conversation.message.versionWithOS=%1$S 正在在 %4$S 上使用 "%2$S %3$S"。
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.resource=资源
+options.priority=优先级
+options.connectionSecurity=连接安全性
+options.connectionSecurity.requireEncryption=要求加密
+options.connectionSecurity.opportunisticTLS=如果可用,使用加密
+options.connectionSecurity.allowUnencryptedAuth=允许发送未经加密的密码
+options.connectServer=服务器
+options.connectPort=端口
+options.domain=域
+
+# LOCALIZATION NOTE (*.protocolName)
+# This name is used whenever the name of the protocol is shown.
+gtalk.protocolName=Google Talk
+odnoklassniki.protocolName=Odnoklassniki
+
+# LOCALIZATION NOTE (gtalk.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Google Talk account.
+gtalk.usernameHint=邮箱地址
+
+# LOCALIZATION NOTE (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 禁用了 XMPP 网关,因此不再支持 Google Talk。
+
+# 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=配置文件编号
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command.
+command.join3=%S [&lt;room&gt;[@&lt;server&gt;][/&lt;nick&gt;]] [&lt;password&gt;]: 加入一个聊天室,可以提供其他服务器、昵称和聊天室密码。
+command.part2=%S [&lt;message&gt;]: 使用可选的消息离开当前聊天室。
+command.topic=%S [&lt;new topic&gt;]: 设置此聊天室的主题。
+command.ban=%S &lt;昵称&gt;[&lt;消息&gt;]:封禁聊天室中的某人。您必须是聊天室的管理员才能执行。
+command.kick=%S &lt;昵称&gt;[&lt;消息&gt;]:踢走聊天室中的某人。您必须是聊天室的主持人才能执行。
+command.invite=%S &lt;jid&gt;[&lt;message&gt;]:邀请用户加入当前聊天室并留下消息。
+command.inviteto=%S &lt;聊天室 jid&gt;[&lt;密码&gt;]: 邀请您的聊天伙伴加入聊天室,如需要的话可输入密码。
+command.me=%S &lt;action to perform&gt;: Perform an action.
+command.nick=%S &lt;新昵称&gt;:更改您的昵称。
+command.msg=%S &lt;昵称&gt; &lt;消息&gt;:发送一条私信给聊天室中的某个参与者。
+command.version=%S:请求与您对话的同伴使用的客户端信息。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/yahoo.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/yahoo.properties
new file mode 100644
index 0000000000..b2373ab76d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/chat/yahoo.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+yahoo.disabled=Yahoo Messenger 已不再支持,因为 Yahoo 禁用了它们的旧版协议。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/communicator/utilityOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/communicator/utilityOverlay.dtd
new file mode 100644
index 0000000000..b53e875ce5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "文件">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "新建">
+<!ENTITY newMenu.accesskey "N">
+
+<!ENTITY editMenu.label "编辑">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY undoCmd.label "撤销">
+<!ENTITY undoCmd.accesskey "U">
+<!ENTITY redoCmd.label "重做">
+<!ENTITY redoCmd.accesskey "R">
+<!ENTITY deleteCmd.label "删除">
+<!ENTITY deleteCmd.accesskey "D">
+
+<!ENTITY customizeCmd.label "定制">
+<!ENTITY customizeCmd.accesskey "t">
+
+<!ENTITY viewMenu.label "查看">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY viewToolbarsMenu.label "显示/隐藏">
+<!ENTITY viewToolbarsMenu.accesskey "T">
+<!ENTITY showTaskbarCmd.label "状态栏">
+<!ENTITY showTaskbarCmd.accesskey "u">
+
+<!ENTITY closeCmd.label "关闭">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "C">
+
+<!ENTITY quitApplicationCmd.label "退出">
+<!ENTITY quitApplicationCmd.key "Q">
+<!ENTITY quitApplicationCmd.accesskey "x">
+
+<!ENTITY quitApplicationCmdUnix.label "退出">
+<!ENTITY quitApplicationCmdUnix.accesskey "Q">
+
+<!ENTITY quitApplicationCmdMac.label "退出 &brandShortName;">
+<!ENTITY quitApplicationCmdMac.accesskey "Q">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/accessibility.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/accessibility.properties
new file mode 100644
index 0000000000..31fc4be601
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/accessibility.properties
@@ -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 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=角色
+
+# LOCALIZATION NOTE (accessibility.name): A title text used for Accessibility
+# tree header column that represents accessible element name.
+accessibility.name=名称
+
+# LOCALIZATION NOTE (accessibility.logo): A title text used for Accessibility
+# logo used on the accessibility panel landing page.
+accessibility.logo=无障碍环境标志
+
+# LOCALIZATION NOTE (accessibility.properties): A title text used for header
+# for Accessibility details sidebar.
+accessibility.properties=属性
+
+# LOCALIZATION NOTE (accessibility.treeName): A title text used for
+# Accessibility tree (that represents accessible element name) container.
+accessibility.treeName=无障碍元素树
+
+# LOCALIZATION NOTE (accessibility.accessible.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=单击以选择无障碍元素树中的节点
+
+# 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=单击以选择查看器中的节点
+
+# LOCALIZATION NOTE (accessibility.accessible.notAvailable): A title text
+# displayed when accessible sidebar panel does not have an accessible object to
+# display.
+accessibility.accessible.notAvailable=没有无障碍环境信息
+
+# LOCALIZATION NOTE (accessibility.enable): A title text for Enable
+# accessibility button used to enable accessibility service.
+accessibility.enable=打开无障碍功能
+
+# LOCALIZATION NOTE (accessibility.enabling): A title text for Enable
+# accessibility button used when accessibility service is being enabled.
+accessibility.enabling=正在打开无障碍功能…
+
+# LOCALIZATION NOTE (accessibility.disable): A title text for Disable
+# accessibility button used to disable accessibility service.
+accessibility.disable=关闭无障碍功能
+
+# LOCALIZATION NOTE (accessibility.disabling): A title text for Disable
+# accessibility button used when accessibility service is being
+# disabled.
+accessibility.disabling=正在关闭无障碍功能…
+
+# LOCALIZATION NOTE (accessibility.pick): A title text for Picker button
+# button used to pick accessible objects from the page.
+accessibility.pick=从页面中选择无障碍对象
+
+# LOCALIZATION NOTE (accessibility.disable.disabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can not
+# be disabled. It is the case when a user is using a 3rd party accessibility
+# tool such as screen reader.
+accessibility.disable.disabledTitle=无法关闭无障碍服务。开发者工具以外的程序正在使用这项功能。
+
+# LOCALIZATION NOTE (accessibility.disable.enabledTitle): A title text used for
+# a tooltip for Disable accessibility button when accessibility service can be
+# disabled.
+accessibility.disable.enabledTitle=将关闭所有标签页和窗口的无障碍服务。
+
+# LOCALIZATION NOTE (accessibility.enable.disabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can not
+# be enabled.
+accessibility.enable.disabledTitle=无法打开无障碍服务。无障碍服务隐私偏好设置中强制关闭了这项功能。
+
+# LOCALIZATION NOTE (accessibility.enable.enabledTitle): A title text used for
+# a tooltip for Enabled accessibility button when accessibility service can be
+# enabled.
+accessibility.enable.enabledTitle=将打开所有标签页和窗口的无障碍服务。
+
+# LOCALIZATION NOTE (accessibility.learnMore): A text that is used as is or as textual
+# description in places that link to accessibility inspector documentation.
+accessibility.learnMore=详细了解
+
+# LOCALIZATION NOTE (accessibility.description.general.p1): A title text for the first
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.description.general.p1=无障碍环境检查器使您可以检查当前页面的无障碍功能树,屏幕阅读器和其他无障碍技术(辅助功能)使用这些信息。%S
+
+# LOCALIZATION NOTE (accessibility.description.general.p2): A title text for the second
+# paragraph, used when accessibility service description is provided before accessibility
+# inspector is enabled.
+accessibility.description.general.p2=无障碍环境功能可能影响其他开发者工具面板的性能,不使用时应当关闭。
+
+# LOCALIZATION NOTE (accessibility.tree.menu.printToJSON): A title text used when a
+# context menu item for printing an accessible tree to JSON is rendered after triggering a
+# context menu for an accessible tree row.
+accessibility.tree.menu.printToJSON=打印为 JSON
+
+# LOCALIZATION NOTE (accessibility.checks): A title text used for header for checks
+# section in Accessibility details sidebar.
+accessibility.checks=检查
+
+# LOCALIZATION NOTE (accessibility.checks.empty2): A title text used for indicating that
+# accessibility checks for a node yielded no results and another node should be
+# selected.
+accessibility.checks.empty2=不检查此节点。
+
+# LOCALIZATION NOTE (accessibility.contrast.header): A title text used for header for
+# checks related to color and contrast.
+accessibility.contrast.header=颜色和对比度
+
+# LOCALIZATION NOTE (accessibility.contrast.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.error=无法计算
+
+# LOCALIZATION NOTE (accessibility.contrast.large.text): A title text for the color
+# contrast ratio label indicating that the color contrast criteria used is if for large
+# text. This is lower case because it's used as a label for a tree item in accessibility
+# tree.
+accessibility.contrast.large.text=大号文本
+
+# LOCALIZATION NOTE (accessibility.contrast.large.title): A title text for the tooltip
+# used for the large text label (see accessibility.contrast.large.text).
+accessibility.contrast.large.title=文本为 14 点及以上的粗体,或 18 点及以上的大小。
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AA): A title text for the paragraph
+# describing that the given colour contrast satisfies AA standard from Web Content
+# Accessibility Guidelines. %S in the content will be replaced by a link at run time
+# with the accessibility.learnMore string.
+accessibility.contrast.annotation.AA=符合 WCAG AA 无障碍文本标准。%S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.AAA): A title text for the
+# paragraph describing that the given colour contrast satisfies AAA standard from Web
+# Content Accessibility Guidelines. %S in the content will be replaced by a link at run
+# time with the accessibility.learnMore string.
+accessibility.contrast.annotation.AAA=符合 WCAG AAA 无障碍文本标准。%S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.FAIL): A title text for the
+# paragraph describing that the given colour contrast fails to meet the minimum level from
+# Web Content Accessibility Guidelines. %S in the content will be replaced by a link at
+# run time with the accessibility.learnMore string.
+accessibility.contrast.annotation.FAIL=不符合 WCAG 无障碍文本标准。%S
+
+# LOCALIZATION NOTE (accessibility.contrast.annotation.transparent.error): A title text for the
+# paragraph suggesting a fix for error in color contrast calculation for text nodes with zero alpha.
+accessibility.contrast.annotation.transparent.error=挑选一种非透明颜色。
+
+# LOCALIZATION NOTE (accessibility.badges): A title text for the group of badges
+# that are rendered for each accessible row within the accessibility tree when
+# one or more accessibility checks fail.
+accessibility.badges=无障碍环境检查
+
+# LOCALIZATION NOTE (accessibility.filter.none): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# resets all filtering in tree, and for the simulation menu item that resets
+# applied color matrices to the default matrix.
+accessibility.filter.none=无
+
+# LOCALIZATION NOTE (accessibility.filter.all2): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on all accessibility failures within it.
+accessibility.filter.all2=所有问题
+
+# LOCALIZATION NOTE (accessibility.filter.contrast): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on contrast accessibility failures within it.
+accessibility.filter.contrast=对比度
+
+# LOCALIZATION NOTE (accessibility.filter.textLabel): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on text label and name accessibility failures within it.
+accessibility.filter.textLabel=文本标签
+
+# LOCALIZATION NOTE (accessibility.filter.keyboard): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a menu item that
+# filters the tree based on keyboard accessibility failures within it.
+accessibility.filter.keyboard=键盘
+
+# LOCALIZATION NOTE (accessibility.badge.contrast): A title text for the badge
+# that is rendered within the accessible row in the accessibility tree for a
+# given accessible object that does not satisfy the WCAG guideline for colour
+# contrast.
+accessibility.badge.contrast=对比度
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.warning): A label for the
+# badge and attached warning icon that is rendered within the accessible row in
+# the accessibility tree for a given accessible object that does not satisfy the
+# WCAG guideline for colour contrast.
+accessibility.badge.contrast.warning=对比度警告
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for
+# keyboard accessibility.
+accessibility.badge.keyboard=键盘
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel): A title text for the
+# badge that is rendered within the accessible row in the accessibility tree for
+# a given accessible object that does not satisfy the WCAG guideline for text
+# alternative.
+accessibility.badge.textLabel=文本标签
+
+# LOCALIZATION NOTE (accessibility.badge.contrast.tooltip): A title text for the
+# badge tooltip that is rendered on mouse hover over the badge in the accessible
+# row in the accessibility tree for a given accessible object that does not
+# satisfy the WCAG guideline for colour contrast.
+accessibility.badge.contrast.tooltip=不符合 WCAG 无障碍文本标准。
+
+# LOCALIZATION NOTE (accessibility.badge.keyboard.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for keyboard accessibility.
+accessibility.badge.keyboard.tooltip=不符合 WCAG 标准的键盘无障碍。
+
+# LOCALIZATION NOTE (accessibility.badge.textLabel.tooltip): A title text
+# for the badge tooltip that is rendered on mouse hover over the badge in the
+# accessible row in the accessibility tree for a given accessible object that
+# does not satisfy the WCAG guideline for text alternative.
+accessibility.badge.textLabel.tooltip=不符合 WCAG 标准的替代文本。
+
+# LOCALIZATION NOTE (accessibility.tree.filters): A title text for the toolbar
+# within the main accessibility panel that contains a list of filters to be for
+# accessibility audit.
+accessibility.tree.filters=检查问题:
+
+# LOCALIZATION NOTE (accessibility.tree.filters.prefs): A title text for the
+# preferences button tooltip that contains preferences for accessibility audit.
+accessibility.tree.filters.prefs=配置首选项
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is starting up.
+accessibility.progress.initializing=正在初始化…
+
+# LOCALIZATION NOTE (accessibility.progress.initializing): A title text for the
+# accessibility panel overlay shown when accessibility audit is running showing
+# the number of nodes being audited. Semi-colon list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+accessibility.progress.progressbar=检查 #1 个节点
+
+# LOCALIZATION NOTE (accessibility.progress.finishing): A title text for the
+# accessibility panel overlay shown when accessibility audit is finishing up.
+accessibility.progress.finishing=即将完成…
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.title): A title
+# text for the tooltip for the checkbox pref in the accessibility panel that
+# sets node auto scroll.
+accessibility.pref.scroll.into.view.title=自动将画面滚动到所选节点
+
+# LOCALIZATION NOTE (accessibility.pref.scroll.into.view.label): A title
+# text for the checkbox pref in the accessibility panel that sets node auto
+# scroll.
+accessibility.pref.scroll.into.view.label=将画面滚动到节点
+
+# LOCALIZATION NOTE (accessibility.documentation.label): This is the label for
+# the Documentation menu item.
+accessibility.documentation.label=文档…
+
+# LOCALIZATION NOTE (accessibility.simulation): A title text for the toolbar
+# within the main accessibility panel that contains a list of simulations for
+# vision deficiencies.
+accessibility.simulation=模拟:
+
+# LOCALIZATION NOTE (accessibility.simulation.protanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the protanopia simulation option.
+accessibility.simulation.protanopia=红色盲
+
+# LOCALIZATION NOTE (accessibility.simulation.deuteranopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the deuteranopia simulation option.
+accessibility.simulation.deuteranopia=绿色盲
+
+# LOCALIZATION NOTE (accessibility.simulation.tritanopia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the tritanopia simulation option.
+accessibility.simulation.tritanopia=蓝色盲
+
+# LOCALIZATION NOTE (accessibility.simulation.contrastLoss): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the contrast loss simulation option.
+# It is also shown in the simulation menu button in the accessibility panel and represent the
+# contrast loss simulation option currently selected.
+accessibility.simulation.contrastLoss=对比度损失
+
+# LOCALIZATION NOTE (accessibility.simulation.achromatopsia): This label is shown
+# in the "Simulate" menu in the accessibility panel and represent the achromatopsia simulation option.
+accessibility.simulation.achromatopsia=全色盲
+
+# LOCALIZATION NOTE (accessibility.toolbar.displayTabbingOrder.label): A title text for a checkbox label
+# in the accessibility panel toolbar that turns on/off the overlay of focusable elements in their
+# tabbing order.
+accessibility.toolbar.displayTabbingOrder.label=显示 Tab 键顺序
+
+# 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=显示元素的 Tab 键顺序和编号
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/animationinspector.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/animationinspector.properties
new file mode 100644
index 0000000000..7243a149a2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/animationinspector.properties
@@ -0,0 +1,182 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Animation inspector
+# which is available as a sidebar panel in the Inspector.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (panel.noAnimation):
+# This is the label shown in the panel when there are no displayable animations.
+# (e.g. In case of user selected a non-element node or a node that is not animated).
+panel.noAnimation=没有找到目前元素的动画。\n请选择页面中的其他元素。
+
+# LOCALIZATION NOTE (player.animationDurationLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation duration.
+player.animationDurationLabel=持续时间:
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in a tooltip on animation player widget, in case the
+# duration of the animation is infinite.
+player.infiniteDurationText=∞
+
+# LOCALIZATION NOTE (player.animationDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation delay.
+player.animationDelayLabel=延迟:
+
+# LOCALIZATION NOTE (player.animationEndDelayLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation endDelay.
+player.animationEndDelayLabel=结束延迟:
+
+# LOCALIZATION NOTE (player.animationRateLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the animation playback rate.
+player.animationRateLabel=播放速率
+
+# LOCALIZATION NOTE (player.animationIterationCountLabel):
+# This string is displayed in each animation player widget. It is the label
+# displayed before the number of times the animation is set to repeat.
+player.animationIterationCountLabel=重复:
+
+# LOCALIZATION NOTE (player.infiniteIterationCount):
+# In case the animation repeats infinitely, this string is displayed next to the
+# player.animationIterationCountLabel string, instead of a number.
+player.infiniteIterationCount=&#8734;
+
+# LOCALIZATION NOTE (player.infiniteIterationCountText):
+# See player.infiniteIterationCount for a description of what this is.
+# Unlike player.infiniteIterationCount, this string isn't used in HTML, but in
+# a tooltip.
+player.infiniteIterationCountText=∞
+
+# LOCALIZATION NOTE (player.animationIterationStartLabel2):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# iterationStart value.
+# %1$S will be replaced by the original iteration start value
+# %2$S will be replaced by the actual time of iteration start without time unit
+# e.g.
+# If iterationStart of animation is 0.5 and duration is 1 sec, the string will be
+# "Iteration start: 0.5 (0.5s)"
+player.animationIterationStartLabel2=迭代开始:%1$S (%2$S)
+
+# LOCALIZATION NOTE (player.animationOverallEasingLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the easing
+# that applies to a whole iteration of an animation as opposed to the
+# easing that applies between animation keyframes.
+player.animationOverallEasingLabel=全局缓动:
+
+# LOCALIZATION NOTE (player.animationTimingFunctionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the
+# animation-timing-function for CSS Animations.
+player.animationTimingFunctionLabel=动画定时函数:
+
+# LOCALIZATION NOTE (player.animationFillLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# fill mode value.
+player.animationFillLabel=填充:
+
+# LOCALIZATION NOTE (player.animationDirectionLabel):
+# This string is displayed in a tooltip that appears when hovering over
+# animations in the timeline. It is the label displayed before the animation
+# direction value.
+player.animationDirectionLabel=方向:
+
+# LOCALIZATION NOTE (player.timeLabel):
+# This string is displayed in each animation player widget, to indicate either
+# how long (in seconds) the animation lasts, or what is the animation's current
+# time (in seconds too);
+player.timeLabel=%S秒
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=∞
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1× being the default, 2× being twice as fast).
+player.playbackRateLabel=%S倍
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=此动画运行在动画合成器线程上
+
+# LOCALIZATION NOTE (player.allPropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is running on the compositor thread.
+player.allPropertiesOnCompositorTooltip=所有动画属性已优化
+
+# LOCALIZATION NOTE (player.somePropertiesOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that
+# all of animation is not running on the compositor thread.
+player.somePropertiesOnCompositorTooltip=一些动画属性已优化
+
+# LOCALIZATION NOTE (timeline.pausedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.pausedButtonTooltip=继续播放动画
+
+# LOCALIZATION NOTE (timeline.resumedButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# pause/resume button that can be used to pause or resume the animations
+timeline.resumedButtonTooltip=暂停播放动画
+
+# LOCALIZATION NOTE (timeline.rewindButtonTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# rewind button that can be used to rewind the animations
+timeline.rewindButtonTooltip=反向播放动画
+
+# LOCALIZATION NOTE (timeline.timeGraduationLabel):
+# This string is displayed at the top of the animation panel, next to each time
+# graduation, to indicate what duration (in milliseconds) this graduation
+# corresponds to.
+timeline.timeGraduationLabel=%S毫秒
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S — CSS 动画
+
+# LOCALIZATION NOTE (timeline.csstransition.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Transition in the timeline UI.
+# %S will be replaced by the name of the transition at run-time.
+timeline.csstransition.nameLabel=%S — CSS 过渡(Transition)
+
+# LOCALIZATION NOTE (timeline.scriptanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a script-generated animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.scriptanimation.nameLabel=%S — 脚本动画
+
+# LOCALIZATION NOTE (timeline.scriptanimation.unnamedLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over an unnamed script-generated animation in the timeline UI.
+timeline.scriptanimation.unnamedLabel=脚本动画
+
+# LOCALIZATION NOTE (timeline.unknown.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of an unknown animation type in the timeline UI.
+# This can happen if devtools couldn't figure out the type of the animation.
+# %S will be replaced by the name of the transition at run-time.
+timeline.unknown.nameLabel=%S
+
+# LOCALIZATION NOTE (detail.propertiesHeader.percentage):
+# This string is displayed on header label in .animated-properties-header.
+# %S represents the value in percentage with two decimal points, localized.
+# there are two "%" after %S to escape and display "%"
+detail.propertiesHeader.percentage=%S%%
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/boxmodel.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/boxmodel.properties
new file mode 100644
index 0000000000..d529c9cc5c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/boxmodel.properties
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE : FILE This file contains the Layout View strings.
+# The Layout View is a panel displayed in the computed view tab of the Inspector sidebar.
+
+# LOCALIZATION NOTE : FILE The correct localization of this file might be to
+# keep it in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (boxmodel.title) This is the title of the box model panel and is
+# displayed as a label.
+boxmodel.title=盒模型
+
+# LOCALIZATION NOTE: (boxmodel.geometryButton.tooltip) This label is displayed as a
+# tooltip that appears when hovering over the button that allows users to edit the
+# position of an element in the page.
+boxmodel.geometryButton.tooltip=编辑位置
+
+# LOCALIZATION NOTE: (boxmodel.propertiesLabel) This label is displayed as the header
+# for showing and collapsing the properties underneath the box model in the layout view
+boxmodel.propertiesLabel=盒模型属性
+
+# LOCALIZATION NOTE (boxmodel.propertiesHideLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently showing, it will say "Hide".
+boxmodel.propertiesHideLabel=隐藏
+
+# LOCALIZATION NOTE (boxmodel.propertiesShowLabel):
+# This is the spoken label for the twisty.
+# If the properties are currently hidden, it will say "Show".
+boxmodel.propertiesShowLabel=显示
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent) This label is displayed inside the list of
+# properties, below the box model, in the layout view. It is displayed next to the
+# position property, when position is absolute, relative, sticky. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent=偏移
+
+# LOCALIZATION NOTE: (boxmodel.offsetParent.title) This label is displayed as a
+# tooltip that appears when hovering over the offset label, inside the list of properties,
+# below the box model, in the layout view. This label tells users
+# what the DOM node previewed next to it is: an offset parent for the position element.
+boxmodel.offsetParent.title=选中元素的偏移基准
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/changes.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/changes.properties
new file mode 100644
index 0000000000..b851e2d7b6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/changes.properties
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the strings for the Changes panel accessible from
+# the Inspector sidebar.
+
+# LOCALIZATION NOTE (changes.noChanges): This text is shown when no changes are available.
+changes.noChanges=未发现更改。
+
+# LOCALIZATION NOTE (changes.noChangesDescription): This text is shown when no changes are
+# available and provides additional context for the purpose of the Changes panel.
+changes.noChangesDescription=在查看器中对 CSS 的更改将呈现于此处。
+
+# LOCALIZATION NOTE (changes.inlineStyleSheetLabel): This label appears in the Changes
+# panel above changes done to inline stylesheets. The variable will be replaced with the
+# index of the stylesheet within its document like so: Inline #1
+changes.inlineStyleSheetLabel=内联 %S
+
+# LOCALIZATION NOTE (changes.elementStyleLabel): This label appears in the Changes
+# panel above changes done to element styles.
+changes.elementStyleLabel=元素
+
+# LOCALIZATION NOTE (changes.iframeLabel): This label appears next to URLs of stylesheets
+# and element inline styles hosted by iframes. Lowercase intentional.
+changes.iframeLabel=iframe
+
+# LOCALIZATION NOTE (changes.contextmenu.copy): Label for "Copy" option in Changes panel
+# context menu
+changes.contextmenu.copy=复制
+
+# LOCALIZATION NOTE (changes.contextmenu.copy.accessKey): Access key for "Copy"
+# option in the Changes panel.
+changes.contextmenu.copy.accessKey=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=复制所有更改项
+
+# LOCALIZATION NOTE (changes.contextmenu.copyAllChangesDescription): Detailed explanation
+# for "Copy All Changes" option in Changes panel. Used as title attribute on "Copy All
+# Changes" button
+changes.contextmenu.copyAllChangesDescription=复制所有 CSS 更改项列表到剪贴板。
+
+# LOCALIZATION NOTE (changes.contextmenu.copyDeclaration): Label for "Copy Declaration"
+# option in Changes panel context menu which copies the target CSS declaration.
+changes.contextmenu.copyDeclaration=复制声明
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRule): Label for "Copy Rule" option in
+# Changes panel context menu which copies the complete contents of a CSS rule.
+changes.contextmenu.copyRule=复制规则
+
+# LOCALIZATION NOTE (changes.contextmenu.copyRuleDescription): Detailed explanation for
+# "Copy Rule" option in Changes panel. Used as title attribute on "Copy Rule" button.
+changes.contextmenu.copyRuleDescription=复制此 CSS 规则内容到剪贴板。
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll): Label for "Select All" option in the
+# Changes panel context menu to select all text content.
+changes.contextmenu.selectAll=全选
+
+# LOCALIZATION NOTE (changes.contextmenu.selectAll.accessKey): Access key for "Select All"
+# option in the Changes panel.
+changes.contextmenu.selectAll.accessKey=A
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/components.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/components.properties
new file mode 100644
index 0000000000..444961e134
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/components.properties
@@ -0,0 +1,61 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the shared React components,
+# so files in `devtools/client/shared/components/*`.
+
+# LOCALIZATION NOTE (frame.unknownSource): When we do not know the source filename of
+# a frame, we use this string instead.
+frame.unknownSource=(未知)
+
+# LOCALIZATION NOTE (frame.viewsourceindebugger): The label for the tooltip when hovering over
+# a source link that links to the debugger.
+# %S represents the URL to match in the debugger.
+frame.viewsourceindebugger=在调试器中查看源代码 → %S
+
+# LOCALIZATION NOTE (frame.viewsourceinstyleeditor): The label for the tooltip when hovering over
+# a source link that links to the Style Editor.
+# %S represents the URL to match in the style editor.
+frame.viewsourceinstyleeditor=在样式编辑器中查看源代码 → %S
+
+# LOCALIZATION NOTE (notificationBox.closeTooltip): The content of a tooltip that
+# appears when hovering over the close button in a notification box.
+notificationBox.closeTooltip=关闭此消息
+
+# 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=%S 面板已崩溃。
+
+# LOCALIZATION NOTE (appErrorBoundary.fileBugButton): This is the text that appears in
+# the button to visit the bug filing link.
+appErrorBoundary.fileBugButton=提交缺陷报告
+
+# LOCALIZATION NOTE (appErrorBoundary.reloadPanelInfo): This is the text that appears
+# after the panel errors to instruct the user to reload the panel.
+appErrorBoundary.reloadPanelInfo=请关闭重开工具箱以清除此错误。
+
+# LOCALIZATION NOTE(searchModifier.regExpModifier): A search option
+# when searching text in a file
+searchModifier.regExpModifier=使用正则表达式
+
+# LOCALIZATION NOTE(searchModifier.caseSensitiveModifier): A search option
+# when searching text in a file
+searchModifier.caseSensitiveModifier=区分大小写
+
+# LOCALIZATION NOTE(searchModifier.wholeWordModifier): A search option
+# when searching text in a file
+searchModifier.wholeWordModifier=全词匹配
+
+# LOCALIZATION NOTE (searchBox.clearButtonTitle): The title of the SearchBox clear input
+# button, which is displayed when the input is not empty.
+searchBox.clearButtonTitle=清除过滤条件输入
+
+# LOCALIZATION NOTE treeNode.collapseButtonTitle): The title of the Tree node toggle
+# button when the node is expanded.
+treeNode.collapseButtonTitle=折叠
+
+# LOCALIZATION NOTE treeNode.expandButtonTitle): The title of the Tree node toggle
+# button when the node is collapsed.
+treeNode.expandButtonTitle=展开
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/debugger.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/debugger.properties
new file mode 100644
index 0000000000..9a95724469
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/debugger.properties
@@ -0,0 +1,1132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Debugger
+# which is available from the Browser Tools sub-menu -> 'Debugger'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (collapseSources): This is the tooltip for the button
+# that collapses the Sources and Outlines panes in the debugger UI.
+collapseSources=折叠来源和大纲窗格
+
+# LOCALIZATION NOTE (collapseBreakpoints): This is the tooltip for the button
+# that collapses the Breakpoints panes in the debugger UI.
+collapseBreakpoints=折叠断点窗格
+
+# LOCALIZATION NOTE (copyToClipboard.label): This is the text that appears in the
+# context menu to copy the text that the user selected.
+copyToClipboard.label=复制到剪贴板
+copyToClipboard.accesskey=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=复制源文本
+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=复制源地址
+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=全部折叠
+
+# LOCALIZATION NOTE (expandAll.label): This is the text that appears in the
+# context menu to expand a directory and all of its subdirectories.
+expandAll.label=全部展开
+
+# LOCALIZATION NOTE (setDirectoryRoot.label): This is the text that appears in the
+# context menu to set a directory as root directory
+setDirectoryRoot.label=设置目录根
+setDirectoryRoot.accesskey=r
+
+# LOCALIZATION NOTE (removeDirectoryRoot.label): This is the text that appears in the
+# context menu to remove a directory as root directory
+removeDirectoryRoot.label=移除目录根
+
+# LOCALIZATION NOTE (ignoreAll.label): Text associated with the ignore context menu item
+ignoreAll.label=忽略
+
+# LOCALIZATION NOTE (ignoreAllInGroup.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected group
+ignoreAllInGroup.label=忽略此组中的文件
+
+# LOCALIZATION NOTE (unignoreAllInGroup.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected group
+unignoreAllInGroup.label=取消忽略此组中的文件
+
+# LOCALIZATION NOTE (ignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected group
+ignoreAllOutsideGroup.label=忽略此组以外的文件
+
+# LOCALIZATION NOTE (unignoreAllOutsideGroup.label): This is the text that appears in the
+# context submenu to unignore all files outside of the selected group
+unignoreAllOutsideGroup.label=取消忽略此组以外的文件
+
+# LOCALIZATION NOTE (ignoreAllInDir.label): This is the text that appears in the
+# context submenu to ignore all files inside of the selected directory
+ignoreAllInDir.label=忽略此目录中的文件
+
+# LOCALIZATION NOTE (unignoreAllInDir.label): This is the text that appears in the
+# context submenu to unignore all files inside of the selected directory
+unignoreAllInDir.label=取消忽略此目录中的文件
+
+# LOCALIZATION NOTE (ignoreAllOutsideDir.label): This is the text that appears in the
+# context submenu to ignore all files outside of the selected directory
+ignoreAllOutsideDir.label=忽略此目录以外的文件
+
+# LOCALIZATION NOTE (unignoreAllOutsideDir.label: This is the text that appears in the
+# context submenu to unignore all files outside of the selected directory
+unignoreAllOutsideDir.label=取消忽略此目录以外的文件
+
+# LOCALIZATION NOTE (copyFunction.label): This is the text that appears in the
+# context menu to copy the function the user selected
+copyFunction.label=复制函数
+copyFunction.accesskey=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=复制栈跟踪数据
+copyStackTrace.accesskey=c
+
+# LOCALIZATION NOTE (restartFrame): This is the text that appears in the
+# context menu to restart a frame.
+restartFrame=重新启动帧
+restartFrame.accesskey=r
+
+# LOCALIZATION NOTE (expandSources): This is the tooltip for the button
+# that expands the Sources and Outlines panes in the debugger UI.
+expandSources=展开来源和大纲窗格
+
+# LOCALIZATION NOTE (expandBreakpoints): This is the tooltip for the button
+# that expands the Breakpoints panes in the debugger UI.
+expandBreakpoints=展开断点窗格
+
+# LOCALIZATION NOTE (evaluateInConsole.label): Editor right-click menu item
+# to execute selected text in browser console.
+evaluateInConsole.label=在控制台中求值
+
+# LOCALIZATION NOTE (pauseButtonTooltip): The tooltip that is displayed for the pause
+# button when the debugger is in a running state.
+pauseButtonTooltip=点击暂停 (%S)
+
+# LOCALIZATION NOTE (pausePendingButtonTooltip): The tooltip that is displayed for
+# the pause button after it's been clicked but before the next JavaScript to run.
+pausePendingButtonTooltip=正在等待下次执行
+
+# LOCALIZATION NOTE (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=输出所有 JavaScript 帧跟踪信息到 %S。\n点击右键可更改输出。
+
+# 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=停止跟踪 JavaScript 帧。
+
+# LOCALIZATION NOTE (startTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar.
+# %1$S is for the key shortcut
+# %2$S is for the log output location (webconsole or stdout).
+startTraceButtonTooltip2=输出所有 JavaScript 帧跟踪信息到 %2$S。(%1$S)\n点击右键可更改输出。
+
+# LOCALIZATION NOTE (stopTraceButtonTooltip): The label that is displayed on the trace
+# button in the top of the debugger right sidebar. This label is only displayed when we are current tracing
+# JavaScript.
+# %S is for the key shortcut
+stopTraceButtonTooltip2=停止跟踪 JavaScript 帧。(%S)
+
+# LOCALIZATION NOTE (traceInWebConsole): The label that is displayed in the context menu
+# of the trace button, which is in the top of the debugger right sidebar.
+# This is used to force logging JavaScript traces in the Web Console.
+traceInWebConsole=在 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=在 stdout 中跟踪
+
+# LOCALIZATION NOTE (resumeButtonTooltip): The label that is displayed on the pause
+# button when the debugger is in a paused state.
+resumeButtonTooltip=点击恢复 (%S)
+
+# LOCALIZATION NOTE (stepOverTooltip): The label that is displayed on the
+# button that steps over a function call.
+stepOverTooltip=跨越 (%S)
+
+# LOCALIZATION NOTE (stepInTooltip): The label that is displayed on the
+# button that steps into a function call.
+stepInTooltip=步进 (%S)
+
+# LOCALIZATION NOTE (stepOutTooltip): The label that is displayed on the
+# button that steps out of a function call.
+stepOutTooltip=步出 (%S)
+
+# LOCALIZATION NOTE (skipPausingTooltip.label): The tooltip text for disabling all
+# breakpoints and pausing triggers
+skipPausingTooltip.label=停用断点
+
+# LOCALIZATION NOTE (undoSkipPausingTooltip.label): The tooltip text for enabling all
+# breakpoints and pausing triggers
+undoSkipPausingTooltip.label=激活断点
+
+# LOCALIZATION NOTE (pauseOnDebuggerStatement): The pause on debugger statement checkbox label
+pauseOnDebuggerStatement=在调试器语句上暂停
+
+# LOCALIZATION NOTE (pauseOnExceptionsItem2): The pause on exceptions checkbox description
+# when the debugger will pause on all exceptions.
+pauseOnExceptionsItem2=异常处暂停
+
+# LOCALIZATION NOTE (pauseOnCaughtExceptionsItem): The pause on exceptions checkbox description
+# when the debugger should pause on caught exceptions
+pauseOnCaughtExceptionsItem=捕获异常时也暂停
+
+# LOCALIZATION NOTE (threadsHeader): The text to describe the threads header
+threadsHeader=线程
+
+# LOCALIZATION NOTE (mainThread): The text to describe the thread of the
+# program as opposed to worker threads.
+mainThread=主线程
+
+# LOCALIZATION NOTE (pausedThread): The text to describe the status of paused threads
+pausedThread=已暂停
+
+# LOCALIZATION NOTE (noSourcesText): The text to display in the sources list
+# when there are no sources.
+noSourcesText=此页没有脚本源代码。
+
+# LOCALIZATION NOTE (ignoredSourcesHidden): Notification message displayed in the
+# sources list footer when ignored sources are hidden.
+ignoredSourcesHidden=已隐藏忽略的源代码。
+
+# 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=显示所有源代码
+
+# 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=显示此分支中所有被忽略的来源(当前隐藏)。
+
+# LOCALIZATION NOTE (eventListenersHeader1): The text to display in the events
+# header.
+eventListenersHeader1=事件监听器断点
+
+# LOCALIZATION NOTE (noDomMutationBreakpoints): The text to
+# display in the DOM Mutation Breakpoints pane when there are no events.
+# %S will be replaced by an active link using inspectorTool as text
+noDomMutationBreakpoints=右键单击 %S 中的元素,选择“打断点于…”即可添加断点
+
+# LOCALIZATION NOTE (inspectorTool): The text to describe the the Inspector tool
+inspectorTool=查看器
+
+# LOCALIZATION NOTE (eventListenersHeader1.placeholder): The placeholder text in
+# the event search input bar
+eventListenersHeader1.placeholder=按事件类型筛选
+
+# LOCALIZATION NOTE (domMutationHeader): The text to display in the
+# DOM Mutation Breakpoints header
+domMutationHeader=DOM Mutation 断点
+
+# LOCALIZATION NOTE (domMutationTypes.attribute): The text to display in the
+# DOM Mutation Breakpoints panel for an attribute change
+domMutationTypes.attribute=属性修改时
+
+# LOCALIZATION NOTE (domMutationTypes.removal): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM node removal
+domMutationTypes.removal=节点删除时
+
+# LOCALIZATION NOTE (domMutationTypes.subtree): The text to display in the
+# DOM Mutation Breakpoints panel for a DOM subtree change
+domMutationTypes.subtree=子树修改时
+
+# LOCALIZATION NOTE (sources.search.key2): Key shortcut to open the search for
+# searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+P", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.key2=CmdOrCtrl+P
+
+# LOCALIZATION NOTE (sources.search.alt.key): A second key shortcut to open the
+# search for searching all the source files the debugger has seen.
+# Do not localize "CmdOrCtrl+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sources.search.alt.key=CmdOrCtrl+O
+
+# LOCALIZATION NOTE (projectTextSearch.key): A key shortcut to open the
+# full project text search for searching all the files the debugger has seen.
+# Do not localize "CmdOrCtrl+Shift+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+projectTextSearch.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (allShortcut.key): A key shortcut to open the
+# modal of full shortcuts list.
+# Do not localize "CmdOrCtrl+/", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+allShortcut.key=CmdOrCtrl+/
+
+# LOCALIZATION NOTE (functionSearch.key): A key shortcut to open the
+# modal for searching functions in a file.
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+functionSearch.key=CmdOrCtrl+Shift+O
+
+# LOCALIZATION NOTE (toggleBreakpoint.key): A key shortcut to toggle
+# breakpoints.
+# Do not localize "CmdOrCtrl+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleBreakpoint.key=CmdOrCtrl+B
+
+# LOCALIZATION NOTE (toggleCondPanel.breakpoint.key): A key shortcut to toggle
+# the conditional panel for breakpoints.
+# Do not localize "CmdOrCtrl+Shift+B", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.breakpoint.key=CmdOrCtrl+Shift+B
+
+# LOCALIZATION NOTE (toggleCondPanel.logPoint.key): A key shortcut to toggle
+# the conditional panel for log points.
+# Do not localize "CmdOrCtrl+Shift+Y", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+toggleCondPanel.logPoint.key=CmdOrCtrl+Shift+Y
+
+# LOCALIZATION NOTE (stepOut.key): A key shortcut to
+# step out.
+stepOut.key=Shift+F11
+
+# LOCALIZATION NOTE (shortcuts.header.editor): Sections header in
+# the shortcuts modal for keyboard shortcuts related to editing.
+shortcuts.header.editor=编辑器
+
+# LOCALIZATION NOTE (shortcuts.header.stepping): Sections header in
+# the shortcuts modal for keyboard shortcuts related to stepping.
+shortcuts.header.stepping=步进
+
+# LOCALIZATION NOTE (shortcuts.header.search): Sections header in
+# the shortcuts modal for keyboard shortcuts related to search.
+shortcuts.header.search=搜索
+
+# LOCALIZATION NOTE (projectTextSearch.placeholder): A placeholder shown
+# when searching across all of the files in a project.
+projectTextSearch.placeholder=查找文件…
+
+# LOCALIZATION NOTE (projectTextSearch.excludePatterns.label): A label shown
+# above the exclude patterns field when searching across all of the files in a project.
+projectTextSearch.excludePatterns.label=要排除的文件
+
+# 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=例如:**/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=未找到结果
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltip=点击刷新搜索结果
+
+# LOCALIZATION NOTE (projectTextSearch.pageNavigated): Tooltip shown on the refresh
+# button, only when it is highlighted because the page navigated to a new document
+# and the results might be obsolete.
+projectTextSearch.refreshButtonTooltipOnNavigation=此页面已导航至新文档。点击刷新搜索结果
+
+# LOCALIZATION NOTE (projectTextSearch.sourceNoLongerAvailable): Tooltip message shown
+# on Text Search results when the related source no longer exists.
+# This typically happens after navigating or reloading the page and search results are obsolete.
+projectTextSearch.sourceNoLongerAvailable=此来源已不再可用。刷新搜索结果以获取最新来源。
+
+# LOCALIZATION NOTE (sourceSearch.search.key2): Key shortcut to open the search
+# for searching within a the currently opened files in the editor
+# Do not localize "CmdOrCtrl+F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+sourceSearch.search.key2=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder=文件中搜索…
+
+# LOCALIZATION NOTE (sourceSearch.search.placeholder2): placeholder text in
+# the source search input bar
+sourceSearch.search.placeholder2=文件中查找…
+
+# LOCALIZATION NOTE (sourceSearch.resultsSummary2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Shows a summary of the number of matches for autocomplete
+sourceSearch.resultsSummary2=#1 条结果
+
+# LOCALIZATION NOTE (breakpointHeadingMenuItem.*): The text for all the elements
+# that are displayed in the breakpoint headings menu item popup.
+breakpointHeadingsMenuItem.enableInSource.label=启用断点
+breakpointHeadingsMenuItem.enableInSource.accesskey=E
+breakpointHeadingsMenuItem.disableInSource.label=禁用断点
+breakpointHeadingsMenuItem.disableInSource.accesskey=D
+breakpointHeadingsMenuItem.removeInSource.label=移除断点
+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=启用
+breakpointMenuItem.enableSelf2.accesskey=E
+breakpointMenuItem.disableSelf2.label=禁用
+breakpointMenuItem.disableSelf2.accesskey=D
+breakpointMenuItem.deleteSelf2.label=移除
+breakpointMenuItem.deleteSelf2.accesskey=R
+breakpointMenuItem.disabledbg.label=永不在此处暂停
+breakpointMenuItem.enabledbg.label=在此处暂停
+breakpointMenuItem.enableOthers2.label=启用其他
+breakpointMenuItem.enableOthers2.accesskey=o
+breakpointMenuItem.disableOthers2.label=禁用其他
+breakpointMenuItem.disableOthers2.accesskey=s
+breakpointMenuItem.deleteOthers2.label=移除其他
+breakpointMenuItem.deleteOthers2.accesskey=h
+breakpointMenuItem.enableAll2.label=全部启用
+breakpointMenuItem.enableAll2.accesskey=b
+breakpointMenuItem.disableAll2.label=全部禁用
+breakpointMenuItem.disableAll2.accesskey=k
+breakpointMenuItem.deleteAll2.label=全部移除
+breakpointMenuItem.deleteAll2.accesskey=a
+breakpointMenuItem.removeCondition2.label=移除条件
+breakpointMenuItem.removeCondition2.accesskey=c
+breakpointMenuItem.addCondition2.label=添加条件
+breakpointMenuItem.addCondition2.accesskey=A
+breakpointMenuItem.editCondition2.label=编辑条件
+breakpointMenuItem.editCondition2.accesskey=n
+breakpointMenuItem.enableSelf=启用断点
+breakpointMenuItem.disableSelf=禁用断点
+breakpointMenuItem.deleteSelf=删除断点
+breakpointMenuItem.enableOthers=启用其他
+breakpointMenuItem.disableOthers=禁用其他
+breakpointMenuItem.deleteOthers=移除其他
+breakpointMenuItem.enableAll=启用所有断点
+breakpointMenuItem.disableAll=禁用所有断点
+breakpointMenuItem.deleteAll=移除所有断点
+breakpointMenuItem.disableAllAtLine.label=禁用此行的断点
+breakpointMenuItem.disableAllAtLine.accesskey=K
+breakpointMenuItem.enableAllAtLine.label=启用此行的断点
+breakpointMenuItem.enableAllAtLine.accesskey=L
+breakpointMenuItem.removeAllAtLine.label=移除此行的断点
+breakpointMenuItem.removeAllAtLine.accesskey=X
+
+# LOCALIZATION NOTE (breakpoints.header): Breakpoints right sidebar pane header.
+breakpoints.header=断点
+
+# LOCALIZATION NOTE (breakpoints.removeBreakpointTooltip): The tooltip that is displayed
+# for remove breakpoint button in right sidebar
+breakpoints.removeBreakpointTooltip=移除断点
+
+# LOCALIZATION NOTE (callStack.header): Call Stack right sidebar pane header.
+callStack.header=调用堆栈
+
+# LOCALIZATION NOTE (callStack.notPaused): Call Stack right sidebar pane
+# message when not paused.
+callStack.notPaused=未暂停
+
+# LOCALIZATION NOTE (callStack.collapse): Call Stack right sidebar pane
+# message to hide some of the frames that are shown.
+callStack.collapse=折叠行
+
+# LOCALIZATION NOTE (callStack.expand): Call Stack right sidebar pane
+# message to show more of the frames.
+callStack.expand=展开行
+
+# LOCALIZATION NOTE (callStack.group.expandTooltip): The text that will appear
+# when hovering a collapsed Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Show React frames`.
+callStack.group.expandTooltip=显示 %S 框架
+
+# LOCALIZATION NOTE (callStack.group.collapseTooltip): The text that will appear
+# when hovering an expanded Group of frames in the callStack panel. `frames` is
+# always plural since a group can only exist if it contain more that 1 frame.
+# %S is replaced by the name of the library of the frames in the group.
+# example: `Collapse React frames`.
+callStack.group.collapseTooltip=折叠 %S 框架
+
+# LOCALIZATION NOTE (editor.searchResults1): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Editor Search bar message to summarize the selected search result. e.g. 5 of 10 results.
+editor.searchResults1=第 %d 条,共 #1 条结果
+
+# LOCALIZATION NOTE (editor.noResultsFound): Editor Search bar message
+# for when no results found.
+editor.noResultsFound=未找到结果
+
+# LOCALIZATION NOTE (editor.searchResults.nextResult): Editor Search bar
+# tooltip for traversing to the Next Result
+editor.searchResults.nextResult=下一个结果
+
+# LOCALIZATION NOTE (editor.searchResults.prevResult): Editor Search bar
+# tooltip for traversing to the Previous Result
+editor.searchResults.prevResult=上一个结果
+
+# LOCALIZATION NOTE (editor.continueToHere.label): Editor gutter context
+# menu item for jumping to a new paused location
+editor.continueToHere.label=继续到此处
+editor.continueToHere.accesskey=H
+
+# LOCALIZATION NOTE (editor.addBreakpoint): Editor gutter context menu item
+# for adding a breakpoint on a line.
+editor.addBreakpoint=添加断点
+
+# LOCALIZATION NOTE (editor.disableBreakpoint): Editor gutter context menu item
+# for disabling a breakpoint on a line.
+editor.disableBreakpoint=禁用断点
+editor.disableBreakpoint.accesskey=D
+
+# LOCALIZATION NOTE (editor.enableBreakpoint): Editor gutter context menu item
+# for enabling a breakpoint on a line.
+editor.enableBreakpoint=启用断点
+
+# LOCALIZATION NOTE (editor.removeBreakpoint): Editor gutter context menu item
+# for removing a breakpoint on a line.
+editor.removeBreakpoint=移除断点
+
+# LOCALIZATION NOTE (editor.addConditionBreakpoint): Editor gutter context
+# menu item for adding a breakpoint condition on a line.
+editor.addConditionBreakpoint=添加条件
+editor.addConditionBreakpoint.accesskey=c
+
+# LOCALIZATION NOTE (editor.editConditionBreakpoint): Editor gutter context menu item
+# for setting a breakpoint condition on a line.
+editor.editConditionBreakpoint=编辑条件
+
+# LOCALIZATION NOTE (editor.addLogPoint): Editor gutter context
+# menu item for adding a log point on a line.
+editor.addLogPoint=添加记录
+editor.addLogPoint.accesskey=l
+
+# LOCALIZATION NOTE (editor.editLogPoint): Editor gutter context menu item
+# for editing a log point already set on a line.
+editor.editLogPoint=编辑记录
+editor.editLogPoint.accesskey=E
+
+# LOCALIZATION NOTE (editor.removeLogPoint): Context menu item for removing
+# a log point on a line.
+editor.removeLogPoint.label=移除记录点
+editor.removeLogPoint.accesskey=V
+
+# LOCALIZATION NOTE (editor.conditionalPanel.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component
+editor.conditionalPanel.placeholder2=断点条件,例如 items.length > 0
+
+# LOCALIZATION NOTE (editor.conditionalPanel.logPoint.placeholder2): Placeholder text for
+# input element inside ConditionalPanel component when a log point is set
+editor.conditionalPanel.logPoint.placeholder2=记录消息,例如 displayName
+
+# LOCALIZATION NOTE (editor.jumpToMappedLocation1): Context menu item
+# for navigating to a source mapped location
+editor.jumpToMappedLocation1=跳至%S位置
+editor.jumpToMappedLocation1.accesskey=m
+
+# LOCALIZATION NOTE (downloadFile.label): Context menu item
+# for downloading a source's content
+downloadFile.label=下载文件
+downloadFile.accesskey=d
+
+# LOCALIZATION NOTE (inlinePreview.show.label): Context menu item
+# for showing the inline preview blocks
+inlinePreview.show.label=显示内联预览
+
+# LOCALIZATION NOTE (inlinePreview.hide.label): Context menu item
+# for hiding the inline preview block
+inlinePreview.hide.label=隐藏内联预览
+
+# LOCALIZATION NOTE (inlinePreview.toggle.label): Context menu item
+# that will toggle display of inline preview
+inlinePreview.toggle.label=内联变量预览
+
+# LOCALIZATION NOTE (inlinePreview.toggle.tooltip): Context menu item
+# tooltip that will describe toggling inline preview
+inlinePreview.toggle.tooltip=在调试器编辑器中显示内联预览
+
+# LOCALIZATION NOTE (editorWrapping.show.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.show.label=自动换行
+
+# LOCALIZATION NOTE (editorWrapping.hide.label): Context menu item
+# for showing the wrap lines block
+editorWrapping.hide.label=不自动换行
+
+# LOCALIZATION NOTE (editorWrapping.toggle.label): Context menu item
+# label for toggling the lines wrapping feature
+editorWrapping.toggle.label=自动换行
+
+# LOCALIZATION NOTE (editorWrapping.toggle.tooltip): Context menu item
+# tooltip for toggling the lines wrapping feature
+editorWrapping.toggle.tooltip=调试器编辑器中自动换行
+
+# LOCALIZATION NOTE (settings.button.label): Label for Settings button
+settings.button.label=调试器设置
+
+# LOCALIZATION NOTE (settings.disableJavaScript.label): Context menu item
+# label for disabling JavaScript
+settings.disableJavaScript.label=禁用 JavaScript
+
+# LOCALIZATION NOTE (settings.disableJavaScript.tooltip): Context menu item
+# tooltip for disabling JavaScript
+settings.disableJavaScript.tooltip=禁用 JavaScript(需要刷新页面)
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.tooltip): Context menu item
+# tooltip for toggling the source maps feature
+settings.toggleSourceMaps.tooltip=启用源映射,让开发者工具除了加载程序生成的代码,也加载源代码。
+
+# LOCALIZATION NOTE (settings.toggleSourceMaps.label): Context menu item
+# label for toggling the source maps feature
+settings.toggleSourceMaps.label=源映射
+
+# LOCALIZATION NOTE (settings.hideIgnoredSources.tooltip): Context menu item
+# tooltip for hiding and showing all the ignored sources
+settings.hideIgnoredSources.tooltip=在“源代码”面板中隐藏所有忽略的源代码
+
+# 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=隐藏忽略的源代码
+
+# 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=忽略源映射的 x_google_ignoreList 字段中的所有源代码。
+
+# 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=忽略已知的第三方脚本
+
+# LOCALIZATION NOTE (preview.noProperties): Label shown in the preview
+# popup when there are no properties to show.
+preview.noProperties=无属性
+
+# LOCALIZATION NOTE (framework.disableGrouping): This is the text that appears in the
+# context menu to disable framework grouping.
+framework.disableGrouping=禁用框架分组
+framework.disableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (framework.enableGrouping): This is the text that appears in the
+# context menu to enable framework grouping.
+framework.enableGrouping=启用框架分组
+framework.enableGrouping.accesskey=u
+
+# LOCALIZATION NOTE (generated): Source Map term for a server source location
+generated=生成的
+
+# LOCALIZATION NOTE (original): Source Map term for a debugger UI source location
+original=原始
+
+# LOCALIZATION NOTE (expressions.placeholder): Placeholder text for expression
+# input element
+expressions.placeholder=添加监视表达式
+
+# LOCALIZATION NOTE (expressions.noOriginalScopes): Expressions right sidebar pane message
+# for when the`map variable names`is off and the debugger is paused in an original source
+expressions.noOriginalScopes=原始变量名映射已关闭,表达式的值可能不准确。
+
+# LOCALIZATION NOTE (expressions.errorMsg): Error text for expression
+# input element
+expressions.errorMsg=无效例外…
+expressions.label=添加监视表达式
+expressions.accesskey=e
+expressions.remove.tooltip=移除监视表达式
+
+# LOCALIZATION NOTE (xhrBreakpoints.header): The pause on any XHR breakpoints headings
+xhrBreakpoints.header=XHR 断点
+xhrBreakpoints.placeholder=中断于网址包含
+xhrBreakpoints.label=添加 XHR 断点
+
+# LOCALIZATION NOTE (xhrBreakpoints.removeAll.tooltip): For the `Remove all XHR breakpoints' button in the header of the XHR breakpoints panel
+xhrBreakpoints.removeAll.tooltip=移除所有 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=网址包含“%S”
+
+# LOCALIZATION NOTE (pauseOnAnyXHR): The pause on any XHR checkbox description
+# when the debugger will pause on any XHR requests.
+pauseOnAnyXHR=任何网址处暂停
+
+# LOCALIZATION NOTE (watchpoints.submenu): This is the text for the watchpoints sub-menu.
+watchpoints.submenu=打断点于…
+
+# LOCALIZATION NOTE (watchpoints.getWatchpoint): This is the text that appears in the
+# watchpoints sub-menu to add a "get" watchpoint on an object property.
+watchpoints.getWatchpoint=属性获取
+
+# LOCALIZATION NOTE (watchpoints.setWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.setWatchpoint=属性设置
+
+# LOCALIZATION NOTE (watchpoints.getOrSetWatchpoint): This is the text that appears in the
+# watchpoints submenu to add a "set" watchpoint on an object property.
+watchpoints.getOrSetWatchpoint=获取或设置属性
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpoint): This is the text that appears in the
+# context menu to delete a watchpoint on an object property.
+watchpoints.removeWatchpoint=移除监视点
+
+# LOCALIZATION NOTE (watchpoints.removeWatchpointTooltip): This is the text that appears in the
+# tooltip to delete a watchpoint on an object property.
+watchpoints.removeWatchpointTooltip=移除监视点
+
+# LOCALIZATION NOTE (sourceTabs.closeTab): Editor source tab context menu item
+# for closing the selected tab below the mouse.
+sourceTabs.closeTab=关闭标签页
+sourceTabs.closeTab.accesskey=c
+sourceTabs.closeTab.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (sourceTabs.closeOtherTabs): Editor source tab context menu item
+# for closing the other tabs.
+sourceTabs.closeOtherTabs=关闭其他标签页
+sourceTabs.closeOtherTabs.accesskey=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=关闭右侧标签页
+sourceTabs.closeTabsToEnd.accesskey=e
+
+# LOCALIZATION NOTE (sourceTabs.closeAllTabs): Editor source tab context menu item
+# for closing all tabs.
+sourceTabs.closeAllTabs=关闭所有标签页
+sourceTabs.closeAllTabs.accesskey=a
+
+# LOCALIZATION NOTE (sourceTabs.revealInTree): Editor source tab context menu item
+# for revealing source in tree.
+sourceTabs.revealInTree=树状显示
+sourceTabs.revealInTree.accesskey=r
+
+# LOCALIZATION NOTE (sourceTabs.prettyPrint): Editor source tab context menu item
+# for pretty printing the source.
+sourceTabs.prettyPrint=美化源代码
+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=文件已经过美化,无法二次美化
+
+# 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=文件已为可读,无法美化源代码
+
+# 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=无法美化有效源映射生成的代码。请使用源代码。
+
+# 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=文件空白,无法美化
+
+# 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=文件不是 JavaScript,无法美化
+
+# LOCALIZATION NOTE (sourceFooter.ignores): Tooltip text associated
+# with the ignores button
+sourceFooter.ignore=忽略源码
+
+# LOCALIZATION NOTE (sourceFooter.unignore): Tooltip text associated
+# with the ignore button
+sourceFooter.unignore=取消忽略源码
+
+# LOCALIZATION NOTE (sourceFooter.ignoreList): Tooltip text associated
+# with the ignore source button when the selected source is on the ignore list
+sourceFooter.ignoreList=此来源位于忽略列表。关闭`忽略已知的第三方脚本`选项可启用。
+
+# LOCALIZATION NOTE (editorNotificationFooter.noOriginalScopes): The notification message displayed in the editor notification footer
+# when paused in an original file and original variable mapping is turned off
+# %S is text from the label for checkbox to show original scopes
+editorNotificationFooter.noOriginalScopes=原始变量名映射已关闭,因此所有行内及悬浮提示预览均已禁用。点击“范围”面板中的 `%S` 复选框以开启。
+
+# LOCALIZATION NOTE (ignoreContextItem.ignore): Text associated
+# with the ignore context menu item
+ignoreContextItem.ignore=忽略源码
+ignoreContextItem.ignore.accesskey=I
+
+# LOCALIZATION NOTE (ignoreContextItem.unignore): Text associated
+# with the unignore context menu item
+ignoreContextItem.unignore=取消忽略源码
+ignoreContextItem.unignore.accesskey=U
+
+# LOCALIZATION NOTE (overridesContextItem.override): Text associated
+# with the add overrides context menu item
+overridesContextItem.override=添加覆盖脚本
+overridesContextItem.override.accesskey=o
+
+# LOCALIZATION NOTE (overridesContextItem.removeOverride): Text associated
+# with the remove override context menu item
+overridesContextItem.removeOverride=移除覆盖脚本
+overridesContextItem.removeOverride.accesskey=o
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLine): Text associated
+# with the ignore line context menu item
+ignoreContextItem.ignoreLine=忽略这行
+ignoreContextItem.ignoreLine.accesskey=l
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLine): Text associated
+# with the unignore line context menu item
+ignoreContextItem.unignoreLine=取消忽略这行
+ignoreContextItem.unignoreLine.accesskey=n
+
+# LOCALIZATION NOTE (ignoreContextItem.ignoreLines): Text associated
+# with the ignore lines context menu item
+ignoreContextItem.ignoreLines=忽略这些行
+ignoreContextItem.ignoreLines.accesskey=i
+
+# LOCALIZATION NOTE (ignoreContextItem.unignoreLines): Text associated
+# with the unignore lines context menu item
+ignoreContextItem.unignoreLines=取消忽略这些行
+ignoreContextItem.unignoreLines.accesskey=u
+
+# LOCALIZATION NOTE (sourceFooter.mappedSource): Text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSource=(来自 %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSourceTooltip): Tooltip text associated
+# with a mapped source. %S is replaced by the source map origin.
+sourceFooter.mappedSourceTooltip=(源代码映射自 %S)
+
+# LOCALIZATION NOTE (sourceFooter.mappedSuffix): Text associated
+# with a mapped source. Displays next to URLs in tree and tabs.
+sourceFooter.mappedSuffix=(已映射)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition=(行 %S,列 %S)
+
+# LOCALIZATION NOTE (sourceFooter.currentCursorPosition.tooltip): Text associated
+# with the current cursor line and column
+sourceFooter.currentCursorPosition.tooltip=(行 %1$S,列 %2$S)
+
+# LOCALIZATION NOTE (sourceTabs.closeTabButtonTooltip): The tooltip that is displayed
+# for close tab button in source tabs.
+sourceTabs.closeTabButtonTooltip=关闭标签页
+
+# LOCALIZATION NOTE (scopes.header): Scopes right sidebar pane header.
+scopes.header=作用域
+
+# LOCALIZATION NOTE (scopes.notAvailable): Scopes right sidebar pane message
+# for when the debugger is paused, but there isn't pause data.
+scopes.notAvailable=作用域不可用
+
+# LOCALIZATION NOTE (scopes.noOriginalScopes): Scopes right sidebar pane message
+# for when original variable mapping is disabled. This is only displayed when paused in an original source.
+# %S is text from the label for checkbox to show original scopes
+scopes.noOriginalScopes=原始变量名映射已关闭,因此无法显示作用域。点击上方的 `%S` 复选框以开启。
+
+# LOCALIZATION NOTE (scopes.loadingOriginalScopes): Scopes right sidebar pane message
+# for when the debugger is still loading the original variable mapping information.
+scopes.loadingOriginalScopes=正在加载原始源的变量…
+
+# LOCALIZATION NOTE (scopes.notPaused): Scopes right sidebar pane message
+# for when the debugger is not paused.
+scopes.notPaused=未暂停
+
+# LOCALIZATION NOTE (scopes.mapping.label): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.mapping.label=对应原始变量名
+
+# LOCALIZATION NOTE (eventlisteners.log.label): Event listeners tooltip for
+# checkbox and label
+eventlisteners.log.label=将事件记录到控制台
+
+# LOCALIZATION NOTE (eventlisteners.log): Checkbox label for logging events
+eventlisteners.log=记录
+
+# LOCALIZATION NOTE (scopes.helpTooltip.label): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.helpTooltip.label=详细了解 map scope
+
+# LOCALIZATION NOTE (scopes.map.label): Checkbox label to map scopes
+scopes.map.label=Map
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesHelpTooltip): Scopes right sidebar pane
+# icon tooltip for link to MDN
+scopes.showOriginalScopesHelpTooltip=详细了解映射变量和显示原始作用域
+
+# LOCALIZATION NOTE (scopes.showOriginalScopesTooltip): Scopes right sidebar pane
+# tooltip for checkbox and label
+scopes.showOriginalScopesTooltip=显示原始源中变量名映射的作用域。
+
+# LOCALIZATION NOTE (scopes.showOriginalScopes): Checkbox label to show original scopes
+scopes.showOriginalScopes=显示原始变量
+
+# LOCALIZATION NOTE (scopes.block): Refers to a block of code in
+# the scopes pane when the debugger is paused.
+scopes.block=块
+
+# LOCALIZATION NOTE (sources.header): Sources left sidebar header
+sources.header=来源
+
+# LOCALIZATION NOTE (outline.header): Outline left sidebar header
+outline.header=大纲
+
+# LOCALIZATION NOTE (search.header): Search left sidebar header
+search.header=搜索
+
+# LOCALIZATION NOTE (outline.placeholder): Placeholder text for the filter input
+# element
+outline.placeholder=过滤函数
+
+# LOCALIZATION NOTE (outline.sortLabel): Label for the sort button
+outline.sortLabel=按名称排序
+
+# LOCALIZATION NOTE (outline.noFunctions): Outline text when there are no functions to display
+outline.noFunctions=无函数
+
+# LOCALIZATION NOTE (outline.noFileSelected): Outline text when there are no files selected
+outline.noFileSelected=未选择文件
+
+# LOCALIZATION NOTE (sources.search): Sources left sidebar prompt
+# e.g. Cmd+P to search. On a mac, we use the command unicode character.
+# On windows, it's ctrl.
+sources.search=%S 以搜索
+
+# LOCALIZATION NOTE (watchExpressions.header): Watch Expressions right sidebar
+# pane header.
+watchExpressions.header=监视表达式
+
+# LOCALIZATION NOTE (watchExpressions.refreshButton): Watch Expressions header
+# button for refreshing the expressions.
+watchExpressions.refreshButton=刷新
+
+# LOCALIZATION NOTE (welcome.search): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search=%S 以搜索文件
+
+# LOCALIZATION NOTE (welcome.search2): The center pane welcome panel's
+# search prompt. e.g. cmd+p to search for files. On windows, it's ctrl, on
+# a mac we use the unicode character.
+welcome.search2=%S 转至指定文件
+
+# LOCALIZATION NOTE (welcome.findInFiles): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles=%S 在文件中查找
+
+# LOCALIZATION NOTE (welcome.findInFiles2): The center pane welcome panel's
+# search prompt. e.g. cmd+f to search for files. On windows, it's ctrl+shift+f, on
+# a mac we use the unicode character.
+welcome.findInFiles2=%S 所有文件中查找
+
+# LOCALIZATION NOTE (welcome.allShortcuts): The label to open the modal of
+# shortcuts, displayed in the welcome panel.
+welcome.allShortcuts=显示所有快捷方式
+
+# LOCALIZATION NOTE (sourceSearch.search): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search=搜索…
+
+# LOCALIZATION NOTE (sourceSearch.search2): The center pane Source Search
+# prompt for searching for files.
+sourceSearch.search2=跳转到行…
+
+# LOCALIZATION NOTE (pauseOnExceptions): The pause on exceptions button tooltip
+# when the debugger will pause on all exceptions.
+pauseOnExceptions=将在所有异常处暂停。单击可忽略异常
+
+# LOCALIZATION NOTE (loadingText): The text that is displayed in the script
+# editor when the loading process has started but there is no file to display
+# yet.
+loadingText=正在加载…
+
+# LOCALIZATION NOTE (wasmIsNotAvailable): The text that is displayed in the
+# script editor when the WebAssembly source is not available.
+wasmIsNotAvailable=请刷新以排查此模块的故障
+
+# LOCALIZATION NOTE (errorLoadingText3): The text that is displayed in the debugger
+# viewer when there is an error loading a file
+errorLoadingText3=加载此地址出错:%S
+
+# LOCALIZATION NOTE(gotoLineModal.placeholder): The placeholder
+# text displayed when the user searches for specific lines in a file
+gotoLineModal.placeholder=跳转到行…
+
+# LOCALIZATION NOTE(gotoLineModal.title): The message shown to users
+# to open the go to line modal
+gotoLineModal.title=转到文件的某一行
+
+# LOCALIZATION NOTE(gotoLineModal.key3): The shortcut for opening the
+# go to line modal
+# Do not localize "Ctrl+G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+gotoLineModal.key3=Ctrl+G
+
+# LOCALIZATION NOTE(symbolSearch.search.functionsPlaceholder): The placeholder
+# text displayed when the user searches for functions in a file
+symbolSearch.search.functionsPlaceholder=搜索函数…
+symbolSearch.search.functionsPlaceholder.title=在文件中查找函数
+
+# LOCALIZATION NOTE(symbolSearch.search.variablesPlaceholder): The placeholder
+# text displayed when the user searches for variables in a file
+symbolSearch.search.variablesPlaceholder=搜索变量…
+symbolSearch.search.variablesPlaceholder.title=在文件中查找变量
+
+# LOCALIZATION NOTE(symbolSearch.search.key2): The Key Shortcut for
+# searching for a function or variable
+# Do not localize "CmdOrCtrl+Shift+O", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+symbolSearch.search.key2=CmdOrCtrl+Shift+O
+
+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=(异步:%S)
+
+# LOCALIZATION NOTE (shortcuts.toggleBreakpoint): text describing
+# keyboard shortcut action for toggling breakpoint
+shortcuts.toggleBreakpoint=切换断点
+shortcuts.toggleBreakpoint.accesskey=B
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.breakpoint): text describing
+# keyboard shortcut action for toggling conditional panel for breakpoints
+shortcuts.toggleCondPanel.breakpoint=编辑条件断点
+
+# LOCALIZATION NOTE (shortcuts.toggleCondPanel.logPoint): text describing
+# keyboard shortcut action for toggling conditional panel for log points
+shortcuts.toggleCondPanel.logPoint=编辑记录点
+
+# LOCALIZATION NOTE (shortcuts.pauseOrResume): text describing
+# keyboard shortcut action for pause of resume
+shortcuts.pauseOrResume=暂停/恢复
+
+# LOCALIZATION NOTE (shortcuts.stepOver): text describing
+# keyboard shortcut action for stepping over
+shortcuts.stepOver=单步执行
+
+# LOCALIZATION NOTE (shortcuts.stepIn): text describing
+# keyboard shortcut action for stepping in
+shortcuts.stepIn=步进
+
+# LOCALIZATION NOTE (shortcuts.stepOut): text describing
+# keyboard shortcut action for stepping out
+shortcuts.stepOut=步出
+
+# LOCALIZATION NOTE (shortcuts.fileSearch): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch=源文件搜索
+
+# LOCALIZATION NOTE (shortcuts.fileSearch2): text describing
+# keyboard shortcut action for source file search
+shortcuts.fileSearch2=跳转到文件
+
+# LOCALIZATION NOTE (shortcuts.gotoLine): text describing
+# keyboard shortcut for jumping to a specific line
+shortcuts.gotoLine=转至指定行
+
+# LOCALIZATION NOTE (shortcuts.projectSearch): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch=全项目搜索
+
+# LOCALIZATION NOTE (shortcuts.projectSearch2): text describing
+# keyboard shortcut action for full project search
+shortcuts.projectSearch2=文件中查找
+
+# LOCALIZATION NOTE (shortcuts.functionSearch): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch=函数搜索
+
+# LOCALIZATION NOTE (shortcuts.functionSearch2): text describing
+# keyboard shortcut action for function search
+shortcuts.functionSearch2=查找函数
+
+# LOCALIZATION NOTE (shortcuts.buttonName): text describing
+# keyboard shortcut button text
+shortcuts.buttonName=键盘快捷键
+
+# LOCALIZATION NOTE (variablesSeparatorLabel): The text that is displayed
+# in the variables list as a separator between the name and value.
+variablesSeparatorLabel=:
+variablesViewOptimizedOut=(已优化掉)
+variablesViewUninitialized=(未初始化)
+variablesViewMissingArgs=(不可用)
+
+# LOCALIZATION NOTE (variablesDomNodeValueTooltip): The text that is displayed
+# in a tooltip on the "open in inspector" button in the the variables list for a
+# DOMNode item.
+variablesDomNodeValueTooltip=单击以在查看器中选择节点
+
+# LOCALIZATION NOTE (variablesEditButtonTooltip): The text that is displayed
+# in the variables list on a getter or setter which can be edited.
+variablesEditButtonTooltip=单击设置值
+
+# LOCALIZATION NOTE (variablesViewErrorStacktrace): This is the text that is
+# shown before the stack trace in an error.
+variablesViewErrorStacktrace=栈跟踪:
+
+# LOCALIZATION NOTE (variablesViewMoreObjects): the text that is displayed
+# when you have an object preview that does not show all of the elements. At the end of the list
+# you see "N more..." in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of remaining items in the object
+# example: 3 more…
+variablesViewMoreObjects=等 #1 项…
+
+# LOCALIZATION NOTE (variablesEditableNameTooltip): The text that is displayed
+# in the variables list on an item with an editable name.
+variablesEditableNameTooltip=双击编辑
+
+# LOCALIZATION NOTE (variablesEditableValueTooltip): The text that is displayed
+# in the variables list on an item with an editable value.
+variablesEditableValueTooltip=点击更改值
+
+# LOCALIZATION NOTE (variablesCloseButtonTooltip): The text that is displayed
+# in the variables list on an item which can be removed.
+variablesCloseButtonTooltip=点击移除
+
+# LOCALIZATION NOTE (configurable|...|Tooltip): The text that is displayed
+# in the variables list on certain variables or properties as tooltips.
+# Explanations of what these represent can be found at the following links:
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen
+# https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed
+# It's probably best to keep these in English.
+configurableTooltip=可配置
+enumerableTooltip=可枚举
+writableTooltip=可写
+frozenTooltip=冻结
+sealedTooltip=密封
+extensibleTooltip=可展开
+overriddenTooltip=被覆盖
+WebIDLTooltip=WebIDL
+
+# LOCALIZATION NOTE (serviceWorkerInfo.parsed): State displayed for a service
+# worker that has been parsed.
+serviceWorkerInfo.parsed=已解析
+# LOCALIZATION NOTE (serviceWorkerInfo.installing): State displayed for a
+# service worker that is being installed.
+serviceWorkerInfo.installing=正在安装
+# LOCALIZATION NOTE (serviceWorkerInfo.installed): State displayed for a
+# service worker that has finished being installed.
+serviceWorkerInfo.installed=已安装
+# LOCALIZATION NOTE (serviceWorkerInfo.activating): State displayed for a
+# service worker that is being activated.
+serviceWorkerInfo.activating=正在激活...
+# LOCALIZATION NOTE (serviceWorkerInfo.activated): State displayed for a
+# service worker that has finished being activated.
+serviceWorkerInfo.activated=已激活
+# LOCALIZATION NOTE (serviceWorkerInfo.redundant): State displayed for a
+# service worker that is redundant.
+serviceWorkerInfo.redundant=废弃
+# LOCALIZATION NOTE (serviceWorkerInfo.unknown): State displayed for a
+# service worker that is in an unknown state.
+serviceWorkerInfo.unknown=未知
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/device.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/device.properties
new file mode 100644
index 0000000000..81f8c5ffbb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=手机
+device.tablets=平板电脑
+device.laptops=笔记本电脑
+device.televisions=电视
+device.consoles=游戏机
+device.watches=手表
+device.custom=自定义
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/dom.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/dom.properties
new file mode 100644
index 0000000000..78eb500cf6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=过滤 DOM 面板
+
+# LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
+# DOM panel toolbar
+dom.refresh=刷新
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/filterwidget.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/filterwidget.properties
new file mode 100644
index 0000000000..de8ab07532
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=未指定过滤器
+
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=你没有任何预设的筛选器。您可以设置名称后将筛选器保存起来,方便在需要时快速使用或重复利用。
+
+# LOCALIZATION NOTE (addUsingList):
+# This string is displayed under [emptyFilterList] when filter's
+# list is empty, guiding user to add a filter using the list below it
+addUsingList=使用下面的列表添加一个过滤器
+
+# LOCALIZATION NOTE (dropShadowPlaceholder):
+# This string is used as a placeholder for drop-shadow's input
+# in the filter list (shown when <input> is empty)
+dropShadowPlaceholder=x y 半径颜色
+
+# LOCALIZATION NOTE (dragHandleTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# drag handles of filters which are used to re-order filters
+dragHandleTooltipText=向上或向下拖动以重新排序过滤器
+
+# LOCALIZATION NOTE (labelDragTooltipText):
+# This string is used as a tooltip text (shown on mouse hover) on the
+# filters' labels which can be dragged left/right to increase/decrease
+# the filter's value (like photoshop)
+labelDragTooltipText=向左或向右拖动以增减其值
+
+# LOCALIZATION NOTE (filterListSelectPlaceholder):
+# This string is used as a preview option in the list of possible filters
+# <select>
+filterListSelectPlaceholder=选择一个过滤器
+
+# LOCALIZATION NOTE (addNewFilterButton):
+# This string is displayed on a button used to add new filters
+addNewFilterButton=添加
+
+# LOCALIZATION NOTE (newPresetPlaceholder):
+# This string is used as a placeholder in the list of presets which is used to
+# save a new preset
+newPresetPlaceholder=预设名称
+
+# LOCALIZATION NOTE (savePresetButton):
+# This string is displayed on a button used to save a new preset
+savePresetButton=保存
+
+# LOCALIZATION NOTE(presetsToggleButton):
+# This string is used in a button which toggles the presets list
+presetsToggleButton=预设
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/font-inspector.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/font-inspector.properties
new file mode 100644
index 0000000000..144805e8a1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/font-inspector.properties
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Font Inspector strings.
+# The Font Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (fontinspector.system) This label indicates that the font is a local
+# system font.
+fontinspector.system=系统
+
+# LOCALIZATION NOTE (fontinspector.noFontsUsedOnCurrentElement): This label is shown when
+# no fonts were used on the selected element.
+fontinspector.noFontsUsedOnCurrentElement=此元素中未使用字体。
+
+# LOCALIZATION NOTE (fontinspector.copyURL): This is the text that appears in a tooltip
+# displayed when the user hovers over the copy icon next to the font URL.
+# Clicking the copy icon copies the full font URL to the user's clipboard
+fontinspector.copyURL=复制链接
+
+# LOCALIZATION NOTE (fontinspector.customInstanceName): Think of instances as presets
+# (groups of settings that apply in bulk to a thing). Instances have names. When the user
+# creates a new instance, it doesn't have a name. This is the text that appears as the
+# default name for a new instance. It shows up in a dropdown from which users can select
+# between predefined instances and this custom instance.
+fontinspector.customInstanceName=自定义
+
+# LOCALIZATION NOTE (fontinspector.fontInstanceLabel): This label is shown next to the UI
+# in the font editor which allows a user to select a font instance option from a
+# dropdown. An instance is like a preset. A "font instance" is the term used by the font
+# authors to mean a group of predefined font settings.
+fontinspector.fontInstanceLabel=实例
+
+# LOCALIZATION NOTE (fontinspector.fontSizeLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font size.
+fontinspector.fontSizeLabel=字号
+
+# LOCALIZATION NOTE (fontinspector.fontWeightLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the font weight.
+fontinspector.fontWeightLabel=字重
+
+# LOCALIZATION NOTE (fontinspector.fontItalicLabel): This label is shown next to the UI
+# in the font editor which allows the user to change the style of the font to italic.
+fontinspector.fontItalicLabel=斜体
+
+# LOCALIZATION NOTE (fontinspector.showMore): Label for a collapsed list of fonts.
+fontinspector.showMore=显示更多
+
+# LOCALIZATION NOTE (fontinspector.showLess): Label for an expanded list of fonts.
+fontinspector.showLess=折叠
+
+# LOCALIZATION NOTE (fontinspector.letterSpacingLabel): Label for the UI to change the
+# letter spacing in the font editor.
+fontinspector.letterSpacingLabel=间距
+
+# LOCALIZATION NOTE (fontinspector.lineHeightLabelCapitalized): Label for the UI to change the line height in the font editor.
+fontinspector.lineHeightLabelCapitalized=行高
+
+# LOCALIZATION NOTE (fontinspector.allFontsOnPageHeader): Header for the section listing
+# all the fonts on the current page.
+fontinspector.allFontsOnPageHeader=页面上的所有字体
+
+# LOCALIZATION NOTE (fontinspector.fontsUsedLabel): Label for the Font Editor section
+# which shows the fonts used on the selected element.
+fontinspector.fontsUsedLabel=所用字体
+
+# LOCALIZATION NOTE (fontinspector.previewTextPlaceholder): Placeholder for the input
+# where the user can type text to get a preview of it using a font.
+fontinspector.previewTextPlaceholder=字体预览文本
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/har.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/har.properties
new file mode 100644
index 0000000000..26496a7aef
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=不包括响应主体。
+
+# LOCALIZATION NOTE (har.responseBodyNotIncluded): A label used within
+# HAR file explaining that HTTP request bodies are not includes
+# in exported data.
+har.requestBodyNotIncluded=不包括请求主体。
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/inspector.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/inspector.properties
new file mode 100644
index 0000000000..0e0c579d09
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/inspector.properties
@@ -0,0 +1,602 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Inspector
+# which is available from the Browser Tools sub-menu -> 'Inspect'.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+inspector.panelLabel.markupView=标记视图
+
+# LOCALIZATION NOTE (markupView.more.showing)
+# When there are too many nodes to load at once, we will offer to
+# show all the nodes.
+markupView.more.showing=一些节点已隐藏。
+
+# LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+markupView.more.showAll2=显示全部 #1 个节点
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly.label)
+# Used in the badge that appears when whitespace-only text nodes are displayed in the
+# inspector.
+markupView.whitespaceOnly.label=空白
+
+# LOCALIZATION NOTE (markupView.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=不可用
+
+# 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=当前浏览器工具箱模式下,无法显示此元素的子元素
+
+# LOCALIZATION NOTE (markupView.whitespaceOnly)
+# Used in a tooltip that appears when the user hovers over whitespace-only text nodes in
+# the inspector. %S in the content will be replaced by the whitespace characters used in
+# the text node.
+markupView.whitespaceOnly=仅空白的文本节点:%S
+
+# LOCALIZATION NOTE (markupView.display.flex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flex.tooltiptext2=此元素行为与块级元素相似,并根据弹性盒(Flexbox)模型布局其内容。单击即可切换此元素的弹性盒叠加层。
+
+# LOCALIZATION NOTE (markupView.display.inlineFlex.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineFlex.tooltiptext2=此元素行为与内联元素相似,并根据弹性盒(Flexbox)模型布局其内容。单击即可切换此元素的弹性盒叠加层。
+
+# LOCALIZATION NOTE (markupView.display.grid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.grid.tooltiptext2=此元素行为与块级元素相似,并根据网格(Grid)模型布局其内容。单击即可切换此元素的网格叠加层。
+
+# LOCALIZATION NOTE (markupView.display.inlineGrid.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.inlineGrid.tooltiptext2=此元素行为与内联元素相似,并根据网格(Grid)模型布局其内容。单击即可切换此元素的网格叠加层。
+
+# 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=此元素根据网格模型布局其内容,但其行和(或)列交由其上层网格容器定义。
+
+# LOCALIZATION NOTE (markupView.display.flowRoot.tooltiptext)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.flowRoot.tooltiptext=此元素会产生块级元素盒子,建立新的块级格式上下文。
+
+# LOCALIZATION NOTE (markupView.display.contents.tooltiptext2)
+# Used in a tooltip that appears when the user hovers over the display type button in
+# the markup view.
+markupView.display.contents.tooltiptext2=此元素本身不会产生特定的框,但会呈现其内容。
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext=事件监听器
+
+# LOCALIZATION NOTE (markupView.event.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'event' badge in
+# the markup view.
+markupView.event.tooltiptext2=单击以显示此元素的事件监听器
+
+# LOCALIZATION NOTE (markupView.custom.tooltiptext)
+# Used in a tooltip that appears when the user hovers over 'custom' badge in
+# the markup view. Only displayed on custom elements with a shadow root attached.
+markupView.custom.tooltiptext=显示自定义元素定义
+
+# LOCALIZATION NOTE (markupView.newAttribute.label)
+# This is used to speak the New Attribute button when editing a tag
+# and a screen reader user tabs to it. This string is not visible onscreen.
+markupView.newAttribute.label=新建属性
+
+# LOCALIZATION NOTE (markupView.revealLink.tooltip)
+# Used as a tooltip for an icon in the markup view when displaying elements inserted in
+# <slot> nodes in a custom component. When clicking on the icon, the corresponding
+# non-slotted container will be selected
+markupView.revealLink.tooltip=显示
+
+#LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
+previewTooltip.image.brokenImage=无法加载此图像
+
+# LOCALIZATION NOTE: Used in color picker tooltip when the eyedropper is disabled for
+# non-HTML documents
+eyedropper.disabled.title=非 HTML 文档中不可用
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger=用调试器打开
+
+# LOCALIZATION NOTE: Used in the event tooltip for the toggle button.
+# Parameter is the event type (e.g. "click")
+eventsTooltip.toggleButton.label=“%S”事件监听器代码
+
+#LOCALIZATION NOTE: Used in the event tooltip to allow the debugger to be opened
+eventsTooltip.openInDebugger2=在调试器中打开“%S”
+
+#LOCALIZATION NOTE: Used in the event tooltip when a script's filename cannot be detected
+eventsTooltip.unknownLocation=未知位置
+
+#LOCALIZATION NOTE: Used in the mouseover tooltip when hovering "Unknown location."
+eventsTooltip.unknownLocationExplanation=无法检测此监听器的原始位置。也许代码来自一个实用工具,例如 Babel。
+
+# LOCALIZATION NOTE: Label for the checkbox in the event tooltip that toggles event listeners
+# Parameter is the event type (e.g. "click")
+eventsTooltip.toggleListenerLabel=启用“%S”事件监听器
+
+#LOCALIZATION NOTE: Used in the tooltip for Bubbling
+eventsTooltip.Bubbling=冒泡
+
+#LOCALIZATION NOTE: Used in the tooltip for Capturing
+eventsTooltip.Capturing=捕获
+
+# LOCALIZATION NOTE: Title of the iframe we use in the event tooltip to display the code of
+# the event listener. Parameter is the event type (e.g. "click")
+eventsTooltip.codeIframeTitle=“%S”事件监听器代码
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=显示所有标签页
+
+# LOCALIZATION NOTE (inspector.showThreePaneMode): This is the tooltip for the button
+# that toggles on the 3 pane inspector mode.
+inspector.showThreePaneMode=打开三栏查看器
+
+# LOCALIZATION NOTE (inspector.hideThreePaneMode): This is the tooltip for the button
+# that toggles off the 3 pane inspector mode.
+inspector.hideThreePaneMode=关闭三栏查看器
+
+# LOCALIZATION NOTE (inspector.searchResultsCount2): This is the label that
+# will show up next to the inspector search box. %1$S is the current result
+# index and %2$S is the total number of search results. For example: "3 of 9".
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsCount2=%1$S / %2$S
+
+# LOCALIZATION NOTE (inspector.searchResultsNone): This is the label that
+# will show up next to the inspector search box when no matches were found
+# for the given string.
+# This won't be visible until the search box is updated in Bug 835896.
+inspector.searchResultsNone=无匹配
+
+# LOCALIZATION NOTE (inspector.menu.openUrlInNewTab.label): This is the label of
+# a menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is a URL, and that
+# allows to open that URL in a new tab.
+inspector.menu.openUrlInNewTab.label=新建标签页打开链接
+
+# LOCALIZATION NOTE (inspector.menu.copyUrlToClipboard.label): This is the label
+# of a menu item in the inspector contextual-menu that appears when the user
+# right-clicks on the attribute of a node in the inspector that is a URL, and
+# that allows to copy that URL in the clipboard.
+inspector.menu.copyUrlToClipboard.label=复制链接地址
+
+# LOCALIZATION NOTE (inspector.menu.selectElement.label): This is the label of a
+# menu item in the inspector contextual-menu that appears when the user right-
+# clicks on the attribute of a node in the inspector that is the ID of another
+# element in the DOM (like with <label for="input-id">), and that allows to
+# select that element in the inspector.
+inspector.menu.selectElement.label=选择元素 #%S
+
+# LOCALIZATION NOTE (inspectorEditAttribute.label): This is the label of a
+# sub-menu "Attribute" in the inspector contextual-menu that appears
+# when the user right-clicks on the node in the inspector, and that allows
+# to edit an attribute on this node.
+inspectorEditAttribute.label=编辑属性 %S
+inspectorEditAttribute.accesskey=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=移除属性 %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=复制属性值“%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=单击以在页面中高亮显示此节点
+
+# 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=编辑 XML
+inspectorHTMLEdit.label=编辑 HTML
+inspectorSVGEdit.label=编辑 SVG
+inspectorMathMLEdit.label=编辑 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
+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
+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=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=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=X
+
+# LOCALIZATION NOTE (inspectorPasteOuterHTML.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users paste outer
+# HTML in the current node
+inspectorPasteOuterHTML.label=整体 HTML
+inspectorPasteOuterHTML.accesskey=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
+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=在之前
+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=在之后
+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=作为首个子节点
+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=作为最后子节点
+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=画面滚动到节点
+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=删除节点
+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=属性
+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=添加属性
+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=更改伪类
+
+# LOCALIZATION NOTE (inspectorBreakpointSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the DOM breakpoints.
+inspectorBreakpointSubmenu.label=打断点于…
+
+# LOCALIZATION NOTE (inspectorSubtreeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for subtree modification.
+inspectorSubtreeModification.label=子树修改时
+
+# LOCALIZATION NOTE (inspectorAttributeModification.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for attribute modification.
+inspectorAttributeModification.label=属性修改时
+
+# LOCALIZATION NOTE (inspectorNodeRemoval.label): This is the label shown
+# in the inspector contextual-menu for the item that lets users add a DOM breakpoint
+# for node removal.
+inspectorNodeRemoval.label=节点删除时
+
+# LOCALIZATION NOTE (inspectorSearchHTML.label3): This is the label that is
+# shown as the placeholder for the markup view search in the inspector.
+inspectorSearchHTML.label3=搜索 HTML
+
+# LOCALIZATION NOTE (inspectorImageDataUri.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users copy
+# the URL embedding the image data encoded in Base 64 (what we name
+# here Image Data URL). For more information:
+# https://developer.mozilla.org/en-US/docs/Web/HTTP/data_URIs
+inspectorImageDataUri.label=图像 Data-URL
+
+# LOCALIZATION NOTE (inspectorShowDOMProperties.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users see
+# the DOM properties of the current node. When triggered, this item
+# opens the split Console and displays the properties in its side panel.
+inspectorShowDOMProperties.label=显示 DOM 属性
+
+# LOCALIZATION NOTE (inspectorShowAccessibilityProperties.label): This is the
+# label shown in the inspector contextual-menu for the item that lets users see
+# the accessibility tree and accessibility properties of the current node.
+# When triggered, this item opens accessibility panel and selects an accessible
+# object for the given node.
+inspectorShowAccessibilityProperties.label=显示无障碍环境属性
+
+# LOCALIZATION NOTE (inspectorUseInConsole.label): This is the label
+# shown in the inspector contextual-menu for the item that outputs a
+# variable for the current node to the console. When triggered,
+# this item opens the split Console.
+inspectorUseInConsole.label=在控制台中使用
+
+# LOCALIZATION NOTE (inspectorExpandNode.label): This is the label
+# shown in the inspector contextual-menu for recursively expanding
+# mark-up elements
+inspectorExpandNode.label=全部展开
+
+# LOCALIZATION NOTE (inspectorCollapseAll.label): This is the label
+# shown in the inspector contextual-menu for recursively collapsing
+# mark-up elements
+inspectorCollapseAll.label=全部折叠
+
+# LOCALIZATION NOTE (inspectorScreenshotNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users take
+# a screenshot of the currently selected node.
+inspectorScreenshotNode.label=节点截图
+
+# LOCALIZATION NOTE (inspectorDuplicateNode.label): This is the label
+# shown in the inspector contextual-menu for the item that lets users
+# duplicate the currently selected node.
+inspectorDuplicateNode.label=生成节点副本
+
+# LOCALIZATION NOTE (inspectorAddNode.label): This is the label shown in
+# the inspector toolbar for the button that lets users add elements to the
+# DOM (as children of the currently selected element).
+inspectorAddNode.label=创建新节点
+inspectorAddNode.accesskey=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=复制
+
+# LOCALIZATION NOTE (inspectorPasteHTMLSubmenu.label): This is the label
+# shown in the inspector contextual-menu for the sub-menu of the other
+# paste items, which allow to:
+# - Paste Inner HTML
+# - Paste Outer HTML
+# - Before
+# - After
+# - As First Child
+# - As Last Child
+inspectorPasteHTMLSubmenu.label=粘贴
+
+# LOCALIZATION NOTE (inspectorCustomElementDefinition.label): This is the label
+# shown in the inspector contextual-menu for custom elements to which a shadow root has
+# been attached. Clicking on the menu item will open the Debugger on the custom element
+# definition location.
+inspectorCustomElementDefinition.label=显示自定义元素
+
+# LOCALIZATION NOTE (inspector.searchHTML.key):
+# Key shortcut used to focus the DOM element search box on top-right corner of
+# the markup view
+inspector.searchHTML.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (markupView.hide.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.hide.key=h
+
+# LOCALIZATION NOTE (markupView.edit.key):
+# Key shortcut used to hide the selected node in the markup view.
+markupView.edit.key=F2
+
+# LOCALIZATION NOTE (markupView.scrollInto.key):
+# Key shortcut used to scroll the webpage in order to ensure the selected node
+# is visible
+markupView.scrollInto.key=s
+
+# LOCALIZATION NOTE (inspector.sidebar.fontInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of fonts used in the page.
+inspector.sidebar.fontInspectorTitle=字体
+
+# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
+# Title of the Changes sidebar tab shown in the Inspector panel. The Changes panel shows
+# style changes made using DevTools.
+inspector.sidebar.changesViewTitle=更改
+
+# LOCALIZATION NOTE (inspector.sidebar.ruleViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of CSS rules used
+# in the page.
+inspector.sidebar.ruleViewTitle=规则
+
+# LOCALIZATION NOTE (inspector.sidebar.computedViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying the list of computed CSS values
+# used in the page.
+inspector.sidebar.computedViewTitle=计算值
+
+# LOCALIZATION NOTE (inspector.sidebar.layoutViewTitle2):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying layout information defined in the page.
+inspector.sidebar.layoutViewTitle2=布局
+
+# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying animations defined in the page.
+inspector.sidebar.animationInspectorTitle=动画
+
+# LOCALIZATION NOTE (inspector.sidebar.compatibilityViewTitle):
+# This is the title shown in a tab in the side panel of the Inspector panel
+# that corresponds to the tool displaying web compatibility information about the page.
+inspector.sidebar.compatibilityViewTitle=兼容性
+
+# LOCALIZATION NOTE (inspector.eyedropper.label): A string displayed as the tooltip of
+# a button in the inspector which toggles the Eyedropper tool
+inspector.eyedropper.label=从页面上拾取一种颜色
+
+# LOCALIZATION NOTE (inspector.breadcrumbs.label): A string visible only to a screen reader and
+# is used to label (using aria-label attribute) a container for inspector breadcrumbs
+inspector.breadcrumbs.label=面包屑栏
+
+# LOCALIZATION NOTE (inspector.browserStyles.label): This is the label for the checkbox
+# that specifies whether the styles that are not from the user's stylesheet should be
+# displayed or not.
+inspector.browserStyles.label=浏览器样式
+
+# LOCALIZATION NOTE (inspector.filterStyles.label): This is the label for the search box
+inspector.filterStyles.label=过滤样式
+
+# LOCALIZATION NOTE (inspector.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+inspector.filterStyles.placeholder=过滤样式
+
+# LOCALIZATION NOTE (inspector.filterStylesClearButton.title): This is the title
+# for the search box clear button displayed when the input is not empty.
+inspector.filterStylesClearButton.title = 清除过滤条件输入
+
+# LOCALIZATION NOTE (inspector.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar. This should
+# match ruleView.contextmenu.addNewRule in styleinspector.properties
+inspector.addRule.tooltip=添加新规则
+
+# LOCALIZATION NOTE (inspector.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+inspector.togglePseudo.tooltip=切换伪类
+
+# LOCALIZATION NOTE (inspector.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+inspector.classPanel.toggleClass.tooltip=切换类(class)
+
+# 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=添加新类(class)
+
+# 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=此元素没有类(class)
+
+# LOCALIZATION NOTE (inspector.noProperties): In the case where there are no CSS
+# properties to display e.g. due to search criteria this message is
+# displayed.
+inspector.noProperties=找不到 CSS 属性。
+
+# LOCALIZATION NOTE (inspector.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+inspector.printSimulation.tooltip = 切换页面的打印介质模拟
+
+# LOCALIZATION NOTE (inspector.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=切换页面的浅色方案模拟
+
+# 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=切换页面的深色方案模拟
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are scrollable in the page.
+markupView.scrollableBadge.label=滚动
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.tooltip=此元素有可滚动的溢出内容。
+
+# LOCALIZATION NOTE (markupView.scrollableBadge.interactive.tooltip): This is the tooltip that is displayed
+# when hovering over interactive badges next to scrollable elements in the inspector.
+markupView.scrollableBadge.interactive.tooltip=此元素有可滚动的溢出内容。点击以显示导致溢出的元素。
+
+# LOCALIZATION NOTE (markupView.overflowBadge.label): This is the text displayed inside a
+# badge, in the inspector, next to nodes that are causing overflow in other elements.
+markupView.overflowBadge.label=溢出
+
+# LOCALIZATION NOTE (markupView.overflowBadge.tooltip): This is the tooltip that is displayed
+# when hovering over badges next to overflow causing elements in the inspector.
+markupView.overflowBadge.tooltip=此元素导致元素溢出。
+
+# LOCALIZATION NOTE (rulePreviewTooltip.noAssociatedRule): This is the text displayed inside
+# the RulePreviewTooltip when a rule cannot be found for a CSS property declaration.
+rulePreviewTooltip.noAssociatedRule=无相关规则
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrastAgainstBgTitle): A title text for the
+# contrast ratio value description that labels the background the color contrast ratio is calculated
+# against, used together with the actual background color. %S in the content will be replaced by a
+# span (containing bg color swatch) and textNode (containing bg color hex string) at run time
+colorPickerTooltip.contrastAgainstBgTitle=根据背景色计算:%S
+
+# LOCALIZATION NOTE (colorPickerTooltip.spectrumDraggerTitle): A title text for the
+# spectrum dragger panel in the color picker tooltip.
+colorPickerTooltip.spectrumDraggerTitle=光谱
+
+# LOCALIZATION NOTE (colorPickerTooltip.eyedropperTitle): A title text for the
+# eyedropper in the color picker tooltip.
+colorPickerTooltip.eyedropperTitle=拾取页面上的颜色
+
+# LOCALIZATION NOTE (colorPickerTooltip.colorNameTitle): A title text for the
+# closest color name shown in the color picker tooltip, used together with the actual color.
+# %S in the content will be replaced by the color name the current color is closest to.
+colorPickerTooltip.colorNameTitle=最接近:%S
+
+# LOCALIZATION NOTE (colorPickerTooltip.hueSliderTitle): A title text for the
+# hue slider in the color picker tooltip.
+colorPickerTooltip.hueSliderTitle=色调
+
+# LOCALIZATION NOTE (colorPickerTooltip.alphaSliderTitle): A title text for the
+# alpha slider in the color picker tooltip.
+colorPickerTooltip.alphaSliderTitle=不透明度
+
+# LOCALIZATION NOTE (colorPickerTooltip.contrast.large.title): A title text for the color
+# contrast ratio description in the color picker tooltip, used together with the specification
+# that the color contrast criteria used is for large text. %S in the content will be replaced by a
+# large text indicator span at run time.
+colorPickerTooltip.contrast.large.title=对比度 %S:
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/jsonview.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/jsonview.properties
new file mode 100644
index 0000000000..8d0aab7850
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/jsonview.properties
@@ -0,0 +1,47 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the JSON View tool
+# that is used to inspect application/json document types loaded
+# in the browser.
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (jsonViewer.tab.JSON, jsonViewer.tab.RawData,
+# jsonViewer.tab.Headers): Label for a panel tab.
+jsonViewer.tab.JSON=JSON
+jsonViewer.tab.RawData=原始数据
+jsonViewer.tab.Headers=头
+
+# LOCALIZATION NOTE (jsonViewer.responseHeaders, jsonViewer.requestHeaders):
+# Label for header groups within the 'Headers' panel.
+jsonViewer.responseHeaders=响应头
+jsonViewer.requestHeaders=请求头
+
+# LOCALIZATION NOTE (jsonViewer.Save): Label for save command
+jsonViewer.Save=保存
+
+# LOCALIZATION NOTE (jsonViewer.Copy): Label for clipboard copy command
+jsonViewer.Copy=复制
+
+# LOCALIZATION NOTE (jsonViewer.ExpandAll): Label for expanding all nodes
+jsonViewer.ExpandAll=全部展开
+
+jsonViewer.ExpandAllSlow=全部展开(慢)
+
+# LOCALIZATION NOTE (jsonViewer.CollapseAll): Label for collapsing all nodes
+jsonViewer.CollapseAll=全部折叠
+
+# LOCALIZATION NOTE (jsonViewer.PrettyPrint): Label for JSON
+# pretty print action button.
+jsonViewer.PrettyPrint=美化输出
+
+# LOCALIZATION NOTE (jsonViewer.filterJSON): Label used in search box
+# at the top right cornder of the JSON Viewer.
+jsonViewer.filterJSON=过滤 JSON
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/layout.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/layout.properties
new file mode 100644
index 0000000000..6e6b9c5110
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/layout.properties
@@ -0,0 +1,138 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE This file contains the Layout Inspector strings.
+# The Layout Inspector is a panel accessible in the Inspector sidebar.
+
+# LOCALIZATION NOTE (flexbox.header): The accordion header for the Flexbox panel when
+# no flex container or item is selected.
+flexbox.header=弹性盒
+
+# 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=返回弹性容器
+
+# LOCALIZATION (flexbox.flexContainer): The accordion header for the Flexbox panel
+# when a flex container is selected.
+flexbox.flexContainer=弹性容器
+
+# 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=%S 的弹性项目
+
+# LOCALIZATION NOTE (flexbox.noFlexboxeOnThisPage): In the case where there are no CSS
+# flex containers to display.
+flexbox.noFlexboxeOnThisPage=选择一个弹性(Flex)容器或项目以继续。
+
+# LOCALIZATION NOTE (flexbox.flexItems): Header label displayed for the flex item list.
+flexbox.flexItems=弹性项目
+
+# 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=没有弹性项目
+
+# LOCALIZATION NOTE (flexbox.itemSizing.baseSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Base Size section.
+flexbox.itemSizing.baseSizeSectionHeader=基础尺寸
+
+# LOCALIZATION NOTE (flexbox.itemSizing.flexibilitySectionHeader): Header label displayed
+# at the start of the flex item sizing Flexibility section.
+flexbox.itemSizing.flexibilitySectionHeader=弹性
+
+# LOCALIZATION NOTE (flexbox.itemSizing.minSizeSectionHeader): Header label displayed
+# at the start of the flex item sizing Minimum Size section.
+flexbox.itemSizing.minSizeSectionHeader=最小尺寸
+
+# LOCALIZATION NOTE (flexbox.itemSizing.maxSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Maximum Size section.
+flexbox.itemSizing.maxSizeSectionHeader=最大尺寸
+
+# LOCALIZATION NOTE (flexbox.itemSizing.finalSizeSectionHeader): Header label displayed at
+# the start of the flex item sizing Final Size section.
+flexbox.itemSizing.finalSizeSectionHeader=最终尺寸
+
+# LOCALIZATION NOTE (flexbox.itemSizing.itemContentSize): Label shown in the flex item
+# sizing panel. It tells users that a given item’s base size was calculated from its
+# content size when unconstrained.
+flexbox.itemSizing.itemContentSize=内容尺寸
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMax): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a smaller max size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMax=该项目被钳制在其最大尺寸。
+
+# LOCALIZATION NOTE (flexbox.itemSizing.clampedToMin): Label shown in the flexbox item
+# sizing panel. It tells users that a given item attempted to grow but ended up being
+# clamped to a larger min size.
+# (Note that clamp is a common word in flexbox terminology. It refers to constraining an
+# item's size to some defined min/max-width/height set on the element, even though there
+# might have been room for it to grow, or reason for it to shrink more).
+flexbox.itemSizing.clampedToMin=该项目被钳制在其最小尺寸。
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToGrow): Label shown in the flex item sizing
+# panel. It tells users that a given item was set to grow.
+flexbox.itemSizing.setToGrow=该项目已设为增长。
+
+# LOCALIZATION NOTE (flexbox.itemSizing.setToShrink): Label shown in the flexbox item
+# sizing panel. It tells users that a given item was set to shrink.
+flexbox.itemSizing.setToShrink=该项目已设为缩减。
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToGrow): Label shown in the
+# flexbox item sizing panel. It tells users that a given item was not set to grow, even
+# though there might have been space on the flex line for it to grow.
+flexbox.itemSizing.notSetToGrow=该项目未设定增长。
+
+# LOCALIZATION NOTE (flexbox.itemSizing.notSetToShrink): Label shown in the
+# flexbox item sizing panel. It tells users that a given item did not shrink even though
+# there might not have been enough space on the flex line for all items to fit.
+flexbox.itemSizing.notSetToShrink=该项目未设定缩减。
+
+# LOCALIZATION NOTE (flexbox.togglesFlexboxHighlighter2): The tooltip text for the Flexbox
+# toggle button.
+flexbox.togglesFlexboxHighlighter2=切换弹性盒高亮器
+
+# LOCALIZATION NOTE (layout.overlayCheckbox.label): Label used for checkboxes in the grid
+# sections of the layout panel that control the display of the grid highlighter.
+layout.toggleGridHighlighter=切换网格高亮器
+
+# LOCALIZATION NOTE (layout.cannotShowGridOutline, layout.cannotSHowGridOutline.title):
+# In the case where the grid outline cannot be effectively displayed.
+layout.cannotShowGridOutline=无法为此网格显示边线
+layout.cannotShowGridOutline.title=选定网格的边线无法有效适应布局面板,因而不可用。
+
+# LOCALIZATION NOTE (layout.displayAreaNames): Label of the display area names setting
+# option in the CSS Grid panel.
+layout.displayAreaNames=显示区域名称
+
+# LOCALIZATION NOTE (layout.displayLineNumbers): Label of the display line numbers
+# setting option in the CSS Grid panel.
+layout.displayLineNumbers=显示行号
+
+# LOCALIZATION NOTE (layout.extendLinesInfinitely): Label of the extend lines
+# infinitely setting option in the CSS Grid panel.
+layout.extendLinesInfinitely=无限扩充行数
+
+# LOCALIZATION NOTE (layout.header): The accordion header for the CSS Grid panel.
+layout.header=网格
+
+# LOCALIZATION NOTE (layout.gridDisplaySettings): The header for the grid display
+# settings container in the CSS Grid panel.
+layout.gridDisplaySettings=网格显示设置
+
+# LOCALIZATION NOTE (layout.noGridsOnThisPage): In the case where there are no CSS grid
+# containers to display.
+layout.noGridsOnThisPage=此页面上没有使用 CSS 网格
+
+# LOCALIZATION NOTE (layout.overlayGrid): Alternate header for the list of grid container
+# elements if only one item can be selected.
+layout.overlayGrid=叠加网格
+
+# LOCALIZATION NOTE (layout.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the layout panel (for flexbox/grid highlighter color).
+# %s represents the current selected color in hex format (e.g. #FF0000).
+layout.colorSwatch.tooltip=色样:%S。点击打开颜色选择器
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/memory.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/memory.properties
new file mode 100644
index 0000000000..6622d339b3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=保存
+
+# LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
+# a snapshot
+snapshot.io.delete=删除
+
+# LOCALIZATION NOTE (snapshot.io.save.window): The title for the window
+# displayed when saving a snapshot to disk.
+snapshot.io.save.window=保存堆快照
+
+# LOCALIZATION NOTE (snapshot.io.import.window): The title for the window
+# displayed when importing a snapshot form disk.
+snapshot.io.import.window=导入堆快照
+
+# LOCALIZATION NOTE (snapshot.io.filter): The title for the filter used to
+# filter file types (*.fxsnapshot)
+snapshot.io.filter=Firefox 堆快照
+
+# LOCALIZATION NOTE (aggregate.mb): The label annotating the number of bytes (in
+# megabytes) in a snapshot. %S represents the value, rounded to 2 decimal
+# points.
+aggregate.mb=%S MB
+
+# LOCALIZATION NOTE (snapshot-title.loading): The title for a snapshot before
+# it has a creation time to display.
+snapshot-title.loading=正在处理…
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks): The label describing the
+# boolean checkbox whether or not to record call stacks.
+checkbox.recordAllocationStacks=记录调用堆栈
+
+# LOCALIZATION NOTE (checkbox.recordAllocationStacks.tooltip): The tooltip for
+# the label describing the boolean checkbox whether or not to record call
+# stacks.
+checkbox.recordAllocationStacks.tooltip=切换分配堆的记录。当分配堆的记录已被激活时,堆(heap)快照将以标签和组对象的形式创建。记录分配堆存在性能开销。
+
+# LOCALIZATION NOTE (toolbar.displayBy): The label describing the select menu
+# options of the display options.
+toolbar.displayBy=分组:
+
+# LOCALIZATION NOTE (toolbar.displayBy.tooltip): The tooltip for the label
+# describing the select menu options of the display options.
+toolbar.displayBy.tooltip=更改对象如何分组
+
+# LOCALIZATION NOTE (toolbar.pop-view): The text in the button to go back to the
+# previous view.
+toolbar.pop-view=←
+
+# LOCALIZATION NOTE (toolbar.pop-view.label): The text for the label for the
+# button to go back to the previous view.
+toolbar.pop-view.label=返回总计
+
+# LOCALIZATION NOTE (toolbar.viewing-individuals): The text letting the user
+# know that they are viewing individual nodes from a census group.
+toolbar.viewing-individuals=⁂ 在组中查看单项
+
+# LOCALIZATION NOTE (censusDisplays.coarseType.tooltip): The tooltip for the
+# "coarse type" display option.
+censusDisplays.coarseType.tooltip=按其类型分组项目
+
+# LOCALIZATION NOTE (censusDisplays.allocationStack.tooltip): The tooltip for
+# the "call stack" display option.
+censusDisplays.allocationStack.tooltip=按对象被分配时记录的 JavaScript 堆分组项目
+
+# LOCALIZATION NOTE (censusDisplays.invertedAllocationStack.tooltip): The
+# tooltip for the "inverted call stack" display option.
+censusDisplays.invertedAllocationStack.tooltip=按对象被创建时的反向 JavaScript 调用堆分组项目
+
+# LOCALIZATION NOTE (toolbar.labelBy): The label describing the select menu
+# options of the label options.
+toolbar.labelBy=标签为:
+
+# LOCALIZATION NOTE (toolbar.labelBy.tooltip): The tooltip for the label describing the
+# select menu options of the label options.
+toolbar.labelBy.tooltip=更改对象的标签方式
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" dominator tree display option.
+dominatorTreeDisplays.coarseType.tooltip=按它们适合的大类标签对象
+
+# LOCALIZATION NOTE (dominatorTreeDisplays.allocationStack.tooltip): The
+# tooltip for the "call stack" dominator tree display option.
+dominatorTreeDisplays.allocationStack.tooltip=按它被分配时被记录的 JavaScript 堆标签对象
+
+# LOCALIZATION NOTE (treeMapDisplays.coarseType.tooltip): The tooltip for
+# the "coarse type" tree map display option.
+treeMapDisplays.coarseType.tooltip=按它们适合的大类标签对象
+
+# LOCALIZATION NOTE (toolbar.view): The label for the view selector in the
+# toolbar.
+toolbar.view=视图:
+
+# LOCALIZATION NOTE (toolbar.view.tooltip): The tooltip for the label for the
+# view selector in the toolbar.
+toolbar.view.tooltip=更改堆(heap)快照的视图
+
+# LOCALIZATION NOTE (toolbar.view.census): The label for the census view option
+# in the toolbar.
+toolbar.view.census=聚合
+
+# LOCALIZATION NOTE (toolbar.view.census.tooltip): The tooltip for the label for
+# the census view option in the toolbar.
+toolbar.view.census.tooltip=聚合对象到组以查看堆快照内容的摘要
+
+# LOCALIZATION NOTE (toolbar.view.dominators): The label for the dominators view
+# option in the toolbar.
+toolbar.view.dominators=关联性
+
+# LOCALIZATION NOTE (toolbar.view.dominators.tooltip): The tooltip for the label
+# for the dominators view option in the toolbar.
+toolbar.view.dominators.tooltip=查看堆(heap)快照中支配树和表面的最大结构
+
+# LOCALIZATION NOTE (toolbar.view.treemap): The label for the tree map option
+# in the toolbar.
+toolbar.view.treemap=树状图
+
+# LOCALIZATION NOTE (toolbar.view.treemap.tooltip): The tooltip for the label for
+# the tree map view option in the toolbar.
+toolbar.view.treemap.tooltip=可视化内存占用:较大的块表示占用了较多内存(百分比)
+
+# LOCALIZATION NOTE (take-snapshot): The label describing the button that
+# initiates taking a snapshot, either as the main label, or a tooltip.
+take-snapshot=拍摄快照
+
+# LOCALIZATION NOTE (import-snapshot): The label describing the button that
+# initiates importing a snapshot.
+import-snapshot=导入…
+
+# LOCALIZATION NOTE (clear-snapshots.tooltip): The tooltip for the button that
+# deletes existing snapshot.
+clear-snapshots.tooltip=删除所有快照
+
+# LOCALIZATION NOTE (diff-snapshots.tooltip): The tooltip for the button that
+# initiates selecting two snapshots to diff with each other.
+diff-snapshots.tooltip=比较快照
+
+# LOCALIZATION NOTE (filter.placeholder): The placeholder text used for the
+# memory tool's filter search box.
+filter.placeholder=过滤器
+
+# LOCALIZATION NOTE (filter.tooltip): The tooltip text used for the memory
+# tool's filter search box.
+filter.tooltip=过滤堆(heap)快照的内容
+
+# LOCALIZATION NOTE (tree-item.view-individuals.tooltip): The tooltip for the
+# button to view individuals in this group.
+tree-item.view-individuals.tooltip=查看此组及其依赖路径中的单个节点
+
+# LOCALIZATION NOTE (tree-item.load-more): The label for the links to fetch the
+# lazily loaded sub trees in the dominator tree view.
+tree-item.load-more=加载更多…
+
+# LOCALIZATION NOTE (tree-item.rootlist): The label for the root of the
+# dominator tree.
+tree-item.rootlist=GC 根
+
+# LOCALIZATION NOTE (tree-item.nostack): The label describing the row in the heap tree
+# that represents a row broken down by call stack when no stack was available.
+tree-item.nostack=(无可用堆栈)
+
+# LOCALIZATION NOTE (tree-item.nofilename): The label describing the row in the
+# heap tree that represents a row broken down by filename when no filename was
+# available.
+tree-item.nofilename=(没有可用的文件名)
+
+# LOCALIZATION NOTE (tree-item.root): The label describing the row in the heap tree
+# that represents the root of the tree when inverted.
+tree-item.root=(根)
+
+# LOCALIZATION NOTE (tree-item.percent2): A percent of bytes or count displayed in the tree view.
+# there are two "%" after %S to escape and display "%"
+tree-item.percent2=%S%%
+
+# LOCALIZATION NOTE (diffing.baseline): The name of the baseline snapshot in a
+# diffing comparison.
+diffing.baseline=基线
+
+# LOCALIZATION NOTE (diffing.comparison): The name of the snapshot being
+# compared to the baseline in a diffing comparison.
+diffing.comparison=比较
+
+# LOCALIZATION NOTE (diffing.prompt.selectBaseline): The prompt to select the
+# first snapshot when doing a diffing comparison.
+diffing.prompt.selectBaseline=选择基准快照
+
+# LOCALIZATION NOTE (diffing.prompt.selectComparison): The prompt to select the
+# second snapshot when doing a diffing comparison.
+diffing.prompt.selectComparison=选择要与基线比较的快照
+
+# LOCALIZATION NOTE (diffing.state.error): The label describing the diffing
+# state ERROR, used in the snapshot list when an error occurs while diffing two
+# snapshots.
+diffing.state.error=错误
+
+# LOCALIZATION NOTE (diffing.state.error.full): The text describing the diffing
+# state ERROR, used in the main view when an error occurs while diffing two
+# snapshots.
+diffing.state.error.full=比较快照时出错
+
+# LOCALIZATION NOTE (diffing.state.taking-diff): The label describing the diffin
+# state TAKING_DIFF, used in the snapshots list when computing the difference
+# between two snapshots.
+diffing.state.taking-diff=计算差异…
+
+# LOCALIZATION NOTE (diffing.state.taking-diff.full): The label describing the
+# diffing state TAKING_DIFF, used in the main view when computing the difference
+# between two snapshots.
+diffing.state.taking-diff.full=计算差异…
+
+# LOCALIZATION NOTE (diffing.state.selecting): The label describing the diffing
+# state SELECTING.
+diffing.state.selecting=选择要比较的两个快照
+
+# 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=选择要比较的两个快照
+
+# LOCALIZATION NOTE (dominatorTree.state.computing): The label describing the
+# dominator tree state COMPUTING.
+dominatorTree.state.computing=正在生成关联性报告…
+
+# LOCALIZATION NOTE (dominatorTree.state.computing.full): The label describing the
+# dominator tree state COMPUTING, used in the dominator tree view.
+dominatorTree.state.computing.full=正在生成关联性报告…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching): The label describing the
+# dominator tree state FETCHING.
+dominatorTree.state.fetching=正在计算大小…
+
+# LOCALIZATION NOTE (dominatorTree.state.fetching.full): The label describing the
+# dominator tree state FETCHING, used in the dominator tree view.
+dominatorTree.state.fetching.full=正在计算保留大小…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching): The label
+# describing the dominator tree state INCREMENTAL_FETCHING.
+dominatorTree.state.incrementalFetching=正在获取…
+
+# LOCALIZATION NOTE (dominatorTree.state.incrementalFetching.full): The label describing the
+# dominator tree state INCREMENTAL_FETCHING, used in the dominator tree view.
+dominatorTree.state.incrementalFetching.full=正在获取子树…
+
+# LOCALIZATION NOTE (dominatorTree.state.error): The label describing the
+# dominator tree state ERROR.
+dominatorTree.state.error=错误
+
+# LOCALIZATION NOTE (dominatorTree.state.error.full): The label describing the
+# dominator tree state ERROR, used in the dominator tree view.
+dominatorTree.state.error.full=处理控制树时出错
+
+# LOCALIZATION NOTE (snapshot.state.saving.full): The label describing the
+# snapshot state SAVING, used in the main heap view.
+snapshot.state.saving.full=正在保存快照…
+
+# LOCALIZATION NOTE (snapshot.state.reading.full): The label describing the
+# snapshot state READING, and SAVED, due to these states being combined
+# visually, used in the main heap view.
+snapshot.state.reading.full=正在读取快照…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-census.full=正在保存内存调查数据…
+
+# LOCALIZATION NOTE (snapshot.state.saving-tree-map.full): The label describing
+# the snapshot state SAVING, used in the main heap view.
+snapshot.state.saving-tree-map.full=正在保存树状图…
+
+# LOCALIZATION NOTE (snapshot.state.error.full): The label describing the
+# snapshot state ERROR, used in the main heap view.
+snapshot.state.error.full=保存此快照时发生错误。
+
+# LOCALIZATION NOTE (individuals.state.error): The short message displayed when
+# there is an error fetching individuals from a group.
+individuals.state.error=错误
+
+# LOCALIZATION NOTE (individuals.state.error.full): The longer message displayed
+# when there is an error fetching individuals from a group.
+individuals.state.error.full=获取组中单项时发生错误
+
+# LOCALIZATION NOTE (individuals.state.fetching): The short message displayed
+# while fetching individuals.
+individuals.state.fetching=正在获取…
+
+# LOCALIZATION NOTE (individuals.state.fetching.full): The longer message
+# displayed while fetching individuals.
+individuals.state.fetching.full=正在获取组中单项…
+
+# LOCALIZATION NOTE (individuals.field.node): The header label for an individual
+# node.
+individuals.field.node=节点
+
+# LOCALIZATION NOTE (individuals.field.node.tooltip): The tooltip for the header
+# label for an individual node.
+individuals.field.node.tooltip=快照中的单个节点
+
+# LOCALIZATION NOTE (snapshot.state.saving): The label describing the snapshot
+# state SAVING, used in the snapshot list view
+snapshot.state.saving=正在保存快照…
+
+# LOCALIZATION NOTE (snapshot.state.importing): The label describing the
+# snapshot state IMPORTING, used in the snapshot list view
+snapshot.state.importing=导入快照…
+
+# LOCALIZATION NOTE (snapshot.state.reading): The label describing the snapshot
+# state READING, and SAVED, due to these states being combined visually, used in
+# the snapshot list view.
+snapshot.state.reading=正在读取快照…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-census=正在保存内存调查数据…
+
+# LOCALIZATION NOTE (snapshot.state.saving-census): The label describing the
+# snapshot state SAVING, used in snapshot list view.
+snapshot.state.saving-tree-map=正在保存树状图…
+
+# LOCALIZATION NOTE (snapshot.state.error): The label describing the snapshot
+# state ERROR, used in the snapshot list view.
+snapshot.state.error=错误
+
+# LOCALIZATION NOTE (heapview.no-difference): Message displayed when there is no
+# difference between two snapshots.
+heapview.no-difference=在基准与比较之间没有区别。
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there are no
+# matches when filtering.
+heapview.none-match=没有匹配的结果。
+
+# LOCALIZATION NOTE (heapview.none-match): Message displayed when there report
+# is empty.
+heapview.empty=空。
+
+# LOCALIZATION NOTE (heapview.noAllocationStacks): The message displayed to
+# users when selecting a display by "call stack" but no call stacks
+# were recorded in the heap snapshot.
+heapview.noAllocationStacks=没有找到调用堆栈。请在拍摄快照前记录调用堆栈。
+
+# LOCALIZATION NOTE (heapview.field.retainedSize): The name of the column in the
+# dominator tree view for retained byte sizes.
+heapview.field.retainedSize=保留大小(字节)
+
+# LOCALIZATION NOTE (heapview.field.retainedSize.tooltip): The tooltip for the
+# column header in the dominator tree view for retained byte sizes.
+heapview.field.retainedSize.tooltip=对象本身大小+由它保持活跃的其他所有对象的总计大小
+
+# LOCALIZATION NOTE (heapview.field.shallowSize): The name of the column in the
+# dominator tree view for shallow byte sizes.
+heapview.field.shallowSize=浅大小(字节)
+
+# LOCALIZATION NOTE (heapview.field.shallowSize.tooltip): The tooltip for the
+# column header in the dominator tree view for shallow byte sizes.
+heapview.field.shallowSize.tooltip=对象本身的大小
+
+# LOCALIZATION NOTE (dominatortree.field.label): The name of the column in the
+# dominator tree for an object's label.
+dominatortree.field.label=标签
+
+# LOCALIZATION NOTE (dominatortree.field.label.tooltip): The tooltip for the column
+# header in the dominator tree view for an object's label.
+dominatortree.field.label.tooltip=对内存中对象的标签
+
+# LOCALIZATION NOTE (heapview.field.bytes): The name of the column in the heap
+# view for bytes.
+heapview.field.bytes=字节
+
+# LOCALIZATION NOTE (heapview.field.bytes.tooltip): The tooltip for the column
+# header in the heap view for bytes.
+heapview.field.bytes.tooltip=此组中字节占用总计,不包括子组
+
+# LOCALIZATION NOTE (heapview.field.count): The name of the column in the heap
+# view for count.
+heapview.field.count=计数
+
+# LOCALIZATION NOTE (heapview.field.count.tooltip): The tooltip for the column
+# header in the heap view for count.
+heapview.field.count.tooltip=此组中可达对象总计,不包括子组
+
+# LOCALIZATION NOTE (heapview.field.totalbytes): The name of the column in the
+# heap view for total bytes.
+heapview.field.totalbytes=总字节数
+
+# LOCALIZATION NOTE (heapview.field.totalbytes.tooltip): The tooltip for the
+# column header in the heap view for total bytes.
+heapview.field.totalbytes.tooltip=此组中字节占用总计,包括子组
+
+# LOCALIZATION NOTE (heapview.field.totalcount): The name of the column in the
+# heap view for total count.
+heapview.field.totalcount=总数
+
+# LOCALIZATION NOTE (heapview.field.totalcount.tooltip): The tooltip for the
+# column header in the heap view for total count.
+heapview.field.totalcount.tooltip=此组中可达对象总计,包括子组
+
+# LOCALIZATION NOTE (heapview.field.name): The name of the column in the heap
+# view for name.
+heapview.field.name=组名
+
+# LOCALIZATION NOTE (heapview.field.name.tooltip): The tooltip for the column
+# header in the heap view for name.
+heapview.field.name.tooltip=此组名称
+
+# LOCALIZATION NOTE (shortest-paths.header): The header label for the shortest
+# paths pane.
+shortest-paths.header=取自垃圾收集(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=选择一个节点以查看其保留路径
+
+# LOCALIZATION NOTE (tree-map.node-count): The label for the count value of a
+# node in the tree map
+tree-map.node-count=份
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/menus.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/menus.properties
new file mode 100644
index 0000000000..013496825b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 远程调试
+devtoolsRemoteDebugging.accesskey = R
+
+browserConsoleCmd.label = 浏览器控制台
+browserConsoleCmd.accesskey = B
+
+responsiveDesignMode.label = 响应式设计模式
+responsiveDesignMode.accesskey = R
+
+eyedropper.label = 取色器
+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 = 浏览器工具箱
+browserToolboxMenu.accesskey = e
+
+webDeveloperToolsMenu.label = Web 开发者工具
+webDeveloperToolsMenu.accesskey = T
+
+extensionsForDevelopersCmd.label = 面向开发者的扩展
+extensionsForDevelopersCmd.accesskey = f
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/netmonitor.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/netmonitor.properties
new file mode 100644
index 0000000000..5b2d789513
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/netmonitor.properties
@@ -0,0 +1,1679 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Network Monitor
+# which is available from the Browser Tools sub-menu -> 'Network Monitor'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (netmonitor.security.state.secure)
+# This string is used as an tooltip for request that was performed over secure
+# channel i.e. the connection was encrypted.
+netmonitor.security.state.secure=用来获取此资源的连接是安全的。
+
+# LOCALIZATION NOTE (netmonitor.security.state.insecure)
+# This string is used as an tooltip for request that was performed over insecure
+# channel i.e. the connection was not https
+netmonitor.security.state.insecure=用来获取此资源的连接并不安全。
+
+# LOCALIZATION NOTE (netmonitor.security.state.broken)
+# This string is used as an tooltip for request that failed due to security
+# issues.
+netmonitor.security.state.broken=发生安全性错误,无法加载此资源。
+
+# LOCALIZATION NOTE (netmonitor.security.state.weak)
+# This string is used as an tooltip for request that had minor security issues
+netmonitor.security.state.weak=此资源的传输所使用的连接使用了弱加密算法。
+
+# LOCALIZATION NOTE (netmonitor.security.enabled):
+# This string is used to indicate that a specific security feature is used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Enabled"
+netmonitor.security.enabled=已启用
+
+# LOCALIZATION NOTE (netmonitor.security.disabled):
+# This string is used to indicate that a specific security feature is not used by
+# a connection in the security details tab.
+# For example: "HTTP Strict Transport Security: Disabled"
+netmonitor.security.disabled=已禁用
+
+# LOCALIZATION NOTE (netmonitor.security.hostHeader):
+# This string is used as a header for section containing security information
+# related to the remote host. %S is replaced with the domain name of the remote
+# host. For example: Host example.com
+netmonitor.security.hostHeader=主机 %S:
+
+# LOCALIZATION NOTE (netmonitor.security.notAvailable):
+# This string is used to indicate that a certain piece of information is not
+# available to be displayed. For example a certificate that has no organization
+# defined:
+# Organization: <Not Available>
+netmonitor.security.notAvailable=<不可用>
+
+# LOCALIZATION NOTE (collapseDetailsPane): This is the tooltip for the button
+# that collapses the network details pane in the UI.
+collapseDetailsPane=隐藏请求细节
+
+# LOCALIZATION NOTE (collapseActionPane): This is the tooltip for the button
+# that collapses the network action pane in the UI.
+collapseActionPane=隐藏网络操作
+
+# LOCALIZATION NOTE (allTabsMenuButton.tooltip): The tooltip that gets
+# displayed when hovering over the tabs overflow button.
+allTabsMenuButton.tooltip=显示所有标签页
+
+# LOCALIZATION NOTE (headersEmptyText): This is the text displayed in the
+# headers tab of the network details pane when there are no headers available.
+headersEmptyText=此请求无消息头
+
+# LOCALIZATION NOTE (headersFilterText): This is the text displayed in the
+# headers tab of the network details pane for the filtering input.
+headersFilterText=过滤消息头
+
+# LOCALIZATION NOTE (messagesEmptyText): This is the text displayed in the
+# WebSockets tab of the network details pane when there are no frames available.
+messagesEmptyText=无此请求的消息
+
+# LOCALIZATION NOTE (cookiesEmptyText): This is the text displayed in the
+# cookies tab of the network details pane when there are no cookies available.
+cookiesEmptyText=此请求无 Cookie
+
+# LOCALIZATION NOTE (cookiesFilterText): This is the text displayed in the
+# cookies tab of the network details pane for the filtering input.
+cookiesFilterText=过滤 Cookie
+
+# LOCALIZATION NOTE (responseEmptyText): This is the text displayed in the
+# response tab of the network details pane when the response is empty or not
+# available for shown.
+responseEmptyText=此请求尚无响应数据
+
+# LOCALIZATION NOTE (paramsNoPayloadText): This is the text displayed in the
+# request tab of the network details pane when there are no params available.
+paramsNoPayloadText=此请求无有效载荷
+
+# LOCALIZATION NOTE (paramsFilterText): This is the text displayed in the
+# request tab of the network details pane for the filtering input.
+paramsFilterText=过滤请求参数
+
+# LOCALIZATION NOTE (paramsQueryString): This is the label displayed
+# in the network details request tab identifying the query string.
+paramsQueryString=查询字符串
+
+# LOCALIZATION NOTE (paramsFormData): This is the label displayed
+# in the network details request tab identifying the form data.
+paramsFormData=表单数据
+
+# LOCALIZATION NOTE (paramsPostPayload): This is the label displayed
+# in the network details request tab identifying the request payload.
+paramsPostPayload=请求有效载荷(payload)
+
+# 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=原始
+
+# LOCALIZATION NOTE (requestHeaders): This is the label displayed
+# in the network details headers tab identifying the request headers.
+requestHeaders=请求头
+
+# LOCALIZATION NOTE (requestHeadersFromUpload): This is the label displayed
+# in the network details headers tab identifying the request headers from
+# the upload stream of a POST request's body.
+requestHeadersFromUpload=上传流的请求头
+
+# LOCALIZATION NOTE (responseHeaders): This is the label displayed
+# in the network details headers tab identifying the response headers.
+responseHeaders=响应头
+
+# LOCALIZATION NOTE (requestCookies): This is the label displayed
+# in the network details request tab identifying the request cookies.
+requestCookies=请求 Cookie
+
+# LOCALIZATION NOTE (responseCookies): This is the label displayed
+# in the network details request tab identifying the response cookies.
+responseCookies=响应 Cookie
+
+# LOCALIZATION NOTE (responsePayload): This is the label displayed
+# in the network details response tab identifying the response payload.
+responsePayload=响应载荷(payload)
+
+# 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=原始
+
+# 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=过滤属性
+
+# 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 → 回调 %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=已将下方所示的 JSON 开头的“%S”字符串删除
+
+# LOCALIZATION NOTE (responseTruncated): This is the text displayed
+# in the response tab of the network details pane when the response is over
+# the truncation limit and thus was truncated.
+responseTruncated=响应已被截断
+
+# LOCALIZATION NOTE (requestTruncated): This is the text displayed
+# in the request tab of the network details pane when the request is over
+# the truncation limit and thus was truncated.
+requestTruncated=请求已被截断
+
+# LOCALIZATION NOTE (networkMenu.raced): This is the label displayed
+# in the network menu specifying the transfer or a request is
+# raced. %S refers to the current transfer size.
+networkMenu.raced=%S(已竞速)
+
+# LOCALIZATION NOTE (networkMenu.sortedAsc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted ascending.
+networkMenu.sortedAsc=升序排列
+
+# LOCALIZATION NOTE (networkMenu.sortedDesc): This is the tooltip displayed
+# in the network table toolbar, for any column that is sorted descending.
+networkMenu.sortedDesc=降序排列
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.perf): A tooltip explaining
+# what the perf button does
+networkMenu.summary.tooltip.perf=启动性能分析
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.domContentLoaded): A tooltip explaining
+# what the DOMContentLoaded label displays
+networkMenu.summary.tooltip.domContentLoaded=“DOMContentLoad”事件发生时的时间
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.load): A tooltip explaining
+# what the load label displays
+networkMenu.summary.tooltip.load=“load”事件发生时的时间
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCount2): This label is displayed
+# in the network table footer providing the number of requests
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.summary.requestsCount2=#1 个请求
+
+# LOCALIZATION NOTE (networkMenu.summary.requestsCountEmpty): This label is displayed
+# in the network table footer when there are no requests
+networkMenu.summary.requestsCountEmpty=没有请求
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.requestsCount): A tooltip explaining
+# what the requestsCount label displays
+networkMenu.summary.tooltip.requestsCount=请求数
+
+# LOCALIZATION NOTE (networkMenu.summary.transferred): This label is displayed
+# in the network table footer providing the transferred size.
+networkMenu.summary.transferred=已传输 %S / %S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.transferred): A tooltip explaining
+# what the transferred label displays
+networkMenu.summary.tooltip.transferred=所有请求的大小/已传输大小
+
+# LOCALIZATION NOTE (networkMenu.summary.finish): This label is displayed
+# in the network table footer providing the transfer time.
+networkMenu.summary.finish=完成:%S
+
+# LOCALIZATION NOTE (networkMenu.summary.tooltip.finish): A tooltip explaining
+# what the finish label displays
+networkMenu.summary.tooltip.finish=加载所有请求所需的总时间
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCount2): This label is displayed
+# in the messages table footer providing the number of frames
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+networkMenu.ws.summary.framesCount2=#1 条消息
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.framesCountEmpty): This label is displayed
+# in the messages table footer when there are no frames
+networkMenu.ws.summary.framesCountEmpty=无消息
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesCount): A tooltip explaining
+# what the framesCount label displays
+networkMenu.ws.summary.tooltip.framesCount=消息数目
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalSize): A tooltip explaining
+# what the framesTotalSize label displays
+networkMenu.ws.summary.tooltip.framesTotalSize=所显示消息总大小
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.label.framesTranferredSize): A label showing
+# summary size info related to the current list of WS messages
+# %1$S is the total size of the transferred data, %2$S is the size of sent data, %3$S is the size of received data.
+networkMenu.ws.summary.label.framesTranferredSize=总计 %1$S、已发送 %2$S、已接收 %3$S
+
+# LOCALIZATION NOTE (networkMenu.ws.summary.tooltip.framesTotalTime): A tooltip explaining
+# what framesTotalTime displays
+networkMenu.ws.summary.tooltip.framesTotalTime=显示第一条直至最后一条消息的总耗时
+
+# LOCALIZATION NOTE (networkMenu.sizeB): This is the label displayed
+# in the network menu specifying the size of a request (in bytes).
+networkMenu.sizeB=%S 字节
+
+# 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=传输的大小不可用
+
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu and the headers panel specifying the transfer or a request is
+# cached.
+networkMenu.sizeCached=已缓存
+
+# LOCALIZATION NOTE (networkMenu.sizeServiceWorker): This is the label displayed
+# in the network menu and the headers panel specifying the transferred of a request
+# computed by a service worker.
+networkMenu.sizeServiceWorker=Service Worker
+
+# LOCALIZATION NOTE (networkMenu.blocked2): This is a generic message for a
+# URL that has been blocked for an unknown reason
+networkMenu.blocked2=已拦截
+
+# LOCALIZATION NOTE (networkMenu.blockedby): This is a generic message for a
+# URL that has been blocked by an extension
+# %S is the extension name.
+networkMenu.blockedby=被 %S 拦截
+
+# LOCALIZATION NOTE (networkMenu.blockedTooltip): This is a the text displayed
+# as a tooltip for the blocked icon in the request list
+networkMenu.blockedTooltip=已拦截
+
+# LOCALIZATION NOTE (networkMenu.totalMS2): This is the label displayed
+# in the network menu specifying the time for a request to finish (in milliseconds).
+networkMenu.totalMS2=%S 毫秒
+
+# This string is used to concatenate tooltips (netmonitor.waterfall.tooltip.*)
+# in the requests waterfall for total time (in milliseconds). \\u0020 represents
+# a whitespace. You can replace this with a different character, e.g. an hyphen
+# or a period, if a comma doesn't work for your language.
+netmonitor.waterfall.tooltip.separator=,\u0020
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.total): This is part of the tooltip
+# displayed in the requests waterfall for total time (in milliseconds).
+netmonitor.waterfall.tooltip.total=总计 %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.blocked): This is part of the tooltip
+# displayed in the requests waterfall for blocked time (in milliseconds).
+netmonitor.waterfall.tooltip.blocked=被阻塞 %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.dns): This is part of the tooltip
+# displayed in the requests waterfall for dns time (in milliseconds).
+netmonitor.waterfall.tooltip.dns=DNS %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.ssl): This is part of the tooltip
+# displayed in the requests waterfall for tls setup time (in milliseconds).
+netmonitor.waterfall.tooltip.ssl=TLS %S 毫秒
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.connect): This is part of the tooltip
+# displayed in the requests waterfall for connect time (in milliseconds).
+netmonitor.waterfall.tooltip.connect=连接 %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.send): This is part of the tooltip
+# displayed in the requests waterfall for send time (in milliseconds).
+netmonitor.waterfall.tooltip.send=发送 %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.wait): This is part of the tooltip
+# displayed in the requests waterfall for wait time (in milliseconds).
+netmonitor.waterfall.tooltip.wait=等待 %S ms
+
+# LOCALIZATION NOTE (netmonitor.waterfall.tooltip.receive): This is part of the tooltip
+# displayed in the requests waterfall for receive time (in milliseiconds).
+netmonitor.waterfall.tooltip.receive=接收 %S ms
+
+# LOCALIZATION NOTE (netmonitor.timings.requestTiming): This is the title of the existing
+# section in Timings side panel. This section contains request timings.
+netmonitor.timings.requestTiming=请求耗时
+
+# LOCALIZATION NOTE (netmonitor.timings.serverTiming): This is the title of a new section
+# in Timings side panel. This section contains server timings transferred from the server
+# through the "Server-Timing" header.
+netmonitor.timings.serverTiming=服务端耗时
+
+# LOCALIZATION NOTE (netmonitor.timings.queuedAt): This is relative queued time to the
+# first request. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.queuedAt=入队于:%S
+
+# LOCALIZATION NOTE (netmonitor.timings.startedAt): Relative to the first request,
+# when the request actually started. %S is time expressed in milliseconds or minutes.
+netmonitor.timings.startedAt=开始于:%S
+
+# LOCALIZATION NOTE (netmonitor.timings.downloadedAt): Relative to first request,
+# when the request actually finished downloading.
+# %S is time expressed in milliseconds or minutes.
+netmonitor.timings.downloadedAt=下载于:%S
+
+# LOCALIZATION NOTE (netmonitor.timings.noTimings): Message that displays in the
+# timings pane when thea request has been blocked
+netmonitor.timings.noTimings=此请求无耗时
+
+# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
+# in the network menu specifying timing interval divisions (in milliseconds).
+networkMenu.millisecond=%S 毫秒
+
+# LOCALIZATION NOTE (networkMenu.second): This is the label displayed
+# in the network menu specifying timing interval divisions (in seconds).
+networkMenu.second=%S 秒
+
+# LOCALIZATION NOTE (networkMenu.minute): This is the label displayed
+# in the network menu specifying timing interval divisions (in minutes).
+networkMenu.minute=%S 分钟
+
+# LOCALIZATION NOTE (pieChart.loading): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available yet.
+pieChart.loading=正在加载
+
+# LOCALIZATION NOTE (pieChart.unavailable): This is the label displayed
+# for pie charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+pieChart.unavailable=空
+
+# LOCALIZATION NOTE (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=饼图表示各类型请求大小所占的比例
+
+# 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=请稍候…
+
+# LOCALIZATION NOTE (tableChart.unavailable): This is the label displayed
+# for table charts (e.g., in the performance analysis view) when there is
+# no data available, even after loading it.
+tableChart.unavailable=无可用数据
+
+# LOCALIZATION NOTE (charts.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 秒
+
+# LOCALIZATION NOTE (charts.totalTransferredSize.kB): This is the label displayed
+# in the performance analysis view for total transferred size, in kilobytes.
+charts.totalTransferredSize.kB=已传输大小:%S kB
+
+# LOCALIZATION NOTE (charts.cacheEnabled): This is the label displayed
+# in the performance analysis view for "cache enabled" charts.
+charts.cacheEnabled=初次缓存
+
+# LOCALIZATION NOTE (charts.cacheDisabled): This is the label displayed
+# in the performance analysis view for "cache disabled" charts.
+charts.cacheDisabled=没有缓存
+
+# LOCALIZATION NOTE (charts.learnMore): This is the label displayed
+# in the performance analysis view, with a link to external documentation.
+charts.learnMore=详细了解“性能分析”
+
+# LOCALIZATION NOTE (charts.totalSize.kB): This is the label displayed
+# in the performance analysis view for total requests size, in kilobytes.
+charts.totalSize.kB=大小:%S kB
+
+# LOCALIZATION NOTE (charts.totalSeconds): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time, in seconds.
+charts.totalSeconds=耗时: #1 秒
+
+# LOCALIZATION NOTE (charts.totalSecondsNonBlocking): Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is the label displayed in the performance analysis view for the
+# total requests time (non-blocking), in seconds.
+charts.totalSecondsNonBlocking=无阻塞时间:#1 秒
+
+# LOCALIZATION NOTE (charts.totalCached): This is the label displayed
+# in the performance analysis view for total cached responses.
+charts.totalCached=缓存响应: %S
+
+# LOCALIZATION NOTE (charts.totalCount): This is the label displayed
+# in the performance analysis view for total requests.
+charts.totalCount=总计响应: %S
+
+# LOCALIZATION NOTE (charts.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=请求数
+
+# LOCALIZATION NOTE (charts.size): This is the label displayed
+# in the header column in the performance analysis view for size of the request.
+charts.size=大小
+
+# LOCALIZATION NOTE (charts.type): This is the label displayed
+# in the header column in the performance analysis view for type of request.
+charts.type=类型
+
+# LOCALIZATION NOTE (charts.transferred): This is the label displayed
+# in the header column in the performance analysis view for transferred
+# size of the request.
+charts.transferred=传输
+
+# LOCALIZATION NOTE (charts.time): This is the label displayed
+# in the header column in the performance analysis view for time of request.
+charts.time=时间
+
+# LOCALIZATION NOTE (charts.nonBlockingTime): This is the label displayed
+# in the header column in the performance analysis view for non blocking
+# time of request.
+charts.nonBlockingTime=无阻塞时间
+
+# LOCALIZATION NOTE (netRequest.originalFileURL.tooltip): This is the tooltip
+# displayed for the file's original URL value displayed in the file column of
+# a request.
+netRequest.originalFileURL.tooltip=原始:%S
+
+# LOCALIZATION NOTE (netRequest.decodedFileURL.tooltip): This is the tooltip
+# displayed for the file's decoded URL value displayed in the file column of
+# a request.
+netRequest.decodedFileURL.tooltip=解码为:%S
+
+# LOCALIZATION NOTE (certmgr.subjectinfo.label):
+# A label used for a certificate section in security tab.
+# This section displays Name and organization who has been assigned the fingerprints
+certmgr.subjectinfo.label=签发给
+
+# LOCALIZATION NOTE (certmgr.certdetail.cn):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.cn=一般名称 (CN):
+
+# LOCALIZATION NOTE (certmgr.certdetail.o):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.o=组织 (O):
+
+# LOCALIZATION NOTE (certmgr.certdetail.ou):
+# A label used for Issued To and Issued By sub-section in security tab
+certmgr.certdetail.ou=组织单元 (OU):
+
+# LOCALIZATION NOTE (certmgr.issuerinfo.label):
+# A label used for a certificate section in security tab
+# This section displays Name and organization who issued the fingerprints
+certmgr.issuerinfo.label=签发者
+
+# LOCALIZATION NOTE (certmgr.periodofvalidity.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.periodofvalidity.label=有效期
+
+# LOCALIZATION NOTE (certmgr.begins):
+# A label used for Period of Validity sub-section in security tab
+certmgr.begins=起始时间:
+
+# LOCALIZATION NOTE (certmgr.expires):
+# A label used for Period of Validity sub-section in security tab
+certmgr.expires=终止时间:
+
+# LOCALIZATION NOTE (certmgr.fingerprints.label):
+# A label used for a certificate section in security tab
+# This section displays the valid period of this fingerprints
+certmgr.fingerprints.label=指纹
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha256fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha256fingerprint=SHA-256 指纹:
+
+# LOCALIZATION NOTE (certmgr.certdetail.sha1fingerprint):
+# A label used for Fingerprints sub-section in security tab
+certmgr.certdetail.sha1fingerprint=SHA1 指纹:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.label):
+# This string is used as a label in the security tab.
+certmgr.certificateTransparency.label=透明度:
+
+# LOCALIZATION NOTE (certmgr.certificateTransparency.status.ok):
+# This string is used to indicate that there are valid signed certificate
+# timestamps. This is a property for the 'Transparency'
+# field in the security tab.
+certmgr.certificateTransparency.status.ok=有效的证书签署时间戳记录
+
+# 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=证书签署时间戳记录不足
+
+# 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=无不同来源的证书签署时间戳
+
+# LOCALIZATION NOTE (netmonitor.perfNotice1/2/3): These are the labels displayed
+# in the network table when empty to start performance analysis.
+netmonitor.perfNotice1=• 点击
+netmonitor.perfNotice2=按钮开始性能分析。
+netmonitor.perfNotice3=分析
+
+# LOCALIZATION NOTE (netmonitor.reload1/2/3): These are the labels displayed
+# in the network table when empty to start logging network requests.
+netmonitor.reloadNotice1=• 请进行至少一项请求,或者
+netmonitor.reloadNotice2=重新加载
+netmonitor.reloadNotice3=此页面以查阅详细的网络活动信息。
+netmonitor.emptyBrowserToolbox=执行请求以查看详细网络活动信息。
+
+# LOCALIZATION NOTE (netmonitor.toolbar.status3): This is the label displayed
+# in the network table toolbar, above the "status" column.
+netmonitor.toolbar.status3=状态
+
+# LOCALIZATION NOTE (netmonitor.toolbar.method): This is the label displayed
+# in the network table toolbar, above the "method" column.
+netmonitor.toolbar.method=方法
+
+# LOCALIZATION NOTE (netmonitor.toolbar.priority): This is the label displayed
+# in the network table toolbar, above the "priority" column.
+netmonitor.toolbar.priority=优先级
+
+# LOCALIZATION NOTE (netmonitor.toolbar.file): This is the label displayed
+# in the network table toolbar, above the "file" column.
+netmonitor.toolbar.file=文件
+
+# LOCALIZATION NOTE (netmonitor.toolbar.url): This is the label displayed
+# in the network table toolbar, above the "url" column.
+netmonitor.toolbar.url=网址
+
+# LOCALIZATION NOTE (netmonitor.toolbar.protocol): This is the label displayed
+# in the network table toolbar, above the "protocol" column.
+netmonitor.toolbar.protocol=协议
+
+# LOCALIZATION NOTE (netmonitor.toolbar.domain): This is the label displayed
+# in the network table toolbar, above the "domain" column.
+netmonitor.toolbar.domain=域名
+
+# LOCALIZATION NOTE (netmonitor.toolbar.remoteip): This is the label displayed
+# in the network table toolbar, above the "remoteip" column.
+netmonitor.toolbar.remoteip=远端 IP
+
+# LOCALIZATION NOTE (netmonitor.toolbar.initiator): This is the label displayed
+# in the network table toolbar, above the "initiator" column.
+netmonitor.toolbar.initiator=发起者
+
+# LOCALIZATION NOTE (netmonitor.toolbar.type): This is the label displayed
+# in the network table toolbar, above the "type" column.
+netmonitor.toolbar.type=类型
+
+# LOCALIZATION NOTE (netmonitor.toolbar.cookies): This is the label displayed
+# in the network table toolbar, above the "cookies" column.
+netmonitor.toolbar.cookies=Cookie
+
+# 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=规范(scheme)
+
+# LOCALIZATION NOTE (netmonitor.toolbar.startTime): This is the label displayed
+# in the network table toolbar, above the "start time" column, which is the time
+# from start of 1st request until the start of this request.
+netmonitor.toolbar.startTime=开始时间
+
+# LOCALIZATION NOTE (netmonitor.toolbar.endTime): This is the label displayed
+# in the network table toolbar, above the "end time" column, which is the time
+# from start of 1st request until the end of this response.
+netmonitor.toolbar.endTime=结束时间
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseTime): This is the label displayed
+# in the network table toolbar, above the "response time" column, which is the time
+# from start of 1st request until the beginning of download of this response.
+netmonitor.toolbar.responseTime=响应时间
+
+# LOCALIZATION NOTE (netmonitor.toolbar.duration): This is the label displayed
+# in the network table toolbar, above the "duration" column, which is the time
+# from start of this request until the end of this response.
+netmonitor.toolbar.duration=经过
+
+# LOCALIZATION NOTE (netmonitor.toolbar.latency): This is the label displayed
+# in the network table toolbar, above the "latency" column, which is the time
+# from end of this request until the beginning of download of this response.
+netmonitor.toolbar.latency=延迟
+
+# LOCALIZATION NOTE (netmonitor.toolbar.transferred): This is the label displayed
+# in the network table toolbar, above the "transferred" column and in general
+# section of the headers panel, which is the compressed / encoded size.
+netmonitor.toolbar.transferred=传输
+
+# LOCALIZATION NOTE (netmonitor.toolbar.contentSize): This is the label displayed
+# in the network table toolbar, above the "size" column, which is the
+# uncompressed / decoded size.
+netmonitor.toolbar.contentSize=大小
+
+# LOCALIZATION NOTE (netmonitor.toolbar.waterfall): This is the label displayed
+# in the network table toolbar, above the "waterfall" column.
+netmonitor.toolbar.waterfall=时间线
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.size): This is the label displayed
+# in the messages table header, above the "size" column.
+netmonitor.ws.toolbar.size=大小
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.data): This is the label displayed
+# in the messages table header, above the "data" column.
+netmonitor.ws.toolbar.data=数据
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.opCode): This is the label displayed
+# in the messages table header, above the "opCode" column.
+netmonitor.ws.toolbar.opCode=OpCode
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.maskBit): This is the label displayed
+# in the messages table header, above the "maskBit" column.
+netmonitor.ws.toolbar.maskBit=MaskBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.finBit): This is the label displayed
+# in the messages table header, above the "finBit" column.
+netmonitor.ws.toolbar.finBit=FinBit
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.time): This is the label displayed
+# in the messages table header, above the "time" column.
+netmonitor.ws.toolbar.time=时间
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.eventName): This is the label displayed
+# in the messages table header, above the "eventName" column.
+netmonitor.ws.toolbar.eventName=事件名称
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.retry): This is the label displayed
+# in the messages table header, above the "retry" column.
+netmonitor.ws.toolbar.retry=重试
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.lastEventId): This is the label displayed
+# in the messages table header, above the "lastEventId" column.
+netmonitor.ws.toolbar.lastEventId=上次事件 ID
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.clear): This is the label displayed
+# in the messages panel toolbar for the "Clear" button.
+netmonitor.ws.toolbar.clear=清除
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.label): This is the label
+# displayed in the messages panel toolbar for the frames filtering textbox.
+netmonitor.ws.toolbar.filterFreetext.label=过滤消息
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the messages panel toolbar messages filtering textbox
+netmonitor.ws.toolbar.filterFreetext.key=CmdOrCtrl+E
+
+# LOCALIZATION NOTE (netmonitor.ws.toolbar.resetColumns): This is the label
+# displayed in the messages panel table header context menu.
+netmonitor.ws.toolbar.resetColumns=重置列
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all): This is the label displayed
+# on the context menu that shows "All" WebSocket frames.
+netmonitor.ws.context.all=全部
+
+# LOCALIZATION NOTE (netmonitor.ws.context.all.accesskey): This is the access key
+# for the "All" menu item displayed in the context menu in the websocket toolbar.
+netmonitor.ws.context.all.accesskey=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=发送
+
+# 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=接收
+
+# 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=控制
+
+# 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=复制消息
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrame.accesskey): This is the access key
+# for the "Copy Message" menu item displayed in the context menu of a WebSocket frame.
+netmonitor.ws.context.copyFrame.accesskey=C
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64): This is the label displayed
+# on the context menu that shows "Copy as Base64" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64=按照 Base64 格式复制
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsBase64.accesskey): This is the access key
+# for the "Copy as Base64" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsBase64.accesskey=B
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex): This is the label displayed
+# on the context menu that shows "Copy as Hex" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex=按照十六进制格式复制
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsHex.accesskey): This is the access key
+# for the "Copy as Hex" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsHex.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText): This is the label displayed
+# on the context menu that shows "Copy as Text" displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText=按照纯文本格式复制
+
+# LOCALIZATION NOTE (netmonitor.ws.context.copyFrameAsText.accesskey): This is the access key
+# for the "Copy as Text" menu item displayed in the context menu of a binary WebSocket frame.
+netmonitor.ws.context.copyFrameAsText.accesskey=T
+
+# LOCALIZATION NOTE (netmonitor.ws.connection.closed): This is the text displayed in the
+# websocket messages panel when the connection is closed
+netmonitor.ws.connection.closed=连接已关闭
+
+# LOCALIZATION NOTE (netmonitor.ws.type.sent): This is the label used as
+# accessible text for the "sent" type icon in the websocket table's "data" column.
+netmonitor.ws.type.sent=发送
+
+# LOCALIZATION NOTE (netmonitor.ws.type.received): This is the label used as
+# accessible text for the "received" type icon in the websocket table's "data" column.
+netmonitor.ws.type.received=接收
+
+# LOCALIZATION NOTE (netmonitor.ws.rawData.header): This is the label displayed
+# in the messages panel identifying the raw data.
+netmonitor.ws.rawData.header=原始数据(%S)
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.inputPlaceholder): This is the label
+# displayed in the search toolbar for the search input as the placeholder.
+netmonitor.search.toolbar.inputPlaceholder=在资源中查找…
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.close): This is the label
+# displayed in the search toolbar to close the search panel.
+netmonitor.search.toolbar.close=关闭搜索面板
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.clear): This is the label
+# displayed in the search toolbar to clear the search panel.
+netmonitor.search.toolbar.clear=清除搜索结果
+
+# LOCALIZATION NOTE (netmonitor.search.toolbar.caseSensitive): This is the label
+# displayed in the search toolbar to do a case sensitive search.
+netmonitor.search.toolbar.caseSensitive=区分大小写
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fetching): This is the label
+# displayed in the search results status bar when status is set to fetching.
+netmonitor.search.status.labels.fetching=正在搜索…
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.canceled): This is the label
+# displayed in the search results status bar when status is set to cancelled.
+netmonitor.search.status.labels.canceled=已取消搜索。
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.done): This is the label
+# displayed in the search results status bar when status is set to done.
+# %1$S is the number of matching lines in search results (netmonitor.search.status.labels.matchingLines)
+# %2$S is the number of files in which matching lines were found (netmonitor.search.status.labels.fileCount)
+netmonitor.search.status.labels.done=搜索完毕。%1$S %2$S。
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.matchingLines): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing matching lines found.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of matching lines found
+netmonitor.search.status.labels.matchingLines=找到 #1 个匹配行
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.fileCount): Semi-colon list of plural forms.
+# This is the label displayed in the search results status bar showing file count
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of files in which matching lines were found
+netmonitor.search.status.labels.fileCount=在 #1 个文件中
+
+# LOCALIZATION NOTE (netmonitor.search.status.labels.error): This is the label
+# displayed in the search results status bar when status is set to error.
+netmonitor.search.status.labels.error=搜索出错。
+
+# LOCALIZATION NOTE (netmonitor.toolbar.requestBlocking): This is the tooltip displayed
+# over the toolbar's Request Blocking button
+netmonitor.toolbar.requestBlocking=拦截请求
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlocking2): This is the label displayed
+# in the action bar's request blocking tab
+netmonitor.actionbar.requestBlocking2=拦截
+
+# LOCALIZATION NOTE (netmonitor.actionbar.enableBlocking): This is the label displayed
+# in request blocking tab to represent if requests blocking should be enabled
+netmonitor.actionbar.enableBlocking=启用请求拦截
+
+# LOCALIZATION NOTE (netmonitor.actionbar.blockSearchPlaceholder): This is the
+# placeholder text for the request addition form
+netmonitor.actionbar.blockSearchPlaceholder=拦截资源于网址包含
+
+# LOCALIZATION NOTE (netmonitor.actionbar.removeBlockedUrl): This is the
+# tooltip shown over the remove button for blocked URL item
+netmonitor.actionbar.removeBlockedUrl=移除模式
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingUsageNotice): This is the
+# usage notice displayed when network blocking list is empty
+netmonitor.actionbar.requestBlockingUsageNotice=在此添加要拦截的请求 URL 匹配模式。
+
+# LOCALIZATION NOTE (netmonitor.actionbar.requestBlockingAddNotice): This is the
+# add notice that explains ways to add blocking pattern that is displayed when
+# network blocking list is empty
+netmonitor.actionbar.requestBlockingAddNotice=首先添加 URL 模式,或从网络面板中拖入一行。
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.removeAllBlockedUrls): This is the
+# context menu item for removing all blocked URLs
+netmonitor.requestBlockingMenu.removeAllBlockedUrls=全部移除
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.enableAllBlockedUrls): This is the
+# context menu item for enabling all blocked URLs
+netmonitor.requestBlockingMenu.enableAllBlockedUrls=全部启用
+
+# LOCALIZATION NOTE (netmonitor.requestBlockingMenu.disableAllBlockedUrls): This is the
+# context menu item for disabling all blocked URLs
+netmonitor.requestBlockingMenu.disableAllBlockedUrls=全部禁用
+
+# LOCALIZATION NOTE (netmonitor.actionbar.search): This is the label displayed
+# in the action bar's search tab
+netmonitor.actionbar.search=搜索
+
+# LOCALIZATION NOTE (netmonitor.actionbar.HTTPCustomRequest): This is the label displayed
+# in the action bar's edit and resend tab
+netmonitor.actionbar.HTTPCustomRequest=新请求
+
+# LOCALIZATION NOTE (messagesTruncated): This is the text displayed
+# in the messages panel when the number of messages is over the
+# truncation limit.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+netmonitor.ws.truncated-messages.warning=已截断 #1 条消息,以节省内存
+
+# LOCALIZATION NOTE (disableMessagesTruncation): This is the text displayed
+# in the messages panel checkbox label for toggling message truncation.
+toggleMessagesTruncation=保留今后所有消息
+
+# LOCALIZATION NOTE (toggleMessagesTruncation.title): This is the title used
+# to describe the checkbox used to toggle message truncation.
+toggleMessagesTruncation.title=保留今后所有消息或继续显示被截断消息
+
+# LOCALIZATION NOTE (messageDataTruncated): This is the text displayed
+# to describe to describe data truncation in the messages panel.
+messageDataTruncated=数据已被截断
+
+# LOCALIZATION NOTE (netmonitor.tab.headers): This is the label displayed
+# in the network details pane identifying the headers tab.
+netmonitor.tab.headers=消息头
+
+# LOCALIZATION NOTE (netmonitor.tab.messages): This is the label displayed
+# in the network details pane identifying the messages tab.
+netmonitor.tab.messages=消息
+
+# LOCALIZATION NOTE (netmonitor.tab.cookies): This is the label displayed
+# in the network details pane identifying the cookies tab.
+netmonitor.tab.cookies=Cookie
+
+# LOCALIZATION NOTE (netmonitor.tab.cache): This is the label displayed
+# in the network details pane identifying the cache tab.
+netmonitor.tab.cache=缓存
+
+# LOCALIZATION NOTE (netmonitor.tab.params): This is the label displayed
+# in the network details pane identifying the params tab.
+netmonitor.tab.params=参数
+
+# LOCALIZATION NOTE (netmonitor.tab.request): This is the label displayed
+# in the network details pane identifying the request tab.
+netmonitor.tab.request=请求
+
+# LOCALIZATION NOTE (netmonitor.tab.response): This is the label displayed
+# in the network details pane identifying the response tab.
+netmonitor.tab.response=响应
+
+# LOCALIZATION NOTE (netmonitor.tab.timings): This is the label displayed
+# in the network details pane identifying the timings tab.
+netmonitor.tab.timings=耗时
+
+# LOCALIZATION NOTE (netmonitor.tab.stackTrace): This is the label displayed
+# in the network details pane identifying the stack-trace tab.
+netmonitor.tab.stackTrace=栈跟踪
+
+# LOCALIZATION NOTE (netmonitor.tab.security): This is the label displayed
+# in the network details pane identifying the security tab.
+netmonitor.tab.security=安全性
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.all): This is the label displayed
+# in the network toolbar for the "All" filtering button.
+netmonitor.toolbar.filter.all=所有
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.html): This is the label displayed
+# in the network toolbar for the "HTML" filtering button.
+netmonitor.toolbar.filter.html=HTML
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.css): This is the label displayed
+# in the network toolbar for the "CSS" filtering button.
+netmonitor.toolbar.filter.css=CSS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.js): This is the label displayed
+# in the network toolbar for the "JS" filtering button.
+netmonitor.toolbar.filter.js=JS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.xhr): This is the label displayed
+# in the network toolbar for the "XHR" filtering button.
+netmonitor.toolbar.filter.xhr=XHR
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.fonts): This is the label displayed
+# in the network toolbar for the "Fonts" filtering button.
+netmonitor.toolbar.filter.fonts=字体
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.images): This is the label displayed
+# in the network toolbar for the "Images" filtering button.
+netmonitor.toolbar.filter.images=图像
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.media): This is the label displayed
+# in the network toolbar for the "Media" filtering button.
+netmonitor.toolbar.filter.media=媒体
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.flash): This is the label displayed
+# in the network toolbar for the "Flash" filtering button.
+netmonitor.toolbar.filter.flash=Flash
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.ws): This is the label displayed
+# in the network toolbar for the "WS" filtering button.
+netmonitor.toolbar.filter.ws=WS
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filter.other): This is the label displayed
+# in the network toolbar for the "Other" filtering button.
+netmonitor.toolbar.filter.other=其他
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.label): This is the label
+# displayed in the network toolbar for the url filtering textbox.
+netmonitor.toolbar.filterFreetext.label=过滤 URL
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.key): This is the
+# shortcut key to focus on the toolbar url filtering textbox
+netmonitor.toolbar.filterFreetext.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search.key): This is the
+# shortcut key to toggle the search panel
+netmonitor.toolbar.search.key=CmdOrCtrl+Shift+F
+
+# LOCALIZATION NOTE (netmonitor.toolbar.copy.key): This is the
+# shortcut key to copy a selected request url from the network table
+netmonitor.toolbar.copy.key=CmdOrCtrl+C
+
+# LOCALIZATION NOTE (netmonitor.toolbar.filterFreetext.learnMore): This is
+# the title used for MDN icon in filtering textbox
+netmonitor.toolbar.filterFreetext.learnMore=详细了解“过滤”
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.label): This is the label
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.label=持续记录
+
+# LOCALIZATION NOTE (netmonitor.toolbar.enablePersistentLogs.tooltip): This is the tooltip
+# displayed for the checkbox for enabling persistent logs.
+netmonitor.toolbar.enablePersistentLogs.tooltip=启用此选项后,请求列表将不会在每次导航到新页面时被清除
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.label): This is the label
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.label=禁用缓存
+
+# LOCALIZATION NOTE (netmonitor.toolbar.disableCache.tooltip): This is the tooltip
+# displayed for the checkbox for disabling browser cache.
+netmonitor.toolbar.disableCache.tooltip=禁用 HTTP 缓存
+
+# LOCALIZATION NOTE (netmonitor.toolbar.clear): This is the label displayed
+# in the network toolbar for the "Clear" button.
+netmonitor.toolbar.clear=清除
+
+# LOCALIZATION NOTE (netmonitor.toolbar.toggleRecording): This is the label displayed
+# in the network toolbar for the toggle recording button.
+netmonitor.toolbar.toggleRecording=暂停/继续 网络日志的记录
+
+# LOCALIZATION NOTE (netmonitor.toolbar.search): This is the tooltip label displayed
+# in the network toolbar for the search button.
+netmonitor.toolbar.search=搜索
+
+# LOCALIZATION NOTE (netmonitor.toolbar.HTTPCustomRequest): This is the tooltip label displayed
+# in the network toolbar for the new HTTP Custom Request button.
+netmonitor.toolbar.HTTPCustomRequest=新请求
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetColumns): This is the label
+# displayed in the network table header context menu.
+netmonitor.toolbar.resetColumns=重置列
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resetSorting): This is the label
+# displayed in the network table header context menu to reset sorting
+netmonitor.toolbar.resetSorting=重置排序
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent): This is the label
+# displayed in the network table header context menu to resize a column to fit its content
+netmonitor.toolbar.resizeColumnToFitContent=根据列内容自适应宽度
+
+# LOCALIZATION NOTE (netmonitor.toolbar.resizeColumnToFitContent.title): This is the title
+# tooltip displayed when draggable resizer in network table headers is hovered
+netmonitor.toolbar.resizeColumnToFitContent.title=双击即可根据内容自适应列宽度
+
+# LOCALIZATION NOTE (netmonitor.toolbar.timings): This is the label
+# displayed in the network table header context menu for the timing submenu
+netmonitor.toolbar.timings=计时
+
+# LOCALIZATION NOTE (netmonitor.toolbar.responseHeaders): This is the
+# label displayed in the network table header context menu for the
+# response headers submenu.
+netmonitor.toolbar.responseHeaders=响应头
+
+# LOCALIZATION NOTE (netmonitor.headers.toolbar.block): This is the
+# label displayed in the network details headers tab identifying the
+# block url toolbar button.
+netmonitor.headers.toolbar.block=拦截
+
+# LOCALIZATION NOTE (netmonitor.headers.address): This is the label displayed
+# in the network details headers tab identifying the remote address.
+netmonitor.headers.address=地址
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyAddress): This is the label displayed
+# in the network details headers tab identifying the proxy address.
+netmonitor.headers.proxyAddress=代理地址
+
+# LOCALIZATION NOTE (netmonitor.headers.status): This is the label displayed
+# in the network details headers tab identifying the status code.
+netmonitor.headers.status=状态
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyStatus): This is the label displayed
+# in the network details headers tab identifying the status code for the proxy.
+netmonitor.headers.proxyStatus=代理状态
+
+# LOCALIZATION NOTE (netmonitor.headers.size): This is the label displayed
+# in the network details headers tab identifying the size.
+netmonitor.headers.size=大小
+
+# LOCALIZATION NOTE (networkMenu.headers.sizeDetails): This label is displayed
+# in the network details headers tab providing the size details.
+# %1$S is the transferred size, %2$S is the size.
+netmonitor.headers.sizeDetails=%1$S(大小 %2$S)
+
+# LOCALIZATION NOTE (netmonitor.headers.version): This is the label displayed
+# in the network details headers tab identifying the http version.
+netmonitor.headers.version=版本
+
+# LOCALIZATION NOTE (netmonitor.headers.proxyVersion): This is the label displayed
+# in the network details headers tab identifying the http version of the proxy.
+netmonitor.headers.proxyVersion=代理版本
+
+# LOCALIZATION NOTE (netmonitor.summary.learnMore): This is the label displayed
+# in the network details headers tab, with a link to external documentation for
+# status codes.
+netmonitor.summary.learnMore=详细了解“状态码”
+
+# LOCALIZATION NOTE (netmonitor.headers.referrerPolicy): This is the label displayed
+# in the network details headers tab identifying the referrer policy.
+netmonitor.headers.referrerPolicy=Referrer 策略
+
+# LOCALIZATION NOTE (netmonitor.headers.contentBlocking): This is the label displayed
+# in the network details headers tab identifying the content blocking mode.
+netmonitor.headers.contentBlocking=拦截中
+
+# LOCALIZATION NOTE (netmonitor.headers.requestPriority): This is the label displayed
+# in the network details headers tab identifying the request priority.
+netmonitor.headers.requestPriority=请求优先级
+
+# LOCALIZATION NOTE (netmonitor.headers.dns): This is the label displayed
+# in the network details headers tab identifying the DNS resolution.
+netmonitor.headers.dns=DNS 解析
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.basic): This is the label value displayed
+# in the network details headers tab identifying the Basic DNS resolution.
+netmonitor.headers.dns.basic=系统
+
+# LOCALIZATION NOTE (netmonitor.headers.dns.doh): This is the label value displayed
+# in the network details headers tab identifying the DNS over HTTPS resolution.
+netmonitor.headers.dns.overHttps=基于 HTTPS 的 DNS
+
+# LOCALIZATION NOTE (netmonitor.summary.editAndResend): This is the label displayed
+# on the button in the headers tab that opens a form to edit and resend the currently
+# displayed request
+netmonitor.summary.editAndResend=编辑并重发
+
+# LOCALIZATION NOTE (netmonitor.headers.raw): This is the label displayed
+# on the button in the headers tab that toggle view for raw request/response headers
+# from the currently displayed request
+netmonitor.headers.raw=原始
+
+# LOCALIZATION NOTE (netmonitor.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=脚本无法获取响应主体(原因:%S)
+
+#LOCALIZATION NOTE (netmonitor.headers.blockedByCORSTooltip): This is the tooltip
+# displayed on the learnmore link of the blocked by CORS notification.
+netmonitor.headers.blockedByCORSTooltip=详细了解此 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=名称:
+
+# LOCALIZATION NOTE (netmonitor.response.dimensions): This is the label displayed
+# in the network details response tab identifying an image's dimensions.
+netmonitor.response.dimensions=尺寸:
+
+# LOCALIZATION NOTE (netmonitor.response.mime): This is the label displayed
+# in the network details response tab identifying an image's or font's MIME type.
+netmonitor.response.mime=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=无法生成字体预览
+
+# LOCALIZATION NOTE (netmonitor.timings.blocked): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "blocked" state.
+netmonitor.timings.blocked=阻塞:
+
+# LOCALIZATION NOTE (netmonitor.timings.dns): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "dns" state.
+netmonitor.timings.dns=DNS 解析:
+
+# LOCALIZATION NOTE (netmonitor.timings.ssl): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "tls" handshake state.
+netmonitor.timings.ssl=TLS 建立:
+
+# LOCALIZATION NOTE (netmonitor.timings.connect): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "connect" state.
+netmonitor.timings.connect=连接:
+
+# LOCALIZATION NOTE (netmonitor.timings.send): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "send" state.
+netmonitor.timings.send=发送:
+
+# LOCALIZATION NOTE (netmonitor.timings.wait): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "wait" state.
+netmonitor.timings.wait=等待:
+
+# LOCALIZATION NOTE (netmonitor.timings.receive): This is the label displayed
+# in the network details timings tab identifying the amount of time spent
+# in a "receive" state.
+netmonitor.timings.receive=接收:
+
+# LOCALIZATION NOTE (netmonitor.timings.learnMore): This is the label displayed
+# in the network details timings tab, with a link to external documentation
+netmonitor.timings.learnMore=详细了解“耗时”
+
+# LOCALIZATION NOTE (netmonitor.audits.slowIconTooltip): This is the tooltip text displayed
+# in the network request list file column, on the slow icon button.
+# %1$S is the waiting time %2$S is the slow threshold.
+netmonitor.audits.slowIconTooltip=服务器响应慢(%1$S)。建议的时限为 %2$S。
+
+# LOCALIZATION NOTE (netmonitor.security.warning.cipher): A tooltip
+# for warning icon that indicates a connection uses insecure cipher suite.
+netmonitor.security.warning.cipher=所用加密算法已弃用并且不安全。
+
+# LOCALIZATION NOTE (netmonitor.security.error): This is the label displayed
+# in the security tab if a security error prevented the connection.
+netmonitor.security.error=发生错误:
+
+# LOCALIZATION NOTE (netmonitor.security.protocolVersion): This is the label displayed
+# in the security tab describing TLS/SSL protocol version.
+netmonitor.security.protocolVersion=协议版本:
+
+# LOCALIZATION NOTE (netmonitor.security.cipherSuite): This is the label displayed
+# in the security tab describing the cipher suite used to secure this connection.
+netmonitor.security.cipherSuite=密码套件:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup): This is the label displayed
+# in the security tab describing the key exchange group suite used to secure
+# this connection.
+netmonitor.security.keaGroup=密钥交换组:
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.none): This is the label
+# displayed in the security tab describing the case when no group was used.
+netmonitor.security.keaGroup.none=无
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.custom): This is the label
+# displayed in the security tab describing the case when a custom group was used.
+netmonitor.security.keaGroup.custom=自定
+
+# LOCALIZATION NOTE (netmonitor.security.keaGroup.unknown): This is the value
+# displayed in the security tab describing an unknown group.
+netmonitor.security.keaGroup.unknown=未知组
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme): This is the label
+# displayed in the security tab describing the signature scheme used by for
+# the server certificate in this connection.
+netmonitor.security.signatureScheme=签名方案:
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.none): This is the
+# label displayed in the security tab describing the case when no signature
+# was used.
+netmonitor.security.signatureScheme.none=无
+
+# LOCALIZATION NOTE (netmonitor.security.signatureScheme.unknown): This is the
+# value displayed in the security tab describing an unknown signature scheme.
+netmonitor.security.signatureScheme.unknown=未知签名方案
+
+# LOCALIZATION NOTE (netmonitor.security.hsts): This is the label displayed
+# in the security tab describing the usage of HTTP Strict Transport Security.
+netmonitor.security.hsts=HTTP 严格传输安全(HSTS):
+
+# LOCALIZATION NOTE (netmonitor.security.hpkp): This is the label displayed
+# in the security tab describing the usage of Public Key Pinning.
+netmonitor.security.hpkp=公钥固定:
+
+# LOCALIZATION NOTE (netmonitor.security.connection): This is the label displayed
+# in the security tab describing the section containing information related to
+# the secure connection.
+netmonitor.security.connection=连接:
+
+# LOCALIZATION NOTE (netmonitor.security.certificate): This is the label displayed
+# in the security tab describing the server certificate section.
+netmonitor.security.certificate=证书:
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.tooltip): This is the label used
+# in the Network monitor panel as a tooltip for tracking resource icon.
+netmonitor.trackingResource.tooltip=此 URL 与一个已知的跟踪器匹配,内容拦截功能启用时它将被拦截。
+
+# LOCALIZATION NOTE (netmonitor.trackingResource.enhancedTrackingProtection): This is
+# the label used in the Network monitor panel for showing enhanced tracking protection.
+netmonitor.trackingResource.enhancedTrackingProtection=增强型跟踪保护
+
+# LOCALIZATION NOTE (netmonitor.enhancedTrackingProtection.learnMore): This is the label
+# displayed in the network details headers tab, with a link to external documentation for
+# enhanced tracking protection.
+netmonitor.enhancedTrackingProtection.learnMore=详细了解“增强型跟踪保护”
+
+# LOCALIZATION NOTE (netmonitor.context.copyValue): This is the label displayed
+# for the copy sub-menu in the context menu for a request
+netmonitor.context.copyValue=复制值
+
+# 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=复制网址
+
+# 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=复制 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=复制 %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=复制为 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=复制为 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=复制为 Fetch 语句
+
+# LOCALIZATION NOTE (netmonitor.context.copyAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.copyAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders): This is the label displayed
+# on the context menu that copies the selected item's request headers
+netmonitor.context.copyRequestHeaders=复制请求头
+
+# LOCALIZATION NOTE (netmonitor.context.copyRequestHeaders.accesskey): This is the access key
+# for the Copy Request Headers menu item displayed in the context menu for a request
+netmonitor.context.copyRequestHeaders.accesskey=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=复制响应头
+
+# 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=复制响应
+
+# 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=复制图像为 Data URI
+
+# LOCALIZATION NOTE (netmonitor.context.copyImageAsDataUri.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.copyImageAsDataUri.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch): This is the label displayed
+# on the context menu that copies the selected request as a fetch command.
+netmonitor.context.useAsFetch=在控制台中 Fetch
+
+# LOCALIZATION NOTE (netmonitor.context.useAsFetch.accesskey): This is the access key
+# for the Copy as fetch menu item displayed in the context menu for a request
+netmonitor.context.useAsFetch.accesskey=F
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs): This is the label displayed
+# on the context menu that save the Image
+netmonitor.context.saveImageAs=另存图像为
+
+# LOCALIZATION NOTE (netmonitor.context.saveImageAs.accesskey): This is the access key
+# for the Copy Image As Data URI menu item displayed in the context menu for a request
+netmonitor.context.saveImageAs.accesskey=V
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll): This is the label displayed
+# on the context menu that copies all data
+netmonitor.context.copyAll=复制全部
+
+# LOCALIZATION NOTE (netmonitor.context.copyAll.accesskey): This is the access key
+# for the Copy All menu item displayed in the context menu for a properties view panel
+netmonitor.context.copyAll.accesskey=A
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar): This is the label displayed
+# on the context menu that copies all as HAR format
+netmonitor.context.copyAllAsHar=用 HAR 格式复制全部
+
+# LOCALIZATION NOTE (netmonitor.context.copyAllAsHar.accesskey): This is the access key
+# for the Copy All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.copyAllAsHar.accesskey=O
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar): This is the label displayed
+# on the context menu that saves all as HAR format
+netmonitor.context.saveAllAsHar=所有内容另存为 HAR
+
+# LOCALIZATION NOTE (netmonitor.context.saveAllAsHar.accesskey): This is the access key
+# for the Save All As HAR menu item displayed in the context menu for a network panel
+netmonitor.context.saveAllAsHar.accesskey=H
+
+# LOCALIZATION NOTE (netmonitor.context.importHar.accesskey): This is the access key
+# for the Import HAR menu item displayed in the context menu for a network panel
+netmonitor.context.importHar.accesskey=I
+
+# LOCALIZATION NOTE (netmonitor.har.importHarDialogTitle): This is a label
+# used for import file open dialog
+netmonitor.har.importHarDialogTitle=导入 HAR 文件
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogHARFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogHARFilter=HAR 文件
+
+# LOCALIZATION NOTE (netmonitor.har.importDialogAllFilter):
+# This string is displayed as a filter for importing HAR file
+netmonitor.har.importDialogAllFilter=所有文件
+
+# LOCALIZATION NOTE (netmonitor.context.resend.label): This is the label displayed
+# on the context menu that resends the currently displayed request immediately
+netmonitor.context.resend.label=重发
+
+# LOCALIZATION NOTE (netmonitor.context.resend.accesskey): This is the access key
+# for the "Resend" menu item displayed in the context menu for a request
+netmonitor.context.resend.accesskey=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=编辑并重发
+
+# 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=拦截 URL
+
+# LOCALIZATION NOTE (netmonitor.context.unblockURL): This is the label displayed
+# on the context menu that unblocks any requests matching the selected request's URL.
+netmonitor.context.unblockURL=取消拦截 URL
+
+# LOCALIZATION NOTE (netmonitor.context.newTab): This is the label
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab=新建标签页打开
+
+# LOCALIZATION NOTE (netmonitor.context.newTab.accesskey): This is the access key
+# for the Open in New Tab menu item displayed in the context menu of the
+# network container
+netmonitor.context.newTab.accesskey=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=用调试器打开
+
+# 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=用样式编辑器打开
+
+# 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=开始性能分析…
+
+# 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=新请求
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestMethodLabel): This is the label displayed
+# above the method text input field of the new custom request form
+netmonitor.custom.newRequestMethodLabel=方法
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestUrlLabel): This is the label displayed
+# above the url text input field of the new custom request form
+netmonitor.custom.newRequestUrlLabel=网址
+
+# LOCALIZATION NOTE (netmonitor.custom.query): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.query=查询字符串:
+
+# LOCALIZATION NOTE (netmonitor.custom.urlParameters): This is the label displayed
+# above the query string entry in the custom request form
+netmonitor.custom.urlParameters=URL 参数
+
+# LOCALIZATION NOTE (netmonitor.custom.headers): This is the label displayed
+# above the request headers entry in the custom request form
+netmonitor.custom.headers=请求头:
+
+# LOCALIZATION NOTE (netmonitor.custom.newRequestHeaders): This is the label displayed
+# above the request headers entry in the new custom request form
+netmonitor.custom.newRequestHeaders=消息头
+
+# 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=名称
+
+# 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=值
+
+# LOCALIZATION NOTE (netmonitor.custom.postBody): This is the label displayed
+# above the request body entry in the new custom request form
+netmonitor.custom.postBody=消息体
+
+# 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=载荷
+
+# LOCALIZATION NOTE (netmonitor.custom.postData): This is the label displayed
+# above the request body entry in the custom request form
+netmonitor.custom.postData=请求主体:
+
+# LOCALIZATION NOTE (netmonitor.custom.send): This is the label displayed
+# on the button which sends the custom request
+netmonitor.custom.send=发送
+
+# LOCALIZATION NOTE (netmonitor.custom.cancel): This is the label displayed
+# on the button which cancels and closes the custom request form
+netmonitor.custom.cancel=取消
+
+# LOCALIZATION NOTE (netmonitor.custom.clear): This is the label displayed
+# on the button which clears the content of the new custom request panel
+netmonitor.custom.clear=清除
+
+# LOCALIZATION NOTE (netmonitor.custom.removeItem): This is the
+# tooltip shown over the remove button for headers and query params item
+netmonitor.custom.removeItem=移除项目
+
+# LOCALIZATION NOTE (netmonitor.backButton): This is the label displayed
+# on the button which exists the performance statistics view
+netmonitor.backButton=返回
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.simple): This is the tooltip of the
+# column status code, when request is not being cached or is not from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.simple = %1$S %2$S
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.cached): This is the tooltip of
+# the column status code, when the request is cached
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.cached = %1$S %2$S(已缓存)
+
+# LOCALIZATION NOTE (netmonitor.status.tooltip.worker): This is the tooltip of
+# the column status code, when the request is from a service worker
+# %1$S is the status code, %2$S is the status text.
+netmonitor.status.tooltip.worker = %1$S %2$S(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(已缓存,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 = 拖放 HAR 文件到此处
+
+# LOCALIZATION NOTE (netmonitor.label.har): This is a label used
+# as a tooltip for toolbar drop-down button with HAR actions
+netmonitor.label.har=导入/导出 HAR
+
+# LOCALIZATION NOTE (netmonitor.cache.cache): This is the label text for the parent
+# node in the TreeView.
+netmonitor.cache.cache=缓存
+
+# LOCALIZATION NOTE (netmonitor.cache.empty): This is the text displayed when cache
+# information is not available.
+netmonitor.cache.empty=无缓存信息
+
+# LOCALIZATION NOTE (netmonitor.cache.notAvailable): This is the text displayed under
+# a node that has no information available.
+netmonitor.cache.notAvailable=不可用
+
+# LOCALIZATION NOTE (netmonitor.cache.dataSize): This is the label text for
+# the datasize of the cached object.
+netmonitor.cache.dataSize=数据大小
+
+# LOCALIZATION NOTE (netmonitor.cache.expires): This is the label text for the
+# expires time of the cached object.
+netmonitor.cache.expires=过期时间
+
+# LOCALIZATION NOTE (netmonitor.cache.fetchCount): This is the label text for the
+# fetch count of the cached object.
+netmonitor.cache.fetchCount=获取次数
+
+# LOCALIZATION NOTE (netmonitor.cache.lastFetched): This is the label text for the
+# last fetched date/time of the cached object.
+netmonitor.cache.lastFetched=最后获取
+
+# LOCALIZATION NOTE (netmonitor.cache.lastModified): This is the label text for the
+# last modified date/time of the cached object.
+netmonitor.cache.lastModified=最后修改
+
+# LOCALIZATION NOTE (netmonitor.cache.device): This is the label text for the device
+# where a cached object was fetched from (e.g. "disk").
+netmonitor.cache.device=设备
+
+# LOCALIZATION NOTE (netmonitor.settings.menuTooltip): This is the tooltip that gets displayed
+# when the settings menu button is hovered.
+netmonitor.settings.menuTooltip=网络设置
+
+# LOCALIZATION NOTE (netmonitor.settings.importHarTooltip): This is the tooltip that gets displayed
+# when the HAR import menu item is hovered
+netmonitor.settings.importHarTooltip=导入 HAR 网络数据文件
+
+# LOCALIZATION NOTE (netmonitor.settings.saveHarTooltip): This is the tooltip that gets displayed
+# when the HAR save menu item is hovered
+netmonitor.settings.saveHarTooltip=将网络数据保存到 HAR 文件
+
+# LOCALIZATION NOTE (netmonitor.settings.copyHarTooltip): This is the tooltip that gets displayed
+# when the HAR copy menu item is hovered
+netmonitor.settings.copyHarTooltip=复制网络数据到剪贴板
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/network-throttling.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/network-throttling.properties
new file mode 100644
index 0000000000..1d75a43b10
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=不节流
+
+# 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 = 下载 %1$S%2$S,上传 %3$S%4$S,延迟 %5$Sms
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/responsive.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/responsive.properties
new file mode 100644
index 0000000000..6323f55d6e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=编辑列表…
+
+# LOCALIZATION NOTE (responsive.exit): Tooltip text of the exit button.
+responsive.exit=关闭响应式设计模式
+
+# LOCALIZATION NOTE (responsive.rotate): Tooltip text of the rotate button.
+responsive.rotate=旋转视区
+
+# LOCALIZATION NOTE (responsive.responsiveMode): Placeholder text for the
+# device selector.
+responsive.responsiveMode=设备型号
+
+# LOCALIZATION NOTE (responsive.enableTouch): Tooltip text for the touch
+# simulation button when it's disabled.
+responsive.enableTouch=启用触摸模拟
+
+# LOCALIZATION NOTE (responsive.disableTouch): Tooltip text for the touch
+# simulation button when it's enabled.
+responsive.disableTouch=禁用触摸模拟
+
+# LOCALIZATION NOTE (responsive.screenshot): Tooltip of the screenshot button.
+responsive.screenshot=截取视区 (viewport) 图像
+
+# LOCALIZATION NOTE (responsive.screenshotGeneratedFilename): The auto generated
+# filename.
+# The first argument (%1$S) is the date string in yyyy-mm-dd format and the
+# second argument (%2$S) is the time string in HH.MM.SS format.
+responsive.screenshotGeneratedFilename=截图 %1$S %2$S
+
+# LOCALIZATION NOTE (responsive.remoteOnly): Message displayed in the tab's
+# notification box if a user tries to open Responsive Design Mode in a
+# non-remote tab.
+responsive.remoteOnly=响应式设计模式仅对远程式浏览器标签页可用,即运行在 Firefox 多进程模式下的网页内容。
+
+# LOCALIZATION NOTE (responsive.changeDevicePixelRatio): Tooltip for the
+# device pixel ratio dropdown when is enabled.
+responsive.changeDevicePixelRatio=更改视窗的设备像素比
+
+# LOCALIZATION NOTE (responsive.devicePixelRatio.auto): Tooltip for the device pixel ratio
+# dropdown when it is disabled because a device is selected.
+# The argument (%1$S) is the selected device (e.g. iPhone 6) that set
+# automatically the device pixel ratio value.
+responsive.devicePixelRatio.auto=设备像素比已按 %1$S 自动设置
+
+# LOCALIZATION NOTE (responsive.customDeviceName): Default value in a form to
+# add a custom device based on an arbitrary size (no association to an existing
+# device).
+responsive.customDeviceName=自定义设备
+
+# LOCALIZATION NOTE (responsive.customDeviceNameFromBase): Default value in a
+# form to add a custom device based on the properties of another. %1$S is the
+# name of the device we're staring from, such as "Apple iPhone 6".
+responsive.customDeviceNameFromBase=%1$S (自定义)
+
+# LOCALIZATION NOTE (responsive.addDevice2): Button text that reveals a form to
+# be used for adding custom devices.
+responsive.addDevice2=添加自定义设备…
+
+# LOCALIZATION NOTE (responsive.deviceAdderName): Label of form field for the
+# name of a new device.
+responsive.deviceAdderName=名称
+
+# LOCALIZATION NOTE (responsive.deviceAdderSize): Label of form field for the
+# size of a new device.
+responsive.deviceAdderSize=尺寸
+
+# LOCALIZATION NOTE (responsive.deviceAdderPixelRatio2): Label of form field for
+# the device pixel ratio of a new device.
+responsive.deviceAdderPixelRatio2=设备像素比
+
+# LOCALIZATION NOTE (responsive.deviceAdderUserAgent2): Label of form field for
+# the user agent of a new device.
+responsive.deviceAdderUserAgent2=用户代理字符串
+
+# LOCALIZATION NOTE (responsive.deviceAdderTouch2): Label of form field for the
+# touch input support of a new device.
+responsive.deviceAdderTouch2=触控屏幕
+
+# LOCALIZATION NOTE (responsive.deviceAdderSave): Button text that submits a
+# form to add a new device.
+responsive.deviceAdderSave=保存
+
+# LOCALIZATION NOTE (responsive.deviceAdderCancel): Button text that cancels a
+# form to add a new device.
+responsive.deviceAdderCancel=取消
+
+# LOCALIZATION NOTE (responsive.deviceDetails): Tooltip that appears when
+# hovering on a device in the device modal. %1$S is the width of the device.
+# %2$S is the height of the device. %3$S is the device pixel ratio value of the
+# device. %4$S is the user agent of the device. %5$S is a boolean value
+# noting whether touch input is supported.
+responsive.deviceDetails=尺寸:%1$S x %2$S\nDPR:%3$S\nUA:%4$S\n触摸:%5$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.browserAndOS): Used to display the browser
+# and the OS in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: browser
+# %2$S: OS
+responsive.deviceDetails.browserAndOS=运行于 %2$S 的 %1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.size): Used to display the pixel
+# size in a tooltip that appears when hovering on a device in the device modal.
+# %1$S: width
+# %2$S: height
+responsive.deviceDetails.size=大小:%1$S x %2$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.DPR): Used to display the DPR in a tooltip
+# that appears when hovering on a device in the device modal.
+# %1$S: device pixel ratio
+responsive.deviceDetails.DPR=像素比:%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=用户代理字符串:%1$S
+
+# LOCALIZATION NOTE (responsive.deviceDetails.touch): Used to display a boolean value
+# which is whether the touch input is supported or not in a tooltip that appears when
+# hovering on a device in the device modal.
+# %1$S: touch
+responsive.deviceDetails.touch=是否触控设备:%1$S
+
+# LOCALIZATION NOTE (responsive.devicePixelRatioOption): UI option in a menu to configure
+# the device pixel ratio. %1$S is the devicePixelRatio value of the device.
+responsive.devicePixelRatioOption=像素比:%1$S
+
+# LOCALIZATION NOTE (responsive.reloadConditions.touchSimulation): Label on checkbox used
+# to select whether to reload when touch simulation is toggled.
+responsive.reloadConditions.touchSimulation=触摸模拟切换时重新加载
+
+# LOCALIZATION NOTE (responsive.reloadConditions.userAgent): Label on checkbox used
+# to select whether to reload when user agent is changed.
+responsive.reloadConditions.userAgent=用户代理更改时重新加载
+
+# LOCALIZATION NOTE (responsive.reloadNotification.description2): Text in notification bar
+# shown on first open to clarify that some features need a reload to apply.
+responsive.reloadNotification.description2=设备模拟的变更需要重新加载才能完全生效。自动重载默认为禁用状态,以避免丢失您在开发者工具中作的修改。您可到设置菜单中启用重新加载功能。
+
+# LOCALIZATION NOTE (responsive.leftAlignViewport): Label on checkbox used in the settings
+# menu.
+responsive.leftAlignViewport=视界左对齐
+
+# LOCALIZATION NOTE (responsive.customUserAgent): This is the placeholder for the user
+# agent input in the responsive design mode toolbar.
+responsive.customUserAgent=自定义 User Agent
+
+responsive.showUserAgentInput=显示 User Agent
+
+# LOCALIZATION NOTE (responsive.deviceSettings): The header text for the device settings
+# view.
+responsive.deviceSettings=设备设置
+
+# LOCALIZATION NOTE (responsive.deviceNameAlreadyInUse): This is the text shown when adding a new
+# device with an already existing device name.
+responsive.deviceNameAlreadyInUse=设备名已被使用
+
+# LOCALIZATION NOTE (responsive.deviceFormUpdate): Button text that updates a custom
+# device when the form is submitted.
+responsive.deviceFormUpdate=更新
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/shared.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/shared.properties
new file mode 100644
index 0000000000..444cd45a97
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=大小:宽度 %1$S,高度 %2$S
+
+# LOCALIZATION NOTE (boxModelInfo.accessibleLabel): This is used to read the
+# dimensions and position of a node by a screen reader. This helps communicate
+# the visual information in a more explicit form. Example:
+# Dimensions: Width 100, height 200, position static.
+boxModelInfo.accessibleLabel=尺寸:宽度 %1$S,高度 %2$S,位置 %3$S
+
+# LOCALIZATION NOTE (boxModelEditable.accessibleLabel): The string spoken by
+# screen readers for each button in the box model view that opens that property
+# for editing. %1$S is the property displayed in the tooltip when hovering.
+# %2$S is the value that is visually displayed.
+# Example: margin-left: 0.
+boxModelEditable.accessibleLabel=%1$S:%2$S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/sourceeditor.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/sourceeditor.properties
new file mode 100644
index 0000000000..bcf8fb2b95
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/sourceeditor.properties
@@ -0,0 +1,117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools - current examples are the
+# Scratchpad and the Style Editor tools.
+
+# LOCALIZATION NOTE These strings are used inside the Source Editor component.
+# This component is used whenever source code is displayed for the purpose of
+# being edited, inside the Firefox developer tools (like Style Editor).
+
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (findCmd.promptMessage): This is the message shown when
+# the user wants to search for a string in the code. You can
+# access this feature by pressing Ctrl-F on Windows/Linux or Cmd-F on Mac.
+findCmd.promptMessage=搜索:
+
+# LOCALIZATION NOTE (gotoLineCmd.promptTitle): This is the dialog title used
+# when the user wants to jump to a specific line number in the code. You can
+# access this feature by pressing Ctrl-J on Windows/Linux or Cmd-J on Mac.
+gotoLineCmd.promptTitle=跳转到某行…
+
+# LOCALIZATION NOTE (autocompletion.docsLink): This is the text shown on
+# the link inside of the documentation popup. If you type 'document' in Scratchpad
+# then press Shift+Space you can see the popup.
+autocompletion.docsLink=文档
+
+# LOCALIZATION NOTE (autocompletion.notFound): This is the text shown in
+# the documentation popup if Tern fails to find a type for the object.
+autocompletion.notFound=找不到
+
+# LOCALIZATION NOTE (jumpToLine.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to jump to
+# a specific line in the editor.
+jumpToLine.commandkey=J
+
+# LOCALIZATION NOTE (toggleComment.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to either
+# comment or uncomment selected lines in the editor.
+toggleComment.commandkey=/
+
+# LOCALIZATION NOTE (indentLess.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to reduce
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools so we disable it.
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentLess.commandkey=[
+
+# LOCALIZATION NOTE (indentMore.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to increase
+# indentation level in CodeMirror. However, its default value also used by
+# the Toolbox to switch between tools
+#
+# DO NOT translate this key without proper synchronization with toolbox.dtd.
+indentMore.commandkey=]
+
+# LOCALIZATION NOTE (moveLineUp.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Up", or change the format of the string. These are key
+# identifiers, not messages displayed to the user.
+moveLineUp.commandkey=Alt-Up
+
+# LOCALIZATION NOTE (moveLineDown.commandkey): This is the combination of keys
+# used to move the current line up.
+# Do not localize "Alt", "Down", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+moveLineDown.commandkey=Alt-Down
+
+# LOCALIZATION NOTE (autocompletion.commandkey): This is the key, used with
+# Ctrl, for code autocompletion.
+# Do not localize "Space", it's the key identifier, not a message displayed to
+# the user.
+autocompletion.commandkey=Space
+
+# LOCALIZATION NOTE (showInformation2.commandkey): This is the combination of
+# keys used to display more information, like type inference.
+# Do not localize "Shift", "Ctrl", "Space", or change the format of the string.
+# These are key identifiers, not messages displayed to the user.
+showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.key):
+# Key shortcut used to find the typed search
+# Do not localize "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAll.key):
+# Key shortcut used to replace the content of the editor
+# Do not localize "Shift", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAll.key=Shift+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (replaceAllMac.key):
+# Key shortcut used to replace the content of the editor on Mac
+# Do not localize "Alt", "CmdOrCtrl", "F", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+replaceAllMac.key=Alt+CmdOrCtrl+F
+
+# LOCALIZATION NOTE (findNext.key):
+# Key shortcut used to find again the typed search
+# Do not localize "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findNext.key=CmdOrCtrl+G
+
+# LOCALIZATION NOTE (findPrev.key):
+# Key shortcut used to find the previous typed search
+# Do not localize "Shift", "CmdOrCtrl", "G", or change the format of the string. These are
+# key identifiers, not messages displayed to the user.
+findPrev.key=Shift+CmdOrCtrl+G
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/startup.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/startup.properties
new file mode 100644
index 0000000000..bba533031d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/startup.properties
@@ -0,0 +1,247 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=工具箱选项
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=选项
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=工具箱选项面板
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=深色
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=浅色
+
+# LOCALIZATION NOTE (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=性能
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=性能面板
+
+# LOCALIZATION NOTE (performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.accesskey=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=性能 (%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=Web 控制台
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=控制台
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=控制台面板
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=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=调试器
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=调试器面板
+
+# LOCALIZATION NOTE (ToolboxDebugger.tooltip4):
+# This string is displayed in the tooltip of the tab when the debugger is
+# displayed inside the developer tools window.
+ToolboxDebugger.tooltip4=JavaScript 调试器 (%S)
+
+# LOCALIZATION NOTE (debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.accesskey=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=样式编辑器
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=样式编辑器面板
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=样式表编辑器 (CSS) (%S)
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=l
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=查看器
+inspector.accesskey=I
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=查看器面板
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=DOM 和样式探查器 (%S)
+
+# LOCALIZATION NOTE (inspector.mac.tooltip)
+# This is the exact same string as inspector.tooltip2, except that we show it
+# on mac only, where we support toggling the inspector with either cmd+shift+C,
+# or cmd+opt+C
+inspector.mac.tooltip=DOM 和样式探查器 (%1$S 或 %2$S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=网络
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=网络面板
+
+# LOCALIZATION NOTE (netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.accesskey=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=网络监视器 (%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=存储
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=存储探查器
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=存储面板
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=存储探查器(Cookie、本地存储等) (%S)
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=内存
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=内存面板
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=内存
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=DOM 面板
+
+# LOCALIZATION NOTE (dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
+
+# LOCALIZATION NOTE (accessibility.label):
+# This string is displayed in the title of the tab when the Accessibility panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+accessibility.label=无障碍环境
+
+# LOCALIZATION NOTE (accessibility.panelLabel):
+# This is used as the label for the toolbox panel.
+accessibility.panelLabel=无障碍环境面板
+
+# LOCALIZATION NOTE (accessibility.accesskey)
+# Used for the menuitem in the tool menu
+accessibility.accesskey=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=无障碍环境(%S)
+
+# LOCALIZATION NOTE (application.label):
+# This string is displayed in the title of the tab when the Application panel
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+application.label=应用程序
+
+# LOCALIZATION NOTE (application.panelLabel):
+# This is used as the label for the toolbox panel.
+application.panelLabel=应用程序面板
+
+# LOCALIZATION NOTE (application.tooltip):
+# This string is displayed in the tooltip of the tab when the Application panel is
+# displayed inside the developer tools window.
+application.tooltip=应用程序面板
+
+# LOCALIZATION NOTE (toolbox.buttons.responsive):
+# This is the tooltip of the button in the toolbox toolbar that toggles
+# the Responsive mode.
+# Keyboard shortcut will be shown inside brackets.
+toolbox.buttons.responsive = 响应式设计模式 (%S)
+
+# LOCALIZATION NOTE (toolbox.buttons.screenshot):
+# This is the tooltip of the button in the toolbox toolbar that allows you to
+# take a screenshot of the entire page
+toolbox.buttons.screenshot = 截取整个页面
+
+# LOCALIZATION NOTE (toolbox.buttons.rulers):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# rulers in the page
+toolbox.buttons.rulers = 切换页面上的标尺
+
+# LOCALIZATION NOTE (toolbox.buttons.measure):
+# This is the tooltip of the button in the toolbox toolbar that toggles the
+# measuring tools
+toolbox.buttons.measure = 测量页面中的部分
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/styleeditor.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/styleeditor.properties
new file mode 100644
index 0000000000..831f922a9c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=<inline style sheet #%S>
+
+# LOCALIZATION NOTE (newStyleSheet): This is the default name for a new
+# user-created style sheet.
+newStyleSheet=新样式表 #%S
+
+# LOCALIZATION NOTE (ruleCount.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This is shown in the style sheets list.
+# #1 rule.
+# example: 111 rules.
+ruleCount.label=#1 个规则。
+
+# LOCALIZATION NOTE (error-load): This is shown when loading fails.
+error-load=无法加载样式表。
+
+# LOCALIZATION NOTE (error-save): This is shown when saving fails.
+error-save=样式表无法保存。
+
+# LOCALIZATION NOTE (importStyleSheet.title): This is the file picker title,
+# when you import a style sheet into the Style Editor.
+importStyleSheet.title=导入样式表
+
+# LOCALIZATION NOTE (importStyleSheet.filter): This is the *.css filter title
+importStyleSheet.filter=CSS 文件
+
+# LOCALIZATION NOTE (saveStyleSheet.title): This is the file picker title,
+# when you save a style sheet from the Style Editor.
+saveStyleSheet.title=保存样式表
+
+# LOCALIZATION NOTE (saveStyleSheet.filter): This is the *.css filter title
+saveStyleSheet.filter=CSS 文件
+
+# LOCALIZATION NOTE (saveStyleSheet.commandkey): This the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
+saveStyleSheet.commandkey=S
+
+# LOCALIZATION NOTE (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=显示原始来源
+
+# 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=显示 @ 规则(@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/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/toolbox.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/toolbox.properties
new file mode 100644
index 0000000000..1bb4153c87
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/toolbox.properties
@@ -0,0 +1,266 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (toolbox.titleTemplate1): This is the template
+# used to format the title of the toolbox.
+# The URL of the page being targeted: %1$S.
+toolbox.titleTemplate1=开发者工具 — %1$S
+
+# LOCALIZATION NOTE (toolbox.titleTemplate2): This is the template
+# used to format the title of the toolbox.
+# The page title or other name for the thing being targeted: %1$S
+# The URL of the page being targeted: %2$S.
+toolbox.titleTemplate2=开发者工具 — %1$S — %2$S
+
+# LOCALIZATION NOTE (toolbox.multiProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "everything".
+# This Browser Toolbox allows to debug the parent process as well as the content
+# processes in the same toolbox.
+toolbox.multiProcessBrowserToolboxTitle=多进程浏览器工具箱
+
+# LOCALIZATION NOTE (toolbox.parentProcessBrowserToolboxTitle): Title used for
+# the Browser Toolbox when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+# This Browser Toolbox allows to debug only the parent process resources.
+toolbox.parentProcessBrowserToolboxTitle=父进程浏览器工具箱
+
+# LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
+# name when no tool is selected.
+toolbox.defaultTitle=开发者工具
+
+# LOCALIZATION NOTE (toolbox.label): This is used as the label for the
+# toolbox as a whole
+toolbox.label=开发者工具
+
+# LOCALIZATION NOTE (options.autoTheme.label)
+# Used as a label for auto theme
+options.autoTheme.label=自动
+
+# LOCALIZATION NOTE (options.toolNotSupportedMarker): This is the template
+# used to add a * marker to the label for the Options Panel tool checkbox for the
+# tool which is not supported for the current toolbox target.
+# The name of the tool: %1$S.
+options.toolNotSupportedMarker=%1$S *
+
+# LOCALIZATION NOTE (toolbox.pickButton.tooltip)
+# This is the tooltip of the element picker button in the toolbox toolbar.
+# %S is the keyboard shortcut that toggles the element picker.
+toolbox.elementPicker.tooltip=选取页面中的元素(%S)
+
+# LOCALIZATION NOTE (toolbox.pickButton.mac.tooltip)
+# Like toolbox.pickButton.tooltip, but for macOS there are two possible keyboard
+# shortcuts: Cmd+Shift+C or Cmd+Opt+C
+toolbox.elementPicker.mac.tooltip=选取页面中的元素(%1$S 或 %2$S)
+
+# LOCALIZATION NOTE (toolbox.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=选取 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=选取 Android 手机上的元素(%1$S 或 %2$S)
+
+# LOCALIZATION NOTE (toolbox.elementPicker.key)
+# Key shortcut used to toggle the element picker.
+toolbox.elementPicker.key=CmdOrCtrl+Shift+C
+
+# LOCALIZATION NOTE (toolbox.elementPicker.mac.key)
+# Key shortcut used to toggle the element picker for macOS.
+toolbox.elementPicker.mac.key=Cmd+Opt+C
+
+# LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a css file in the Style-Editor tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInStyleEditorByXX is used.
+toolbox.viewCssSourceInStyleEditor.label=用样式编辑器打开文件
+
+# LOCALIZATION NOTE (toolbox.viewJsSourceInDebugger.label)
+# Used as a message in either tooltips or contextual menu items to open the
+# corresponding URL as a js file in the Debugger tool.
+# DEV NOTE: Mostly used wherever toolbox.viewSourceInDebugger is used.
+toolbox.viewJsSourceInDebugger.label=用调试器打开文件
+
+toolbox.resumeOrderWarning=附加了调试器后页面并未恢复。要解决此问题,请关闭并重新打开工具箱。
+
+# LOCALIZATION NOTE (toolbox.help.key)
+# Key shortcut used to open the options panel
+toolbox.help.key=F1
+
+# LOCALIZATION NOTE (toolbox.nextTool.key)
+# Key shortcut used to select the next tool
+toolbox.nextTool.key=CmdOrCtrl+]
+
+# LOCALIZATION NOTE (toolbox.previousTool.key)
+# Key shortcut used to select the previous tool
+toolbox.previousTool.key=CmdOrCtrl+[
+
+# LOCALIZATION NOTE (toolbox.zoom*.key)
+# Key shortcuts used to zomm in/out or reset the toolbox
+# Should match 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=选择一个 iframe 作为当前的目标文档
+
+# LOCALIZATION NOTE (toolbox.frames.disabled.tooltip): This is the title
+# displayed as a tooltip of the iframes menu button, when disabled. The button
+# is normally hidden when no frames are available. But if the user is on the
+# DevTools Options panel, the button is always shown for discoverability.
+toolbox.frames.disabled.tooltip=此按钮仅在具有多个 iframe 的页面上可用
+
+# LOCALIZATION NOTE (toolbox.showFrames.key)
+# Key shortcut used to show frames menu when 'frames' button is focused
+toolbox.showFrames.key=Alt+Down
+
+# LOCALIZATION NOTE (toolbox.meatballMenu.button.tooltip): This is the tooltip
+# for the "..." button on the developer tools toolbox.
+toolbox.meatballMenu.button.tooltip=定制开发者工具及获取帮助
+
+# LOCALIZATION NOTE (toolbox.closebutton.tooltip): This is the tooltip for
+# the close button the developer tools toolbox.
+toolbox.closebutton.tooltip=关闭开发者工具
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.tooltip): This is the tooltip for
+# the error count button displayed in the developer tools toolbox.
+toolbox.errorCountButton.tooltip=显示分离式控制台
+
+# LOCALIZATION NOTE (toolbox.errorCountButton.description): This is the description that
+# will be used for the error count button in the devTools settings panel.
+toolbox.errorCountButton.description=显示页面上的错误数量
+
+# LOCALIZATION NOTE (toolbox.sourceMapFailure): This is shown in the web console
+# when there is a failure to fetch or parse a source map.
+# The text of the error: %1$S
+# The URL that caused DevTools to try to fetch a source map: %2$S
+# The URL of the source map itself: %3$S
+toolbox.sourceMapFailure=源映射错误:%1$S\n源 URL:%2$S\n源映射 URL:%3$S
+
+# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
+# the web console when there is a failure to fetch or parse an
+# original source that was mentioned in a source map.
+# The text of the error: %1$S
+# The URL of the source: %2$S
+toolbox.sourceMapSourceFailure=获取原始源时出错:%1$S\n源 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=此 %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=工具箱 (%1$S) - %2$S / %3$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleLocal):
+# Used as the tab title for about:devtools-toolbox when connected to This Firefox.
+# The target type (see toolbox.debugTargetInfo.targetType.*): %1$S
+# The target name (retrieved from DevTools, eg the extension's name): %2$S
+toolbox.debugTargetInfo.tabTitleLocal=工具箱 - %1$S / %2$S
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.tabTitleError):
+# Used as the tab title for about:devtools-toolbox when it failed to connect to the
+# target.
+toolbox.debugTargetInfo.tabTitleError=工具箱 - 发生错误
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.connection.*): This is displayed in the
+# toolbox header in about:devtools-toolbox, to indicate how the connection to the
+# runtime being inspected was made.
+toolbox.debugTargetInfo.connection.usb=USB
+toolbox.debugTargetInfo.connection.network=网络
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.reload):
+# Used as the reload button tooltip
+toolbox.debugTargetInfo.reload=重新加载
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.forward):
+# Used as the navigation's "forward" button tooltip
+toolbox.debugTargetInfo.forward=前进
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.back):
+# Used as the navigation's "back" button tooltip
+toolbox.debugTargetInfo.back=后退
+
+# LOCALIZATION NOTE (toolbox.debugTargetInfo.targetType.*): This is displayed as the
+# alt attribute for an icon in the toolbox header in about:devtools-toolbox,
+# to indicate what is the type of the debug target being inspected.
+toolbox.debugTargetInfo.targetType.extension=扩展
+toolbox.debugTargetInfo.targetType.process=进程
+toolbox.debugTargetInfo.targetType.tab=标签页
+toolbox.debugTargetInfo.targetType.worker=Worker
+
+# LOCALIZATION NOTE (browserToolbox.statusMessage): This is the label
+# shown next to status details when the Browser Toolbox fails to connect or
+# appears to be taking a while to do so.
+browserToolbox.statusMessage=浏览器工具箱连接状态:
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.title): This is the title
+# for the Error view shown by the toolbox when a connection to a debug target
+# could not be made
+toolbox.debugTargetErrorPage.title = 错误
+
+# LOCALIZATION NOTE (toolbox.debugTargetErrorPage.description): This is the
+# text that appears in the Error view and explains to the user that an error
+# has happened while trying to connect to a debug target
+toolbox.debugTargetErrorPage.description = 无法与要调试的目标建立连接。请参阅下方错误详情:
+
+# LOCALIZATION NOTE (options.deprecationNotice): This is the text that appears in the
+# settings panel for panel that will be removed in future releases.
+# This entire text is treated as a link to an MDN page.
+options.deprecationNotice=已弃用。详细了解…
+
+# LOCALIZATION NOTE (options.enableMultiProcessToolbox): This is the text that appears in the
+# settings panel for the checkbox that enables the Multiprocess Browser Toolbox.
+options.enableMultiProcessToolbox=启用多进程浏览器工具箱(需重启浏览器工具箱)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/webconsole.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/webconsole.properties
new file mode 100644
index 0000000000..57dd8087df
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/client/webconsole.properties
@@ -0,0 +1,601 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# LOCALIZATION NOTE
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (multiProcessBrowserConsole.title): Title of the Browser
+# Console window when the pref `devtools.browsertoolbox.scope` is set to "everything". This
+# Browser Console will log messages from all processes, not just the the parent
+# process.
+multiProcessBrowserConsole.title=多进程浏览器控制台
+
+# LOCALIZATION NOTE (parentProcessBrowserConsole.title): Title used for
+# the Browser Console when the pref `devtools.browsertoolbox.scope` is set to "parent-process".
+parentProcessBrowserConsole.title=父进程浏览器控制台
+
+# LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
+# %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
+timestampFormat=%02S:%02S:%02S.%03S
+
+ConsoleAPIDisabled=Web 控制台的日志记录API (console.log, console.info, console.warn, console.error) 已被此页面的脚本禁用。
+
+# LOCALIZATION NOTE (webConsoleXhrIndicator): the indicator displayed before
+# a URL in the Web Console that was requested using an XMLHttpRequest.
+webConsoleXhrIndicator=XHR
+
+# LOCALIZATION NOTE (webConsoleMoreInfoLabel): the more info tag displayed
+# after security related web console messages.
+webConsoleMoreInfoLabel=详细了解
+
+# LOCALIZATION NOTE (stacktrace.anonymousFunction): this string is used to
+# display JavaScript functions that have no given name - they are said to be
+# anonymous. Test console.trace() in the webconsole.
+stacktrace.anonymousFunction=<匿名>
+
+# LOCALIZATION NOTE (stacktrace.asyncStack): this string is used to
+# indicate that a given stack frame has an async parent.
+# %S is the "Async Cause" of the frame.
+stacktrace.asyncStack=(异步:%S)
+
+# LOCALIZATION NOTE (timeLog): this string is used to display the result of
+# the console.timeLog() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+timeLog=%1$S: %2$Sms
+
+# LOCALIZATION NOTE (console.timeEnd): this string is used to display the result of
+# the console.timeEnd() call. Parameters: %1$S is the name of the timer, %2$S
+# is the number of milliseconds.
+console.timeEnd=%1$S:%2$S 毫秒 - 倒计时结束
+
+# LOCALIZATION NOTE (consoleCleared): this string is displayed when receiving a
+# call to console.clear() to let the user know the previous messages of the
+# console have been removed programmatically.
+consoleCleared=控制台已清除。
+
+# LOCALIZATION NOTE (preventedConsoleClear): this string is displayed when receiving a
+# call to console.clear() when the user has the "Persist logs" option enabled, to let the
+# user know the console method call was ignored.
+# "Persist Logs" should be kept in sync with webconsole.console.settings.menu.item.enablePersistentLogs.label
+preventedConsoleClear=console.clear() 由于“持续记录”而被阻止
+
+# LOCALIZATION NOTE (noCounterLabel): this string is used to display
+# count-messages with no label provided.
+noCounterLabel=<无标签>
+
+# LOCALIZATION NOTE (counterDoesntExist): this string is displayed when
+# console.countReset() is called with a counter that doesn't exist.
+counterDoesntExist=计数器“%S”不存在。
+
+# LOCALIZATION NOTE (noGroupLabel): this string is used to display
+# console.group messages with no label provided.
+noGroupLabel=<无组标签>
+
+maxTimersExceeded=此页中的定时器数量已经超过最大允许数值。
+timerAlreadyExists=定时器“%S”已存在。
+timerDoesntExist=定时器“%S”不存在。
+timerJSError=定时器名称处理出错。
+
+# LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Web
+# Console fails to connect to the server due to a timeout.
+connectionTimeout=连接超时。请检查两端的错误控制台中可能存在的错误消息。重新打开 Web 控制台重试。
+
+# LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
+# appears in the filter text box for the properties view container.
+propertiesFilterPlaceholder=过滤属性
+
+# LOCALIZATION NOTE (messageRepeats.tooltip2): the tooltip text that is displayed
+# when you hover the red bubble that shows how many times a message is repeated
+# in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message repeats
+# example: 3 repeats
+messageRepeats.tooltip2=#1 次重复
+
+# LOCALIZATION NOTE (openNodeInInspector): the text that is displayed in a
+# tooltip when hovering over the inspector icon next to a DOM Node in the console
+# output
+openNodeInInspector=单击以在查看器中选择节点
+
+# LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
+# a new user of the developer tools pastes code into the console
+# %1 is the text of selfxss.okstring
+selfxss.msg=欺诈警告:粘贴您不了解的东西时请务必小心,这可能会导致攻击者窃取您的身份信息或控制您的计算机。如果仍想粘贴,请在下方输入“%S”(不必按回车键)以允许粘贴。
+
+# 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=allow pasting
+
+# LOCALIZATION NOTE (evaluationNotifcation.noOriginalVariableMapping.msg): the text for the notification message that is displayed
+# in the console when the debugger is paused in a non-pretty printed original file and original variable mapping is turned off.
+# `Show original variables` should be kept in sync with the checkbox label in the Scopes panel header.
+evaluationNotifcation.noOriginalVariableMapping.msg=调试器中的原始变量名映射已禁用,估算结果可能不准确。点击调试器“作用域”面板中的 `显示原始变量` 复选框以启用。
+
+# LOCALIZATION NOTE (messageToggleDetails): the text that is displayed when
+# you hover the arrow for expanding/collapsing the message details. For
+# console.error() and other messages we show the stacktrace.
+messageToggleDetails=显示/隐藏消息细节。
+
+# LOCALIZATION NOTE (groupToggle): the text that is displayed when
+# you hover the arrow for expanding/collapsing the messages of a group.
+groupToggle=显示/隐藏组。
+
+# LOCALIZATION NOTE (table.index, table.iterationIndex, table.key, table.value):
+# the column header displayed in the console table widget.
+table.index=(索引)
+table.iterationIndex=(迭代索引)
+table.key=键值
+table.value=值
+
+# LOCALIZATION NOTE (level.error, level.warn, level.info, level.log, level.debug):
+# tooltip for icons next to console output
+level.error=错误
+level.warn=警告
+level.info=信息
+level.log=日志
+level.debug=调试
+
+# LOCALIZATION NOTE (logpoint.title)
+# Tooltip shown for logpoints sent from the debugger
+logpoint.title=来自调试器的记录点
+
+# LOCALIZATION NOTE (logtrace.title)
+# Tooltip shown for JavaScript tracing logs
+logtrace.title=JavaScript 跟踪
+
+# LOCALIZATION NOTE (blockedReason.title)
+# Tooltip shown for blocked network events sent from the network panel
+blockedrequest.label=由开发者工具拦截
+
+# LOCALIZATION NOTE (webconsole.disableIcon.title)
+# Tooltip shown for disabled console messages
+webconsole.disableIcon.title=此消息已失效,无法获取消息详情
+
+# LOCALIZATION NOTE (command.title)
+# Tooltip shown for console input evaluated code displayed in the console output
+command.title=已评估的代码
+
+# LOCALIZATION NOTE (result.title)
+# Tooltip shown for evaluation result displayed in the console output
+result.title=评估结果
+
+# LOCALIZATION NOTE (webconsole.find.key)
+# Key shortcut used to focus the search box on upper right of the console
+webconsole.find.key=CmdOrCtrl+F
+
+# LOCALIZATION NOTE (webconsole.close.key)
+# Key shortcut used to close the Browser console (doesn't work in regular web console)
+webconsole.close.key=CmdOrCtrl+W
+
+# LOCALIZATION NOTE (webconsole.clear.key*)
+# Key shortcut used to clear the console output
+webconsole.clear.key=Ctrl+Shift+L
+webconsole.clear.keyOSX=Ctrl+L
+webconsole.clear.alternativeKeyOSX=Cmd+K
+
+# LOCALIZATION NOTE (webconsole.menu.copyURL.label)
+# Label used for a context-menu item displayed for network message logs. Clicking on it
+# copies the URL displayed in the message to the clipboard.
+webconsole.menu.copyURL.label=复制链接地址
+webconsole.menu.copyURL.accesskey=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=新建标签页打开网址
+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=在网络面板中打开
+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=重发请求
+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=在查看器中显示
+webconsole.menu.openNodeInInspector.accesskey=Q
+
+# LOCALIZATION NOTE (webconsole.menu.storeAsGlobalVar.label)
+# Label used for a context-menu item displayed for object/variable logs. Clicking on it
+# creates a new global variable pointing to the logged variable.
+webconsole.menu.storeAsGlobalVar.label=存储为全局变量
+webconsole.menu.storeAsGlobalVar.accesskey=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=复制消息
+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=复制对象
+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=在侧栏中检查对象
+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=复制所有消息
+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=将所有消息保存为文件
+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=清除 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=切换过滤栏
+
+# LOCALIZATION NOTE (webconsole.filterInput.placeholder)
+# Label used for for the placeholder on the filter input, in the console top toolbar.
+webconsole.filterInput.placeholder=过滤输出
+
+# LOCALIZATION NOTE (webconsole.errorsFilterButton.label)
+# Label used as the text of the "Errors" button in the additional filter toolbar.
+# It shows or hides error messages, either inserted in the page using
+# console.error() or as a result of a javascript error..
+webconsole.errorsFilterButton.label=错误
+
+# LOCALIZATION NOTE (webconsole.warningsFilterButton.label)
+# Label used as the text of the "Warnings" button in the additional filter toolbar.
+# It shows or hides warning messages, inserted in the page using console.warn().
+webconsole.warningsFilterButton.label=警告
+
+# LOCALIZATION NOTE (webconsole.logsFilterButton.label)
+# Label used as the text of the "Logs" button in the additional filter toolbar.
+# It shows or hides log messages, inserted in the page using console.log().
+webconsole.logsFilterButton.label=日志
+
+# LOCALIZATION NOTE (webconsole.infoFilterButton.label)
+# Label used as the text of the "Info" button in the additional filter toolbar.
+# It shows or hides info messages, inserted in the page using console.info().
+webconsole.infoFilterButton.label=信息
+
+# LOCALIZATION NOTE (webconsole.debugFilterButton.label)
+# Label used as the text of the "Debug" button in the additional filter toolbar.
+# It shows or hides debug messages, inserted in the page using console.debug().
+webconsole.debugFilterButton.label=调试
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.label)
+# Label used as the text of the "CSS" button in the additional filter toolbar.
+# It shows or hides CSS warning messages, inserted in the page by the browser
+# when there are CSS errors in the page.
+webconsole.cssFilterButton.label=CSS
+
+# LOCALIZATION NOTE (webconsole.cssFilterButton.inactive.tooltip)
+# Label used as the tooltip of the "CSS" button in the additional filter toolbar, when the
+# filter is inactive (=unchecked).
+webconsole.cssFilterButton.inactive.tooltip=将重新解析样式表以检查错误。刷新页面也可查看因 Javascript 修改产生的样式表错误。
+
+# LOCALIZATION NOTE (webconsole.xhrFilterButton.label)
+# Label used as the text of the "XHR" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes an XMLHttpRequest or
+# a fetch call.
+webconsole.xhrFilterButton.label=XHR
+
+# LOCALIZATION NOTE (webconsole.requestsFilterButton.label)
+# Label used as the text of the "Requests" button in the additional filter toolbar.
+# It shows or hides messages displayed when the page makes a network call, for example
+# when an image or a scripts is requested.
+webconsole.requestsFilterButton.label=请求
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.label)
+# Text on the filter input displayed when some console messages are hidden because the
+# user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 hidden.
+webconsole.filteredMessagesByText.label=#1 个隐藏项目
+
+# LOCALIZATION NOTE (webconsole.filteredMessagesByText.tooltip)
+# Tooltip on the filter input "hidden" text, displayed when some console messages are
+# hidden because the user has filled in the input.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# example: 345 items hidden by text filter.
+webconsole.filteredMessagesByText.tooltip=文本过滤器隐藏了 #1 个项目
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.menuButton.tooltip)
+# Tooltip for the filter bar preferences menu. This menu will display multiple perefences for the
+# filter bar, such as enabling the compact toolbar mode, enable the timestamps, persist logs, etc
+webconsole.console.settings.menu.button.tooltip=控制台设置
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.compactToolbar.label)
+# Label for the `Compact Toolbar` preference option. This will turn the message filters buttons
+# into a Menu Button, making the filter bar more compact.
+webconsole.console.settings.menu.item.compactToolbar.label=紧凑工具栏
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.label)
+# Label for enabling the timestamps in the Web Console.
+webconsole.console.settings.menu.item.timestamps.label=显示时间戳
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.timestamps.tooltip)
+webconsole.console.settings.menu.item.timestamps.tooltip=如果启用此选项,Web 控制台中的命令和输出将显示时间戳
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.label)
+# Label for grouping the similar messages in the Web Console
+webconsole.console.settings.menu.item.warningGroups.label=相似消息分组归并
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.warningGroups.tooltip)
+webconsole.console.settings.menu.item.warningGroups.tooltip=启用后,相似的消息将归并为组
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.label)
+# Label for enabling autocomplete for input in the Web Console
+webconsole.console.settings.menu.item.autocomplete.label=启用自动补全
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.autocomplete.tooltip)
+webconsole.console.settings.menu.item.autocomplete.tooltip=若启用此选项,将在您输入时显示建议
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.label)
+webconsole.console.settings.menu.item.enablePersistentLogs.label=持续记录
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.enablePersistentLogs.tooltip)
+webconsole.console.settings.menu.item.enablePersistentLogs.tooltip=启用此选项后,已输出的内容将不会在每次导航到新页面时被清除
+
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.label)
+webconsole.console.settings.menu.item.instantEvaluation.label=即时求值
+# LOCALIZATION NOTE (webconsole.console.settings.menu.item.instantEvaluation.tooltip)
+webconsole.console.settings.menu.item.instantEvaluation.tooltip=若启用此选项,将在您输入时即时求值
+
+# LOCALIZATION NOTE (browserconsole.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=启用网络监听
+# LOCALIZATION NOTE (browserconsole.enableNetworkMonitoring.tooltip)
+# Tooltip for the "Enable Network Monitoring" check item.
+browserconsole.enableNetworkMonitoring.tooltip=启用此项开始监听网络请求
+
+# LOCALIZATION NOTE (webconsole.navigated): this string is used in the console when the
+# current inspected page is navigated to a new location.
+# Parameters: %S is the new URL.
+webconsole.navigated=导航至 %S
+
+# LOCALIZATION NOTE (webconsole.closeSplitConsoleButton.tooltip): This is the tooltip for
+# the close button of the split console.
+webconsole.closeSplitConsoleButton.tooltip=关闭分离式控制台 (Esc)
+
+# LOCALIZATION NOTE (webconsole.closeSidebarButton.tooltip): This is the tooltip for
+# the close button of the sidebar.
+webconsole.closeSidebarButton.tooltip=关闭侧栏
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.input.placeHolder):
+# This string is displayed in the placeholder of the reverse search input in the console.
+webconsole.reverseSearch.input.placeHolder=搜索历史记录
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.closeButton.tooltip):
+# This string is displayed in the tooltip of the close button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.closeButton.tooltip=关闭 (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.results):
+# This string is displayed in the reverse search UI when there are at least one result
+# to the search.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 index of current search result displayed.
+# #2 total number of search results.
+webconsole.reverseSearch.results=#1 / #2 个结果
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.noResult):
+# This string is displayed in the reverse search UI when there is no results to the search.
+webconsole.reverseSearch.noResult=无结果
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.previousButton.tooltip):
+# This string is displayed in the tooltip of the "previous result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.previousButton.tooltip=上一个结果 (%S)
+
+# LOCALIZATION NOTE (webconsole.reverseSearch.result.nextButton.tooltip):
+# This string is displayed in the tooltip of the "next result" button in the reverse search toolbar.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.reverseSearch.result.nextButton.tooltip=下一个结果 (%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.label)
+# Label used for the "invoke getter" confirm dialog that appears in the console when
+# a user tries to autocomplete a property with a getter.
+# Example: given the following object `x = {get y() {}}`, when the user types `x.y.`, it
+# would return "Invoke getter y to retrieve the property list?".
+# Parameters: %S is the name of the getter.
+webconsole.confirmDialog.getter.label=是否调用获取器 %S 获取属性列表?
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut)
+# Label used for the confirm button in the "invoke getter" dialog that appears in the
+# console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.invokeButtonLabelWithShortcut=调用(%S)
+
+# LOCALIZATION NOTE (webconsole.confirmDialog.getter.closeButton.tooltip)
+# Label used as the tooltip for the close button in the "invoke getter" dialog that
+# appears in the console when a user tries to autocomplete a property with a getter.
+# A keyboard shortcut will be shown inside the latter pair of brackets.
+webconsole.confirmDialog.getter.closeButton.tooltip=关闭(%S)
+
+# LOCALIZATION NOTE (webconsole.cssWarningElements.label)
+# Label for the list of HTML elements matching the selector associated
+# with the CSS warning. Parameters: %S is the CSS selector.
+webconsole.cssWarningElements.label=元素所匹配选择器:%S
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.label)
+# Label displayed when the webconsole couldn't handle a given packet.
+# Parameters: %S is the URL to file a bug about the error.
+webconsole.message.componentDidCatch.label=[DEVTOOLS ERROR] 很抱歉,我们无法生成该信息。这是异常情况——请到 %S 反馈,并在描述中附上信息的元数据。
+
+# 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=字符串已复制到剪贴板。
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToWebConsole)
+# Label displayed when :trace command was executed and the JavaScript tracer started to log to the web console.
+webconsole.message.commands.startTracingToWebConsole=已开始将跟踪信息记录至网络控制台
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToStdout)
+# Label displayed when :trace command was executed and the JavaScript tracer started to log to stdout.
+webconsole.message.commands.startTracingToStdout=已开始将跟踪信息记录至 stdout
+
+# LOCALIZATION NOTE (webconsole.message.commands.startTracingToProfiler)
+# Label displayed when :trace command was executed and the JavaScript tracer will open the profiler showing all the traces,
+# but only on stop.
+webconsole.message.commands.startTracingToProfiler=已开始将跟踪信息记录至性能分析器,跟踪结束时会显示在其中。
+
+# LOCALIZATION NOTE (webconsole.message.commands.stopTracing)
+# Label displayed when :trace command was executed and the JavaScript tracer stopped.
+webconsole.message.commands.stopTracing=已停止追踪
+
+# 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=`copy` 命令失败,无法字符串化对象:%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=现在起将拦截网址包含“%S”的请求
+
+# LOCALIZATION NOTE (webconsole.message.commands.unblockedURL)
+# Label displayed when the :unblock <url> command is successful
+# Parameters: %S is the URL filter
+webconsole.message.commands.unblockedURL=已移除拦截过滤规则“%S”
+
+# LOCALIZATION NOTE (webconsole.messages.commands.blockArgMissing)
+# Message displayed when no filter is passed to block/unblock command
+webconsole.messages.commands.blockArgMissing=未指定过滤规则
+
+# LOCALIZATION NOTE (webconsole.message.componentDidCatch.copyButton.label)
+# Label displayed on the button next to the message we display when the webconsole
+# couldn't handle a given packet (See webconsole.message.componentDidCatch.label).
+webconsole.message.componentDidCatch.copyButton.label=复制信息元数据
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.label)
+# Label used for the text of the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.executeButton.label=运行
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for opening the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.openReverseSearch.tooltip=打开历史命令搜索(%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip)
+# Label used for the tooltip on the reverse search button for closing the Reverse Search UI.
+# The Reverse Search is a feature that mimics the bash-like reverse search of
+# command history in WebConsole, searching commands from the last item backwards.
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.reverseSearchButton.closeReverseSearch.tooltip=关闭历史命令搜索(%S)
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the execute button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.executeButton.tooltip=运行表达式(%S)。此操作不会清除输入内容。
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.prettyPrintButton.tooltip)
+# Label used for the tooltip on the prettyPrint button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.prettyPrintButton.tooltip=美化表达式
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history previous expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.prevExpressionButton.tooltip=上一表达式
+
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.executeButton.tooltip)
+# Label used for the tooltip on the history next expression, in the editor toolbar,
+# which is displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+webconsole.editor.toolbar.history.nextExpressionButton.tooltip=下一表达式
+
+# LOCALIZATION NOTE (webconsole.editor.toolbar.closeButton.tooltip2)
+# Label used for the tooltip on the close button, in the editor toolbar, which is
+# displayed when the editor mode is enabled (devtools.webconsole.input.editor=true).
+# Parameters: %S is the keyboard shortcut.
+webconsole.editor.toolbar.closeButton.tooltip2=切回内联模式(%S)
+
+# LOCALIZATION NOTE (webconsole.input.openEditorButton.tooltip2)
+# Label used for the tooltip on the open editor button, in console input, which is
+# displayed when the console is in regular mode.
+# Parameters: %S is the keyboard shortcut.
+webconsole.input.openEditorButton.tooltip2=切换为多行编辑器模式(%S)
+
+# LOCALIZATION NOTE (webconsole.warningGroup.messageCount.tooltip): the tooltip text
+# displayed when you hover a warning group badge (i.e. repeated warning messages for a
+# given category, for example Content Blocked messages) in the web console output.
+# This is a semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of message in the group.
+# example: 3 messages
+webconsole.warningGroup.messageCount.tooltip=#1 条消息
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.label): the text that is displayed
+# when displaying the multiline-input mode for the first time, until the user dismiss the
+# text.
+# Parameters: %1$S is Enter key, %2$S is the shortcut to evaluate the expression (
+# Ctrl+Enter or Cmd+Enter on OSX).
+webconsole.input.editor.onboarding.label=使用新的多行编辑器模式更快地迭代您的代码。按下 %1$S 即可添加新行,按 %2$S 运行。
+
+# LOCALIZATION NOTE (webconsole.input.editor.onboarding.dismiss.label): the text that is
+# displayed in the multiline-input mode onboarding UI to dismiss it.
+webconsole.input.editor.onboarding.dismiss.label=了解!
+
+# LOCALIZATION NOTE (webconsole.enterKey): The text that will be used to represent the
+# Enter key in the editor onboarding UI, as well as on the Editor toolbar "Run" button
+# tooltip.
+webconsole.enterKey=Enter
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFile): This is a label
+# used for opening a file in the console input (Ctrl+O or Cmd+O on OSX while
+# being focused on the input).
+webconsole.input.openJavaScriptFile=打开 JavaScript 文件
+
+# LOCALIZATION NOTE (webconsole.input.openJavaScriptFileFilter):
+# This string is displayed as a filter when opening a file in the console input.
+webconsole.input.openJavaScriptFileFilter=JavaScript 文件
+
+# LOCALIZATION NOTE (webconsole.input.selector.top): This is the term used
+# to describe the primary thread of execution in the page
+webconsole.input.selector.top=顶部
+
+# LOCALIZATION NOTE (webconsole.input.selector.tooltip): This is the tooltip
+# shown when users select a thread that they want to evaluate an
+# expression for.
+webconsole.input.selector.tooltip=选择求值环境
+
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultEnabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultEnabled2=某些 Cookie 滥用“SameSite”属性,无法正常工作
+# LOCALIZATION NOTE (webconsole.group.cookieSameSiteLaxByDefaultDisabled2): do not translate 'SameSite'.
+webconsole.group.cookieSameSiteLaxByDefaultDisabled2=某些 Cookie 滥用推荐的“SameSite“属性
+
+# LOCALIZATION NOTE (webconsole.group.csp): do not translate
+# 'Content-Security-Policy', as that's the name of the header.
+webconsole.group.csp=Content-Security-Policy 警告
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/accessibility.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/accessibility.properties
new file mode 100644
index 0000000000..5d7a6c3d4b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/accessibility.properties
@@ -0,0 +1,142 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio): A title text for the color contrast
+# ratio description, used by the accessibility highlighter to display the value. %S in the
+# content will be replaced by the contrast ratio numerical value.
+accessibility.contrast.ratio=对比度:%S
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.error): A title text for the color
+# contrast ratio, used when the tool is unable to calculate the contrast ratio value.
+accessibility.contrast.ratio.error=无法计算
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label): A title text for the color
+# contrast ratio description, used together with the actual values.
+accessibility.contrast.ratio.label=对比度:
+
+# LOCALIZATION NOTE (accessibility.contrast.ratio.label.large): A title text for the color
+# contrast ratio description that also specifies that the color contrast criteria used is
+# if for large text.
+accessibility.contrast.ratio.label.large=对比度(大号文本):
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.area): A title text that
+# describes that currently selected accessible object for an <area> element must have
+# its name provided via the alt attribute.
+accessibility.text.label.issue.area = 使用“alt”属性给带有“href”属性的“area”元素提供文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.dialog): A title text that
+# describes that currently selected accessible object for a dialog should have a name
+# provided.
+accessibility.text.label.issue.dialog = 对话框应该有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.document.title): A title text that
+# describes that currently selected accessible object for a document must have a name
+# provided via title.
+accessibility.text.label.issue.document.title = 文档(Documents)必须有一个 title(标题)。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.embed): A title text that
+# describes that currently selected accessible object for an <embed> must have a name
+# provided.
+accessibility.text.label.issue.embed = 嵌入式内容必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.figure): A title text that
+# describes that currently selected accessible object for a figure should have a name
+# provided.
+accessibility.text.label.issue.figure = 带有可选标题的数字应该有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided.
+accessibility.text.label.issue.fieldset = “fieldset”元素必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.fieldset.legend2): A title text that
+# describes that currently selected accessible object for a <fieldset> must have a name
+# provided via <legend> element.
+accessibility.text.label.issue.fieldset.legend2 = 使用“legend”元素为“fieldset”提供文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form): A title text that
+# describes that currently selected accessible object for a form element must have a name
+# provided.
+accessibility.text.label.issue.form = 表单元素必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.form.visible): A title text that
+# describes that currently selected accessible object for a form element should have a name
+# provided via a visible label/element.
+accessibility.text.label.issue.form.visible = 表单元素应该有一个可见的文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.frame): A title text that
+# describes that currently selected accessible object for a <frame> must have a name
+# provided.
+accessibility.text.label.issue.frame = “frame”元素必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.glyph): A title text that
+# describes that currently selected accessible object for a <mglyph> must have a name
+# provided via alt attribute.
+accessibility.text.label.issue.glyph = 使用“alt”属性给“mglyph”元素提供文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading): A title text that
+# describes that currently selected accessible object for a heading must have a name
+# provided.
+accessibility.text.label.issue.heading = 标题(Heading)必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.heading.content): A title text that
+# describes that currently selected accessible object for a heading must have visible
+# content.
+accessibility.text.label.issue.heading.content = 标题(Heading)应该有可见的文本内容。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.iframe): A title text that
+# describes that currently selected accessible object for an <iframe> have a name
+# provided via title attribute.
+accessibility.text.label.issue.iframe = 使用“title”属性描述“iframe”的内容。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.image): A title text that
+# describes that currently selected accessible object for graphical content must have a
+# name provided.
+accessibility.text.label.issue.image = 包含图像的内容必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.interactive): A title text that
+# describes that currently selected accessible object for interactive element must have a
+# name provided.
+accessibility.text.label.issue.interactive = 交互式元素必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.optgroup.label2): A title text that
+# describes that currently selected accessible object for an <optgroup> must have a
+# name provided via label attribute.
+accessibility.text.label.issue.optgroup.label2 = 使用“label”属性为“optgroup”提供文本标签。
+
+# LOCALIZATION NOTE (accessibility.text.label.issue.toolbar): A title text that
+# describes that currently selected accessible object for a toolbar must have a
+# name provided when there is more than one toolbar in the document.
+accessibility.text.label.issue.toolbar = 当有超过一个工具栏时,工具栏必须有文本标签。
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.semantics): A title text that
+# describes that currently selected accessible object is focusable and should
+# indicate that it could be interacted with.
+accessibility.keyboard.issue.semantics=可聚焦元素应有交互式语义。
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.tabindex): A title text that
+# describes that currently selected accessible object has a corresponding
+# DOMNode that defines a tabindex attribute greater that 0 which can result in
+# unexpected behaviour when navigating with keyboard.
+accessibility.keyboard.issue.tabindex=避免使用大于 0 的“tabindex”属性。
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.action): A title text that
+# describes that currently selected accessible object is interactive but can not
+# be activated using keyboard or accessibility API.
+accessibility.keyboard.issue.action=交互式元素必须可用键盘激活。
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focusable): A title text that
+# describes that currently selected accessible object is interactive but is not
+# focusable with a keyboard.
+accessibility.keyboard.issue.focusable=交互式元素必须可被聚焦。
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.focus.visible): A title text
+# that describes that currently selected accessible object is focusable but
+# might not have appropriate focus styling.
+accessibility.keyboard.issue.focus.visible=可聚焦元素可能缺少聚焦样式。
+
+# LOCALIZATION NOTE (accessibility.keyboard.issue.mouse.only): A title text that
+# describes that currently selected accessible object is not focusable and not
+# semantic but can be activated via mouse (e.g. has click handler).
+accessibility.keyboard.issue.mouse.only=可点击元素必须可被聚焦,且应有交互式语义。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/debugger.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/debugger.properties
new file mode 100644
index 0000000000..44ab63a8ce
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=传入连接
+
+# LOCALIZATION NOTE (remoteIncomingPromptHeader): Header displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptHeader=检测到一个要求进行远程调试连接的传入请求。远程客户端可能通过您的浏览器进行完全控制!
+# LOCALIZATION NOTE (remoteIncomingPromptClientEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the client such as "127.0.0.1:6000"
+remoteIncomingPromptClientEndpoint=客户端端点:%1$S
+# LOCALIZATION NOTE (remoteIncomingPromptServerEndpoint): Part of the prompt
+# dialog for the user to choose whether an incoming connection should be
+# allowed.
+# %1$S: The host and port of the server such as "127.0.0.1:6000"
+remoteIncomingPromptServerEndpoint=服务器端点:%1$S
+# LOCALIZATION NOTE (remoteIncomingPromptFooter): Footer displayed on the
+# dialog that prompts the user to allow the incoming connection.
+remoteIncomingPromptFooter=允许连接?
+
+# LOCALIZATION NOTE (remoteIncomingPromptDisable): The label displayed on the
+# third button in the incoming connection dialog that lets the user disable the
+# remote debugger server.
+remoteIncomingPromptDisable=禁用
+
+# LOCALIZATION NOTE (clientSendOOBTitle): The title displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBTitle=客户端身份标识
+# LOCALIZATION NOTE (clientSendOOBHeader): Header displayed on the dialog that
+# instructs the user to transfer an authentication token to the server.
+clientSendOOBHeader=您连接的端点需要更多信息来验证此连接。请在下面提供将显示在远端弹出框的令牌。
+# LOCALIZATION NOTE (clientSendOOBHash): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The client's cert fingerprint
+clientSendOOBHash=我的证书:%1$S
+# LOCALIZATION NOTE (clientSendOOBToken): Part of the dialog that instructs the
+# user to transfer an authentication token to the server.
+# %1$S: The authentication token that the user will transfer.
+clientSendOOBToken=令牌:%1$S
+
+# LOCALIZATION NOTE (serverReceiveOOBTitle): The title displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBTitle=提供客户端令牌
+# LOCALIZATION NOTE (serverReceiveOOBBody): Main text displayed on the dialog
+# that instructs the user to provide an authentication token from the client.
+serverReceiveOOBBody=客户端应该被显示的一个令牌值。请在这里输入要完成的此客户端的身份验证。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/eyedropper.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/eyedropper.properties
new file mode 100644
index 0000000000..60428ca193
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/eyedropper.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used in the Eyedropper color tool.
+# LOCALIZATION NOTE The correct localization of this file might be to keep it
+# in English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best documentation
+# on web development on the web.
+
+# LOCALIZATION NOTE (colorValue.copied): This text is displayed when the user selects a
+# color with the eyedropper and it's copied to the clipboard.
+colorValue.copied=已复制
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/screenshot.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/screenshot.properties
new file mode 100644
index 0000000000..13613362bb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=保存页面为图像
+
+# LOCALIZATION NOTE (screenshotFilenameDesc) A very short string to describe
+# the 'filename' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotFilenameDesc=目标文件名
+
+# LOCALIZATION NOTE (screenshotFilenameManual) A fuller description of the
+# 'filename' parameter to the 'screenshot' command.
+screenshotFilenameManual=保存截图所用的文件名(应该有“.png”扩展名)。
+
+# LOCALIZATION NOTE (screenshotClipboardDesc) A very short string to describe
+# the 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardDesc=复制截图到剪贴板吗?(true/false)
+
+# LOCALIZATION NOTE (screenshotClipboardManual) A fuller description of the
+# 'clipboard' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotClipboardManual=若设定为 True,代表您想要将截图保存到剪贴板,而不是保存为文件。
+
+# LOCALIZATION NOTE (screenshotGroupOptions) A label for the optional options of
+# the screenshot command. Displayed when the --help flag is passed to the
+# screenshot command.
+screenshotGroupOptions=选项
+
+# LOCALIZATION NOTE (screenshotDelayDesc) A very short string to describe
+# the 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayDesc=延迟(秒)
+
+# LOCALIZATION NOTE (screenshotDelayManual) A fuller description of the
+# 'delay' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the screenshot command.
+screenshotDelayManual=截图前要延迟的时间(单位:秒)
+
+# LOCALIZATION NOTE (screenshotDPRDesc) A very short string to describe
+# the 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRDesc=设备像素比例
+
+# LOCALIZATION NOTE (screenshotDPRManual) A fuller description of the
+# 'dpr' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotDPRManual=截取屏幕时使用的设备像素比例
+
+# LOCALIZATION NOTE (screenshotFullPageDesc) A very short string to describe
+# the 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageDesc=整个网页?(true/false)
+
+# LOCALIZATION NOTE (screenshotFullPageManual) A fuller description of the
+# 'fullpage' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFullPageManual=若设定为 True,代表截图应包含当前屏幕中没有显示的网页的其余部分。
+
+# LOCALIZATION NOTE (screenshotFileDesc) A very short string to describe
+# the 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileDesc=保存到文件?(true/false)
+
+# LOCALIZATION NOTE (screenshotFileManual) A fuller description of the
+# 'file' parameter to the 'screenshot' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+screenshotFileManual=若设定为 True,代表屏幕截图应被保存为文件,即使其他选项(例如剪贴板)已被启用。
+
+# LOCALIZATION NOTE (screenshotGeneratedFilename) The auto generated filename
+# when no file name is provided. The first argument (%1$S) is the date string
+# in yyyy-mm-dd format and the second argument (%2$S) is the time string
+# in HH.MM.SS format. Please don't add the extension here.
+screenshotGeneratedFilename=截图 %1$S %2$S
+
+# LOCALIZATION NOTE (screenshotErrorSavingToFile) Text displayed to user upon
+# encountering error while saving the screenshot to the file specified.
+# The argument (%1$S) is the filename.
+screenshotErrorSavingToFile=保存 %1$S 时出错
+
+# LOCALIZATION NOTE (screenshotSavedToFile) Text displayed to user when the
+# screenshot is successfully saved to the file specified.
+# The argument (%1$S) is the filename.
+screenshotSavedToFile=已保存到 %1$S
+
+# LOCALIZATION NOTE (screenshotErrorCopying) Text displayed to user upon
+# encountering error while copying the screenshot to clipboard.
+screenshotErrorCopying=复制截图到剪贴板时出错。
+
+# LOCALIZATION NOTE (screenshotCopied) Text displayed to user when the
+# screenshot is successfully copied to the clipboard.
+screenshotCopied=截图已复制到剪贴板。
+
+# LOCALIZATION NOTE (inspectNodeDesc) A very short string to describe the
+# 'node' parameter to the 'inspect' command. Displayed when the
+# --help flag is passed to the `screenshot command.
+inspectNodeDesc=CSS 选择器
+
+# LOCALIZATION NOTE (inspectNodeManual) A fuller description of the 'node'
+# parameter to the 'inspect' command. Displayed when the --help flag is
+# passed to the `screenshot command.
+inspectNodeManual=使用 CSS 选择器和 Document.querySelector 来识别单个元素
+
+# LOCALIZATION NOTE (screenshotTruncationWarning) Text displayed to user when the image
+# that would be created by the screenshot is too big and needs to be truncated to avoid
+# errors.
+# The first parameter is the width of the final image and the second parameter is the
+# height of the image.
+screenshotTruncationWarning=由于生成的图片太大,已裁切为 %1$S×%2$S
+
+# LOCALIZATION NOTE (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=由于生成的图像太大,已将设备像素比率降低为 1
+
+# LOCALIZATION NOTE (screenshotRenderingError) Text displayed to user upon
+# encountering an error while rendering the screenshot. This most often happens when the
+# resulting image is too large to be rendered.
+screenshotRenderingError=创建图像时出错,生成的图像可能太大。
+
+# 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=“%S”选择器与页面上所有元素均不匹配。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/shared.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/shared.properties
new file mode 100644
index 0000000000..0978450dee
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties
new file mode 100644
index 0000000000..27eb50e109
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/devtools/shared/styleinspector.properties
@@ -0,0 +1,267 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Style Inspector.
+#
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+
+# LOCALIZATION NOTE (rule.status): For each style property the panel shows
+# the rules which hold that specific property. For every rule, the rule status
+# is also displayed: a rule can be the best match, a match, a parent match, or a
+# rule did not match the element the user has highlighted.
+rule.status.BEST=最佳匹配
+rule.status.MATCHED=匹配
+rule.status.PARENT_MATCH=父匹配
+
+# 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=内联
+rule.sourceConstructed=构造
+rule.sourceElement=元素
+
+# LOCALIZATION NOTE (rule.inheritedFrom): Shown for CSS rules
+# that were inherited from a parent node. Will be passed a node
+# identifier of the parent node.
+# e.g "Inherited from body#bodyID"
+rule.inheritedFrom=继承自 %S
+
+# LOCALIZATION NOTE (rule.keyframe): Shown for CSS Rules keyframe header.
+# Will be passed an identifier of the keyframe animation name.
+rule.keyframe=关键帧 %S
+
+# LOCALIZATION NOTE (rule.userAgentStyles): Shown next to the style sheet
+# link for CSS rules that were loaded from a user agent style sheet.
+# These styles will not be editable, and will only be visible if the
+# devtools.inspector.showUserAgentStyles pref is true.
+rule.userAgentStyles=(用户代理)
+
+# LOCALIZATION NOTE (rule.pseudoElement): Shown for CSS rules
+# pseudo element header
+rule.pseudoElement=伪元素
+
+# LOCALIZATION NOTE (rule.selectedElement): Shown for CSS rules element header if
+# pseudo elements are present in the rule view.
+rule.selectedElement=此元素
+
+# LOCALIZATION NOTE (rule.warning.title): When an invalid property value is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warning.title=无效的属性值
+
+# LOCALIZATION NOTE (rule.warningName.title): When an invalid property name is
+# entered into the rule view a warning icon is displayed. This text is used for
+# the title attribute of the warning icon.
+rule.warningName.title=无效的属性名称
+
+# LOCALIZATION NOTE (rule.filterProperty.title): Text displayed in the tooltip
+# of the search button that is shown next to a property that has been overridden
+# in the rule view.
+rule.filterProperty.title=过滤器规则包含这个属性
+
+# LOCALIZATION NOTE (rule.empty): Text displayed when the highlighter is
+# first opened and there's no node selected in the rule view.
+rule.empty=未选择元素。
+
+# LOCALIZATION NOTE (rule.variableValue): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)") in
+# the rule view. The first argument is the variable name and the
+# second argument is the value.
+rule.variableValue=%S = %S
+
+# LOCALIZATION NOTE (rule.variableUnset): Text displayed in a tooltip
+# when the mouse is over a variable use (like "var(--something)"),
+# where the variable is not set. the rule view. The argument is the
+# variable name.
+rule.variableUnset=%S 未设定
+
+# LOCALIZATION NOTE (rule.selectorHighlighter.tooltip): Text displayed in a
+# tooltip when the mouse is over a selector highlighter icon in the rule view.
+rule.selectorHighlighter.tooltip=高亮与此选择器匹配的所有元素
+
+# LOCALIZATION NOTE (rule.colorSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a color swatch in the rule view.
+rule.colorSwatch.tooltip=点击打开颜色选择器,Shift+单击更改颜色格式
+
+# LOCALIZATION NOTE (rule.bezierSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a cubic-bezier swatch in the rule view.
+rule.bezierSwatch.tooltip=点击打开定时函数编辑器
+
+# LOCALIZATION NOTE (rule.filterSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a filter swatch in the rule view.
+rule.filterSwatch.tooltip=点击打开过滤器编辑器
+
+# LOCALIZATION NOTE (rule.angleSwatch.tooltip): Text displayed in a tooltip
+# when the mouse is over a angle swatch in the rule view.
+rule.angleSwatch.tooltip=Shift+单击更改角度格式
+
+# LOCALIZATION NOTE (rule.flexToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a Flexbox toggle icon in the rule view.
+rule.flexToggle.tooltip=点击切换弹性框高亮器
+
+# LOCALIZATION NOTE (rule.gridToggle.tooltip): Text displayed in a tooltip
+# when the mouse is over a CSS Grid toggle icon in the rule view.
+rule.gridToggle.tooltip=点击切换 CSS 网格高亮器
+
+# LOCALIZATION NOTE (rule.filterStyles.placeholder): This is the placeholder that
+# goes in the search box when no search term has been entered.
+rule.filterStyles.placeholder=过滤样式
+
+# LOCALIZATION NOTE (rule.addRule.tooltip): This is the tooltip shown when
+# hovering the `Add new rule` button in the rules view toolbar.
+rule.addRule.tooltip=添加新规则
+
+# LOCALIZATION NOTE (rule.togglePseudo.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Pseudo Class Panel` button in the
+# rule view toolbar.
+rule.togglePseudo.tooltip=切换伪类
+
+# LOCALIZATION NOTE (rule.classPanel.toggleClass.tooltip): This is the tooltip
+# shown when hovering over the `Toggle Class Panel` button in the
+# rule view toolbar.
+rule.classPanel.toggleClass.tooltip=切换类(class)
+
+# 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=添加新类(class)
+
+# 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=此元素没有类(class)
+
+# LOCALIZATION NOTE (rule.printSimulation.tooltip):
+# This is the tooltip of the print simulation button in the Rule View toolbar
+# that toggles print simulation.
+rule.printSimulation.tooltip=切换页面的打印介质模拟
+
+# LOCALIZATION NOTE (rule.colorSchemeSimulation.tooltip):
+# This is the tooltip of the color scheme simulation button in the Rule View
+# toolbar that toggles color-scheme simulation.
+rule.colorSchemeSimulation.tooltip=切换页面的配色方案模拟
+
+# LOCALIZATION NOTE (rule.twistyCollapse.label): The text a screen reader
+# speaks when the header of a rule is expanded.
+rule.twistyCollapse.label=折叠
+
+# LOCALIZATION NOTE (rule.twistyExpand.label): The text a screen reader
+# speaks when the header of a rule is collapsed.
+rule.twistyExpand.label=展开
+
+# LOCALIZATION NOTE (rule.expandableContainerToggleButton.title):
+# This is the tooltip for expandable container toggle button in the Rule View (Pseudo-elements, keyframes, …)
+rule.expandableContainerToggleButton.title=切换面板
+
+# 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=请点击选择容器节点
+
+# LOCALIZATION NOTE (rule.propertyToggle.label):
+# This is the label for the checkbox input in the rule view that allow to disable/re-enable
+# a specific property in a rule.
+# The argument is the property name.
+rule.propertyToggle.label=启用 %S 属性
+
+# LOCALIZATION NOTE (rule.newPropertyName.label):
+# This is the label for the new property input in the rule view.
+rule.newPropertyName.label=新属性名称
+
+# LOCALIZATION NOTE (rule.propertyName.label):
+# This is the label for the property name input in the rule view.
+rule.propertyName.label=属性名称
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor): Text displayed in the rule
+# and computed view context menu when a color value was clicked.
+styleinspector.contextmenu.copyColor=复制颜色
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyColor.accessKey): Access key for
+# the rule and computed view context menu "Copy Color" entry.
+styleinspector.contextmenu.copyColor.accessKey=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=复制 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=复制图像的 Data-URL
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyImageDataUrl.accessKey): Access key for
+# the rule and computed view context menu "Copy Image Data-URL" entry.
+styleinspector.contextmenu.copyImageDataUrl.accessKey=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=复制图像的 Data-URL 失败
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources): Text displayed in the rule view
+# context menu.
+styleinspector.contextmenu.toggleOrigSources=显示原始来源
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.toggleOrigSources.accessKey): Access key for
+# the rule view context menu "Show original sources" entry.
+styleinspector.contextmenu.toggleOrigSources.accessKey=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=添加新规则
+
+# 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=全选
+
+# 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=复制
+
+# 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=复制位置
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyDeclaration): Text
+# displayed in the rule view context menu for copying the CSS declaration.
+styleinspector.contextmenu.copyDeclaration=复制声明
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyName): Text displayed in
+# the rule view context menu for copying the property name.
+styleinspector.contextmenu.copyPropertyName=复制属性名称
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyPropertyValue): Text displayed in
+# the rule view context menu for copying the property value.
+styleinspector.contextmenu.copyPropertyValue=复制属性值
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copyRule): Text displayed in the
+# rule view context menu for copying the rule.
+styleinspector.contextmenu.copyRule=复制规则
+
+# LOCALIZATION NOTE (styleinspector.contextmenu.copySelector): Text displayed in the
+# rule view context menu for copying the selector.
+styleinspector.contextmenu.copySelector=复制选择器
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/accessible.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/accessible.properties
new file mode 100644
index 0000000000..bdb49a4e60
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 跳过
+press = 按
+check = 选定
+uncheck = 取消选定
+select = 选择
+open = 打开
+close = 关闭
+switch = 切换
+click = 单击
+collapse= 折叠
+expand = 展开
+activate= 激活
+cycle = 转换
+# 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 = 点击祖先元素
+
+# Universal Access API support
+# (Mac Only)
+# The Role Description for AXWebArea (the web widget). Like in Safari.
+htmlContent = HTML 内容
+# The Role Description for the Tab button.
+tab = 标签页
+# The Role Description for definition list dl, dt and dd
+term = term
+definition = 定义
+# The Role Description for an input type="search" text field
+searchTextField = 文本搜索栏
+# Role Description (exposed as AXTitle) for datepickers
+dateField = 日期字段
+# The Role Description for WAI-ARIA Landmarks
+application = 应用程序
+search = 搜索
+banner = 横幅
+navigation = 导航
+complementary = 补充
+content = 内容
+main = 主要
+# The (spoken) role description for various WAI-ARIA roles
+alert = 提示
+alertDialog = 提示对话框
+dialog = 对话框
+article = 文章
+document = 文档
+# The (spoken) role description for the WAI-ARIA figure role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-figure
+figure = 图
+# The (spoken) role description for the WAI-ARIA heading role
+# https://w3c.github.io/aria/core-aam/core-aam.html#role-map-heading
+heading = 标题
+log = 日志
+marquee = 滚动框
+math = 数学
+note = 注释
+region = 区域
+status = 应用程序状态
+timer = 计时器
+tooltip = 工具提示
+separator = 分隔条
+tabPanel = 选项卡面板
+# The roleDescription for the html:mark element
+highlight = 高亮
+# The roleDescription for the details element
+details = 详细信息
+# The roleDescription for the summary element
+summary = 摘要
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/intl.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/platformKeys.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/platformKeys.properties
new file mode 100644
index 0000000000..2b4cf660c7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/mac/platformKeys.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Mac
+# This file defines the on-screen display names for the various modifier keys
+# and the Return key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key - open up arrow symbol (ctrl-e)
+VK_SHIFT=⇧
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_META=⌘
+
+# The Win key - never generated by native key event
+VK_WIN=win
+
+# The Command key - clover leaf symbol (ctrl-q)
+VK_COMMAND_OR_WIN=⌘
+
+# 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=Return
+
+# The separator character used between modifiers (none on Mac OS)
+MODIFIER_SEPARATOR=
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/accessible.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/accessible.properties
new file mode 100644
index 0000000000..b50e46533d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 跳过
+press = 按
+check = 选定
+uncheck = 取消选定
+select = 选择
+open = 打开
+close = 关闭
+switch = 切换
+click = 点击
+collapse= 折叠
+expand = 展开
+activate= 激活
+cycle = 转换
+# 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 = 点击祖先元素
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/intl.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/platformKeys.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/platformKeys.properties
new file mode 100644
index 0000000000..fded02a68e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/unix/platformKeys.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Unix
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key (Super key and Hyper keys are mapped to DOM Win key)
+VK_WIN=Win
+
+# The Super/Hyper key
+VK_COMMAND_OR_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/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/accessible.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/accessible.properties
new file mode 100644
index 0000000000..b50e46533d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 跳过
+press = 按
+check = 选定
+uncheck = 取消选定
+select = 选择
+open = 打开
+close = 关闭
+switch = 切换
+click = 点击
+collapse= 折叠
+expand = 展开
+activate= 激活
+cycle = 转换
+# 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 = 点击祖先元素
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/intl.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/intl.properties
new file mode 100644
index 0000000000..71265a9ef1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/platformKeys.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/platformKeys.properties
new file mode 100644
index 0000000000..1df027dccf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global-platform/win/platformKeys.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Platform: Windows
+# This file defines the on-screen display names for the various modifier keys
+# and the Enter key (VK_RETURN).
+# These are used in XP menus to show keyboard shortcuts.
+
+# The Shift key
+VK_SHIFT=Shift
+
+# The Command key
+VK_META=Meta
+
+# The Win key
+VK_WIN=Win
+
+# The Win key
+VK_COMMAND_OR_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/zh-CN/chrome/zh-CN/locale/zh-CN/global/aboutStudies.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/aboutStudies.properties
new file mode 100644
index 0000000000..633ef05b61
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/aboutStudies.properties
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# LOCALIZATION NOTE (title): keep "Shield" in English. See
+# https://wiki.mozilla.org/Firefox/Shield/Shield_Studies for more information
+title = 盾牌研究
+removeButton = 移除
+
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of active studies
+activeStudiesList = 正在进行的研究
+# LOCALIZATION NOTE (activeStudiesList): Title above a list of completed studies
+completedStudiesList = 已完成的研究
+# LOCALIZATION NOTE (activeStatus): Displayed for an active study
+activeStatus = 进行中
+# LOCALIZATION NOTE (completeStatus): Displayed for a study that is already complete
+completeStatus = 已完成
+
+updateButtonWin = 更新选项
+updateButtonUnix = 更新首选项
+learnMore = 详细了解
+noStudies = 您未参与任何实验。
+disabledList = 以下是您参与过的研究。不会将您列入新的研究。
+# LOCALIZATION NOTE (enabledList): %S is brandShortName (e.g. Firefox)
+enabledList = 这是什么?%S 会不时地安装并运行一些实验项目。
+
+# LOCALIZATION NOTE (preferenceStudyDescription) $1%S will be replaced with the
+# name of a preference (such as "stream.improvesearch.topSiteSearchShortcuts")
+# and $2%S will be replaced with the value of that preference. Both values will
+# be formatted differently than the surrounding text.
+preferenceStudyDescription = 此研究会将 %1$S 设置为 %2$S。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/appstrings.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/appstrings.properties
new file mode 100644
index 0000000000..36910d2773
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=请检查网址是否正确,然后重试。
+fileNotFound=无法找到 %S。请检查网址再重试。
+fileAccessDenied=无法读取 %S 上的该文件。
+dnsNotFound2=未能找到 %S。请检查名称,然后重试。
+unknownProtocolFound=浏览器不知道如何打开 %S 中的某个协议,或者该协议不允许在这种情况下使用。
+connectionFailure=当试图与 %S 联系时,连接被拒绝。
+netInterrupt=到 %S 的连接已经意外终止。可能已经传送了部分数据。
+netTimeout=当试图与 %S 联系时,操作超时。
+redirectLoop=此 URL 超过重定向限制次数。无法加载请求的页面。这可能是因 Cookie 被阻挡所致。
+confirmRepostPrompt=为了显示此页面,本应用程序必须发送将重复此前操作(例如搜索或确认订单)的信息。
+resendButton.label=重新发送
+unknownSocketType=要查看此文档,您必须安装个人安全管理器(PSM)。请下载并安装 PSM,然后重试,或者联系您的系统管理员。
+netReset=此文档中无数据。
+notCached=该文档不再可用。
+netOffline=脱机时无法显示文档。您可以通过反选“文件”菜单中的“脱机工作”切换至联机。
+isprinting=正在打印或者打印预览时文档无法修改。
+deniedPortAccess=由于安全原因,对所提供端口的访问已被禁用。
+proxyResolveFailure=无法找到您指定的代理服务器。请检查您的代理设置然后再试。
+proxyConnectFailure=尝试联系您指定的代理服务器时连接被拒绝。请检查您的代理设置然后再试。
+contentEncodingError=您尝试查看的页面无法显示,因为它使用了无效的或者不支持的压缩格式。
+unsafeContentType=无法显示您尝试查看的页面,它包含在不能安全打开的文件类型中。建议向此网站的管理员反馈这个问题。
+malwareBlocked=根据举报,位于 %S 的此网页有攻击行为。现已依照您的安全首选项予以拦截。
+harmfulBlocked=根据举报,位于 %S 的此网页有攻击行为。现已依照您的安全首选项予以拦截。
+unwantedBlocked=根据举报,位于 %S 的此网页提供流氓软件。现已依照您的安全首选项予以拦截。
+deceptiveBlocked=根据举报,位于 %S 的此网页是诈骗网站。现已依照您的安全首选项予以拦截。
+cspBlocked=此页面的内容安全策略禁止它以这种方式加载。
+xfoBlocked=此页面包含的内容安全政策阻止了在此上下文中进行的加载。
+corruptedContentErrorv2=在网站 %S 遇到一个无法修复的网络协议违规。
+sslv3Used=无法保证您在 %S 上的数据安全性,因为它使用 SSLv3,一个目前安全性欠佳的安全协议。
+weakCryptoUsed=%S 的管理员没有正确配置好此网站。为避免您的信息失窃,并未与此网站建立连接。
+inadequateSecurityError=该网站尝试协商的安全级别不足。
+blockedByPolicy=您的组织已封锁此页面或网站。
+networkProtocolError=Firefox 遇到一个无法修复的网络协议违规。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/autocomplete.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/autocomplete.properties
new file mode 100644
index 0000000000..7d165b3487
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/global/browser.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/browser.properties
new file mode 100644
index 0000000000..3267571335
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/browser.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+formPostSecureToInsecureWarning.title = 安全警告
+formPostSecureToInsecureWarning.message = 您在此页面上输入的信息将通过一个不安全的连接发送,并可能被第三方所窥探。\n\n您确定要继续发送此信息吗?
+formPostSecureToInsecureWarning.continue = 继续
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/commonDialogs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/commonDialogs.properties
new file mode 100644
index 0000000000..6510f6b66f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=警告
+Confirm=确认
+ConfirmCheck=确认
+Prompt=提示
+# LOCALIZATION NOTE - %S is brandFullName
+PromptUsernameAndPassword3=需要授权 - %S
+# LOCALIZATION NOTE - %S is brandFullName
+PromptPassword3=需要输入密码 - %S
+Select=选择
+OK=确定
+Cancel=取消
+Yes=是(&Y)
+No=否(&N)
+Save=保存(&S)
+Revert=恢复(&R)
+DontSave=不保存(&D)
+ScriptDlgGenericHeading=[JavaScript 应用程序]
+ScriptDlgHeading=%S 页面称:
+ScriptDlgNullPrincipalHeading=该页面称:
+ScriptDialogLabel=阻止此页面创建更多对话框
+ScriptDialogLabelNullPrincipal=不允许此网站再次向您提示
+# LOCALIZATION NOTE (ScriptDialogLabelContentPrincipal):
+# %S is either the domain and port of the site prompting, or the name of
+# an add-on prompting.
+ScriptDialogLabelContentPrincipal=不允许 %S 再次向您提示
+ScriptDialogPreventTitle=确认对话框首选项
+# LOCALIZATION NOTE (EnterLoginForRealm3, EnterLoginForProxy3):
+# %1 is an untrusted string provided by a remote server. It could try to
+# take advantage of sentence structure in order to mislead the user (see
+# bug 244273). %1 should be integrated into the translated sentences as
+# little as possible. %2 is the url of the site being accessed.
+EnterLoginForRealm3=%2$S 正在请求您的用户名和密码。该网站称:“%1$S”
+EnterLoginForProxy3=代理服务器 %2$S 请您输入用户名和密码。该网站称:“%1$S”
+EnterUserPasswordFor2=%1$S 要求您输入用户名和密码。
+EnterUserPasswordForCrossOrigin2=%1$S 正在请求您的用户名和密码。警告:您的密码不会发送给您目前正在浏览的网站!
+EnterPasswordFor=请输入 %1$S 在 %2$S 的密码
+EnterCredentials=此网站要求您登录。
+# %S is the username for which a password is requested.
+EnterPasswordOnlyFor=此网站要求您以 %S 身份登录。
+# %S is the domain of the site being accessed.
+EnterCredentialsCrossOrigin=此网站要求您登录。警告:您的登录信息将会与 %S 共享,而非当前正在访问的网站。
+SignIn=登录
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/contentAreaCommands.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/contentAreaCommands.properties
new file mode 100644
index 0000000000..564d684784
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=保存图像
+SaveMediaTitle=保存媒体
+SaveVideoTitle=保存视频
+SaveAudioTitle=保存音频
+SaveLinkTitle=另存为
+WebPageCompleteFilter=网页,全部
+WebPageHTMLOnlyFilter=网页,仅 HTML
+WebPageXHTMLOnlyFilter=网页,仅 XHTML
+WebPageSVGOnlyFilter=网页,仅 SVG
+WebPageXMLOnlyFilter=网页,仅 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=无标题
+
+# 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_files
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/css.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/css.properties
new file mode 100644
index 0000000000..f050338ceb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/css.properties
@@ -0,0 +1,52 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+MimeNotCss=样式表单 %1$S 未加载,因为它的 MIME 类型 "%2$S" 不是 "text/css"。
+MimeNotCssWarn=样式表单 %1$S 已作为 CSS 加载,虽然它的 MIME 类型 "%2$S" 不是 "text/css"。
+
+PEDeclDropped=声明被丢弃。
+PEDeclSkipped=跳过至下一个声明。
+PEUnknownProperty=未知属性 '%1$S'。
+PEPRSyntaxFieldEmptyInput=@property 语法描述符“%S”为空。
+PEPRSyntaxFieldExpectedPipe=@property 语法描述符“%S”包含相互间无 pipe 的组件。
+PEPRSyntaxFieldInvalidNameStart=@property 语法描述符“%S”包含无效字符开头的组件。
+PEPRSyntaxFieldInvalidName=@property 语法描述符“%S”包含无效字符命名的组件。
+PEPRSyntaxFieldUnclosedDataTypeName=@property 语法描述符“%S”包含未结束的数据类型名称。
+PEPRSyntaxFieldUnexpectedEOF=@property 语法描述符“%S”不完整。
+PEPRSyntaxFieldUnknownDataTypeName=@property 语法描述符“%S”包含未知的数据类型名称。
+PEValueParsingError=解析 '%1$S' 的值时出错。
+PEUnknownAtRule=不可识别的 at-rule 或解析 at-rule 时出错 '%1$S'。
+PEMQUnexpectedOperator=媒体列表含有预期外的操作符。
+PEMQUnexpectedToken=媒体列表含有预期外的标记 ‘%1$S’。
+PEAtNSUnexpected=@namespace 中预期外的标识:'%1$S'。
+PEKeyframeBadName=@keyframes 规则的名称需要标识符。
+PEBadSelectorRSIgnored=选择器错误导致忽略规则集。
+PEBadSelectorKeyframeRuleIgnored=由于错误的选择器而忽略 Keyframe 规则。
+PESelectorGroupNoSelector=预期为选择器。
+PESelectorGroupExtraCombinator=二义性组合。
+PEClassSelNotIdent=预期为类选择器标识符,但却得到 '%1$S'。
+PETypeSelNotType=预期为元素名或者 '*',但却得到 '%1$S'。
+PEUnknownNamespacePrefix=未知名字空间前缀 '%1$S'。
+PEAttributeNameExpected=预期为属性名称的标识符,但却得到 '%1$S'。
+PEAttributeNameOrNamespaceExpected=预期为属性名或者名字空间,但却得到 '%1$S'。
+PEAttSelNoBar=预期为 '|' 但却得到 '%1$S'。
+PEAttSelUnexpected=属性选择器中预期外的标识:'%1$S'。
+PEAttSelBadValue=预期为属性选择器中值的标识符或者字符串,但却得到 '%1$S'。
+PEPseudoSelBadName=预期为伪类或者伪元素的标识符,但却得到 '%1$S'。
+PEPseudoSelEndOrUserActionPC=在伪元素后找到多余符号,但该元素预期为选择器的结束部分: '%1$S'.
+PEPseudoSelUnknown=未知伪类或者伪元素 '%1$S'。
+PEPseudoClassArgNotIdent=期待标识符为伪类参数,但却是 '%1$S'。
+PEColorNotColor=预期为颜色,但却得到 '%1$S'。
+PEParseDeclarationDeclExpected=预期为声明,但却得到 '%1$S'。
+PEUnknownFontDesc=@font-face 规则中未知的描述符 '%1$S'。
+PEMQExpectedFeatureName=预期为媒体特性名称,但却得到 '%1$S'。
+PEMQNoMinMaxWithoutValue=min- 或 max- 媒体特性必须有值。
+PEMQExpectedFeatureValue=发现无效的媒体特性值。
+PEExpectedNoneOrURL=预期为 'none' 或网址,但却得到 '%1$S'。
+PEExpectedNoneOrURLOrFilterFunction=预期为 'none'、网址或过滤功能,但却得到 '%1$S'。
+PEDisallowedImportRule=@import 规则在构造的样式表中尚未生效。
+PENeverMatchingHostSelector=:host 选择器不可与其他选择器连用,否则将无法匹配任何元素,“%S”中使用的 :host 选择器即是如此。或许您要用的是 :host()?
+
+TooLargeDashedRadius=‘dashed’ 样式的边框半径太大(限制为 100000px)。渲染为 solid。
+TooLargeDottedRadius=‘dotted’ 样式的边框半径太大(限制为 100000px)。渲染为 solid。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dialog.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dialog.properties
new file mode 100644
index 0000000000..32619cb12d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dialog.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+button-accept=确定
+button-cancel=取消
+button-help=帮助
+button-disclosure=更多信息
+accesskey-accept=
+accesskey-cancel=
+accesskey-help=H
+accesskey-disclosure=I
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dom/dom.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dom/dom.properties
new file mode 100644
index 0000000000..7bde44873c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/dom/dom.properties
@@ -0,0 +1,478 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+KillScriptTitle=警告:脚本无响应
+KillScriptMessage=当前页面上的某个脚本现在可能很忙,也可能已停止响应。您可以立即停止该脚本,也可以继续等它完成工作。
+KillScriptWithDebugMessage=当前页面上的某个脚本现在可能很忙,也可能已停止响应。您可以立即停止该插件、在调试器中打开该脚本,也可以继续等它完成工作。
+KillScriptLocation=脚本: %S
+
+KillAddonScriptTitle=警告:附加组件脚本无响应
+# LOCALIZATION NOTE (KillAddonScriptMessage): %1$S is the name of an extension.
+# %2$S is the name of the application (e.g., Firefox).
+KillAddonScriptMessage=来自扩展“%1$S”的某个脚本在此网页中执行,造成 %2$S 反应迟钝。\n\n这个脚本也许正忙着,也可能永远不再响应。您可以立即停止这个脚本,也可以等待看它是否会完成工作。
+KillAddonScriptGlobalMessage=在下次重新加载前阻止此附加组件脚本执行
+
+StopScriptButton=停止脚本
+DebugScriptButton=调试脚本
+WaitForScriptButton=继续
+DontAskAgain=不再询问(&D)
+WindowCloseBlockedWarning=脚本不得关闭非脚本打开的窗口。
+OnBeforeUnloadTitle=您确定吗?
+OnBeforeUnloadMessage2=此页面询问您是否要离开 — 您输入的信息可能不会被保存。
+OnBeforeUnloadStayButton=留在页面
+OnBeforeUnloadLeaveButton=离开页面
+EmptyGetElementByIdParam=getElementById() 被传递了空字符串参数。
+SpeculationFailed2=利用 document.write() 写入不平衡树引发来自网络的数据被重新解析。更多信息参见:https://developer.mozilla.org/en-US/docs/Glossary/speculative_parsing
+DocumentWriteIgnored=来自一个外部异步加载的脚本的 document.write() 调用被忽略。
+# LOCALIZATION NOTE (EditorFileDropFailed): Do not translate contenteditable, %S is the error message explaining why the drop failed.
+EditorFileDropFailed=拖放一个文件到 contenteditable 元素失败:%S。
+FormValidationTextTooLong=请将此文本缩短至 %S 个字符或更少(您现在已经输入了 %S 个字符)。
+FormValidationTextTooShort=请使用至少 %S 个字符(您目前使用 %S 个字符)。
+FormValidationValueMissing=请填写此栏。
+FormValidationCheckboxMissing=若要继续,请选中此项。
+FormValidationRadioMissing=请选择一个选项。
+FormValidationFileMissing=请选择一个文件。
+FormValidationSelectMissing=请选择列表中的一项。
+FormValidationInvalidEmail=请输入电子邮件地址。
+FormValidationInvalidURL=请输入一个 URL。
+FormValidationInvalidDate=请输入有效的日期。
+FormValidationInvalidTime=请输入有效的时间。
+FormValidationInvalidDateTime=请输入有效的日期和时间。
+FormValidationInvalidDateMonth=请输入有效的月份。
+FormValidationInvalidDateWeek=请输入有效的周数。
+FormValidationPatternMismatch=请匹配要求的格式。
+# LOCALIZATION NOTE (FormValidationPatternMismatchWithTitle): %S is the (possibly truncated) title attribute value.
+FormValidationPatternMismatchWithTitle=请匹配要求的格式: %S。
+# LOCALIZATION NOTE (FormValidationNumberRangeOverflow): %S is a number.
+FormValidationNumberRangeOverflow=请选择一个不大于 %S 的值。
+# LOCALIZATION NOTE (FormValidationDateTimeRangeOverflow): %S is a date or a time.
+FormValidationDateTimeRangeOverflow=请选择不晚于 %S 的值。
+# LOCALIZATION NOTE (FormValidationNumberRangeUnderflow): %S is a number.
+FormValidationNumberRangeUnderflow=请选择一个不小于 %S 的值。
+# LOCALIZATION NOTE (FormValidationDateTimeRangeUnderflow): %S is a date or a time.
+FormValidationDateTimeRangeUnderflow=请选择不早于 %S 的值。
+# LOCALIZATION NOTE (FormValidationStepMismatch): both %S can be a number, a date or a time.
+FormValidationStepMismatch=请选择一个有效的值,最接近的有效值是 %S 和 %S。
+# LOCALIZATION NOTE (FormValidationStepMismatchOneValue): %S can be a number, a date or a time. This is called instead of FormValidationStepMismatch when the second value is the same as the first.
+FormValidationStepMismatchOneValue=请选择一个有效的值。最接近的有效值是 %S。
+# LOCALIZATION NOTE (FormValidationTimeReversedRangeUnderflowAndOverflow): %1$S,%2$S are time.
+FormValidationTimeReversedRangeUnderflowAndOverflow=请选择 %1$S 到 %2$S 之间的值。
+FormValidationBadInputNumber=请输入一组数字。
+FullscreenDeniedDisabled=请求全屏已拒绝,全屏 API 已按用户首选项禁用。
+FullscreenDeniedFocusedPlugin=请求全屏已拒绝,焦点目前在窗口化的插件。
+FullscreenDeniedHidden=请求全屏已拒绝,该文档目前不可见。
+FullscreenDeniedHTMLDialog=请求全屏已拒绝,因为请求元素是 <dialog> 元素。
+FullscreenDeniedContainerNotAllowed=请求全屏已拒绝,至少一个文档包含的元素不是一个 iframe,或没有"allowfullscreen"属性。
+FullscreenDeniedNotInputDriven=请求全屏已拒绝,Element.requestFullscreen() 不是从短期运行的用户生成的事件处理函数中调用。
+FullscreenDeniedMouseEventOnlyLeftBtn=请求全屏已拒绝,因为 Element.requestFullscreen() 不是由鼠标左键触发,而是从鼠标事件处理程序内部调用。
+FullscreenDeniedNotHTMLSVGOrMathML=请求全屏已拒绝,请求元素不是 <svg>、<math> 或一个 HTML 元素。
+FullscreenDeniedNotInDocument=请求全屏已拒绝,请求元素不再位于它的文档中。
+FullscreenDeniedMovedDocument=请求全屏已拒绝,请求元素已转移文档。
+FullscreenDeniedLostWindow=请求全屏已拒绝,我们不再有一个窗口。
+FullscreenDeniedPopoverOpen=全屏请求被拒绝,因为该元素已弹出打开。
+FullscreenDeniedSubDocFullscreen=请求全屏已拒绝,请求全屏的文档有一个子文档已经全屏。
+FullscreenDeniedNotFocusedTab=请求全屏已拒绝,请求元素不在当前有焦点的标签页中。
+FullscreenDeniedFeaturePolicy=由于特性策略(FeaturePolicy)指令,进入全屏的请求已拒绝。
+FullscreenExitWindowFocus=已退出全屏,因一个窗口已获焦点。
+RemovedFullscreenElement=已退出全屏,全屏元素已从文档中移除。
+FocusedWindowedPluginWhileFullscreen=已退出全屏,窗口化的插件已获焦点。
+PointerLockDeniedDisabled=锁定指针的请求被拒绝,因为用户将禁用 Pointer Lock API 设为首选项。
+PointerLockDeniedInUse=锁定指针请求已拒绝,指针目前被另一个文档控制。
+PointerLockDeniedNotInDocument=锁定指针请求已拒绝,请求元素不在文档中。
+PointerLockDeniedSandboxed=锁定指针请求已拒绝,Pointer Lock API 已被沙盒限制。
+PointerLockDeniedHidden=锁定指针请求已拒绝,文档非可见。
+PointerLockDeniedNotFocused=锁定指针请求已拒绝,文档非焦点。
+PointerLockDeniedMovedDocument=锁定指针请求已拒绝,请求元素已转移文档。
+PointerLockDeniedNotInputDriven=锁定指针请求已拒绝,Element.requestPointerLock() 不是从短期运行的用户生成事件处理函数中运行,并且文档不是在全屏中。
+PointerLockDeniedFailedToLock=锁定指针请求已拒绝,因为浏览器锁定指针失败。
+HTMLSyncXHRWarning=XMLHttpRequest 在同步模式下不支持 HTML 解析。
+# LOCALIZATION NOTE: %S is the name of the header in question
+ForbiddenHeaderWarning=已拒绝设置一个禁止头的尝试:%S
+ResponseTypeSyncXHRWarning=窗口上下文的同步模式中,已不再支持使用的 XMLHttpRequest 的 responseType 属性。
+TimeoutSyncXHRWarning=窗口上下文的同步模式中不支持使用 XMLHttpRequest 的 timeout 属性。
+# LOCALIZATION NOTE: Do not translate navigator.sendBeacon, unload, pagehide, or XMLHttpRequest.
+UseSendBeaconDuringUnloadAndPagehideWarning=在卸载和页面隐藏时请使用 navigator.sendBeacon 而非同步的 XMLHttpRequest 以改善用户体验。
+JSONCharsetWarning=通过 XMLHttpRequest 接收了一段非 UTF-8 编码的 JSON 代码。仅支持使用 UTF-8 解码 JSON代码。
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and createMediaElementSource.
+MediaElementAudioSourceNodeCrossOrigin=传递到 createMediaElementSource 的 HTMLMediaElement 有一个跨源资源,该节点将输出无声。
+# LOCALIZATION NOTE: Do not translate MediaStream and createMediaStreamSource.
+MediaStreamAudioSourceNodeCrossOrigin=传递到 createMediaStreamSource 的 MediaStream 有一个跨源资源,该节点将输出无声。
+# LOCALIZATION NOTE : Do not translate MediaStreamTrack and createMediaStreamTrackSource.
+MediaStreamTrackAudioSourceNodeCrossOrigin=传递到 createMediaStreamTrackSource 的 MediaStreamTrack 有一个跨源资源,该节点将输出无声。
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementAudioCaptureOfMediaStreamError=捕捉到的 HTMLMediaElement 正在播放 MediaStream。尚不支持应用音量或静音状态。
+# LOCALIZATION NOTE: Do not translate HTMLMediaElement and MediaStream.
+MediaElementStreamCaptureCycle=分配给 srcObject 的 MediaStream 来自此 HTMLMediaElement 捕获到的内容,形成一个循环,忽略分配动作。
+MediaLoadExhaustedCandidates=所有候选资源加载失败。已暂停加载媒体。
+MediaLoadSourceMissingSrc=<source> 元素没有 "src" 属性。媒体资源加载失败。
+MediaStreamAudioSourceNodeDifferentRate=目前不支持将 AudioNodes 连接至不同的采样率的 AudioContexts。
+# LOCALIZATION NOTE: %1$S is the Http error code the server returned (e.g. 404, 500, etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadHttpError=HTTP 加载失败,状态码 %1$S。媒体资源 %2$S 加载失败。
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load.
+MediaLoadInvalidURI=无效的 URI。媒体资源 %S 加载失败。
+# LOCALIZATION NOTE: %1$S is the media resource's format/codec type (basically equivalent to the file type, e.g. MP4,AVI,WMV,MOV etc), %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedTypeAttribute=“%1$S”的指定属性“type”不被支持。 加载媒体资源 %2$S 失败。
+MediaLoadUnsupportedTypeAttributeLoadingNextChild=不支持“%1$S”指定的“type”属性。媒体资源 %2$S 加载失败。将尝试加载下一个<source>元素。
+# LOCALIZATION NOTE: %1$S is the MIME type HTTP header being sent by the web server, %2$S is the URL of the media resource which failed to load.
+MediaLoadUnsupportedMimeType=不支持 HTTP "Content-Type" 设为 "%1$S"。媒体资源 %2$S 加载失败。
+# LOCALIZATION NOTE: %S is the URL of the media resource which failed to load because of error in decoding.
+MediaLoadDecodeError=媒体资源 %S 无法被解码。
+MediaWidevineNoWMF=尝试播放 Widevine 但无 Windows Media Foundation。参见 https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaWMFNeeded=要播放视频格式 %S,您还需要安装一个额外的 Microsoft 组件,参见 https://support.mozilla.org/kb/fix-video-audio-problems-firefox-windows
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaPlatformDecoderNotFound=此页面上的视频无法播放。您的系统可能缺少必要的解码器:%S
+MediaUnsupportedLibavcodec=无法播放此页面上的视频。您的系统的 libavcodec 版本不支持
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeError=媒体资源 %1$S 未能解码,错误:%2$S
+# LOCALIZATION NOTE: %1$S is the URL of the media resource, %2$S is technical information (in English)
+MediaDecodeWarning=媒体资源 %1$S 可以解码,但存在错误:%2$S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaCannotPlayNoDecoders=无法播放媒体。没有相应格式的解码器:%S
+# LOCALIZATION NOTE: %S is a comma-separated list of codecs (e.g. 'video/mp4, video/webm')
+MediaNoDecoders=没有相应格式的解码器:%S
+MediaCannotInitializePulseAudio=无法使用 PulseAudio
+# LOCALIZATION NOTE: %S is the URL of the web page which is not served on HTTPS and thus is not encrypted and considered insecure.
+MediaEMEInsecureContextDeprecatedWarning=加密媒体扩展(EME)在不安全(非 HTTPS)的 %S 上下文中已弃用,未来将被移除。您应该考虑切换到如 HTTPS 等安全来源。
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (either an audioCapabilities or a videoCapabilities) that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCapabilitiesDeprecatedWarning=调用 navigator.requestMediaKeySystemAccess() (于 %S) 而不传递一个候选的包含 audioCapabilities 或 videoCapabilities 的 MediaKeySystemConfiguration 已弃用,并且很快将不再支持。
+# LOCALIZATION NOTE: %S is the URL of the web page which is calling web APIs without passing data (a "codecs" string in the "contentType") that will soon be required. See https://bugzilla.mozilla.org/show_bug.cgi?id=1368583#c21 for explanation of this string.
+MediaEMENoCodecsDeprecatedWarning=调用 navigator.requestMediaKeySystemAccess() (于 %S) 而不传递一个候选的包含 audioCapabilities 或 videoCapabilities (需有一个以“codecs”字符串指定的 contentType) 的 MediaKeySystemConfiguration 已弃用,并且很快将不再支持。
+# LOCALIZATION NOTE: Do not translate "Mutation Event" and "MutationObserver"
+MutationEventWarning=所用的 Mutation Events 已弃用。请改用 MutationObserver。
+BlockAutoplayError=仅当用户同意、网站由用户激活或媒体无声时允许自动播放。
+BlockAutoplayWebAudioStartError=一个 AudioContext 被禁止自动开始。它必须在用户于此页面上有所动作后创建或继续。
+# LOCALIZATION NOTE: Do not translate "Components"
+ComponentsWarning=Components 对象已弃用,它很快就会被移除。
+PluginHangUITitle=警告:无响应的插件
+PluginHangUIMessage=%S 现在可能很忙,也可能已停止响应。您可以立即停止该插件,也可以继续等它完成工作。
+PluginHangUIWaitButton=继续
+PluginHangUIStopButton=停止插件
+# LOCALIZATION NOTE: Do not translate "NodeIterator" or "detach()".
+NodeIteratorDetachWarning=在 NodeIterator 调用 detach() 不再有效。
+# LOCALIZATION NOTE: Do not translate "LenientThis" and "this"
+LenientThisWarning=忽略了对含 [LenientThis] 的属性进行获取或设置,因为“this”对象不正确。
+# LOCALIZATION NOTE: Do not translate "captureEvents()" or "addEventListener()"
+UseOfCaptureEventsWarning=所用的 captureEvents() 已弃用。请改为使用 DOM 2 addEventListener() 方法。更多信息见 http://developer.mozilla.org/zh-CN/docs/DOM/element.addEventListener
+# LOCALIZATION NOTE: Do not translate "releaseEvents()" or "removeEventListener()"
+UseOfReleaseEventsWarning=releaseEvents() 已弃用。请改用 DOM 2 removeEventListener() 方法。可访问 http://developer.mozilla.org/en/docs/DOM:element.removeEventListener 详细了解
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestWarning=主线程中同步的 XMLHttpRequest 已弃用,因其对终端用户的用户体验存在负面影响。可访问 http://xhr.spec.whatwg.org/ 详细了解
+# LOCALIZATION NOTE: Do not translate "XMLHttpRequest"
+SyncXMLHttpRequestDeprecatedWarning=主线程中同步的 XMLHttpRequest 已弃用,因其对终端用户的用户体验存在负面影响。可访问 https://xhr.spec.whatwg.org/#sync-warning 详细了解
+# LOCALIZATION NOTE: Do not translate "window.controllers/Controllers"
+Window_Cc_ontrollersWarning=window.controllers/Controllers 已弃用。不要用它进行 UA 检测。
+ImportXULIntoContentWarning=导入 XUL 节点到一个内容文档的方式已弃用。此功能可能在不久后被移除。
+# LOCALIZATION NOTE: Do not translate "IndexedDB".
+IndexedDBTransactionAbortNavigation=因为浏览网页的行为,有一个尚未完成的 IndexedDB 事务被中止。
+# LOCALIZATION NOTE: Do not translate Will-change, %1$S,%2$S are numbers.
+IgnoringWillChangeOverBudgetWarning=Will-change 的内存消耗过高。限额是文档的表面区域乘以 %1$S(%2$S 像素),will-change 超出限额的部分将被忽略。
+# LOCALIZATION NOTE: Do not translate "Worker".
+HittingMaxWorkersPerDomain2=一个 Worker 不能立即开始,因为同源的其他文档已经使用最大数量的 Worker。该 Worker 已进入队列,将在其他一些 Worker 完成后开始。
+# LOCALIZATION NOTE: Do not translate "Application Cache API", "AppCache" and "ServiceWorker".
+AppCacheWarning=程序缓存 API(AppCache)已弃用,未来将被移除。需离线支持请尝试改用 ServiceWorker。
+# LOCALIZATION NOTE: Do not translate "Worker".
+EmptyWorkerSourceWarning=尝试从空白来源创建 Worker。这可能不是本意。
+NavigatorGetUserMediaWarning=navigator.mozGetUserMedia 已被 navigator.mediaDevices.getUserMedia 取代
+# LOCALIZATION NOTE: Do not translate "RTCPeerConnection", "getLocalStreams", "getRemoteStreams", "getSenders" or "getReceivers".
+RTCPeerConnectionGetStreamsWarning=RTCPeerConnection.getLocalStreams/getRemoteStreams 已弃用。请改用 RTCPeerConnection.getSenders/getReceivers。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL.
+InterceptionFailedWithURL=无法加载‘%S’。某个 ServiceWorker 拦截了请求并遇到未知错误。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "cors", "Response", "same-origin" or "Request". %1$S is a URL, %2$S is a URL.
+CorsResponseForSameOriginRequest=加载“%1$S”失败,响应为“%2$S”。不允许 ServiceWorker 为 same-origin Request 合成 cors Response。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "FetchEvent.respondWith()", "FetchEvent", "no-cors", "opaque", "Response", or "RequestMode". %1$S is a URL. %2$S is a RequestMode value.
+BadOpaqueInterceptionRequestModeWithURL=无法加载 ‘%1$S’。某个 ServiceWorker 在处理 ‘%2$S’ FetchEvent 时传递了 opaque 响应给 FetchEvent.respondWith()。Opaque 响应对象尽在 RequestMode 为 ‘no-cors’ 时有效。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Error", "Response", "FetchEvent.respondWith()", or "fetch()". %S is a URL.
+InterceptedErrorResponseWithURL=无法加载 ‘%1$S’。某个 ServiceWorker 传递了 Error 响应给 FetchEvent.respondWith(),这通常表示 ServiceWorker 执行了无效的 fetch() 调用。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", or "Response.clone()". %S is a URL.
+InterceptedUsedResponseWithURL=无法加载 ‘%1$S’。某个 ServiceWorker 传递了已使用的响应给 FetchEvent.respondWith()。响应的内容仅能读取一次,若需要多次读取,请使用 Response.clone()。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "opaqueredirect", "Response", "FetchEvent.respondWith()", or "FetchEvent". %S is a URL.
+BadOpaqueRedirectInterceptionWithURL=无法加载 ‘%1$S’。某个 ServiceWorker 在处理 non-navigation FetchEvent 时传递了 opaqueredirect 响应给 FetchEvent.respondWith()。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Response", "FetchEvent.respondWith()", "RedirectMode" or "follow". %S is a URL.
+BadRedirectModeInterceptionWithURL=加载 ‘%S’ 失败。在 RedirectMode 非 ‘follow’ 时,ServiceWorker 传递了一个重定向的响应到 FetchEvent.respondWith()。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" or "FetchEvent.preventDefault()". %S is a URL.
+InterceptionCanceledWithURL=无法加载 ‘%1$S’。某个 ServiceWorker 调用了 FetchEvent.preventDefault() 来取消加载。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", or "FetchEvent.respondWith()". %1$S is a URL. %2$S is an error string.
+InterceptionRejectedResponseWithURL=无法加载 ‘%1$S’。某个 ServiceWorker 传递了 promise 给 FetchEvent.respondWith(),因下列错误被拒绝:‘%2$S’。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "promise", "FetchEvent.respondWith()", or "Response". %1$S is a URL. %2$S is an error string.
+InterceptedNonResponseWithURL=无法加载 ‘%1$S’。某个 ServiceWorker 传递了 promise 给解析除了非响应值 ‘%2$S’ 的FetchEvent.respondWith()。
+
+# LOCALIZATION NOTE: Do not translate "ServiceWorker", "Service-Worker-Allowed" or "HTTP". %1$S and %2$S are URLs.
+ServiceWorkerScopePathMismatch=注册 ServiceWorker 失败:提供的作用域“%1$S”的路径不在允许的最大作用域“%2$S”之内。请调整该作用域,移动该 Service Worker 脚本,或者使用 Service-Worker-Allowed HTTP 头允许该范围。
+# 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=注册/更新作用域为“%1$S”的 ServiceWorker 失败:加载脚本“%3$S”失败,状态码 %2$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=注册/更新作用域为“%1$S”的 ServiceWorker 失败:脚本“%3$S”的 Content-Type“%2$S”不当。MIME 类型必须为 JavaScript。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerRegisterStorageError=无法为作用域“%S”注册或更新一个 ServiceWorker:由于用户设置或处在隐私浏览模式,访问存储受到限制。
+ServiceWorkerGetRegistrationStorageError=无法获取 Service Worker 的注册信息:由于用户设置或处在隐私浏览模式,访问存储受到限制。
+ServiceWorkerGetClientStorageError=无法获取 Service Worker 的客户端:由于用户设置或处在隐私浏览模式,访问存储受到限制。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker" and "postMessage". %S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerPostMessageStorageError=作用域“%S”的 ServiceWorker 执行‘postMessage’失败,由于用户设置或处在隐私浏览模式,访问存储受到限制。
+# LOCALIZATION NOTE: Do not translate "ServiceWorker". %1$S is a URL representing the scope of the ServiceWorker.
+ServiceWorkerGraceTimeoutTermination=终止具有待定 waitUntil/respondWith promise 的作用域为“%1$S”的 ServiceWorker,因为宽限期超时。
+# LOCALIZATION NOTE (ServiceWorkerNoFetchHandler): Do not translate "Fetch".
+ServiceWorkerNoFetchHandler=Fetch 事件监听器必须在 worker 脚本的初始化执行阶段添加。
+ExecCommandCutCopyDeniedNotInputDriven=document.execCommand('cut'/'copy') 被拒绝,因为它不是从短时运行的用户生成的事件处理程序内部进行调用。
+ManifestIdIsInvalid=id 成员未解析为有效 URL。
+ManifestIdNotSameOrigin=id 成员须与 start_url 成员的 origin 相同。
+ManifestShouldBeObject=清单应该是一个对象。
+ManifestScopeURLInvalid=作用域 URL 无效。
+ManifestScopeNotSameOrigin=作用域 URL 必须与文档同源。
+ManifestStartURLOutsideScope=开始 URL 在作用域之外,因此作用域无效。
+ManifestStartURLInvalid=开始 URL 无效。
+ManifestStartURLShouldBeSameOrigin=开始 URL 必须与文档同源。
+# LOCALIZATION NOTE: %1$S is the name of the object whose property is invalid. %2$S is the name of the invalid property. %3$S is the expected type of the property value. E.g. "Expected the manifest's start_url member to be a string."
+ManifestInvalidType=预期是 %1$S 的 %2$S 成员是一个 %3$S。
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "theme_color: 42 is not a valid CSS color."
+ManifestInvalidCSSColor=%1$S: %2$S 不是一个有效的 CSS 颜色。
+# LOCALIZATION NOTE: %1$S is the name of the property whose value is invalid. %2$S is the (invalid) value of the property. E.g. "lang: 42 is not a valid language code."
+ManifestLangIsInvalid=%1$S: %2$S 不是一个有效的语言代码。
+# LOCALIZATION NOTE: %1$S is the name of the parent property whose value is invalid (e.g., "icons"). %2$S is the index of the image object that is invalid (from 0). %3$S is the name of actual member that is invalid. %4$S is the invalid value. E.g. "icons item at index 2 is invalid. The src member is an invalid URL http://:Invalid"
+ManifestImageURLIsInvalid=索引 %2$S 的 %1$S 无效。%3$S 成员网址 %4$S 无效
+# LOCALIZATION NOTE: %1$S is the name of the parent property that that contains the unusable image object (e.g., "icons"). %2$S is the index of the image object that is unusable (from 0). E.g. "icons item at index 2 lacks a usable purpose. It will be ignored."
+ManifestImageUnusable=索引 %2$S 的 %1$S 项目缺乏适用目标。其将被忽略。
+# LOCALIZATION NOTE: %1$S is the name of the parent property that contains the unsupported value (e.g., "icons"). %2$S is the index of the image object that has the unsupported value (from 0). %3$S are the unknown purposes. E.g. "icons item at index 2 includes unsupported purpose(s): a b."
+ManifestImageUnsupportedPurposes=索引 %2$S 的 %1$S 项目包含不受支持的目标:%3$S。
+# LOCALIZATION NOTE: %1$S is the name of the parent property that has a repeated purpose (e.g., "icons"). %2$S is the index of the image object that has the repeated purpose (from 0). %3$S is the repeated purposes. E.g. "icons item at index 2 includes repeated purpose(s): a b."
+ManifestImageRepeatedPurposes=索引 %2$S 的 %1$S 项目包含重复的目标:%3$S。
+PatternAttributeCompileFailure=无法检查<input pattern='%S'>因为模式不是有效的正则表达式:%S
+# LOCALIZATION NOTE: Do not translate "postMessage" or DOMWindow. %S values are origins, like https://domain.com:port
+TargetPrincipalDoesNotMatch=在 'DOMWindow' 上执行 'postMessage' 失败:提供的目标源 ('%S') 与接收者窗口的源 ('%S') 不匹配。
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbed=重写旧式 YouTube Flash 嵌入 (%S) 为 iframe 嵌入 (%S)。如果可能,请更新页面以使用 iframe 而非 embed/object。
+# LOCALIZATION NOTE: Do not translate 'YouTube'. %S values are origins, like https://domain.com:port
+RewriteYouTubeEmbedPathParams=重写旧式 YouTube Flash 嵌入 (%S) 为 iframe 嵌入 (%S)。iframe 嵌入和转换后已不支持 Params。如果可能,请更新页面以使用 iframe 而非 embed/object。
+# LOCALIZATION NOTE: This error is reported when the "Encryption" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Encryption", and "salt". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionHeader=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。每个消息的“Encryption”头必须包含唯一的“salt”参数。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when the "Crypto-Key" header for an
+# incoming push message is missing or invalid. Do not translate "ServiceWorker",
+# "Crypto-Key", and "dh". %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoKeyHeader=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。“Crypto-Key”头必须包含一个“dh”参数以包含应用服务器的公钥。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt because the deprecated
+# "Encryption-Key" header for an incoming push message is missing or invalid.
+# Do not translate "ServiceWorker", "Encryption-Key", "dh", "Crypto-Key", and
+# "Content-Encoding: aesgcm". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncryptionKeyHeader=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。“Encryption-Key”头必须包含一个“dh”参数。此头已弃用并很快将被移除。请改用“Crypto-Key”及“Content-Encoding: aesgcm”。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "Content-Encoding" header is missing or contains an
+# unsupported encoding. Do not translate "ServiceWorker", "Content-Encoding",
+# "aesgcm", and "aesgcm128". %1$S is the ServiceWorker scope URL.
+PushMessageBadEncodingHeader=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。“Content-Encoding”头必须是“aesgcm”。“aesgcm128”也是允许的,但已弃用并很快将被移除。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "dh" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "dh", "Crypto-Key", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSenderKey=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。“Crypto-Key”头中“dh”参数必须定义应用服务器的 Diffie-Hellman 公钥,用 base64url 编码 (https://tools.ietf.org/html/rfc7515#appendix-C),以“uncompressed”或“raw”形式(编码前的65字节形式)。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-4 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "salt" parameter is not valid base64url. Do not translate
+# "ServiceWorker", "salt", "Encryption", and "base64url". %1$S is the
+# ServiceWorker scope URL.
+PushMessageBadSalt=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。“Encryption”头中的“salt”参数必须是 base64url 编码形式 (https://tools.ietf.org/html/rfc7515#appendix-C),并且编码前至少16个字节。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because the "rs" parameter is not a number, or is less than the pad size.
+# Do not translate "ServiceWorker", "rs", or "Encryption". %1$S is the
+# ServiceWorker scope URL. %2$S is the minimum value (1 for aesgcm128, 2 for
+# aesgcm).
+PushMessageBadRecordSize=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。“Encryption”头的“rs”参数必须在 %2$S 至 2^36-31 之间,或者完全省略。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-3.1 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when a push message fails to decrypt
+# because an encrypted record is shorter than the pad size, the pad is larger
+# than the record, or any of the padding bytes are non-zero. Do not translate
+# "ServiceWorker". %1$S is the ServiceWorker scope URL. %2$S is the pad size
+# (1 for aesgcm128, 2 for aesgcm).
+PushMessageBadPaddingError=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。加密消息中的一个记录未正确填充。查阅 https://tools.ietf.org/html/draft-ietf-httpbis-encryption-encoding-02#section-2 了解更多信息。
+# LOCALIZATION NOTE: This error is reported when push message decryption fails
+# and no specific error info is available. Do not translate "ServiceWorker".
+# %1$S is the ServiceWorker scope URL.
+PushMessageBadCryptoError=作用域为“%1$S”的 ServiceWorker 解密推送消息失败。有关此加密的帮助,请查阅 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=忽略一个注册为 ‘passive’ 的监听器的事件类型为 ‘%1$S’ 的 ‘preventDefault()’ 调用。
+# LOCALIZATION NOTE: 'ImageBitmapRenderingContext.transferImageBitmap' and 'ImageBitmapRenderingContext.transferFromImageBitmap' should not be translated
+ImageBitmapRenderingContext_TransferImageBitmapWarning=ImageBitmapRenderingContext.transferImageBitmap 已弃用,并将很快被移除。请改用 ImageBitmapRenderingContext.transferFromImageBitmap。
+IIRFilterChannelCountChangeWarning=IIRFilterNode 通道数量变化可能导致音频瑕疵。
+BiquadFilterChannelCountChangeWarning=BiquadFilterNode 通道数量变化可能导致音频瑕疵。
+# LOCALIZATION NOTE: Do not translate ".png"
+GenericImageNamePNG=图片.png
+GenericFileName=文件
+GeolocationInsecureRequestIsForbidden=地理位置请求只能从安全的上下文触发。
+NotificationsInsecureRequestIsForbidden=通知权限只能从安全的上下文请求。
+NotificationsCrossOriginIframeRequestIsForbidden=通知权限只能从顶级文档或同源 iframe 请求。
+NotificationsRequireUserGesture=通知权限只能从短期运行的用户生成事件的处理程序请求。
+NotificationsRequireUserGestureDeprecationWarning=短期运行的用户生成的事件处理程序之外的通知请求方法,已弃用,未来将不再支持。
+# LOCALIZATION NOTE: Do not translate "content", "Window", and "window.top"
+WindowContentUntrustedWarning=Window 对象的 ‘content’ 属性已弃用。请改用 ‘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=ID 为“%S”的 SVG <%S> 存在循环引用。
+# LOCALIZATION NOTE: The first %S is the tag name of the element in the chain where the chain was broken, the second %S is the element's ID.
+SVGRefChainLengthExceededWarning=已放弃 ID为“%S”的元素上的 SVG <%S>,引用链条太长。
+# LOCALIZATION NOTE: Do not translate SVGSVGElement.deselectAll.
+SVGDeselectAll=SVGSVGElement.deselectAll 已弃用,因为其功能与 Selection API 重复。
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.nearestViewportElement or SVGElement.viewportElement.
+SVGNearestViewportElement=VGGraphicsElement.nearestViewportElement 已弃用,未来将被移除。请改用 SVGElement.viewportElement。
+# LOCALIZATION NOTE: Do not translate SVGGraphicsElement.farthestViewportElement.
+SVGFarthestViewportElement=SVGGraphicsElement.farthestViewportElement 已弃用,未来将被移除。
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceEmpty=<script> 元素的‘%S’属性为空。
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceInvalidUri=<script> 元素的‘%S’属性不是有效的 URI:“%S”
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceLoadFailed=指向“%S”的 <script> 加载失败。
+ModuleSourceLoadFailed=来源为“%S”的模块加载失败。
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceMalformed=<script> 来源 URI 畸形:“%S”。
+ModuleSourceMalformed=模块来源的 URI 格式错误:“%S”。
+# LOCALIZATION NOTE: Do not translate "<script>".
+ScriptSourceNotAllowed=此文档中不允许的 <script> 来源 URI:“%S”。
+ModuleSourceNotAllowed=此文档不允许使用模块来源的 URI:“%S”。
+WebExtContentScriptModuleSourceNotAllowed=WebExtension 内容脚本只能加载有 moz-extension URL 的模块,无法加载:“%S”。
+ModuleResolveFailureNoWarn=解析模块说明符“%S”时出错。
+ModuleResolveFailureWarnRelative=解析模块说明符“%S”时出错。相对模块说明符必须以“./”、 “../”或 “/”开头。
+ImportMapInvalidTopLevelKey=导入映射表中包含无效的顶级键值“%S”。
+ImportMapEmptySpecifierKeys=说明符键值不能为空字符串。
+ImportMapAddressesNotStrings=地址须为字符串。
+ImportMapInvalidAddress=地址“%S”无效。
+# %1$S is the specifier key, %2$S is the URL.
+ImportMapAddressNotEndsWithSlash=映射“%1$S”的地址无效;由于“%1$S”以斜杠结尾,地址“%2$S”也应如此。
+ImportMapScopePrefixNotParseable=作用域前缀 URL“%S”无法解析。
+ImportMapResolutionBlockedByNullEntry=映射“%S”的解析被空值(null)阻止。
+ImportMapResolutionBlockedByAfterPrefix=映射“%S”的解析被阻止。因为无法将前缀后的子字符串解析为对应导入映射表中地址的 URL。
+ImportMapResolutionBlockedByBacktrackingPrefix=映射“%S”的解析被阻止。因为解析的 URL 未以导入映射表中的地址开头。
+ImportMapResolveInvalidBareSpecifierWarnRelative=“%S”是一个裸说明符,但未重新进行任何映射。相对模块说明符必须以“./”、 “../”或 “/”开头。
+# LOCALIZATION NOTE: Do not translate "<script type='importmap'>", "src".
+ImportMapExternalNotSupported=不支持外部的导入映射:当前暂不支持在 <script type='importmap'> 中包含 src 属性。
+ImportMapNotAllowedMultiple=不允许使用多个导入映射。
+ImportMapNotAllowedAfterModuleLoad=模块加载或预加载开始后,不允许导入映射。
+# LOCALIZATION NOTE: %1$S is the invalid property value and %2$S is the property name.
+InvalidKeyframePropertyValue=根据“%2$S”的语法要求,关键帧属性的值“%1$S”无效。
+# LOCALIZATION NOTE: Do not translate "ReadableStream".
+ReadableStreamReadingFailed=从 ReadableStream 读取数据失败:“%S”。
+# LOCALIZATION NOTE: Do not translate "registerProtocolHandler"
+RegisterProtocolHandlerPrivateBrowsingWarning=无法在隐私浏览模式中使用 registerProtocolHandler。
+MotionEventWarning=运动传感器已弃用。
+OrientationEventWarning=方向传感器已弃用。
+ProximityEventWarning=接近传感器已弃用。
+AmbientLightEventWarning=环境光传感器已弃用。
+UnsupportedEntryTypesIgnored=忽略不支持的 entryTypes: %S。
+AllEntryTypesIgnored=无有效的 entryTypes,中止注册。
+# LOCALIZATION NOTE: do not localize key=“%S” modifiers=“%S” id=“%S”
+GTK2Conflict2=按键事件不存在于 GTK2:key=“%S” modifiers=“%S” id=“%S”
+WinConflict2=按键事件不存在于某些键盘布局:key=“%S” modifiers=“%S” id=“%S”
+# LOCALIZATION NOTE: do not translated "document.domain"
+DocumentSetDomainNotAllowedWarning=不允许在跨源隔离环境中设置 document.domain。
+
+#LOCALIZATION NOTE(DeprecatedTestingInterfaceWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingInterfaceWarning=TestingDeprecatedInterface is a testing-only interface and this is its testing deprecation message.
+#LOCALIZATION NOTE(DeprecatedTestingMethodWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingMethodWarning=TestingDeprecatedInterface.deprecatedMethod() is a testing-only method and this is its testing deprecation message.
+#LOCALIZATION NOTE(DeprecatedTestingAttributeWarning): Do not translate this message. It's just testing only.
+DeprecatedTestingAttributeWarning=TestingDeprecatedInterface.deprecatedAttribute is a testing-only attribute and this is its testing deprecation message.
+# LOCALIZATION NOTE (CreateImageBitmapCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D and createImageBitmap.
+CreateImageBitmapCanvasRenderingContext2DWarning=在 createImageBitmap 中所用的 CanvasRenderingContext2D 已弃用。
+
+# LOCALIZATION NOTE (DrawWindowCanvasRenderingContext2DWarning): Do not translate CanvasRenderingContext2D, drawWindow and tabs.captureTab.
+DrawWindowCanvasRenderingContext2DWarning=已弃用 CanvasRenderingContext2D 中的 drawWindow 方法。请改用 tabs.captureTab 的扩展 API https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/tabs/captureTab
+
+# LOCALIZATION NOTE (MozRequestFullScreenDeprecatedPrefixWarning): Do not translate mozRequestFullScreen.
+MozRequestFullScreenDeprecatedPrefixWarning=mozRequestFullScreen() 已弃用。
+# LOCALIZATION NOTE (MozfullscreenchangeDeprecatedPrefixWarning): Do not translate onmozfullscreenchange.
+MozfullscreenchangeDeprecatedPrefixWarning=onmozfullscreenchange 已弃用。
+# LOCALIZATION NOTE (MozfullscreenerrorDeprecatedPrefixWarning): Do not translate onmozfullscreenerror.
+MozfullscreenerrorDeprecatedPrefixWarning=onmozfullscreenerror 已弃用。
+# LOCALIZATION NOTE(External_AddSearchProviderWarning): Do not translate AddSearchProvider.
+External_AddSearchProviderWarning=AddSearchProvider 已弃用。
+
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozPressure" and "PointerEvent.pressure".
+MouseEvent_MozPressureWarning=MouseEvent.mozPressure 已弃用。请改用 PointerEvent.pressure。
+# LOCALIZATION NOTE: Do not translate small, normal, big and mathsize.
+MathML_DeprecatedMathSizeValueWarning=mathsize 属性的“small”、“normal”和“big”值已弃用,未来将被移除。
+# LOCALIZATION NOTE: Do not translate veryverythinmathspace, verythinmathspace,
+# thinmathspace, mediummathspace, thickmathspace, verythickmathspace, veryverythickmathspace and MathML.
+MathML_DeprecatedMathSpaceValueWarning=MathML 长度的“verythethinmathspace”、“verythinmathspace”、“thinmathspace”、“mediummathspace”、“thickmathspace”、“verythickmathspace”和“veryverythickmathspace”值已弃用,未来将被移除。
+# LOCALIZATION NOTE: Do not translate MathML, background, color, fontfamily, fontsize, fontstyle and fontweight.
+MathML_DeprecatedStyleAttributeWarning=MathML 属性的“background”,“color”,“fontfamily”,“fontsize”,“fontstyle”和“fontweight”值已弃用,未来将被移除。
+# LOCALIZATION NOTE: Do not translate "MouseEvent.mozInputSource" and "PointerEvent.pointerType".
+MozInputSourceWarning=MouseEvent.mozInputSource 已弃用,请改用 PointerEvent.pointerType。
+# LOCALIZATION NOTE: Do not translate "initMouseEvent()" and "MouseEvent()".
+InitMouseEventWarning=initMouseEvent() 已弃用,请改用 MouseEvent() 构造函数。
+# LOCALIZATION NOTE: Do not translate "initNSMouseEvent()" and "MouseEvent()".
+InitNSMouseEventWarning=initNSMouseEvent() 已弃用,请改用 MouseEvent() 构造函数。
+# LOCALIZATION NOTE: Do not translate MathML. %S is the deprecated length value.
+MathML_DeprecatedMathSpaceValue2Warning=MathML 长度值“%S”已弃用,并且即将被移除。
+# LOCALIZATION NOTE: Do not translate mathvariant or MathML. %S is the deprecated value of the mathvariant attribute.
+MathML_DeprecatedMathVariantWarning=MathML 元素“mathvariant='%S'”已弃用,未来将被移除。
+# LOCALIZATION NOTE: Do not translate MathML and STIXGeneral. %S is a documentation URL.
+MathML_DeprecatedStixgeneralOperatorStretchingWarning=已弃用以 STIXGeneral 字体渲染拉伸的 MathML 运算符,未来或将移除此特性。有关将继续支持的新版字体的详细信息,请参阅 %S
+# LOCALIZATION NOTE: Do not translate MathML and scriptminsize.
+MathML_DeprecatedScriptminsizeAttributeWarning=MathML 属性“scriptminsize”已弃用,未来将被移除。
+# LOCALIZATION NOTE: Do not translate MathML and scriptsizemultiplier.
+MathML_DeprecatedScriptsizemultiplierAttributeWarning=MathML 属性“scriptsizemultiplier”已弃用,未来将被移除。
+FormSubmissionUntrustedEventWarning=以不可信 submit 事件提交表单的方式已弃用,未来将被移除。
+
+# LOCALIZATION NOTE: Do not translate "sizeToContent()".
+SizeToContentWarning=sizeToContent 已弃用,未来将被移除。
+
+WebShareAPI_Failed=分享操作失败。
+WebShareAPI_Aborted=分享操作中止。
+# LOCALIZATION NOTE (UnknownProtocolNavigationPrevented): %1$S is the destination URL.
+UnknownProtocolNavigationPrevented=由于协议未知,无法导航至“%1$S”。
+PostMessageSharedMemoryObjectToCrossOriginWarning=无法将包含共享内存对象的消息 Post 到跨域窗口。
+# LOCALIZATION NOTE: %S is the URL of the resource in question
+UnusedLinkPreloadPending=通过 link preload 预加载的资源“%S”并未在加载后几秒内使用。请确保 preload 标签的所有属性均设置无误。
+
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-same-origin and sandbox (though you may translate "sandboxed").
+RequestStorageAccessNullPrincipal=不得在来源不透明(如缺少 allow-same-origin 属性的沙盒中运行的 iframe)的文档调用 document.requestStorageAccess() 。
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), iframe, allow-storage-access-by-user-activation and sandbox (though you may translate "sandboxed").
+RequestStorageAccessSandboxed=不得在缺少 allow-storage-access-by-user-activation 属性的沙盒中运行的 iframe 调用 document.requestStorageAccess()。
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess() and iframe.
+RequestStorageAccessNested=不能在嵌套 iframe 中调用 document.requestStorageAccess()。
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(). In some locales it may be preferable to not translate "event handler", either.
+RequestStorageAccessUserGesture=document.requestStorageAccess() 只能从短期运行的用户生成事件的处理程序请求。
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess(), Permissions Policy and storage-access.
+RequestStorageAccessPermissionsPolicy=如果 storage-access 特性被权限策略阻止,则可能无法调用 document.requestStorageAccess()。
+# LOCALIZATION NOTE: Do not translate document.requestStorageAccess()
+RequestStorageAccessNotSecureContext=document.requestStorageAccess() 只允许在安全的上下文访问。
+# LOCALIZATION NOTE: Do not translate "Location" and "History".
+LocChangeFloodingPrevented=短时间内对 Location 或 History API 的调用过于频繁。
+FolderUploadPrompt.title = 确认上传
+# LOCALIZATION NOTE: %S is the name of the folder the user selected in the file picker.
+FolderUploadPrompt.message = 您确定要上传“%S”中的所有文件吗?请只在您信任此网站时才这么做。
+FolderUploadPrompt.acceptButtonLabel = 上传
+InputPickerBlockedNoUserActivation=由于用户并未触发,已禁用 <input> 选择器。
+ExternalProtocolFrameBlockedNoUserActivation=由于用户并未触发,或此 iframe 上次加载以来的时间不足,已屏蔽使用外部协议的 iframe。
+MultiplePopupsBlockedNoUserActivation=由于用户并未触发,已阻止弹出多个窗口的行为。
+# LOCALIZATION NOTE: %S is the URL of the preload that was ignored.
+PreloadIgnoredInvalidAttr=由于未知的“as”或“type”值,或“media”属性不匹配,已忽略预加载 %S。
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "agent cluster".
+BlobDifferentClusterError=无法从其他 agent cluster 访问 blob URL “%S”。
+# LOCALIZATION NOTE: %S is the blob URL. Don't translate "partition key".
+PartitionKeyDifferentError=无法使用其他 partition key 访问 blob URL“%S”。
+# LOCALIZATION NOTE: Do not translate "Element.setCapture()" and "Element.setPointerCapture()"".
+ElementSetCaptureWarning=Element.setCapture() 已弃用,请改用 Element.setPointerCapture()。可访问 https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture 详细了解
+# LOCALIZATION NOTE: Do not translate "Element.releaseCapture()" and "Element.releasePointerCapture()".
+ElementReleaseCaptureWarning=Element.releaseCapture() 已弃用,请改用 Element.releasePointerCapture()。可访问 https://developer.mozilla.org/docs/Web/API/Element/releasePointerCapture 详细了解
+# LOCALIZATION NOTE: Do not translate "Document.releaseCapture()" and "Element.releasePointerCapture()".
+DocumentReleaseCaptureWarning=Document.releaseCapture() 已弃用,请改用 Element.releasePointerCapture()。可访问 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=未检查 browser.runtime.lastError 的值:%S
+
+# LOCALIZATION NOTE: Do not translate "OffscreenCanvas.toBlob()" and "OffscreenCanvas.convertToBlob()".
+OffscreenCanvasToBlobWarning=OffscreenCanvas.toBlob() 已弃用,请改用 OffscreenCanvas.convertToBlob()。
+
+# LOCALIZATION NOTE: Do not translate "InstallTrigger"
+InstallTriggerDeprecatedWarning=InstallTrigger 已弃用,未来将被移除。
+# LOCALIZATION NOTE: Do not translate "InstallTrigger.install()"
+InstallTriggerInstallDeprecatedWarning=InstallTrigger.install() 已弃用,未来将被移除。如需更多帮助,请参见 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=已拒绝通过派定 HTMLOptionsCollection.length(值为 %1$S)扩展 <select> 的选项列表。最大支持值为 %2$S。
+
+# LOCALIZATION NOTE: Do not translate "isExternalCTAP2SecurityKeySupported".
+IsExternalCTAP2SecurityKeySupportedWarning=isExternalCTAP2SecurityKeySupported() 已弃用。
+
+InvalidFormControlUnfocusable=无法聚焦于无效的表单控件。
+# LOCALIZATION NOTE: Do not translate "name="
+InvalidNamedFormControlUnfocusable=无法聚焦于无效的表单控件(name=“%S”)。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/extensions.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/extensions.properties
new file mode 100644
index 0000000000..d1e2c0ee3d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 卸载 %S
+
+#LOCALIZATION NOTE (uninstall.confirmation.message) %S is the name of the extension which is about to be uninstalled.
+uninstall.confirmation.message = 扩展“%S”请求被卸载。如何操作?
+
+uninstall.confirmation.button-0.label = 卸载
+uninstall.confirmation.button-1.label = 保留
+
+saveaspdf.saveasdialog.title = 另存新文件
+
+#LOCALIZATION NOTE (newTabControlled.message2) %S is the icon and name of the extension which updated the New Tab page.
+newTabControlled.message2 = 扩展“%S”修改了您打开新标签页时会看到的页面。
+newTabControlled.learnMore = 详细了解
+
+#LOCALIZATION NOTE (homepageControlled.message) %S is the icon and name of the extension which updated the homepage.
+homepageControlled.message = 扩展“%S”修改了您打开主页和新窗口时会看到的页面。
+homepageControlled.learnMore = 详细了解
+
+#LOCALIZATION NOTE (tabHideControlled.message) %1$S is the icon and name of the extension which hid tabs, %2$S is the icon of the all tabs button.
+tabHideControlled.message = 扩展 %1$S 隐藏了您的部分标签页。您仍可通过 %2$S 按钮访问您的所有标签页。
+tabHideControlled.learnMore = 详细了解
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/fallbackMenubar.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/fallbackMenubar.properties
new file mode 100644
index 0000000000..2ca79bfa36
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/fallbackMenubar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# OSX only. Default menu label when there is no xul menubar.
+
+quitMenuitem.label=退出
+quitMenuitem.key=q
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/filepicker.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/filepicker.properties
new file mode 100644
index 0000000000..55195bf61c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/filepicker.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The extensions to which these descriptions refer
+# now live in toolkit/content/filepicker.properties
+allTitle=所有文件
+htmlTitle=HTML 文件
+textTitle=文本文件
+imageTitle=图像文件
+xmlTitle=XML 文件
+xulTitle=XUL 文件
+appsTitle=应用程序
+audioTitle=音频文件
+videoTitle=视频文件
+
+pdfTitle=PDF 文件
+
+formatLabel=格式:
+selectedFileNotReadableError=没有读取所选文件的权限
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/global-strres.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/global-strres.properties
new file mode 100644
index 0000000000..55ab12816f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=发生未知错误 (%1$S)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/intl.css b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/intl.css
new file mode 100644
index 0000000000..2f54eb367d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/global/intl.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/intl.properties
new file mode 100644
index 0000000000..37ad8e4042
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=zh-CN, zh, zh-TW, zh-HK, 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=zh-CN
+
+# LOCALIZATION NOTE (pluralRule): Pick the appropriate plural rule for your
+# language. This will determine how many plural forms of a word you will need
+# to provide and in what order.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+pluralRule=0
+
+# LOCALIZATION NOTE (intl.menuitems.alwaysappendaccesskeys, intl.menuitems.insertseparatorbeforeaccesskeys):
+# Valid values are: true, false, <empty string>
+# Missing preference or empty value equals false.
+intl.menuitems.alwaysappendaccesskeys=
+intl.menuitems.insertseparatorbeforeaccesskeys=false
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/keys.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/keys.properties
new file mode 100644
index 0000000000..d8756146c4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=↑
+VK_DOWN=↓
+VK_LEFT=←
+VK_RIGHT=→
+VK_PAGE_UP=Page Up
+VK_PAGE_DOWN=Page Down
+# LOCALIZATION NOTE : BLOCK end GLYPHS
+
+# Enter, backspace, and Tab might have both glyphs and text
+# if the keyboards usually have a glyph,
+# if there is a meaningful translation,
+# or if keyboards are localized
+# then translate them or insert the appropriate glyph
+# otherwise you should probably just translate the glyph regions
+
+VK_TAB=Tab
+VK_BACK=Backspace
+VK_DELETE=Del
+# LOCALIZATION NOTE : BLOCK end maybe GLYPHS
+# LOCALIZATION NOTE : BLOCK typing state keys
+VK_HOME=Home
+VK_END=End
+
+VK_ESCAPE=Esc
+VK_INSERT=Ins
+# LOCALIZATION NOTE : BLOCK end
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/HtmlForm.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/HtmlForm.properties
new file mode 100644
index 0000000000..17ab29ffd2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=重置
+Submit=提交查询
+Browse=浏览…
+FileUpload=文件上传
+DirectoryUpload=选择要上传的文件夹
+DirectoryPickerOkButtonLabel=上传
+ForgotPostWarning=表单包含 enctype=%S,但是其中未含 method=POST。所以按默认的 method=GET 且不 enctype 的方式提交。
+ForgotFileEnctypeWarning=表单包含了一个文件输入元素,但是其中缺少 method=POST 以及 enctype=multipart/form-data,所以文件将不会被发送。
+# LOCALIZATION NOTE (DefaultFormSubject): %S will be replaced with brandShortName
+DefaultFormSubject=从 %S 提交的表单
+CannotEncodeAllUnicode=有一使用 %S 编码提交的表单,无法对所有 Unicode 字符进行编码,可能导致用户所输入的内容发生错误。为避免此问题,请将页面本身的编码更改为 UTF-8,或在 form 元素上指定 accept-charset=utf-8,最终以 UTF-8 编码提交表单。
+AllSupportedTypes=所有支持的类型
+# LOCALIZATION NOTE (NoFileSelected): this string is shown on a
+# <input type='file'> when there is no file selected yet.
+NoFileSelected=未选择文件。
+# LOCALIZATION NOTE (NoFilesSelected): this string is shown on a
+# <input type='file' multiple> when there is no file selected yet.
+NoFilesSelected=未选择文件。
+# LOCALIZATION NOTE (NoDirSelected): this string is shown on a
+# <input type='file' directory/webkitdirectory> when there is no directory
+# selected yet.
+NoDirSelected=未选择目录。
+# LOCALIZATION NOTE (XFilesSelected): this string is shown on a
+# <input type='file' multiple> when there are more than one selected file.
+# %S will be a number greater or equal to 2.
+XFilesSelected=已选择%S个文件。
+ColorPicker=选择颜色
+# LOCALIZATION NOTE (DefaultSummary): this string is shown on a <details> when
+# it has no direct <summary> child. Google Chrome should already have this
+# string translated.
+DefaultSummary=详细信息
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/MediaDocument.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/MediaDocument.properties
new file mode 100644
index 0000000000..c062998eee
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 图像,%Sx%S 像素)
+ImageTitleWithoutDimensions=%S (%S 图像)
+ImageTitleWithDimensions2=(%S 图像,%Sx%S 像素)
+ImageTitleWithNeitherDimensionsNorFile=(%S 图像)
+MediaTitleWithFile=%S (%S 对象)
+MediaTitleWithNoInfo=(%S 对象)
+
+InvalidImage=图像“%S”因存在错误而无法显示。
+UnsupportedImage=图像“%S”因所需特性暂不支持而无法显示。
+ScaledImage=缩放 (%S%%)
+
+TitleWithStatus=%S — %S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/htmlparser.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/htmlparser.properties
new file mode 100644
index 0000000000..e5d0c4fc41
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/htmlparser.properties
@@ -0,0 +1,144 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Encoding warnings and errors
+EncNoDeclarationFrame=某个框架文档未声明字符编码。若您直接查看该框架中的文件,看起来可能会不太一样。
+EncXmlDecl=该 HTML 文档使用 XML 语法声明字符编码。这是不符合标准的,在 <head> 的开头使用 <meta> 标签声明编码更有效。
+EncMetaTooLate=尝试声明字符编码的 <meta> 标签发现过晚,因此编码是凭内容猜测出来的。请将 <meta> 标签移动到文档 <head> 的开头。
+EncMetaTooLateFrame=尝试声明字符编码的 <meta> 标签发现过晚,因此改为使用父文档的编码。请将 <meta> 标签移动到文档 <head> 的开头。
+EncMetaAfterHeadInKilobyte=声明文档字符编码的 <meta> 标签应移动到文档 <head> 的开头。
+EncNoDecl=该文档未声明字符编码,因此编码是凭内容猜测出来的。字符编码需使用 <meta> 标签或字节顺序标记(BOM),或是在 Content-Type HTTP 头中进行声明。
+EncNoDeclPlain=该文档未声明字符编码,因此编码是凭内容猜测出来的。字符编码需使用字节顺序标记(BOM),或是在 Content-Type HTTP 头中进行声明。
+EncMetaUnsupported=HTML 文档使用 meta 标签声明了一个不支持的字符编码。该声明被忽略。
+EncProtocolUnsupported=传输协议层声明了一个不受支持的字符编码。该声明已被忽略。
+EncMetaUtf16=使用了一个 meta 标签声明字符编码为 UTF-16。这被解释为了 UTF-8 声明。
+EncMetaUserDefined=一个 meta 标签声明字符编码为 x-user-defined。这已解释为 windows-1252 声明,以便与有意错编码的老旧字体兼容。这个网站应该迁移到 Unicode。
+EncMetaReplacement=用于声明编码的 <meta> 标签存在跨站脚本攻击(XSS)危险。已改用替代编码。
+EncProtocolReplacement=传输协议层声明的编码存在跨站脚本攻击(XSS)危险。已改用替代编码。
+EncDetectorReload=该文档未声明字符编码,因此编码是凭内容猜测出来的。这会导致文档被重新加载。字符编码需使用 <meta> 标签或字节顺序标记(BOM),或是在 Content-Type HTTP 头中进行声明。
+EncDetectorReloadPlain=该文档未声明字符编码,因此编码是凭内容猜测出来的。这会导致文档被重新加载。字符编码需使用字节顺序标记(BOM),或是在 Content-Type HTTP 头中进行声明。
+EncError=依照声明的字符编码,字节流是错误的。字符编码声明可能不正确。
+EncErrorFrame=依照从父文档继承的字符编码,字节流是错误的。字符编码需使用 <meta> 标签或字节顺序标记(BOM),或是在 Content-Type HTTP 头中进行声明。
+EncErrorFramePlain=依照从父文档继承的字符编码,字节流是错误的。字符编码需使用字节顺序标记(BOM),或是在 Content-Type HTTP 头中进行声明。
+EncSpeculationFailMeta=文档的开头被重新解析,因为在声明编码的 <meta> 标签之前有非 ASCII 字符。<meta> 应当是 <head> 的首个前无非 ASCII 字符注释的子标签。
+EncSpeculationFailXml=文档的开头被重新解析,因为在回退到 XML 声明语法前,搜索 <meta> 标签失败的文档中存在非 ASCII 字符。应在文档 <head> 使用 <meta> 标签而非 XML 声明语法。
+# The audience of the following message isn't the author of the document but other people debugging browser behavior.
+EncSpeculationFail2022=文档的开头被重新解析,因为 ISO-2022-JP 不是 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=“</”之后有无效内容。
+errLtSlashGt=发现“</>”。可能原因:未转义的“<”(应该转义为“&lt;”)或是结束标签输入错误。
+errCharRefLacksSemicolon=字符引用未由分号结束。
+errNoDigitsInNCR=字符引用当中没有数字。
+errGtInSystemId=系统标识符当中出现了“>”。
+errGtInPublicId=公用标识符当中出现了“>”。
+errNamelessDoctype=缺少名称的 Doctype。
+errConsecutiveHyphens=连续的连字号没有结束注释。“--”不被允许在注释当中出现,但“- -”可以。
+errPrematureEndOfComment=过早结束的注释。请使用 “-->” 结束注释。
+errBogusComment=不正确的注释语法。
+errUnquotedAttributeLt=一个没有被引号包裹的属性值中出现了“<”。可能原因:前面缺少“>”。
+errUnquotedAttributeGrave=一个没有被引号包裹的属性值中出现了“`”。可能原因:使用了不正确的字符作为引号。
+errUnquotedAttributeQuote=一个没有被引号包裹的属性值中出现了引号。可能原因:属性值被放在一起,或是放了 URL 查询字符串。
+errUnquotedAttributeEquals=一个没有被引号包裹的属性值中出现了“=”。可能原因:属性值被放在一起,或是放了 URL 查询字符串。
+errSlashNotFollowedByGt=斜线后面没有“>”。
+errNoSpaceBetweenAttributes=属性之间没有空格隔开。
+errUnquotedAttributeStartLt=一个没有被引号包裹的属性值以“<”作为开头。可能原因:前面缺少“>”。
+errUnquotedAttributeStartGrave=一个没有被引号包裹的属性值以“`”作为开头。可能原因:使用了错误的符号作为引号。
+errUnquotedAttributeStartEquals=一个没有被引号包裹的属性值以“=”作为开头。可能原因:多余的等号。
+errAttributeValueMissing=缺少属性值。
+errBadCharBeforeAttributeNameLt=在预期为属性名称的地方看到“<”。可能原因:前面缺少“>”。
+errEqualsSignBeforeAttributeName=在预期为属性名称的地方看到“=”。可能原因:缺少属性名称。
+errBadCharAfterLt=在“<”后出现了错误符号。可能原因:未转义的“<”。请尝试将它转义为“&lt;”。
+errLtGt=发现“<>”。可能原因:未转义的“<”(应该转义为“&lt;”)或是起始标签输入错误。
+errProcessingInstruction=发现“?”。可能原因:尝试在 HTML 中使用 XML 处理指令。(HTML 当中并不支持 XML 处理指令)
+errUnescapedAmpersandInterpretedAsCharacterReference=紧随“&”的字符串已被解译为字符引用。(也许应将“&”转义为“&amp;”。)
+errNotSemicolonTerminated=字符名称引用并未由分号结束。(也许应该把“&”转义为“&amp;”)
+errNoNamedCharacterMatch=“&”并未开始一个字符引用。(“&”也许应转义为“&amp;”。)
+errQuoteBeforeAttributeName=在预期为属性名称的地方发现引号。可能原因:前面缺少“=”。
+errLtInAttributeName=属性名称中存在“<”。可能原因:前面缺少“>”。
+errQuoteInAttributeName=属性名称中存在引号。可能原因:前面丢失了某个引号。
+errExpectedPublicId=预期有一个公用标识符,但 Doctype 已经结束了。
+errBogusDoctype=不正确的 Doctype。
+maybeErrAttributesOnEndTag=结束标签拥有属性。
+maybeErrSlashInEndTag=在结束标签的结尾发现了多余的“/”。
+errNcrNonCharacter=引用了非字元的字符。
+errNcrSurrogate=引用了代理范围的字符。
+errNcrControlChar=引用了控制符号。
+errNcrCr=数值字符引用了 <CR> 符号。
+errNcrInC1Range=数值字符引用了 C1 控制范围当中的符号。
+errEofInPublicId=公用标识符中出现了文件结束符。
+errEofInComment=注释中出现了文件结束符。
+errEofInDoctype=Doctype 中出现了文件结束符。
+errEofInAttributeValue=属性值内遇到文件结束符。忽略该标签。
+errEofInAttributeName=属性名称中出现了文件结束符。忽略该标签。
+errEofWithoutGt=发现文件结束符,但先前标签还未以“>”结束。忽略该标签。
+errEofInTagName=在寻找标签名称时发现文件结束符号。忽略该标签。
+errEofInEndTag=结束标签当中有文件结束符号。忽略该标签。
+errEofAfterLt=在“<”后面发现文件结束符号。
+errNcrOutOfRange=超过允许的 Unicode 范围的字符引用。
+errNcrUnassigned=字符引用了一个被永久保留的未指派代码点。
+errDuplicateAttribute=属性重复。
+errEofInSystemId=在系统标识符中发现文件结束符。
+errExpectedSystemId=预期应有一个系统标识符,但 Doctype 已经结束了。
+errMissingSpaceBeforeDoctypeName=在 Doctype 名称前面少了一个空白。
+errNestedComment=在注释中发现“<!--”。可能的原因:嵌套注释(不允许)。
+errNcrZero=引用了空字符。
+errNoSpaceBetweenDoctypeSystemKeywordAndQuote=在 Doctype 当中的“SYSTEM”关键词与引号中间没有空格。
+errNoSpaceBetweenPublicAndSystemIds=在 Doctype 当中的公用和系统标识符间没有空格。
+errNoSpaceBetweenDoctypePublicKeywordAndQuote=在 Doctype 的“PUBLIC”关键词与引号中间没有空格。
+
+# Tree builder errors
+errDeepTree=文档树太深了,将压扁到 513 个元素深。
+errStrayStartTag2=多余的起始标签“%1$S”。
+errStrayEndTag=多余的结束标签“%1$S”。
+errUnclosedElements=发现了结束标签“%1$S”,但那是开放元素。
+errUnclosedElementsImplied=暗示了结束标签“%1$S”,但那里有开放元素。
+errUnclosedElementsCell=有一个单元格隐含了要结束,但那里有开放元素。
+errStrayDoctype=多余的 Doctype。
+errAlmostStandardsDoctype=几乎是标准模式的 Doctype。预期有“<!DOCTYPE html>”。
+errQuirkyDoctype=怪异 doctype。预期为“<!DOCTYPE html>”。
+errAlmostStandardsDoctypeVerbose=此页面处于准标准模式,排版布局可能会受到影响。若需要标准模式,请使用“<!DOCTYPE html>”。
+errQuirkyDoctypeVerbose=此页面处于怪异模式,排版布局可能会受到影响。若需要标准模式,请使用“<!DOCTYPE html>”。
+errNonSpaceInTrailer=在页面尾端出现非空白符号。
+errNonSpaceAfterFrameset=“frameset”后面有非空白字元。
+errNonSpaceInFrameset=“frameset”当中有非空白字元。
+errNonSpaceAfterBody=Body 后面有非空白字元。
+errNonSpaceInColgroupInFragment=剖析片段时在“colgroup”当中发现非空白字元。
+errNonSpaceInNoscriptInHead=“head”当中的“noscript”里面有非空白字元。
+errFooBetweenHeadAndBody=“head”与“body”当中有“%1$S”元素
+errStartTagWithoutDoctype=尚未定义 Doctype 就出现了起始标签。预期应有“<!DOCTYPE html>”。
+errNoSelectInTableScope=表格范围中没有“select”。
+errStartSelectWhereEndSelectExpected=在预期应有结束标签的地方出现了“select”的起始标签。
+errStartTagWithSelectOpen=未结束的“select”标签当中包含了“%1$S”起始标签。
+errBadStartTagInNoscriptInHead=“head”中“noscript”的起始标签“%1$S”错误。
+errImage=在“image”当中发现了起始标签。
+errFooSeenWhenFooOpen2=发现了“%1$S”的起始标签,但有个相同型别的元素已经开启了。
+errHeadingWhenHeadingOpen=标题不能为其他标题的子元素。
+errFramesetStart=发现了“frameset”起始标签。
+errNoCellToClose=没有单元格可以关闭。
+errStartTagInTable=在“table”当中发现了“%1$S”的起始标签。
+errFormWhenFormOpen=发现了“form”的起始标签,但已经有个“form”元素存在。不允许出现巢状表单,将忽略该标签。
+errTableSeenWhileTableOpen=发现了“table”的起始标签,但先前的“table”标签尚未结束。
+errStartTagInTableBody=在表格内容中发现了“%1$S”的起始标签。
+errEndTagSeenWithoutDoctype=还没发现 Doctype 就发现了结束标签。预期应有“<!DOCTYPE html>”。
+errEndTagAfterBody=在“body”标签结束后发现了一个结束标签。
+errEndTagSeenWithSelectOpen=发现了“%1$S”的结束标签,但“select”标签还仍然开启。
+errGarbageInColgroup=在“colgroup”片段当中发现了无效的内容。
+errEndTagBr=使用了“br”结束标签。
+errNoElementToCloseButEndTagSeen=在作用域中没有发现“%1$S”元素,但发现了“%1$S”的结束标签。
+errHtmlStartTagInForeignContext=HTML 起始标签“%1$S”位于外部命名空间文本当中。
+errNoTableRowToClose=没有可以结束的表格行。
+errNonSpaceInTable=表格当中有错置的非空格符号。
+errUnclosedChildrenInRuby=“ruby”当中有未关闭的子元素。
+errStartTagSeenWithoutRuby=发现了起始标签“%1$S”,但“ruby”元素尚未开启。
+errSelfClosing=在一个非虚无的 HTML 元素当中使用了自我结束语法(“/>”)。将忽略该斜线并将其视为起始标签。
+errNoCheckUnclosedElementsOnStack=堆叠中有未关闭的元素。
+errEndTagDidNotMatchCurrentOpenElement=结束标签“%1$S”并未符合目前已开启元素的名称(“%2$S”)。
+errEndTagViolatesNestingRules=结束标签“%1$S”违反嵌套规则。
+errEndWithUnclosedElements=看到了“%1$S”的结束标签,但还有元素未关闭。
+errListUnclosedStartTags=未闭合的元素。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/xmlparser.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout/xmlparser.properties
new file mode 100644
index 0000000000..bef1199d6e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 内存不足
+2 = 语法错误
+3 = 找不到根元素
+4 = 格式不佳
+5 = 未结束的记号
+6 = 不完全的字符
+7 = 非配对的标签
+8 = 重复属性
+9 = 文档元素后存有无效内容
+10 = 非法参数实体引用
+11 = 未定义的实体
+12 = 循环的实体引用
+13 = 异步实体
+14 = 对无效字符数字的引用
+15 = 对二进制实体的引用
+16 = 在属性中引用外部实体
+17 = XML 或文本声明不在实体的开头
+18 = 未知编码方式
+19 = XML声明里面指定的编码方式不正确
+20 = 未结束的CDATA块
+21 = 处理外部实体引用时出错
+22 = 文档不独立
+23 = 意外的解析器状态
+24 = 实体已在参数实体中被定义
+27 = 前缀未绑定至命名空间
+28 = 不可取消 prefix 声明
+29 = 参数项中标记不完整
+30 = XML 声明格式不佳
+31 = 文本声明格式不佳
+32 = public id 中包含非法字符
+38 = 保留的前缀(xml)不能被取消声明或者关联到其他名字空间名称
+39 = 保留前缀 (xmlns) 不能被声明或取消声明
+40 = 前缀不能被关联至保留名字空间名称
+
+# %1$S is replaced by the Expat error string, may be followed by Expected (see below)
+# %2$S is replaced by URL
+# %3$u is replaced by line number
+# %4$u is replaced by column number
+XMLParsingError = XML 解析错误:%1$S\n位置:%2$S\n行 %3$u,列 %4$u:
+
+# %S is replaced by a tag name.
+# This gets appended to the error string if the error is mismatched tag.
+Expected = 。预期:</%S>。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout_errors.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/layout_errors.properties
new file mode 100644
index 0000000000..a14fc47c7e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=<area shape="rect"> 标签的 "coords" 属性未遵循 "left,top,right,bottom" 格式。
+ImageMapCircleWrongNumberOfCoords=<area shape="circle"> 标签的 "coords" 属性未遵循 "center-x,center-y,radius" 格式。
+ImageMapCircleNegativeRadius=<area shape="circle"> 标签的 "coords" 属性不能为负的半径
+ImageMapPolyWrongNumberOfCoords=<area shape="poly"> 标签的 "coords" 属性未遵循 "x1,y1,x2,y2 …" 格式。
+ImageMapPolyOddNumberOfCoords=<area shape="poly"> 标签的 "coords" 属性缺少最后的 "y" 座标值 (正确格式为 "x1,y1,x2,y2 …")。
+
+ScrollLinkedEffectFound3=此网站似乎使用 scroll-linked 定位效果。这可能无法与异步平移一起使用;参见 https://firefox-source-docs.mozilla.org/performance/scroll-linked_effects.html 详细了解,也可加入我们一起讨论相关的工具和功能!
+
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLargeArea):
+## %1$S is an integer value of the area of the frame
+## %2$S is an integer value of the area of a limit based on the viewport size
+CompositorAnimationWarningContentTooLargeArea=动画无法在合成器上执行,因为框的尺寸(%1$S)相对于视区(超过 %2$S)来说太大
+## LOCALIZATION NOTE(CompositorAnimationWarningContentTooLarge2):
+## (%1$S, %2$S) is a pair of integer values of the frame size
+## (%3$S, %4$S) is a pair of integer values of a limit based on the viewport size
+## (%5$S, %6$S) is a pair of integer values of an absolute limit
+CompositorAnimationWarningContentTooLarge2=动画无法在合成器上执行,因为框的尺寸(%1$S, %2$S)相对视区来说太大(超过 (%3$S, %4$S)),或者超过允许的最大值(%5$S, %6$S)
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformBackfaceVisibilityHidden):
+## 'backface-visibility: hidden' is a CSS property, don't translate it.
+CompositorAnimationWarningTransformBackfaceVisibilityHidden=‘backface-visibility: hidden’ 的变换动画(transform)在无法合成器上执行
+## LOCALIZATION NOTE(CompositorAnimationWarningTransformSVG,
+## CompositorAnimationWarningTransformWithGeometricProperties,
+## CompositorAnimationWarningTransformWithSyncGeometricAnimations,
+## CompositorAnimationWarningTransformFrameInactive,
+## CompositorAnimationWarningOpacityFrameInactive):
+## 'transform' and 'opacity' mean CSS property names, don't translate it.
+CompositorAnimationWarningTransformSVG=具有 SVG 变换(transform)的元素上的变换动画(transform)无法在合成器上执行
+CompositorAnimationWarningTransformWithGeometricProperties=当几何属性在相同元素上执行时,变换动画(transform)无法同时在合成器上运行
+CompositorAnimationWarningTransformWithSyncGeometricAnimations=由于应该与同时开始的几何属性的动画同步,变换动画(transform)无法在合成器上执行
+CompositorAnimationWarningTransformFrameInactive=框架未标记为激活变换动画(transform) ,动画无法在合成器上执行
+CompositorAnimationWarningTransformIsBlockedByImportantRules=由于变换(Transform)相关属性被 !important 规则覆盖,无法在合成器上运行变换动画
+CompositorAnimationWarningOpacityFrameInactive=框架未标记为激活透明动画 (opacity) ,动画无法在合成器上执行
+CompositorAnimationWarningHasRenderingObserver=元素有正在渲染的观察者(-moz-element 或 SVG 裁剪/遮罩),动画无法在合成器上执行。
+CompositorAnimationWarningHasCurrentColor=“background-color”动画无法与“current-color”关键帧一同在合成器上运行。
+
+## LOCALIZATION NOTE: Do not translate zoom, calc(), "transform", "transform-origin: 0 0"
+ZoomPropertyWarning=该页面使用非标准属性“zoom”。请考虑在相关属性值中使用 calc(),或将“transform”与“transform-origin: 0 0”一同使用。
+
+## LOCALIZATION NOTE(PrincipalWritingModePropagationWarning):
+## Do not translate <html>, <body>, CSS, "writing-mode", "direction", "text-orientation", :root, and "The Principal Writing Mode" because they are technical terms.
+PrincipalWritingModePropagationWarning=呈现 <html> 元素时,<html> 元素的 CSS 属性“writing-mode”,“direction”和“text-orientation”所用的值取自 <body> 元素的计算值,而不是 <html> 元素本身的值。请考虑在 :root CSS 伪类上设置这些属性。更多信息请参阅“主要书写模式(The Principal Writing Mode)”:https://www.w3.org/TR/css-writing-modes-3/#principal-flow
+
+## LOCALIZATION NOTE(ScrollAnchoringDisabledInContainer):
+## %1$S is an integer value with the total number of adjustments
+## %2$S is a floating point value with the average distance adjusted
+## %3$S is a floating point value with the total adjusted distance
+ScrollAnchoringDisabledInContainer=由于过多连续的调整(%1$S)而总距离太小(平均 %2$S px,总计 %3$S px),已禁用滚动容器中的滚动锚定。
+
+ForcedLayoutStart=已在页面完全加载前强制排版。若样式表尚未加载,则可能会导致无样式内容闪烁。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/mathml/mathml.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/mathml/mathml.properties
new file mode 100644
index 0000000000..0f006265ef
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=无效标记:<%1$S> 不被允许作为 <%2$S> 的子元素。
+ChildCountIncorrect=无效标签:<%1$S/> 标签的子标签数不正确。
+DuplicateMprescripts=无效标签:<mmultiscripts/> 中有超过一个的 <mprescripts/> 标签。
+# LOCALIZATION NOTE: The first child of <mmultiscript/> is the base, that is the element to which scripts are attached.
+NoBase=无效的标记:预期恰好有一个基本元素在 <mmultiscripts/>。未发现。
+SubSupMismatch=无效标签:<mmultiscripts/> 中的 subscript/superscript 不配对。
+
+# LOCALIZATION NOTE: When localizing the single quotes ('), follow the conventions in css.properties for your target locale.
+AttributeParsingError=解析 <%3$S/> 的 '%2$S' 属性的值 '%1$S' 时发生错误,属性被忽略。
+AttributeParsingErrorNoTag=解析 '%2$S' 属性的值 '%1$S' 时发生错误,属性被忽略。
+LengthParsingError=将 MathML 属性值 '%1$S' 解析为长度时发生错误。属性被忽略。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/narrate.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/narrate.properties
new file mode 100644
index 0000000000..55ac0ef226
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 聆听(%S)
+back = 后退
+# %S is the keyboard shortcut for the start command
+start-label = 开始(%S)
+# %S is the keyboard shortcut for the stop command
+stop-label = 结束(%S)
+# Keyboard shortcut to toggle the narrate feature
+narrate-key-shortcut = N
+forward = 前进
+speed = 速度
+selectvoicelabel = 语音:
+# Default voice is determined by the language of the document.
+defaultvoice = 默认
+
+# Voice name and language.
+# eg. David (English)
+voiceLabel = %S (%S)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/nsWebBrowserPersist.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/nsWebBrowserPersist.properties
new file mode 100644
index 0000000000..6d03fe0c5b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/nsWebBrowserPersist.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+readError=无法保存 %S,因为无法读取源文件。\n\n请稍后再试,或者联系服务器管理员。
+writeError=无法保存 %S ,发生未知错误。\n\n请保存至其他位置。
+launchError=无法打开 %S ,发生未知错误。\n\n请尝试先保存至磁盘然后再打开文件。
+diskFull=无足够的磁盘空间以保存 %S。\n\n请尝试移除磁盘中不需要的文件并重试,或者保存到其他位置。
+readOnly=无法保存 %S,因为磁盘、文件夹或者文件写保护。\n\n请解除写保护后重试,或者尝试保存至其他位置。
+accessError=无法保存 %S,因为您无法修改该文件夹的内容。\n\n请修改文件夹属性并重试,或者保存至其他位置。
+SDAccessErrorCardReadOnly=因为 SD 卡正在使用中,无法下载文件。
+SDAccessErrorCardMissing=因为缺少 SD 卡,无法下载文件。
+helperAppNotFound=无法打开 %S,因为关联的助手应用程序不存在。请在您的首选项中修改相应关联。
+noMemory=无足够的内存以完成您请求的动作。\n\n请尝试退出一些应用程序并重试。
+title=正在下载 %S
+fileAlreadyExistsError=无法保存 %S,因为同名的 '_files' 目录已存在。\n\n请保存至其他位置。
+fileNameTooLongError=无法保存 %S ,因为文件名过长。\n\n请使用较短文件名保存。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/printdialog.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/printdialog.properties
new file mode 100644
index 0000000000..8f21d483b8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/printdialog.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/.
+
+# These strings are used in the native GTK, Mac and Windows print dialogs.
+
+# GTK titles:
+printTitleGTK=打印
+optionsTabLabelGTK=选项
+
+# Mac titles:
+optionsTitleMac=选项:
+appearanceTitleMac=外观:
+pageHeadersTitleMac=页眉:
+pageFootersTitleMac=页脚:
+
+# Windows titles:
+optionsTitleWindows=选项
+
+# TRANSLATOR NOTE: For radio button labels and check button labels, an underscore _
+# before a character will turn that character into an accesskey in the GTK dialog.
+# e.g. "_As laid out" will make A the accesskey.
+# In the Windows labels, use an ampersand (&).
+# On Mac, underscores will be stripped.
+
+shrinkToFit=忽略间距并缩放以适合页面宽度
+selectionOnly=仅打印选中内容(_O)
+printBGOptions=打印背景
+printBGColors=打印背景颜色(_C)
+printBGImages=打印背景图像(_m)
+headerFooter=页眉页脚
+left=左
+center=中
+right=右
+headerFooterBlank=--空白--
+headerFooterTitle=标题
+headerFooterURL=URL
+headerFooterDate=日期/时间
+headerFooterPage=第 # 页
+headerFooterPageTotal=第 # 页,共 # 页
+headerFooterCustom=定制…
+customHeaderFooterPrompt=请输入您自定义的页眉/页脚文字
+
+# These are for the summary view in the Mac dialog:
+summarySelectionOnlyTitle=打印选中内容
+summaryShrinkToFitTitle=调整到适合
+summaryPrintBGColorsTitle=打印背景颜色
+summaryPrintBGImagesTitle=打印背景图像
+summaryHeaderTitle=页眉
+summaryFooterTitle=页脚
+summaryNAValue=N/A
+summaryOnValue=开
+summaryOffValue=关
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/printing.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/printing.properties
new file mode 100644
index 0000000000..c538b58e8c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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页 共%2$d页
+
+PrintToFile=打印至文件
+print_error_dialog_title=打印出错
+printpreview_error_dialog_title=打印预览出错
+
+# Printing error messages.
+#LOCALIZATION NOTE: Some of these messages come in pairs, one
+# for printing and one for print previewing. You can remove that
+# distinction in your language by removing the entity with the _PP
+# suffix; then the entity without a suffix will be used for both.
+# You can also add that distinction to any of the messages that don't
+# already have it by adding a new entity with a _PP suffix.
+#
+# For instance, if you delete PERR_GFX_PRINTER_DOC_IS_BUSY_PP, then
+# the PERR_GFX_PRINTER_DOC_IS_BUSY message will be used for that error
+# condition when print previewing as well as when printing. If you
+# add PERR_FAILURE_PP, then PERR_FAILURE will only be used when
+# printing, and PERR_FAILURE_PP will be used under the same conditions
+# when print previewing.
+#
+PERR_FAILURE=打印时发生未知错误。
+
+PERR_ABORT=打印任务已经中止或取消。
+PERR_NOT_AVAILABLE=目前一些打印功能不可用。
+PERR_NOT_IMPLEMENTED=某些打印功能尚未实现。
+PERR_OUT_OF_MEMORY=可用内存不足以打印。
+PERR_UNEXPECTED=打印时发生了意外的问题。
+
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE=无可用打印机。
+PERR_GFX_PRINTER_NO_PRINTER_AVAILABLE_PP=没有可用的打印机,无法显示打印预览。
+PERR_GFX_PRINTER_NAME_NOT_FOUND=找不到所选的打印机。
+PERR_GFX_PRINTER_COULD_NOT_OPEN_FILE=无法打开打印时所需的输出文件。
+PERR_GFX_PRINTER_STARTDOC=开始打印任务时失败。
+PERR_GFX_PRINTER_ENDDOC=完成打印任务时失败。
+PERR_GFX_PRINTER_STARTPAGE=开始打印新一页时失败。
+PERR_GFX_PRINTER_DOC_IS_BUSY=浏览器无法打印一份正在加载的文档。
+PERR_GFX_PRINTER_DOC_IS_BUSY_PP=文档还在加载中,无法预览打印效果。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/resetProfile.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/resetProfile.properties
new file mode 100644
index 0000000000..e2e1cd3f05
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/resetProfile.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: These strings are used for profile reset.
+
+# LOCALIZATION NOTE (resetUnusedProfile.message): %S is brandShortName.
+resetUnusedProfile.message=看起来你有一段时间没有打开 %S 了。是否要清理一下配置文件以获得近乎全新的体验?顺便说一句,欢迎回来!
+# LOCALIZATION NOTE (resetUninstalled.message): %S is brandShortName.
+resetUninstalled.message=看来您重新安装了 %S。想要清理一下,有个焕然一新的体验吗?
+
+# LOCALIZATION NOTE (refreshProfile.resetButton.label): %S is brandShortName.
+refreshProfile.resetButton.label=翻新 %S…
+refreshProfile.resetButton.accesskey=e
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/caps.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/caps.properties
new file mode 100644
index 0000000000..81913c0073
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 安全错误:位于 %S 的内容不可以加载或者链接至 %S。
+CheckSameOriginError = 安全错误:位于 %S 的内容不可以加载来自 %S 的数据。
+ExternalDataError = 安全错误:%S 上的内容试图加载 %S,但当被用作图像时,可能无法加载外部数据。
+
+CreateWrapperDenied = 为类 %S 创建包裹器时权限不足
+CreateWrapperDeniedForOrigin = <%2$S> 无足够权限创建类 %1$S 对象的包裹器。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/csp.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/csp.properties
new file mode 100644
index 0000000000..e41d7330b4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 页面设置阻止读取一项资源:%1$S
+# LOCALIZATION NOTE (CSPViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPViolationWithURI = 页面设置阻止读取位于 %2$S 的一项资源("%1$S")。
+# LOCALIZATION NOTE (CSPROViolation):
+# %1$S is the reason why the resource has not been loaded.
+CSPROViolation = 发生一次 report-only CSP 策略违反 ("%1$S")。此行为已被允许,并且一份 CSP 报告已被发送。
+# LOCALIZATION NOTE (CSPROViolationWithURI):
+# %1$S is the directive that has been violated.
+# %2$S is the URI of the resource which violated the directive.
+CSPROViolationWithURI = 该页面设置了观测在 %2$S ("%1$S") 的资源加载。一个 CSP 报告已开始发送。
+# LOCALIZATION NOTE (triedToSendReport):
+# %1$S is the URI we attempted to send a report to.
+triedToSendReport = 试图发送报告到无效的 URI:“%1$S”
+tooManyReports = 已阻止在短时间内发送过多 CSP 报告。
+# LOCALIZATION NOTE (couldNotParseReportURI):
+# %1$S is the report URI that could not be parsed
+couldNotParseReportURI = 无法解析报告的 URI:%1$S
+# LOCALIZATION NOTE (couldNotProcessUnknownDirective):
+# %1$S is the unknown directive
+couldNotProcessUnknownDirective = 不能处理未知的指令“%1$S”
+# LOCALIZATION NOTE (ignoringUnknownOption):
+# %1$S is the option that could not be understood
+ignoringUnknownOption = 忽略了未知选项 %1$S
+# LOCALIZATION NOTE (ignoringDuplicateSrc):
+# %1$S defines the duplicate src
+ignoringDuplicateSrc = 忽略重复的来源 %1$S
+# LOCALIZATION NOTE (ignoringNonAsciiToken):
+# %1$S defines the name of the directive
+# %2$S is the token string containing non-ASCII characters.
+ignoringNonAsciiToken = 忽略带有非 ASCII 标记“%2$S”的指令“%1$S”
+# LOCALIZATION NOTE (ignoringSrcFromMetaCSP):
+# %1$S defines the ignored src
+ignoringSrcFromMetaCSP = 忽略源 '%1$S' (通过 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 = 忽略 %2$S 中的 “%1$S”:指定了 nonce-source 或 hash-source
+# 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 = 忽略 %2$S 中的“%1$S”:指定了“strict-dynamic”
+# LOCALIZATION NOTE (ignoringStrictDynamic):
+# %1$S is the ignored src
+ignoringStrictDynamic = 忽略来源“%1$S”(仅 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 = 忽略“%1$S”中的“unsafe-eval”或“wasm-unsafe-eval”。
+# LOCALIZATION NOTE (strictDynamicButNoHashOrNonce):
+# %1$S is the csp directive that contains 'strict-dynamic'
+# 'strict-dynamic' should not be localized
+strictDynamicButNoHashOrNonce = “%1$S”内的关键字 ‘strict-dynamic’ 没有有效的随机数或散列,可能阻止加载所有脚本
+# LOCALIZATION NOTE (reportURInotHttpsOrHttp2):
+# %1$S is the ETLD of the report URI that is not HTTP or HTTPS
+reportURInotHttpsOrHttp2 = 报告 URI (%1$S) 应该用 HTTP 或 HTTPS URI。
+# LOCALIZATION NOTE (reportURInotInReportOnlyHeader):
+# %1$S is the ETLD of the page with the policy
+reportURInotInReportOnlyHeader = 此网站 (%1$S) 有一个 Report-Only 策略却没有报告 URI。CSP 将不会阻挡并且无法报告此策略的违反情况。
+# LOCALIZATION NOTE (failedToParseUnrecognizedSource):
+# %1$S is the CSP Source that could not be parsed
+failedToParseUnrecognizedSource = 解析不可识别的资源 %1$S 失败
+# LOCALIZATION NOTE (upgradeInsecureRequest):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+upgradeInsecureRequest = 升级不安全的请求“%1$S”至使用“%2$S”
+# LOCALIZATION NOTE (ignoreSrcForDirective):
+ignoreSrcForDirective = 根据 '%1$S' 指示忽略 src
+# LOCALIZATION NOTE (hostNameMightBeKeyword):
+# %1$S is the hostname in question and %2$S is the keyword
+hostNameMightBeKeyword = %1$S 被识别为主机名而不是关键词。如果您想将其识别为关键词,应使用'%2$S'(用单引号括起来)。
+# LOCALIZATION NOTE (notSupportingDirective):
+# directive is not supported (e.g. 'reflected-xss')
+notSupportingDirective = 不支持指令“%1$S”。指令和值将被忽略。
+# LOCALIZATION NOTE (blockAllMixedContent):
+# %1$S is the URL of the blocked resource load.
+blockAllMixedContent = 拦截不安全的请求“%1$S”。
+# LOCALIZATION NOTE (ignoringDirectiveWithNoValues):
+# %1$S is the name of a CSP directive that requires additional values
+ignoringDirectiveWithNoValues = 忽略 ‘%1$S‘,因为它未包含任何参数。
+# LOCALIZATION NOTE (ignoringReportOnlyDirective):
+# %1$S is the directive that is ignored in report-only mode.
+ignoringReportOnlyDirective = 在提供有 report-only 策略 ‘%1$S’ 时忽略沙盒指令
+# LOCALIZATION NOTE (IgnoringSrcBecauseOfDirective):
+# %1$S is the name of the src that is ignored.
+# %2$S is the name of the directive that causes the src to be ignored.
+IgnoringSrcBecauseOfDirective=因 ‘%2$S’ 指令忽略 ‘%1$S’
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+# %2$S is the directive which supports src
+IgnoringSourceWithinDirective = 忽略来源“%1$S”(“%2$S”中不支持)。
+# LOCALIZATION NOTE (IgnoringSourceWithinDirective):
+# %1$S is the ignored src
+obsoleteBlockAllMixedContent = 忽略“%1$S”,因升级混合内容显示而导致 block-all-mixed-content 失效。
+
+
+# CSP Errors:
+# LOCALIZATION NOTE (couldntParseInvalidSource):
+# %1$S is the source that could not be parsed
+couldntParseInvalidSource = 无法解析无效的源 %1$S
+# LOCALIZATION NOTE (couldntParseInvalidHost):
+# %1$S is the host that's invalid
+couldntParseInvalidHost = 不能解析无效的主机 %1$S
+# LOCALIZATION NOTE (couldntParsePort):
+# %1$S is the string source
+couldntParsePort = 不能解析 %1$S 中的端口
+# LOCALIZATION NOTE (duplicateDirective):
+# %1$S is the name of the duplicate directive
+duplicateDirective = 检测到重复的指令 %1$S。除首个指令外所有其他的都将被忽略。
+# LOCALIZATION NOTE (couldntParseInvalidSandboxFlag):
+# %1$S is the option that could not be understood
+couldntParseInvalidSandboxFlag = 无法解析无效的沙盒标识“%1$S”
+
+# LOCALIZATION NOTE (CSPMessagePrefix):
+# Do not translate "Content-Security-Policy", only handle spacing for the colon.
+# %S is a console message that is being prefixed here.
+CSPMessagePrefix = Content-Security-Policy:%S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/security.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/security/security.properties
new file mode 100644
index 0000000000..3473b6e134
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 已阻止显示混合内容“%1$S”
+BlockMixedActiveContent = 已阻止加载混合活动内容“%1$S”
+
+# CORS
+# LOCALIZATION NOTE: Do not translate "Access-Control-Allow-Origin", Access-Control-Allow-Credentials, Access-Control-Allow-Methods, Access-Control-Allow-Headers
+CORSDisabled=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 未启用)。
+CORSDidNotSucceed2=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 请求未能成功)。状态码:%2$S。
+CORSOriginHeaderNotAdded=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:无法添加 CORS ‘Origin' 头)。
+CORSExternalRedirectNotAllowed=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:不允许 CORS 请求外部重定向)。
+CORSRequestNotHttp=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 请求不是 http)。
+CORSMissingAllowOrigin2=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。状态码:%2$S。
+CORSMultipleAllowOriginNotAllowed=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:不允许有多个 'Access-Control-Allow-Origin' CORS 头)。
+CORSAllowOriginNotMatchingOrigin=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 头 'Access-Control-Allow-Origin' 不匹配 '%2$S')。
+CORSNotSupportingCredentials=已拦截跨源请求:同源策略禁止读取位于 ‘%1$S’ 的远程资源。(原因:凭据不支持,如果 CORS 头 ‘Access-Control-Allow-Origin’ 为 ‘*’)。
+CORSMethodNotFound=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:找不到 CORS 头中的 'Access-Control-Allow-Methods')。
+CORSMissingAllowCredentials=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 头中的 'Access-Control-Allow-Credentials' 预期为 'true')。
+CORSPreflightDidNotSucceed3=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 预检响应未能成功)。状态码:%2$S。
+CORSInvalidAllowMethod=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 头 'Access-Control-Allow-Methods' 中的令牌 '%2$S' 无效)。
+CORSInvalidAllowHeader=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 头 'Access-Control-Allow-Headers' 中的令牌 '%2$S' 无效)。\u0020
+CORSMissingAllowHeaderFromPreflight2=已拦截跨源请求:同源策略禁止读取位于 %1$S 的远程资源。(原因:CORS 预检响应的 'Access-Control-Allow-Headers',不允许使用头 '%2$S')。
+CORSAllowHeaderFromPreflightDeprecation=跨源请求警告:同源策略即将禁止读取位于 %1$S 的远程资源。(原因:当“Access-Control-Allow-Headers”为“*”时,“Authorization”头并未被包含。若要包含“Authorization”头,则须在 CORS 头“Access-Control-Allow-Headers”中明确列出)。
+
+# LOCALIZATION NOTE: Do not translate "Strict-Transport-Security", "HSTS", "max-age" or "includeSubDomains"
+STSUnknownError=Strict-Transport-Security:处理网站指定的头时发生未知错误。
+STSCouldNotParseHeader=Strict-Transport-Security:网站指定了无法解析的头。
+STSNoMaxAge=Strict-Transport-Security:网站指定的头没有包含“max-age”指示。
+STSMultipleMaxAges=Strict-Transport-Security:网站指定的头包含多个“max-age”指示。
+STSInvalidMaxAge=Strict-Transport-Security:网站指定的头包含一个无效的“max-age”指示。
+STSMultipleIncludeSubdomains=Strict-Transport-Security:网站指定的头包含多个“includeSubDomains”指示。
+STSInvalidIncludeSubdomains=Strict-Transport-Security:网站指定的头包含一个无效的“includeSubDomains”指示。
+STSCouldNotSaveState=严格传输安全:将网站标示为严格传输安全主机时发生错误。
+
+InsecurePasswordsPresentOnPage=不安全的(http://)页面中包含密码栏。这可能有安全风险,会导致用户账号密码被窃取。
+InsecureFormActionPasswordsPresent=有密码栏包含在不安全的(http://)表单发送数据中。这有安全风险,可能导致用户账号密码被窃取。
+InsecurePasswordsPresentOnIframe=有密码栏包含在不安全的(http://)iframe 中。这有安全风险,可能导致用户账号密码被窃取。
+# LOCALIZATION NOTE: "%1$S" is the URI of the insecure mixed content resource
+LoadingMixedActiveContent2=安全页面上在加载混合的(不安全的)活动内容“%1$S”
+LoadingMixedDisplayContent2=在安全的加密网页中加载混合(不安全的)显示内容“%1$S”
+LoadingMixedDisplayObjectSubrequestDeprecation=不建议通过插件在安全页面加载(不安全的)混合内容“%1$S”,该行为即将被禁止。
+# LOCALIZATION NOTE: "%S" is the URI of the insecure mixed content download
+MixedContentBlockedDownload = 已阻止下载不安全的内容“%S”。
+
+# LOCALIZATION NOTE: Do not translate "allow-scripts", "allow-same-origin", "sandbox" or "iframe"
+BothAllowScriptsAndSameOriginPresent=iframe 的“sandbox”属性同时具有“allow-scripts”和“allow-same-origin”值会导致沙盒化的移除。
+# LOCALIZATION NOTE: Do not translate "allow-top-navigation-by-user-activation", "allow-top-navigation", "sandbox" or "iframe"
+BothAllowTopNavigationAndUserActivationPresent=同时含有 allow-top-navigation 与 allow-top-navigation-by-user-activation sandbox 属性的 iframe,将允许导航(加载)内容到顶级的浏览上下文环境。
+
+# Sub-Resource Integrity
+# LOCALIZATION NOTE: Do not translate "script" or "integrity". "%1$S" is the invalid token found in the attribute.
+MalformedIntegrityHash=script 元素中的 integrity 属性散列格式错误:“%1$S”。正确的格式为 “<散列算法>-<散列值>”。
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityLength=integrity 属性中的散列值长度错误。
+# LOCALIZATION NOTE: Do not translate "integrity"
+InvalidIntegrityBase64=无法解码 integrity 属性中的散列值。
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the type of hash algorithm in use (e.g. "sha256"). "%2$S" is the value we saw.
+IntegrityMismatch2=integrity 属性中的 “%1$S” 散列值没有一个符合子资源的内容,计算出的散列值为“%2$S”。
+# LOCALIZATION NOTE: "%1$S" is the URI of the sub-resource that cannot be protected using SRI.
+IneligibleResource=因为没有开启 CORS,也没有设置 same-origin,“%1$S”无法用作完整性检查。
+# LOCALIZATION NOTE: Do not translate "integrity". "%1$S" is the invalid hash algorithm found in the attribute.
+UnsupportedHashAlg=integrity 属性中有不支持的散列算法:“%1$S”
+# LOCALIZATION NOTE: Do not translate "integrity"
+NoValidMetadata=integrity 未含任何有效的元数据。
+
+# LOCALIZATION NOTE: Do not translate "RC4".
+WeakCipherSuiteWarning=此网站使用了已弃用且不再安全的 RC4 协议进行加密。
+
+DeprecatedTLSVersion2=该网站使用了已弃用的 TLS 版本。请升级到 TLS 1.2 或 1.3。
+
+#XCTO: nosniff
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options: nosniff".
+MimeTypeMismatch2=来自“%1$S”的资源已被阻止,因为 MIME 类型(“%2$S”)不匹配(X-Content-Type-Options: nosniff)。
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XCTOHeaderValueMissing=X-Content-Type-Options 头警告:值是“%1$S”;是否本意为发送“nosniff”?
+# LOCALIZATION NOTE: Do not translate "X-Content-Type-Options" and also do not translate "nosniff".
+XTCOWithMIMEValueMissing=由于 MIME 类型未知、不正确或缺失,未呈现来自“%1$S”的资源(X-Content-Type-Options: nosniff)。
+
+BlockScriptWithWrongMimeType2=已拦截来自“%1$S”的脚本,它使用了不允许的 MIME 类型(“%2$S”)。
+WarnScriptWithWrongMimeType=即使其 MIME 类型(“%2$S”)不是有效的 JavaScript MIME 类型,仍已加载来自“%1$S”的脚本。
+# LOCALIZATION NOTE: Do not translate "importScripts()"
+BlockImportScriptsWithWrongMimeType=已拦截通过 importScripts() 加载的脚本“%1$S”,它使用了不允许的 MIME 类型(“%2$S”)。
+BlockWorkerWithWrongMimeType=已拦截加载自“%1$S”的 Worker,它使用了不允许的 MIME 类型(“%2$S”)。
+BlockModuleWithWrongMimeType=已拦截加载自“%1$S”的模块,它使用了不允许的 MIME 类型(“%2$S”)。
+
+# LOCALIZATION NOTE: Do not translate "data: URI".
+BlockTopLevelDataURINavigation=不允许导航至顶层 data: URI(已阻止加载“%1$S”)
+BlockRedirectToDataURI=不允许重定向至 data: URI(已阻止加载:“%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=从文件加载脚本:由于 URI(“%1$S”)的 MIME 类型(“%2$S”)不是有效的 JavaScript MIME 类型,已将其拦截。
+
+# LOCALIZATION NOTE: “%S” is the whole URI of the loaded file.
+BlockExtensionScriptWithWrongExt=由于是不允许的扩展名,已阻止加载 URI 为“%S”的脚本。
+
+RestrictBrowserEvalUsage=在父进程或系统上下文中不允许使用 eval() 和类似 eval 的用法(“%1$S”中禁止使用)
+
+# LOCALIZATION NOTE (MixedContentAutoUpgrade):
+# %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+MixedContentAutoUpgrade=已将不安全的显示请求“%1$S”升级为“%2$S”。
+# LOCALIZATION NOTE (RunningClearSiteDataValue):
+# %S is the URI of the resource whose data was cleaned up
+RunningClearSiteDataValue=收到 Clear-Site-Data 报头,强制清除“%S”数据。
+UnknownClearSiteDataValue=收到 Clear-Site-Data 报头。值“%S”未知。
+
+# Reporting API
+ReportingHeaderInvalidJSON=报告头:收到无效的 JSON 值。
+ReportingHeaderInvalidNameItem=报告头:组名称无效。
+ReportingHeaderDuplicateGroup=报告头:忽略重复的组名称“%S”。
+ReportingHeaderInvalidItem=报告头:忽略无效项目“%S”。
+ReportingHeaderInvalidEndpoint=报告头:忽略项目“%S”的无效端点。
+# LOCALIZATION NOTE(ReportingHeaderInvalidURLEndpoint): %1$S is the invalid URL, %2$S is the group name
+ReportingHeaderInvalidURLEndpoint=报告头:忽略项目“%2$S”的无效端点网址“%1$S”。
+
+FeaturePolicyUnsupportedFeatureName=特性策略:跳过不支持的特性名称“%S”。
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidEmptyAllowValue= 特性策略:跳过功能“%S”的空白允许列表。
+# TODO: would be nice to add a link to the Feature-Policy MDN documentation here. See bug 1449501
+FeaturePolicyInvalidAllowValue=特性策略:跳过不支持的允许值“%S”。
+
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerLengthOverLimitation=HTTP Referrer 头:超过“%1$S”字节长度限制。将剥离 Referrer 头为 origin:“%2$S”
+# LOCALIZATION NOTE: "%1$S" is the limitation length (bytes) of referrer URI, "%2$S" is the origin of the referrer URI.
+ReferrerOriginLengthOverLimitation=HTTP Referrer 头:超过“%1$S”字节长度限制。将移除带有 origin “%2$S”的 Referrer。
+
+# 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=Referrer 策略:限制较宽松的策略,包括“no-referrer-when-downgrade”、“origin-when-cross-origin”和“unsafe-url”,不久后将被跨站请求忽略:%S
+# LOCALIZATION NOTE: %1$S is the ignored referrer policy, %2$S is the URI of the loading channel.
+ReferrerPolicyDisallowRelaxingMessage=Referrer 策略:针对跨站请求,忽略对其限制较宽松的 referrer 策略 - “%1$S”:%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 = 加载“%2$S”时发现无效的 X-Frame-Options 头:“%1$S”指令无效。
+# LOCALIZATION NOTE(XFrameOptionsDeny): %1$S is the header value, %2$S is frame URI and %3$S is the parent document URI. Do not translate "X-Frame-Options".
+XFrameOptionsDeny=由于“X-Frame-Options“指令设为“%1$S“,已拒绝在框架中加载“%2$S”。
+
+# HTTPS-Only Mode
+# LOCALIZATION NOTE: %1$S is the URL of the upgraded request; %2$S is the upgraded scheme.
+HTTPSOnlyUpgradeRequest = 已将不安全的请求“%1$S”升级为“%2$S”。
+# LOCALIZATION NOTE: %1$S is the URL of request.
+HTTPSOnlyNoUpgradeException = 由于受到豁免,并未升级不安全的请求“%1$S”。
+# LOCALIZATION NOTE: %1$S is the URL of the failed request; %2$S is an error-code.
+HTTPSOnlyFailedRequest = 不安全的请求“%1$S”升级失败。(%2$S)
+# LOCALIZATION NOTE: %S is the URL of the failed request;
+HTTPSOnlyFailedDowngradeAgain = 升级不安全的请求“%S”失败,再次降级为“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 = 已将不安全的推断式 TCP 连接“%1$S”升级至使用“%2$S”协议。
+
+HTTPSFirstSchemeless = 已将地址栏中加载的,没有明确协议方案的网址升级为使用 HTTPS。
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+IframeSandboxBlockedDownload = 由于所触发 iframe 设置了沙箱标识,已阻止“%S”进行下载。
+
+# LOCALIZATION NOTE: %S is the URL of the blocked request;
+SandboxBlockedCustomProtocols = 已拦截从沙盒上下文导航至自定义协议网址“%S”的请求。
+
+# Sanitizer API
+# LOCALIZATION NOTE: Please do not localize "DocumentFragment". It's the name of an API.
+SanitizerRcvdNoInput = 收到空或无输入,返回空的 DocumentFragment。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/svg/svg.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/svg/svg.properties
new file mode 100644
index 0000000000..514af5c117
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=解析 %1$S 属性是遇到预期外的的值 %2$S。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/viewSource.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/viewSource.properties
new file mode 100644
index 0000000000..94a0a24b36
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/viewSource.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = 转到行
+goToLineText = 请输入行号
+invalidInputTitle = 无效输入
+invalidInputText = 输入的行号无效。
+outOfRangeTitle = 找不到此行
+outOfRangeText = 找不到指定行。
+viewSelectionSourceTitle = 选中部分的 DOM 源代码
+
+context_goToLine_label = 转到指定行…
+context_goToLine_accesskey = L
+context_wrapLongLines_label = 长行自动换行
+context_highlightSyntax_label = 语法高亮
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/wizard.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/wizard.properties
new file mode 100644
index 0000000000..df68c36ef8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/wizard.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+default-first-title=欢迎使用 %S
+default-last-title=正在完成 %S
+default-first-title-mac=介绍
+default-last-title-mac=总结
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/xslt/xslt.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/xslt/xslt.properties
new file mode 100644
index 0000000000..2d86d76c4f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 分析 XSLT 样式表单失败。
+2 = 分析 XPath 表达式失败。
+3 =
+4 = XSLT 转换失败。
+5 = XSLT/XPath 尝试调用位置函数。
+6 = XSLT 样式表单 (可能)存在递归。
+7 = 属性值在 XSLT 1.0 中非法。
+8 = XPath 表达式预期返回一个 NodeSet。
+9 = XSLT 转换因 <xsl:message> 终止。
+10 = 加载 XSLT 样式表单时发生网络错误:
+11 = XSLT 样式表未指定 XML mimetype:
+12 = 某个 XSLT 样式表单直接或间接导入或者包含了自身。
+13 = 某个XPath 函数调用参数个数错误。
+14 = 调用了一个未知的XPath扩展函数。
+15 = XPath 解析失败:缺少 ')' :
+16 = XPath 解析失败:非法轴:
+17 = XPath 解析失败:缺少 名称 或者 test 节点类型:
+18 = XPath 解析失败:缺少']':
+19 = XPath 解析失败:非法变量名:
+20 = XPath 解析失败:不正确的表达式终止:
+21 = XPath 解析失败:缺少操作符:
+22 = XPath 解析失败:语义未结束:
+23 = XPath 解析失败:多余的':':
+24 = XPath 解析失败:多余的'!',‘非’应为 not():
+25 = XPath 解析失败:非法字符:
+26 = XPath 解析失败:缺少二进制操作符:
+27 = 因安全因素,中止了一个 XSLT 样式表单的加载。
+28 = 执行了无效表达式
+29 = 大括号未成对。
+30 = 使用无效的 QName 创建元素。
+31 = 变量绑定映射了同一模板内的变量绑定
+32 = 不允许调用 key 函数。
+
+LoadingError = 加载样式表单出错: %S
+TransformError = XSLT 转换出错: %S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/xul.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/global/xul.properties
new file mode 100644
index 0000000000..eaafdf8b79
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=<?%1$S?> 处理指令在 prolog 之外不再有效 (参见 bug 360119)。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning-toolbar.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning-toolbar.dtd
new file mode 100644
index 0000000000..ddbbc32b82
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY lightning.toolbar.calendar.name "日历工具栏">
+<!ENTITY lightning.toolbar.calendar.name.accesskey "C">
+<!ENTITY lightning.toolbar.task.name "任务工具栏">
+<!ENTITY lightning.toolbar.task.name.accesskey "T">
+
+<!ENTITY lightning.toolbar.sync.label "同步">
+<!ENTITY lightning.toolbar.sync.tooltip "重新加载日历并同步变更">
+<!ENTITY lightning.toolbar.delete.label "删除">
+<!ENTITY lightning.toolbar.delete.tooltip "删除选中的事件或任务">
+<!ENTITY lightning.toolbar.edit.label "编辑">
+<!ENTITY lightning.toolbar.edit.tooltip "编辑选中的事件或任务">
+<!ENTITY lightning.toolbar.gototoday.label "转至今日">
+<!ENTITY lightning.toolbar.gototoday.tooltip "转至今天">
+<!ENTITY lightning.toolbar.print.label "打印">
+<!ENTITY lightning.toolbar.print.tooltip "打印事件或任务">
+
+<!-- Mode Toolbar -->
+<!ENTITY lightning.toolbar.calendar.label "日历">
+<!ENTITY lightning.toolbar.calendar.tooltip "切换到日历选项卡">
+<!ENTITY lightning.toolbar.calendar.accesskey "C">
+<!ENTITY lightning.toolbar.task.label "任务">
+<!ENTITY lightning.toolbar.task.tooltip "切换到任务选项卡">
+<!ENTITY lightning.toolbar.task.accesskey "T">
+
+<!-- Toolbar write button -->
+<!ENTITY lightning.toolbar.newevent.label "事件">
+<!ENTITY lightning.toolbar.newevent.tooltip "创建新事件">
+<!ENTITY lightning.toolbar.newtask.label "任务">
+<!ENTITY lightning.toolbar.newtask.tooltip "创建新任务">
+
+<!-- Calendar and Task Mode Toolbar -->
+<!ENTITY lightning.toolbar.day.label "日">
+<!ENTITY lightning.toolbar.day.accesskey "D">
+<!ENTITY lightning.toolbar.week.label "周">
+<!ENTITY lightning.toolbar.week.accesskey "W">
+<!ENTITY lightning.toolbar.multiweek.label "多周">
+<!ENTITY lightning.toolbar.multiweek.accesskey "u">
+<!ENTITY lightning.toolbar.month.label "月">
+<!ENTITY lightning.toolbar.month.accesskey "M">
+<!-- LOCALIZATION NOTE: the same as appmenuButton.label and appmenuButton1.tooltip
+ from messenger.dtd -->
+<!ENTITY lightning.toolbar.appmenuButton.label "应用菜单">
+<!ENTITY lightning.toolbar.appmenuButton1.tooltip "显示 &brandShortName; 菜单">
+<!ENTITY lightning.toolbar.calendarmenu.label "日历窗格">
+<!ENTITY lightning.toolbar.calendarmenu.accesskey "P">
+<!ENTITY lightning.toolbar.calendarpane.label "显示日历窗格">
+<!ENTITY lightning.toolbar.calendarpane.accesskey "P">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning.dtd
new file mode 100644
index 0000000000..42ea9c1a80
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "日历">
+
+<!-- New menu popup in File menu -->
+<!ENTITY lightning.menupopup.new.event.label "事件…">
+<!ENTITY lightning.menupopup.new.event.accesskey "E">
+<!ENTITY lightning.menupopup.new.task.label "任务…">
+<!ENTITY lightning.menupopup.new.task.accesskey "T">
+<!ENTITY lightning.menupopup.new.calendar.label "日历…">
+<!ENTITY lightning.menupopup.new.calendar.accesskey "n">
+
+<!-- Open menu popup in File menu -->
+<!ENTITY lightning.menupopup.open.calendar.label "日历文件…">
+<!ENTITY lightning.menupopup.open.calendar.accesskey "C">
+
+<!-- View Menu -->
+<!ENTITY lightning.menu.view.calendar.label "日历">
+<!ENTITY lightning.menu.view.calendar.accesskey "n">
+<!ENTITY lightning.menu.view.tasks.label "任务">
+<!ENTITY lightning.menu.view.tasks.accesskey "k">
+
+<!-- Events and Tasks menu -->
+<!ENTITY lightning.menu.eventtask.label "事件和任务">
+<!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 "电子邮箱:">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.label "偏好由客户端安排定时发送邮件">
+<!-- LOCALIZATON NOTE(lightning.calendarproperties.forceEmailScheduling.tooltiptext1,
+ lightning.calendarproperties.forceEmailScheduling.tooltiptext2)
+ - tooltiptext1 is used in the calendar wizard when setting a new caldav calendar
+ - tooltiptext2 is used in the calendar properties dialog for caldav calendars -->
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext1 "现在起,必须先在其属性对话框里设置好此日历,并且对应的日历服务器有定时发送功能时,您才能启用这个选项。">
+<!ENTITY lightning.calendarproperties.forceEmailScheduling.tooltiptext2 "此选项仅在日历服务器可以处理定时发送时才能启用。启用后,将不使用日历服务器提供的定时发送功能,而仍使用基于邮件的标准定时发送流程。">
+
+<!-- The notifications settings in the properties dialog -->
+<!ENTITY lightning.calendarproperties.notifications.label "通知">
+<!ENTITY lightning.calendarproperties.globalNotifications.label "全局通知首选项…">
+
+<!-- iMIP Bar (meeting support) -->
+<!ENTITY lightning.imipbar.btnAccept.label "接受">
+<!ENTITY lightning.imipbar.btnAccept2.tooltiptext "接受事件邀请">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences.label "全部接受">
+<!ENTITY lightning.imipbar.btnAcceptRecurrences2.tooltiptext "接受该事件的每次邀请">
+<!ENTITY lightning.imipbar.btnAdd.label "添加">
+<!ENTITY lightning.imipbar.btnAdd.tooltiptext "添加事件到日历">
+<!ENTITY lightning.imipbar.btnDecline.label "谢绝">
+<!ENTITY lightning.imipbar.btnDecline2.tooltiptext "拒绝事件邀请">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences.label "全部拒绝">
+<!ENTITY lightning.imipbar.btnDeclineRecurrences2.tooltiptext "拒绝该事件的每次邀请">
+<!ENTITY lightning.imipbar.btnDeclineCounter.label "拒绝">
+<!ENTITY lightning.imipbar.btnDeclineCounter.tooltiptext "拒绝计数提案">
+<!ENTITY lightning.imipbar.btnDelete.label "删除">
+<!ENTITY lightning.imipbar.btnDelete.tooltiptext "从日历中删除">
+<!ENTITY lightning.imipbar.btnDetails.label "详细信息…">
+<!ENTITY lightning.imipbar.btnDetails.tooltiptext "显示事件详情">
+<!ENTITY lightning.imipbar.btnDoNotShowImipBar.label "不再显示此信息">
+<!ENTITY lightning.imipbar.btnGoToCalendar.label "日历">
+<!ENTITY lightning.imipbar.btnGoToCalendar.tooltiptext "前往日历选项卡">
+<!ENTITY lightning.imipbar.btnMore.label "更多">
+<!ENTITY lightning.imipbar.btnMore.tooltiptext "点击显示更多选项">
+<!ENTITY lightning.imipbar.btnReconfirm2.label "重新确认">
+<!ENTITY lightning.imipbar.btnReconfirm.tooltiptext "发送一个再次确认到组织者">
+<!ENTITY lightning.imipbar.btnReschedule.label "重新安排">
+<!ENTITY lightning.imipbar.btnReschedule.tooltiptext "重新安排该事件">
+<!ENTITY lightning.imipbar.btnSaveCopy.label "保存副本">
+<!ENTITY lightning.imipbar.btnSaveCopy.tooltiptext "在日历中保存一份只回复组织者的独立事件副本,参与者列表被清空。">
+<!ENTITY lightning.imipbar.btnTentative.label "暂定">
+<!ENTITY lightning.imipbar.btnTentative2.tooltiptext "暂时接受事件邀请">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences.label "暂定全部">
+<!ENTITY lightning.imipbar.btnTentativeRecurrences2.tooltiptext "暂时接受该事件的每次邀请">
+<!ENTITY lightning.imipbar.btnUpdate.label "更新">
+<!ENTITY lightning.imipbar.btnUpdate.tooltiptext "更新日历中的事件">
+<!ENTITY lightning.imipbar.description "本信息包含一个事件的邀请。">
+
+<!ENTITY lightning.imipbar.btnSend.label "立刻发送回复">
+<!ENTITY lightning.imipbar.btnSend.tooltiptext "发送回复给组织者">
+<!ENTITY lightning.imipbar.btnSendSeries.tooltiptext "发送针对整个系列的回复给组织者">
+<!ENTITY lightning.imipbar.btnDontSend.label "不要发送回复">
+<!ENTITY lightning.imipbar.btnDontSend.tooltiptext "变更您的参与状态,而不发送回复给组织者">
+<!ENTITY lightning.imipbar.btnDontSendSeries.tooltiptext "变更您在整个系列活动的参与状态,而不发送回复给组织者">
+
+<!-- Lightning specific keybindings -->
+<!ENTITY lightning.keys.event.showCalendar.key "C">
+<!ENTITY lightning.keys.event.showTasks.key "D">
+<!ENTITY lightning.keys.event.new "I">
+<!ENTITY lightning.keys.todo.new "D">
+
+<!-- Account Central page -->
+<!ENTITY lightning.acctCentral.newCalendar.label "创建一个新日历">
+
+<!-- today-pane-specific -->
+<!ENTITY todaypane.showMinimonth.label "显示迷你月历">
+<!ENTITY todaypane.showMinimonth.accesskey "M">
+<!ENTITY todaypane.showMiniday.label "显示迷你日">
+<!ENTITY todaypane.showMiniday.accesskey "D">
+<!ENTITY todaypane.showNone.label "不显示">
+<!ENTITY todaypane.showNone.accesskey "N">
+<!ENTITY todaypane.showTodayPane.label "显示今日窗格">
+<!ENTITY todaypane.showTodayPane.accesskey "o">
+<!ENTITY todaypane.statusButton.label "今日窗格">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning.properties
new file mode 100644
index 0000000000..f5c94dce31
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/lightning/lightning.properties
@@ -0,0 +1,165 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Task mode title
+taskModeApplicationTitle=任务
+
+# Tab titles
+tabTitleCalendar=日历
+tabTitleTasks=任务
+
+# Html event display in message
+imipHtml.header=事件邀请
+imipHtml.summary=标题:
+imipHtml.location=位置:
+imipHtml.when=时间:
+imipHtml.organizer=组织者:
+imipHtml.description=描述:
+# LOCALIZATION_NOTE(imipHtml.attachments): This is a label for one or more (additional) links to
+# documents or websites attached to this event.
+imipHtml.attachments=附件:
+imipHtml.comment=备注:
+imipHtml.attendees=参与者:
+# LOCALIZATION_NOTE(imipHtml.url): This is a label for a reference to an (alternate) online
+# representation of the event (either directly human readable or not).
+imipHtml.url=相关链接:
+imipHtml.canceledOccurrences=已取消事件:
+imipHtml.modifiedOccurrences=已修改事件:
+imipHtml.newLocation=新位置:%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedFrom): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegator or a comma separated list of delegators
+imipHtml.attendeeDelegatedFrom=(由 %1$S 委托)
+# LOCALIZATION_NOTE(imipHtml.attendeeDelegatedTo): this is appended behind an attendee name in the
+# email invitation preview - don't add leading/trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+imipHtml.attendeeDelegatedTo=(委托给 %1$S)
+
+# LOCALIZATION_NOTE(imipHtml.attendee.combined): tooltip for itip icon in email invitation preview.
+# Given an attendee loungeexample.org of type room is a mandatory participant and has accepted the
+# invitation, the tooltip would be:
+# lounge@example.org (room) is a required participant. lounge@example.org has confirmed attendance.
+# %1$S - value of imipHtml.attendeeRole2.*
+# %2$S - value of imipHtml.attendeePartStat2.*
+imipHtml.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.CHAIR): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.CHAIR=%1$S 主持活动。
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.NON-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.NON-PARTICIPANT=%1$S 非参与者。
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.OPT-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.OPT-PARTICIPANT=%1$S 是一名可选参与者。
+# LOCALIZATION_NOTE(imipHtml.attendeeRole2.REQ-PARTICIPANT): used to compose
+# imipHtml.attendee.combined
+# %1$S - value of imipHtml.attendeeUserType2.*
+imipHtml.attendeeRole2.REQ-PARTICIPANT=%1$S 是一名必需参与者。
+
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.ACCEPTED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.ACCEPTED=%1$S 已确认参加。
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DECLINED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.DECLINED=%1$S 已确定不会参加。
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.DELEGATED): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+# %2$S - single delegatee or comma separated list of delegatees
+# delegation is different from invitation forwarding - in case of the former the original attendee
+# is replaced, while on the latter the receiver may take part additionally
+imipHtml.attendeePartStat2.DELEGATED=%1$S 已委托 %2$S 参与。
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.NEEDS-ACTION): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.NEEDS-ACTION=%1$S 仍需回复。
+# LOCALIZATION_NOTE(imipHtml.attendeePartStat2.TENTATIVE): used to compose
+# imipHtml.attendee.combined
+# %1$S - common name or email address of the attendee
+imipHtml.attendeePartStat2.TENTATIVE=%1$S 已初步确认参加。
+
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.INDIVIDUAL): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an individual attendee
+imipHtml.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.GROUP): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a group (e.g. a distribution list)
+imipHtml.attendeeUserType2.GROUP=%1$S (组)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.RESOURCE): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a resource (e.g. projector)
+imipHtml.attendeeUserType2.RESOURCE=%1$S (资源)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.ROOM): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing a room
+imipHtml.attendeeUserType2.ROOM=%1$S (房间)
+# LOCALIZATION_NOTE(imipHtml.attendeeUserType2.UNKNOWN): used to compose
+# imipHtml.attendeeRole2.*
+# %1$S - email address or common name <email address> representing an attendee of unknown type
+imipHtml.attendeeUserType2.UNKNOWN=%1$S
+
+imipAddedItemToCal2=该事件已添加到您的日历。
+imipCanceledItem2=该事件已从您的日历删除。
+imipUpdatedItem2=该事件已更新。
+imipBarCancelText=此消息包含一个取消事件。
+imipBarCounterErrorText=此消息包含一个计数提案邀请,无法处理。
+imipBarCounterPreviousVersionText=此消息包含一个以前版本的计数提案邀请。
+imipBarCounterText=此消息包含一个计数提案邀请。
+imipBarDisallowedCounterText=此消息包含一个计数提案,尽管您不允许此事件的计数。
+imipBarDeclineCounterText=此消息包含一个对您的计数提案的回复。
+imipBarRefreshText=此消息请求事件更新.
+imipBarPublishText=此消息包含一个事件.
+imipBarRequestText=此消息包含一个事件的邀请。
+imipBarSentText=此消息包含一个已发送事件。
+imipBarSentButRemovedText=此消息包含一个已发送出的但不再在您的日历中的事件。
+imipBarUpdateText=此消息包含一个已经存在的事件。
+imipBarUpdateMultipleText=此消息包含对若干现有事件的更新。
+imipBarUpdateSeriesText=此消息包含对一系列现有活动的更新。
+imipBarAlreadyProcessedText=此消息包含一个已处理事件。
+imipBarProcessedNeedsAction=信息中包含你尚未响应的事件。
+imipBarProcessedMultipleNeedsAction=此消息包含若干您尚未回复的事件。
+imipBarProcessedSeriesNeedsAction=此消息包含一系列您尚未回复的活动。
+imipBarReplyText=此消息包含一个邀请的回复。
+imipBarReplyToNotExistingItem=此消息包含一个回复,提及非您的日历中的事件。                       
+# LOCALIZATION_NOTE(imipBarReplyToRecentlyRemovedItem):
+# %1$S - time of deletion
+imipBarReplyToRecentlyRemovedItem=此消息包含一个回复,提及您的日历中在 %1$S 已移除的事件。
+imipBarUnsupportedText2=此消息包含此版本 %1$S 无法处理的事件。
+imipBarProcessingFailed=处理消息失败. 状态: %1$S.
+imipBarCalendarDeactivated=此消息包含事件信息,请启用任一日历即可处理。
+imipBarNotWritable=对邀请的日历配置是不可写的,请检查该日历的属性。
+imipSendMail.title=电子邮件通知
+imipSendMail.text=您想要立即发出通知电子邮件吗?
+imipNoIdentity=无
+imipNoCalendarAvailable=没有可用的可写日历。
+
+itipReplySubject2=回复邀请:%1$S
+itipReplyBodyAccept=%1$S 已经接受了您的事件邀请。
+itipReplyBodyDecline=%1$S 已经拒绝了您的事件邀请。
+itipReplySubjectAccept2=已接受:%1$S
+itipReplySubjectDecline2=拒绝邀请:%1$S
+itipReplySubjectTentative2=暂定:%1$S
+itipRequestSubject2=邀请:%1$S
+itipRequestUpdatedSubject2=已更新:%1$S
+itipRequestBody=%1$S 已经邀请您到 %2$S
+itipCancelSubject2=已取消:%1$S
+itipCancelBody=%1$S 已经取消此事件: « %2$S »
+itipCounterBody=%1$S 为 « %2$S » 做了一份计数提案:
+itipDeclineCounterBody=%1$S 已拒绝您为 « %2$S » 制作的计数提案。
+itipDeclineCounterSubject=计数提案已拒绝:%1$S
+
+confirmProcessInvitation=您最近已删除了此项,请问您确定继续进行此邀请吗?
+confirmProcessInvitationTitle=继续邀请?
+
+invitationsLink.label=邀请: %1$S
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=如果您想用此日历来存储发给别人或别人寄来的邀请,请在下方指定用于这些邮件的身份。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-mapi/mapi.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-mapi/mapi.properties
new file mode 100644
index 0000000000..2e7835cad2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=您想要将 %S 设为默认邮件程序吗?\u0020
+newsDialogText=您想要将 %S 设为默认新闻程序吗?
+feedDialogText=您想要将 %S 设为默认的收取点聚合器吗?
+checkboxText=不再显示此对话框
+setDefaultMail=%S 当前未被设为你的默认邮件程序,请问您要将它设为您的默认邮件程序吗?
+setDefaultNews=%S 当前未被设为你的默认新闻程序,请问您要将它设为您的默认新闻程序吗?
+setDefaultFeed=%S 没有被设为您默认的收取点聚合器。您想要将它设为默认的收取点聚合器吗?
+alreadyDefaultMail=%S 已被设为您的默认邮件程序。
+alreadyDefaultNews=%S 已被设为您的默认新闻组程序。
+alreadyDefaultFeed=%S 已被设为您默认的收取点聚合器。
+
+# MAPI Messages
+loginText=请输入您的密码,为 %S:
+loginTextwithName=请输入您的用户名和密码\u0020
+loginTitle=%S
+PasswordTitle=%S
+
+# MAPI Error Messages
+errorMessage=无法将 %S 设为默认邮件程序,因为无法更新注册表。请同您的系统管理员联系并确认您对注册表有修改权限然后重试。
+errorMessageNews=无法将 %S 设为默认新闻组程序,因为无法更新注册表。请同您的系统管理员联系并确认您对注册表有修改权限然后重试。
+errorMessageTitle=%S
+
+# MAPI Security Messages
+mapiBlindSendWarning=另一个程序尝试使用您的配置文件发送邮件。您确定您要发送邮件吗?
+mapiBlindSendDontShowAgain=其他程序尝试从我发送邮件时发出警告
+
+#Default Mail Display String
+# localization note, %S is the vendor name
+defaultMailDisplayTitle=%S
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/am-newsblog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/am-newsblog.dtd
new file mode 100644
index 0000000000..f0eb35fddb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/am-newsblog.dtd
@@ -0,0 +1,14 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY biffAll.label "启用所有收取点的更新">
+<!ENTITY biffAll.accesskey "E">
+
+<!ENTITY newFeedSettings.label "新收取点的默认设置">
+
+<!ENTITY manageSubscriptions.label "管理订阅…">
+<!ENTITY manageSubscriptions.accesskey "M">
+
+<!ENTITY feedWindowTitle.label "收取点账号向导">
+<!ENTITY feeds.accountName "博客和新闻收取点">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/feed-subscriptions.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/feed-subscriptions.dtd
new file mode 100644
index 0000000000..20ede355d9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/feed-subscriptions.dtd
@@ -0,0 +1,55 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Subscription Dialog -->
+<!ENTITY feedSubscriptions.label "订阅收取点">
+<!ENTITY learnMore.label "了解收取点的更多信息">
+
+<!ENTITY feedTitle.label "标题:">
+<!ENTITY feedTitle.accesskey "T">
+
+<!ENTITY feedLocation.label "收取点网址:">
+<!ENTITY feedLocation.accesskey "U">
+<!ENTITY feedLocation2.placeholder "请输入一个有效的收取点网址">
+<!ENTITY locationValidate.label "确认有效">
+<!ENTITY validateText.label "检查验证并获取一个有效的网址。">
+
+<!ENTITY feedFolder.label "文章存储在:">
+<!ENTITY feedFolder.accesskey "S">
+
+<!-- Account Settings and Subscription Dialog -->
+<!ENTITY biffStart.label "检查新文章,每隔 ">
+<!ENTITY biffStart.accesskey "k">
+<!ENTITY biffMinutes.label "分钟">
+<!ENTITY biffMinutes.accesskey "n">
+<!ENTITY biffDays.label "天">
+<!ENTITY biffDays.accesskey "d">
+<!ENTITY recommendedUnits.label "发布者推荐:">
+
+<!ENTITY quickMode.label "显示文章摘要,而不是加载网页">
+<!ENTITY quickMode.accesskey "h">
+
+<!ENTITY autotagEnable.label "根据收取点的分类名自动创建标签">
+<!ENTITY autotagEnable.accesskey "c">
+<!ENTITY autotagUsePrefix.label "标签前缀:">
+<!ENTITY autotagUsePrefix.accesskey "P">
+<!ENTITY autoTagPrefix.placeholder "请输入一个标签前缀">
+
+<!-- Subscription Dialog -->
+<!ENTITY button.addFeed.label "添加">
+<!ENTITY button.addFeed.accesskey "A">
+<!ENTITY button.verifyFeed.label "验证">
+<!ENTITY button.verifyFeed.accesskey "V">
+<!ENTITY button.updateFeed.label "更新">
+<!ENTITY button.updateFeed.accesskey "U">
+<!ENTITY button.removeFeed.label "移除">
+<!ENTITY button.removeFeed.accesskey "R">
+<!ENTITY button.importOPML.label "导入">
+<!ENTITY button.importOPML.accesskey "I">
+<!ENTITY button.exportOPML.label "导出">
+<!ENTITY button.exportOPML.accesskey "x">
+<!ENTITY button.exportOPML.tooltip "按目录结构导出收取点;Ctrl+单击或者Ctrl+回车即可导出收取点列表">
+
+<!ENTITY cmd.close.commandKey "w">
+<!ENTITY button.close.label "关闭">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/newsblog.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/newsblog.properties
new file mode 100644
index 0000000000..b45717a926
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-newsblog/newsblog.properties
@@ -0,0 +1,93 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+subscribe-validating-feed=验证收取点…
+subscribe-cancelSubscription=您确定取消对当前收取点的订阅吗?
+subscribe-cancelSubscriptionTitle=订阅到收取点…
+subscribe-feedAlreadySubscribed=您已经订阅了此收取点。
+subscribe-errorOpeningFile=无法打开文件。
+subscribe-feedAdded=收取点已添加。
+subscribe-feedUpdated=收取点已更新。
+subscribe-feedMoved=收取点订阅已经移动。
+subscribe-feedCopied=收取点订阅已复制。
+subscribe-feedRemoved=已取消订阅收取点。
+subscribe-feedNotValid=收取点网址不是一个有效的收取点。
+subscribe-feedVerified=收取点网址已验证。
+subscribe-networkError=收取点网址未找到。请检查名称后重试。
+subscribe-noAuthError=收取点网址未授权。
+subscribe-loading=加载中,请稍候...
+
+subscribe-OPMLImportTitle=选择要导入的 OPML 文件
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleList):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleList=导出 %S 至 OPML 文件 - 收取点列表
+## LOCALIZATION NOTE(subscribe-OPMLExportTitleStruct):
+## %S is the name of the feed account folder name.
+subscribe-OPMLExportTitleStruct=导出 %S 至 OPML 文件 - 按收取点的目录结构
+## LOCALIZATION NOTE(subscribe-OPMLExportFileDialogTitle):
+## %1$S is the brandShortName, %2$S is the name of the feed account folder name.
+subscribe-OPMLExportFileDialogTitle=导出 %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=My%1$SFeeds-%2$S.opml
+## LOCALIZATION NOTE(subscribe-OPMLImportInvalidFile): %S is the name of the OPML file the user tried to import.
+subscribe-OPMLImportInvalidFile=文件 %S 似乎不是一个有效的 OPML 文件。
+## LOCALIZATION NOTE(subscribe-OPMLImportFeedCount): Semi-colon list of plural forms.
+## See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of new imported entries.
+subscribe-OPMLImportFeedCount=已导入 #1 个新收取点。
+## LOCALIZATION NOTE(subscribe-OPMLImportUniqueFeeds): Semi-colon list of plural forms.
+## #1 is the count of new imported entries
+subscribe-OPMLImportUniqueFeeds=导入了 #1 个你尚未订阅的新收取点;导入了 #1 个你尚未订阅的新收取点
+## LOCALIZATION NOTE(subscribe-OPMLImportFoundFeeds):
+## #1 is total number of elements found in the file
+subscribe-OPMLImportFoundFeeds=(总共找到 #1 条)
+## LOCALIZATION NOTE(subscribe-OPMLImportStatus):
+## This is the concatenation of the two strings defined above to compose 1 sentence.
+## %1$S = subscribe-OPMLImportUniqueFeeds
+## %2$S = subscribe-OPMLImportFoundFeeds
+subscribe-OPMLImportStatus=%1$S %2$S.
+
+subscribe-OPMLExportOPMLFilesFilterText=OPML 文件
+## LOCALIZATION NOTE(subscribe-OPMLExportDone): %S is the export file name.
+subscribe-OPMLExportDone=此账户的收取点已被导出至 %S。
+
+subscribe-confirmFeedDeletionTitle=移除收取点
+## LOCALIZATION NOTE(subscribe-confirmFeedDeletion): %S is the name of the feed the user wants to unsubscribe from.
+subscribe-confirmFeedDeletion=您确定要从收取点 %S 退订吗?
+
+## LOCALIZATION NOTE(subscribe-gettingFeedItems):
+## - The first %S is the number of articles processed so far;
+## - The second %S is the total number of items
+subscribe-gettingFeedItems=正在下载收取点的文章(第 %S 项/共 %S 项)…
+
+newsblog-noNewArticlesForFeed=此收取点暂无新文章。
+## LOCALIZATION NOTE(newsblog-networkError): %S is the feed URL
+newsblog-networkError=无法找到 %S 。请检查名称并重试。
+## LOCALIZATION NOTE(newsblog-feedNotValid): %S is the feed URL
+newsblog-feedNotValid=%S 是无效的收取点。
+## LOCALIZATION NOTE(newsblog-badCertError): %S is the feed URL host
+newsblog-badCertError=%S 使用了无效的安全证书。
+## LOCALIZATION NOTE(newsblog-noAuthError): %S is the feed URL
+newsblog-noAuthError=%S 未获授权。
+newsblog-getNewMsgsCheck=检查收取点中的新内容…
+
+## LOCALIZATION NOTE(feeds-accountname): This string should be the same as feeds.accountName in am-newsblog.dtd
+feeds-accountname=博客和新闻收取点
+
+## LOCALIZATION NOTE(externalAttachmentMsg): Content in the MIME part for external link attachments.
+externalAttachmentMsg=此 MIME 附件与消息是分别存储。
+
+## Import wizard.
+ImportFeedsCreateNewListItem=* 新账户 *
+ImportFeedsNewAccount=创建并导入至新的收取点账户
+ImportFeedsExistingAccount=导入至现有收取点账户
+## LOCALIZATION NOTE(ImportFeedsDone):
+## - The first %S is the import file name;
+## - The second %S is the value of either ImportFeedsNew or ImportFeedsExisting;
+## - The third %S is the feed account name.
+ImportFeedsNew=新建
+ImportFeedsExisting=已存在
+ImportFeedsDone=已将文件 %1$S 中的收取点导入至 %2$S 账户 '%3$S'。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-region/region.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-region/region.properties
new file mode 100644
index 0000000000..e5cb7ba436
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-region/region.properties
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# To make mapit buttons to disappear in the addressbook, specify empty string. For example:
+# mail.addr_book.mapit_url.format=
+# The mail.addr_book.mapit_url.format should start with the URL of the mapping
+# service and then the query part with placeholders to be subsituted from values
+# from the addressbook contact's address.
+# Available placeholders are:
+# @A1 == address, part 1
+# @A2 == address, part 2
+# @CI == city
+# @ST == state
+# @ZI == zip code
+# @CO == country
+# Default map service:
+mail.addr_book.mapit_url.format=https://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO
+# List of available map services (up to 5 can be defined here):
+mail.addr_book.mapit_url.1.name=Google 地图
+mail.addr_book.mapit_url.1.format=https://maps.google.com/maps?q=@A1%20@A2%20@CI%20@ST%20@ZI%20@CO
+mail.addr_book.mapit_url.2.name=OpenStreetMap
+mail.addr_book.mapit_url.2.format=https://nominatim.openstreetmap.org/search.php?polygon=1&q=@A1%2C@A2%2C@CI%2C@ST%2C@ZI%2C@CO
+
+mailnews.messageid_browser.url=http://groups.google.com/search?as_umsgid=%mid
+
+# Recognize non-standard versions of "Re:" in subjects from localized versions of MS Outlook et al.
+# Specify a comma-separated list without spaces. For example: mailnews.localizedRe=AW,SV
+mailnews.localizedRe=回复
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/certFetchingStatus.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/certFetchingStatus.dtd
new file mode 100644
index 0000000000..18b340c570
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/certFetchingStatus.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE shown while obtaining certificates from a directory -->
+
+
+<!ENTITY title.label "正在下载证书">
+<!ENTITY info.message "搜索目录以查找收件人的证书。可能需要几分钟。">
+<!ENTITY stop.label "停止搜索">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSMIMEOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSMIMEOverlay.dtd
new file mode 100644
index 0000000000..020a713182
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.dtd
new file mode 100644
index 0000000000..c5caa4b5f3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgCompSecurityInfo.dtd UI for viewing security status when composing a message -->
+
+<!ENTITY title.label "消息安全">
+<!ENTITY subject.plaintextWarning "请注意:邮件的主题信息不会被加密。">
+<!ENTITY status.heading "您消息的内容将按照下面的设置发送:">
+<!ENTITY status.signed "数字签名:">
+<!ENTITY status.encrypted "加密:">
+<!ENTITY status.certificates "证书:">
+<!ENTITY view.label "查看">
+<!ENTITY view.accesskey "V">
+<!ENTITY tree.recipient "接收者">
+<!ENTITY tree.status "状态">
+<!ENTITY tree.issuedDate "发行日期:">
+<!ENTITY tree.expiresDate "过期">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.properties
new file mode 100644
index 0000000000..df1d74b563
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgCompSecurityInfo.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+StatusNotFound=未找到
+StatusValid=有效
+StatusExpired=已过期
+StatusUntrusted=不被信任
+StatusRevoked=已吊销
+StatusInvalid=无效
+StatusYes=是
+StatusNo=否
+StatusNotPossible=不可能
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSMIMEOverlay.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSMIMEOverlay.properties
new file mode 100644
index 0000000000..995e1732fa
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSMIMEOverlay.properties
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ImapOnDemand=当前显示的消息已经数字签名了,但是并不是所有的附件都已经下载了。因此,无法验证签名的有效性。请点击确定以下载整个消息以验证签名。
+#
+#NOTE To translater, anything between %..% and <..> should not be translated.
+# the former will be replaced by java script, and the latter is HTML formatting.
+#
+CantDecryptTitle=%brand% 无法对此消息解密
+CantDecryptBody=发件人对此消息使用了您的某个数字证书进行了加密。但是 %brand% 无法找到该证书以及对应的私钥。 <br> 可能的解决方法: <br><ul><li>如果您有智能卡,请现在插入。<li>如果您使用的是新计算机,或者您使用的是新的 %brand% 配置文件,您需要从您的备份数据恢复您的证书以及私钥。证书备份文件的后缀名一般为 ".p12"。</ul>\u0020
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSecurityInfo.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSecurityInfo.dtd
new file mode 100644
index 0000000000..6cb777d236
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgReadSecurityInfo.dtd
@@ -0,0 +1,17 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!--LOCALIZATION NOTE msgReadSecurityInfo.dtd UI for viewing security status when reading a received message -->
+
+<!ENTITY status.label "消息安全">
+<!ENTITY signatureCert.label "查看签名证书">
+<!ENTITY encryptionCert.label "查看加密证书">
+
+<!ENTITY signer.name "签名者:">
+<!ENTITY recipient.name "加密:">
+<!ENTITY email.address "电子邮件地址:">
+<!ENTITY issuer.name "证书颁发者:">
+
+<!-- LOCALIZATION NOTE(SMIME.label): This a name for a technical standard. You should not translate it, but if applicable, you may write it using localized characters. -->
+<!ENTITY SMIME.label "S/MIME">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgSecurityInfo.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgSecurityInfo.properties
new file mode 100644
index 0000000000..52df6b4290
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger-smime/msgSecurityInfo.properties
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Signature Information strings
+SINoneLabel=消息没有数字签名
+SINone=此消息中没有包含发送者的数字签名。缺少数字签名表明此消息可能是某个伪装拥有此邮件地址的人发送的。也有可能此消息在传送过程中已经被更改。然而,这些都不太可能发生。\u0020
+SIValidLabel=消息已签名
+SIValid=此消息包含的是一个有效的数字签名。该消息在发送之后未被修改过。
+SIInvalidLabel=数字签名无效
+SIInvalidHeader=此消息包含了一个数字签名,但是此数字签名无效。
+SIContentAltered=消息的签名和消息内容不符。此消息在发送者签名之后被修改了。除非您和它的发送者确认了其内容,您不应该相信此消息的有效性。
+SIExpired=用于签署此消息的证书过期了。请确认您的计算机时钟正确。
+SIRevoked=签署此消息的证书已被吊销。除非您和它的发送者确认了其内容,您不可以相信此消息的有效性。
+SINotYetValid=用于签署此消息的证书暂时还无效。请确认您的计算机时钟正确。
+SIUnknownCA=签署此消息的证书的颁发者是一个未知的证书颁发机构。
+SIUntrustedCA=签署此消息的证书的颁发者是一个您不信任的(发行此类证书)的证书颁发机构。
+SIExpiredCA=签署此消息所用的证书的证书授权机构的证书已过期了。请确认您的计算机时钟正确无误。
+SIRevokedCA=用于签署此消息的证书的证书授权的证书已被吊销。除非您和它的发送者确认了其内容,您不可以相信此消息的有效性。
+SINotYetValidCA=用于签署此消息的证书的证书授权的证书暂时无效。请确认您的计算机时钟正确。
+SIInvalidCipher=此消息使用了您的软件不支持的加密强度加密的签名。
+SIClueless=此数字签名有未知的问题。除非您跟此消息的作者确认了它的内容,您不应该信任此消息。
+SIPartiallyValidLabel=消息已签名
+SIPartiallyValidHeader=尽管数字签名是有效的,但是不知道它的发送者和签名者是否同名。
+SIHeaderMismatch=签名者证书中的电子邮件与发送此邮件的邮件地址不吻合。请查看签名证书的细节,确认是谁对此消息进行了签名。
+SICertWithoutAddress=用于消息签名的证书未包含任何邮件地址。请查看证书详细信息已确定谁对此消息进行了签名。
+
+## Encryption Information strings
+EINoneLabel2=消息未加密
+EINone=此消息发送前未被加密。未经加密的信息在互联网的传输过程中可能被他人窥探其内容。
+EIValidLabel=消息已加密
+EIValid=此消息在发送给您之前就已经加密。在网络的传输过程中,加密能使其他人难以窥探消息的内容。
+EIInvalidLabel=无法解密消息
+EIInvalidHeader=此消息发送给你之前已被加密,但是无法解密。
+EIContentAltered=此消息的内容在传送过程中已被修改。
+EIClueless=处理此消息时发生未知问题。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/AccountManager.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/AccountManager.dtd
new file mode 100644
index 0000000000..de586e2a7f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "账户设置">
+<!ENTITY accountManagerCloseButton.label "关闭">
+
+<!ENTITY accountActionsButton.label "账户操作">
+<!ENTITY accountActionsButton.accesskey "A">
+<!ENTITY addMailAccountButton.label "添加邮件账户…">
+<!ENTITY addMailAccountButton.accesskey "A">
+<!ENTITY addIMAccountButton.label "添加聊天账户…">
+<!ENTITY addIMAccountButton.accesskey "C">
+<!ENTITY addFeedAccountButton.label "添加收取点账号…">
+<!ENTITY addFeedAccountButton.accesskey "F">
+<!ENTITY setDefaultButton.label "设置为默认账户">
+<!ENTITY setDefaultButton.accesskey "D">
+<!ENTITY removeButton.label "删除账户">
+<!ENTITY removeButton.accesskey "R">
+
+<!ENTITY addonsButton.label "扩展和主题">
+
+<!-- AccountManager.xhtml -->
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/AccountWizard.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/AccountWizard.dtd
new file mode 100644
index 0000000000..d99ddc0b30
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/AccountWizard.dtd
@@ -0,0 +1,51 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Entities for AccountWizard -->
+
+<!ENTITY windowTitle.label "账户向导">
+<!ENTITY accountWizard.size "width: 40em; height: 38em;">
+
+<!-- Entities for Identity page -->
+
+<!ENTITY identityTitle.label "身份">
+<!ENTITY identityDesc.label "每个账户可以有一个身份,当其他人接收到您的消息时此身份可以让他们知道这是您发的消息。">
+
+<!-- LOCALIZATION NOTE (fullnameDesc.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY fullnameDesc.label "请输入您希望在发送的消息中出现在 &quot;发件人&quot; 字段中的姓名。">
+<!-- LOCALIZATION NOTE (fullnameExample.label) : use following directions for below line
+ 1, do not translate two of "&quot;"
+ 2, Use localized full name instead of "John Smith"
+-->
+<!ENTITY fullnameExample.label "(例如,&quot;张兵&quot;)">
+<!ENTITY fullnameLabel.label "您的姓名:">
+<!ENTITY fullnameLabel.accesskey "Y">
+
+<!ENTITY emailLabel.label "电子邮件:">
+<!ENTITY emailLabel.accesskey "E">
+
+<!-- Entities for Incoming Server page -->
+
+<!ENTITY incomingTitle.label "收件服务器信息">
+<!ENTITY incomingUsername.label "用户名:">
+<!-- LOCALIZATION NOTE (newsServerNameDesc.label) : Do not translate "NNTP" or the "&quot;" entities in below line -->
+<!ENTITY newsServerNameDesc.label "输入新闻 (NNTP) 服务器名。(例如,&quot;news.netscape.net&quot;。)">
+<!ENTITY newsServerLabel.label "新闻组服务器:">
+<!ENTITY newsServerLabel.accesskey "S">
+
+<!-- Entities for Account name page -->
+
+<!ENTITY accnameTitle.label "账户名称">
+<!-- LOCALIZATION NOTE (accnameDesc.label) : do not translate any "&quot;" in below line -->
+<!ENTITY accnameDesc.label "输入您想要此账户使用的名称。(例如,&quot;工作账户&quot;、&quot;家庭账户&quot; 或 &quot;新闻账户&quot;)">
+<!ENTITY accnameLabel.label "账户名称:">
+<!ENTITY accnameLabel.accesskey "A">
+
+<!-- Entities for Done (Congratulations) page -->
+
+<!ENTITY completionTitle.label "恭喜您!">
+<!ENTITY completionText.label "您已输入设置此账户所有必需的信息。">
+<!ENTITY newsServerNamePrefix.label "新闻服务器名(NNTP):">
+<!ENTITY clickFinish.label "单击“完成”保存设置并退出账户向导。">
+<!ENTITY clickFinish.labelMac "点击 完成 已保存这些设置并退出账户向导。">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/CustomHeaders.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/CustomHeaders.dtd
new file mode 100644
index 0000000000..e33dc892a8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/CustomHeaders.dtd
@@ -0,0 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "自定义头">
+<!ENTITY addButton.label "添加">
+<!ENTITY addButton.accesskey "A">
+<!ENTITY removeButton.label "删除">
+<!ENTITY removeButton.accesskey "R">
+<!ENTITY newMsgHeader.label "全新设计的邮件标题:">
+<!ENTITY newMsgHeader.accesskey "N">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/FilterEditor.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/FilterEditor.dtd
new file mode 100644
index 0000000000..0fb57570b5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/FilterEditor.dtd
@@ -0,0 +1,67 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "过滤器规则">
+<!ENTITY filterName.label "过滤器名称:">
+<!ENTITY filterName.accesskey "i">
+
+<!ENTITY junk.label "垃圾">
+<!ENTITY notJunk.label "非垃圾">
+
+<!ENTITY lowestPriorityCmd.label "最低">
+<!ENTITY lowPriorityCmd.label "低">
+<!ENTITY normalPriorityCmd.label "正常">
+<!ENTITY highPriorityCmd.label "高">
+<!ENTITY highestPriorityCmd.label "最高">
+
+<!ENTITY contextDesc.label "执行过滤器,当:">
+<!ENTITY contextIncomingMail.label "正在获取新邮件:">
+<!ENTITY contextIncomingMail.accesskey "G">
+<!ENTITY contextManual.label "手动运行">
+<!ENTITY contextManual.accesskey "R">
+<!ENTITY contextBeforeCls.label "在垃圾邮件分级之前过滤">
+<!ENTITY contextAfterCls.label "在垃圾邮件分级之后过滤">
+<!ENTITY contextOutgoing.label "发送后">
+<!ENTITY contextOutgoing.accesskey "S">
+<!ENTITY contextArchive.label "存档">
+<!ENTITY contextArchive.accesskey "A">
+
+<!ENTITY contextPeriodic.accesskey "e">
+
+<!ENTITY filterActionDesc.label "执行动作:">
+<!ENTITY filterActionDesc.accesskey "P">
+
+<!ENTITY filterActionOrderWarning.label "注:过滤器操作将以不同的顺序运行。">
+<!ENTITY filterActionOrder.label "见执行顺序">
+
+<!-- New Style Filter Rule Actions -->
+<!ENTITY moveMessage.label "移动消息至">
+<!ENTITY copyMessage.label "复制消息至">
+<!ENTITY forwardTo.label "转发消息至">
+<!ENTITY replyWithTemplate.label "使用模板回复">
+<!ENTITY markMessageRead.label "标记为已读">
+<!ENTITY markMessageUnread.label "标记为未读">
+<!ENTITY markMessageStarred.label "添加星标">
+<!ENTITY setPriority.label "设置优先级为">
+<!ENTITY addTag.label "为消息添加标签">
+<!ENTITY setJunkScore.label "设置垃圾状态为">
+<!ENTITY deleteMessage.label "删除消息">
+<!ENTITY deleteFromPOP.label "从 POP 服务器删除">
+<!ENTITY fetchFromPOP.label "从 POP 服务器下载">
+<!ENTITY ignoreThread.label "忽略话题">
+<!ENTITY ignoreSubthread.label "忽略子话题">
+<!ENTITY watchThread.label "跟踪话题">
+<!ENTITY stopExecution.label "停止执行过滤器">
+
+<!ENTITY addAction.tooltip "添加新动作">
+<!ENTITY removeAction.tooltip "移除此动作">
+
+<!-- LOCALIZATION NOTE
+ The values below are used to control the widths of the filter action widgets.
+ Change the values only when the localized strings in the popup menus
+ are truncated in the widgets.
+ -->
+<!-- Flex Attribute: https://developer.mozilla.org/docs/XUL/Attribute/flex -->
+<!ENTITY filterActionTypeFlexValue "1">
+<!ENTITY filterActionTargetFlexValue "4">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/FilterListDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/FilterListDialog.dtd
new file mode 100644
index 0000000000..7096caaf74
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "消息过滤器">
+<!ENTITY nameColumn.label "描述">
+<!ENTITY activeColumn.label "启用">
+<!ENTITY newButton.label "新建…">
+<!ENTITY newButton.accesskey "N">
+<!ENTITY newButton.popupCopy.label "复制…">
+<!ENTITY newButton.popupCopy.accesskey "C">
+<!ENTITY editButton.label "编辑…">
+<!ENTITY editButton.accesskey "E">
+<!ENTITY deleteButton.label "删除">
+<!ENTITY deleteButton.accesskey "t">
+<!ENTITY reorderTopButton "移动到顶端">
+<!ENTITY reorderTopButton.accessKey "o">
+<!ENTITY reorderTopButton.toolTip "重新排列过滤器以便它可以最先执行">
+<!ENTITY reorderUpButton.label "上移">
+<!ENTITY reorderUpButton.accesskey "U">
+<!ENTITY reorderDownButton.label "下移">
+<!ENTITY reorderDownButton.accesskey "D">
+<!ENTITY reorderBottomButton "移动到底部">
+<!ENTITY reorderBottomButton.accessKey "B">
+<!ENTITY reorderBottomButton.toolTip "重新排列过滤器以便它可以最后执行">
+<!ENTITY filterHeader.label "可用过滤器按如下显示的顺序运行。">
+<!ENTITY filtersForPrefix.label "此过滤器用于:">
+<!ENTITY filtersForPrefix.accesskey "F">
+<!ENTITY viewLogButton.label "过滤器日志">
+<!ENTITY viewLogButton.accesskey "L">
+<!ENTITY runFilters.label "立即执行">
+<!ENTITY runFilters.accesskey "R">
+<!ENTITY stopFilters.label "停止">
+<!ENTITY stopFilters.accesskey "S">
+<!ENTITY folderPickerPrefix.label "执行所选的过滤器,对于:">
+<!ENTITY folderPickerPrefix.accesskey "c">
+<!ENTITY helpButton.label "帮助">
+<!ENTITY helpButton.accesskey "H">
+<!ENTITY closeCmd.key "W">
+<!ENTITY searchBox.emptyText "按名称搜索过滤器…">
+
+
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/SearchDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/SearchDialog.dtd
new file mode 100644
index 0000000000..d5cb1c5cb2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/SearchDialog.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- for SearchDialog.xul -->
+<!ENTITY searchHeading.label "在以下文件夹中搜索消息:">
+<!ENTITY searchHeading.accesskey "h">
+<!ENTITY searchSubfolders.label "搜索子文件夹">
+<!ENTITY searchSubfolders.accesskey "e">
+<!ENTITY searchOnServer.label "在服务器上运行搜索">
+<!ENTITY searchOnServer.accesskey "u">
+<!ENTITY resetButton.label "清除">
+<!ENTITY resetButton.accesskey "C">
+<!ENTITY openButton.label "打开">
+<!ENTITY openButton.accesskey "n">
+<!ENTITY deleteButton.label "删除">
+<!ENTITY deleteButton.accesskey "D">
+<!ENTITY searchDialogTitle.label "搜索消息">
+<!ENTITY results.label "结果">
+<!ENTITY moveButton.label "移动到">
+<!ENTITY moveButton.accesskey "T">
+<!ENTITY closeCmd.key "W">
+<!ENTITY openInFolder.label "在文件夹中打开">
+<!ENTITY openInFolder.accesskey "r">
+<!ENTITY saveAsVFButton.label "将搜索结果保存作为文件夹">
+<!ENTITY saveAsVFButton.accesskey "v">
+
+<!-- for ABSearchDialog.xul -->
+<!ENTITY abSearchHeading.label "搜索在:">
+<!ENTITY abSearchHeading.accesskey "h">
+<!ENTITY propertiesButton.label "属性">
+<!ENTITY propertiesButton.accesskey "P">
+<!ENTITY composeButton.label "编写">
+<!ENTITY composeButton.accesskey "W">
+<!ENTITY deleteCardButton.label "删除">
+<!ENTITY deleteCardButton.accesskey "D">
+<!ENTITY abSearchDialogTitle.label "通讯录高级搜索">
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutDownloads.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutDownloads.dtd
new file mode 100644
index 0000000000..d0f78fc1af
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "已保存的文件">
+<!-- LOCALIZATION NOTE (cmd.show.label, cmd.show.accesskey, cmd.showMac.label,
+ cmd.showMac.accesskey):
+ The show and showMac commands are never shown together, thus they can share
+ the same access key (though the two access keys can also be different).
+ -->
+<!ENTITY cmd.show.label "打开所在文件夹">
+<!ENTITY cmd.show.accesskey "F">
+<!ENTITY cmd.showMac.label "在“访达”中显示">
+<!ENTITY cmd.showMac.accesskey "F">
+<!ENTITY cmd.open.label "打开">
+<!ENTITY cmd.open.accesskey "O">
+<!ENTITY cmd.removeFromHistory.label "从历史记录中移除">
+<!ENTITY cmd.removeFromHistory.accesskey "e">
+<!ENTITY cmd.clearList.label "清空列表">
+<!ENTITY cmd.clearList.accesskey "C">
+<!ENTITY cmd.clearList.tooltip "移除已保存文件的列表中的所有项目,除了仍在进行的下载。">
+<!ENTITY cmd.searchDownloads.label "搜索…">
+<!ENTITY cmd.searchDownloads.key "F">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutRights.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutRights.properties
new file mode 100644
index 0000000000..93d274bd75
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutRights.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+buttonLabel=了解您的权利…
+buttonAccessKey=K
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutSupportMail.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutSupportMail.properties
new file mode 100644
index 0000000000..80e92eeafe
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/aboutSupportMail.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (warningLabel): Label for warning text that shows up when private data is included
+warningLabel=警告:
+# LOCALIZATION NOTE (warningText): Warning text that shows up when private data is included
+warningText=这包含敏感信息,这不应该被转发或擅自公开。
+
+# LOCALIZATION NOTE (fsType.local): Indicator that the displayed directory is on a local drive
+fsType.local = (本地驱动器)
+# LOCALIZATION NOTE (fsType.network): Indicator that the displayed directory is on the network
+fsType.network = (网络驱动器)
+# LOCALIZATION NOTE (fsType.unknown): Indicator that we couldn't figure out whether the directory is local or on a network
+fsType.unknown = (未知位置)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationModel.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationModel.properties
new file mode 100644
index 0000000000..bb0490a84d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationModel.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: fetchConfig.js, readFromXML.js, guessConfig.js, verifyConfig.js, createInBackend.js
+
+
+# readFromXML.js
+no_emailProvider.error=此 XML 配置文件不包含邮件账户配置。
+outgoing_not_smtp.error=发件服务器必须是 SMTP 类型
+
+# verifyConfig.js
+cannot_login.error=无法登录到服务器。可能是配置、用户名或者密码错误。
+
+# guessConfig.js
+cannot_find_server.error=无法找到服务器
+
+# exchangeAutoDiscover.js
+no_autodiscover.error=Exchange AutoDiscover XML 无效。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationUtil.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationUtil.properties
new file mode 100644
index 0000000000..e96c2b019f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/accountCreationUtil.properties
@@ -0,0 +1,34 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file has the strings, mostly error strings, for the logic / JS backend / model
+# files: sanitizeDatatypes.js, fetchhttp.js, util.js
+
+
+# sanitizeDatatypes.js
+hostname_syntax.error=没有主机名或者包含禁止的字符。只能是字母,数字,- 和 . 。
+alphanumdash.error=字符串包含不支持的字符。只能是字母,数字,- 和_ 。
+allowed_value.error=支持的值不在允许列表中
+url_scheme.error=不允许 URL 规格
+url_parsing.error=无法识别 URL
+string_empty.error=必须为这个字符串指定一个值
+boolean.error=不是逻辑值
+no_number.error=不是数字
+number_too_large.error=数字太大
+number_too_small.error=数字太小
+
+
+# fetchhttp.js
+cannot_contact_server.error=无法连接服务器
+bad_response_content.error=无效的响应内容
+
+# verifyConfig.js
+# LOCALIZATION NOTE(auth_failed_generic.error): The login failed (server refused to allow the user in), but the server did not give any meaningful error message. This is a common case when the user entered a wrong password or is otherwise not allowed.
+auth_failed_generic.error=登录失败。用户名/电子邮件地址以及密码正确吗?
+# LOCALIZATION NOTE(auth_failed_with_reason.error): The login failed (server refused to allow the user in), and the server gave an error message which we can present to the user. This is a common case when the user entered a wrong password or is otherwise not allowed. %1$S will be the IMAP/POP3/SMTP server hostname. %2$S will be the error message from the server (usually in the local language where the server is or in English).
+auth_failed_with_reason.error=登录失败。 服务器 %1$S 消息: %2$S
+# LOCALIZATION NOTE(verification_failed.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we unfortunately have no detailed error message.
+verification_failed.error=登录验证因未知原因失败。
+# LOCALIZATION NOTE(verification_failed_with_exception.error): We had some other error, not during authentication with the server, but at earlier points, e.g. locally or we entirely failed to contact the given server, and we have an error message. %1$S will be an error message, possibly in English
+verification_failed_with_exception.error=登录验证失败: %1$S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/activity.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/activity.dtd
new file mode 100644
index 0000000000..03114980b5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "活动管理器">
+
+<!ENTITY cmd.close.commandkey "w">
+<!ENTITY cmd.close2.commandkey "j">
+<!ENTITY cmd.close2Unix.commandkey "y">
+<!ENTITY cmd.clearList.label "清空列表">
+<!ENTITY cmd.clearList.tooltip "从列表中移除已完成,已取消或者已失败的条目">
+<!ENTITY cmd.clearList.accesskey "C">
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/activity.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/activity.properties
new file mode 100644
index 0000000000..82848fde7c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/activity.properties
@@ -0,0 +1,99 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Status Text
+paused2=已暂停
+processing=处理中
+notStarted=未开始
+failed=已失败
+waitingForInput=等待输入
+waitingForRetry=等待重试
+completed=已完成
+canceled=已取消
+
+# LOCALIZATION NOTE (sendingMessages): this is used as a title for grouping processes in the activity manager when sending email.
+sendingMessages=正在发送消息
+sendingMessage=正在发送消息
+# LOCALIZATION NOTE (sendingMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sendingMessageWithSubject=正在发送邮件:%S
+copyMessage=正在复制消息至寄件备份文件夹
+sentMessage=发送消息
+# LOCALIZATION NOTE (sentMessageWithSubject): %S will be replaced by the subject of the message being sent.
+sentMessageWithSubject=已发送消息:%S
+failedToSendMessage=发送消息失败
+failedToCopyMessage=消息复制失败
+# LOCALIZATION NOTE (failedToSendMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToSendMessageWithSubject=消息发送失败:%S
+# LOCALIZATION NOTE (failedToCopyMessageWithSubject): %S will be replaced by the subject of the message being sent.
+failedToCopyMessageWithSubject=消息复制失败:%S
+
+# LOCALIZATION NOTE (autosyncProcessProgress2): Do not translate the words "%1$S", "%2$S", "%3$S" and "%4$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Place the word %4$S in your translation where the name of account being processed should appear.
+# EXAMPLE: Ted's account: Downloading message 334 of 1008 in Inbox…
+autosyncProcessProgress2=%4$S:正在下载 %3$S 文件夹中的邮件 %1$S / %2$S…
+# LOCALIZATION NOTE (autosyncProcessDisplayText): %S will be replaced by the folder name
+autosyncProcessDisplayText=同步更新 %S
+# LOCALIZATION NOTE (autosyncEventDisplayText): %S will be replaced by the account name
+autosyncEventDisplayText=%S 已同步完成
+# LOCALIZATION NOTE (autosyncEventStatusText): %S will be replaced by total number of downloaded messages
+autosyncEventStatusText=共下载消息: %S 条
+autosyncEventStatusTextNoMsgs=未下载消息
+# LOCALIZATION NOTE (autosyncContextDisplayText): %S will be replaced by the account name
+autosyncContextDisplayText=正在同步:%S
+
+# LOCALIZATION NOTE (pop3EventStartDisplayText2): Do not translate the words "%1$S" and "%2$S" below.
+# Place the word %1$S in your translation where the name of the account being checked for new messages should appear.
+# Place the word %2$S in your translation where the name of the folder being checked for new messages should appear.
+# EXAMPLE: George's account: Checking Inbox for new messages…
+pop3EventStartDisplayText2=%1$S:正在检查 %2$S 的新邮件…
+# LOCALIZATION NOTE (pop3EventDisplayText): %S will be replaced by the account name
+pop3EventDisplayText=%S 已同步完成
+# LOCALIZATION NOTE (pop3EventStatusText): #1 will be replaced by total number of downloaded messages
+pop3EventStatusText=已下载 #1 条消息
+pop3EventStatusTextNoMsgs=无消息需要下载
+
+# Message actions that show up in activity manager
+# LOCALIZATION NOTE (deletedMessages2): #1 number of messages, #2 folder name
+deletedMessages2=已从 #2 文件夹删除 #1 条消息
+# LOCALIZATION NOTE (movedMessages): #1 number of messages, #2 and #3: folder names
+movedMessages=已将 #1 条消息从 #2 移动至 #3
+# LOCALIZATION NOTE (copiedMessages): #1 number of messages, #2 and #3: folder names
+copiedMessages=已将 #1 条消息从 #2 复制到 #3
+# LOCALIZATION NOTE (fromServerToServer): #1 source server, #2 destination server
+fromServerToServer=从 #1 至 #2
+# LOCALIZATION NOTE (deletedFolder): #1 folder name
+deletedFolder=已删除文件夹 #1
+emptiedTrash=已清空废件箱
+# LOCALIZATION NOTE (movedFolder): #1 and #2 are folder names
+movedFolder=已将文件夹 #1 移动至 #2 中
+# LOCALIZATION NOTE (movedFolderToTrash): #1 is the folder name
+movedFolderToTrash=已将文件夹 #1 移至废件箱
+# LOCALIZATION NOTE (copiedFolder): #1 and #2 are folder names
+copiedFolder=已将文件夹 #1 复制到 #2 中
+# LOCALIZATION NOTE (renamedFolder): #1 and #2 are folder names
+renamedFolder=已重命名文件夹 #1 至 #2
+indexing=索引消息
+# LOCALIZATION NOTE (indexingFolder): #1 is a folder name
+indexingFolder=正在索引 #1 中的邮件
+indexingStatusVague=判断该索引哪些消息
+# LOCALIZATION NOTE (indexingFolderStatusVague): #1 is a folder name
+indexingFolderStatusVague=判断该索引在 #1 文件夹中的哪些邮件
+# LOCALIZATION NOTE (indexingStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+indexingStatusExact=正在建立 #1/#2 封邮件的索引(已完成 #3%)
+# LOCALIZATION NOTE (indexingFolderStatusExact):
+# #1 is the number of the message currently being indexed
+# #2 is the total number of messages being indexed
+# #3 is the percentage of indexing that is complete
+# #4 is a folder name
+indexingFolderStatusExact=正在建立 #4 文件夹中 #1/#2 封邮件的索引(已完成 #3%)
+# LOCALIZATION NOTE (indexedFolder): #1 number of messages; #2 folder name
+indexedFolder=已建立 #2 文件夹中 #1 封邮件的索引
+# LOCALIZATION NOTE (indexedFolderStatus): #1 number of seconds spent indexing
+indexedFolderStatus=耗时 #1 秒
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addbuddy.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addbuddy.dtd
new file mode 100644
index 0000000000..6c70b2de10
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addbuddy.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY addBuddyWindow.title "添加联系人">
+<!ENTITY name.label "用户名">
+<!ENTITY account.label "账户">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abAddressBookNameDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abAddressBookNameDialog.dtd
new file mode 100644
index 0000000000..4cc6821e19
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abAddressBookNameDialog.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Labels -->
+
+<!ENTITY name.label "通讯录名称:">
+<!ENTITY name.accesskey "A">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abContactsPanel.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abContactsPanel.dtd
new file mode 100644
index 0000000000..524b5e3a53
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abContactsPanel.dtd
@@ -0,0 +1,49 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY propertiesMenu.label "属性">
+<!ENTITY propertiesMenu.accesskey "i">
+<!ENTITY propertiesCmd.key "i">
+<!ENTITY abPropertiesMenu.label "通讯录属性">
+<!ENTITY abPropertiesMenu.accesskey "i">
+<!ENTITY contactPropertiesMenu.label "联系人属性">
+<!ENTITY contactPropertiesMenu.accesskey "i">
+<!ENTITY mailingListPropertiesMenu.label "邮件列表属性">
+<!ENTITY mailingListPropertiesMenu.accesskey "i">
+
+<!ENTITY abContextMenuButton.tooltip "显示通讯录上下文菜单">
+<!ENTITY addressbookPicker.label "通讯录:">
+<!ENTITY addressbookPicker.accesskey "k">
+<!ENTITY searchContacts.label "搜索联系人:">
+<!ENTITY searchContacts.accesskey "n">
+<!ENTITY SearchNameOrEmail.label "名称或者电子邮件">
+
+<!ENTITY addtoToFieldMenu.label "添加至收件人栏">
+<!ENTITY addtoToFieldMenu.accesskey "A">
+<!ENTITY addtoCcFieldMenu.label "添加至抄送栏">
+<!ENTITY addtoCcFieldMenu.accesskey "C">
+<!ENTITY addtoBccFieldMenu.label "添加至密送栏">
+<!ENTITY addtoBccFieldMenu.accesskey "B">
+<!ENTITY deleteAddrBookCard.label "删除">
+<!ENTITY deleteAddrBookCard.accesskey "D">
+<!ENTITY propertiesContext.label "属性">
+<!ENTITY propertiesContext.accesskey "i">
+<!ENTITY abPropertiesContext.label "属性">
+<!ENTITY abPropertiesContext.accesskey "i">
+<!ENTITY editContactContext.label "编辑联系人">
+<!ENTITY editContactContext.accesskey "E">
+<!ENTITY editMailingListContext.label "编辑列表">
+<!ENTITY editMailingListContext.accesskey "E">
+
+<!ENTITY newContactAbContext.label "新建联系人">
+<!ENTITY newContactAbContext.accesskey "C">
+<!ENTITY newListAbContext.label "新建列表">
+<!ENTITY newListAbContext.accesskey "L">
+
+<!ENTITY toButton.label "添加至收件人:">
+<!ENTITY toButton.accesskey "A">
+<!ENTITY ccButton.label "添加至抄送:">
+<!ENTITY ccButton.accesskey "C">
+<!ENTITY bccButton.label "添加至密送:">
+<!ENTITY bccButton.accesskey "B">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abMailListDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abMailListDialog.dtd
new file mode 100644
index 0000000000..43b422c9eb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "新建邮件列表">
+
+<!-- Labels and Access Keys -->
+<!ENTITY addToAddressBook.label "添加到:">
+<!ENTITY addToAddressBook.accesskey "A">
+<!ENTITY ListName.label "列表名称:">
+<!ENTITY ListName.accesskey "L">
+<!ENTITY ListNickName.label "列表别名:">
+<!ENTITY ListNickName.accesskey "N">
+<!ENTITY ListDescription.label "描述:">
+<!ENTITY ListDescription.accesskey "e">
+<!-- See bug 58485, when we implement drag and drop, add 'or drag addresses' back in -->
+<!ENTITY AddressTitle.label "输入姓名或将地址拖到下面的邮件列表中:">
+<!ENTITY AddressTitle.accesskey "m">
+<!ENTITY UpButton.label "上移">
+<!ENTITY DownButton.label "下移">
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abMainWindow.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abMainWindow.dtd
new file mode 100644
index 0000000000..c21a32387b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "默认启动目录">
+<!ENTITY showAsDefault.accesskey "S">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "名称或者电子邮件">
+
+<!-- Results Pane -->
+<!ENTITY Addrbook.label "通讯录">
+<!ENTITY GeneratedName.label "名称">
+<!ENTITY PrimaryEmail.label "电子邮件">
+
+<!-- Card Summary Pane -->
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abResultsPane.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abResultsPane.dtd
new file mode 100644
index 0000000000..869a274634
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/abResultsPane.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY Addrbook.label "通讯录">
+<!ENTITY Addrbook.accesskey "B">
+<!ENTITY GeneratedName.label "名称">
+<!ENTITY GeneratedName.accesskey "N">
+<!ENTITY PrimaryEmail.label "邮箱">
+<!ENTITY PrimaryEmail.accesskey "E">
+<!ENTITY Company.label "公司">
+<!ENTITY Company.accesskey "z">
+<!ENTITY _PhoneticName.label "姓名拼音">
+<!ENTITY _PhoneticName.accesskey "o">
+<!ENTITY NickName.label "昵称">
+<!ENTITY NickName.accesskey "i">
+<!ENTITY SecondEmail.label "其他邮箱">
+<!ENTITY SecondEmail.accesskey "l">
+<!ENTITY Department.label "部门">
+<!ENTITY Department.accesskey "r">
+<!ENTITY JobTitle.label "职位">
+<!ENTITY JobTitle.accesskey "T">
+<!ENTITY CellularNumber.label "手机">
+<!ENTITY CellularNumber.accesskey "M">
+<!ENTITY PagerNumber.label "传呼">
+<!ENTITY PagerNumber.accesskey "P">
+<!ENTITY FaxNumber.label "传真">
+<!ENTITY FaxNumber.accesskey "F">
+<!ENTITY HomePhone.label "住宅电话">
+<!ENTITY HomePhone.accesskey "H">
+<!ENTITY WorkPhone.label "单位电话">
+<!ENTITY WorkPhone.accesskey "W">
+<!ENTITY ChatName.label "聊天名称">
+<!ENTITY ChatName.accesskey "C">
+<!ENTITY sortAscending.label "由小到大">
+<!ENTITY sortAscending.accesskey "A">
+<!ENTITY sortDescending.label "由大到小">
+<!ENTITY sortDescending.accesskey "D">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/addressBook.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/addressBook.properties
new file mode 100644
index 0000000000..9aa82336fd
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/addressBook.properties
@@ -0,0 +1,178 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the Mailing list dialog.
+# LOCALIZATION NOTE (mailingListTitleEdit): %S will be replaced by the Mailing List's display name.
+mailingListTitleEdit=编辑 %S
+emptyListName=必须输入列表名称。
+badListNameCharacters=列表名称不能包含以下任何字符:< > ; , "
+badListNameSpaces=列表名称不能包含多个相邻的空格。
+lastFirstFormat=%S, %S
+firstLastFormat=%S %S
+
+allAddressBooks=所有通讯录
+
+newContactTitle=新建联系人
+# %S will be the contact's display name
+newContactTitleWithDisplayName=为 %S 新建联系人
+editContactTitle=编辑联系人
+# %S will be the contact's display name
+editContactTitleWithDisplayName=为 %S 编辑联系人
+# don't translate vCard
+editVCardTitle=编辑个人名片
+# %S will be the card's display name, don't translate vCard
+editVCardTitleWithDisplayName=编辑 %S 的个人名片
+
+## LOCALIZATION NOTE (cardRequiredDataMissingMessage): do not localize \n
+cardRequiredDataMissingMessage=您必须至少输入下列项之一:\n邮件地址,名称,姓氏,显示名,组织。
+cardRequiredDataMissingTitle=所需的信息缺失
+incorrectEmailAddressFormatMessage=原始邮件地址格式必须为 user@host。
+incorrectEmailAddressFormatTitle=不正确的电子邮件格式
+
+viewListTitle=邮件列表:%S
+mailListNameExistsTitle=邮件列表已存在
+mailListNameExistsMessage=同名邮件列表已存在,请选择一个不同的名称。
+
+propertyPrimaryEmail=电子邮件
+propertyListName=列表名称
+propertySecondaryEmail=其他电子邮件
+propertyNickname=昵称
+propertyDisplayName=显示名
+propertyWork=工作
+propertyHome=家庭
+propertyFax=传真
+propertyCellular=移动电话
+propertyPager=传呼机号码
+propertyBirthday=生日
+propertyCustom1=定制 1
+propertyCustom2=定制 2
+propertyCustom3=定制 3
+propertyCustom4=定制 4
+
+propertyGtalk=Google Talk
+propertyAIM=AIM
+propertyYahoo=Yahoo!
+propertySkype=Skype
+propertyQQ=QQ
+propertyMSN=MSN
+propertyICQ=ICQ
+propertyXMPP=Jabber ID
+propertyIRC=IRC 昵称
+
+## LOCALIZATION NOTE (cityAndStateAndZip):
+## %1$S is city, %2$S is state, %3$S is zip
+cityAndStateAndZip=%1$S, %2$S %3$S
+## LOCALIZATION NOTE (cityAndStateNoZip):
+## %1$S is city, %2$S is state
+cityAndStateNoZip=%1$S, %2$S
+## LOCALIZATION NOTE (cityOrStateAndZip):
+## %1$S is city or state, %2$S is zip
+cityOrStateAndZip=%1$S %2$S
+
+stateZipSeparator=
+
+prefixTo=收件人
+prefixCc=抄送
+prefixBcc=密送
+addressBook=通讯录
+
+# Contact photo management
+browsePhoto=联系人照片
+stateImageSave=正在保存图像…
+errorInvalidUri=出错:无效的源图像。
+errorNotAvailable=出错:文件无法访问。
+errorInvalidImage=出错:仅支持 JPG,PNG 和 GIF 图像格式。
+errorSaveOperation=出错:无法保存图像。
+
+# mailnews.js
+ldap_2.servers.pab.description=个人通讯录
+ldap_2.servers.history.description=集合通讯录
+## LOCALIZATION NOTE (ldap_2.servers.osx.description is only used on Mac OS X)
+ldap_2.servers.osx.description=Mac OS X 通讯录
+## LOCALIZATION NOTE (ldap_2.servers.outlook.description is only used on Windows)
+ldap_2.servers.outlook.description=Outlook 通讯录
+
+# status bar stuff
+## LOCALIZATION NOTE (totalContactStatus):
+## %1$S is address book name, %2$S is contact count
+totalContactStatus=通讯录 %1$S 中联系人总数:%2$S
+noMatchFound=无法找到符合条件的结果
+## LOCALIZATION NOTE (matchesFound1):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/docs/Mozilla/Localization/Localization_and_Plurals
+## #1 is the number of matching contacts found
+matchesFound1=#1 项匹配
+
+## LOCALIZATION NOTE (contactsCopied): Semi-colon list of plural forms
+## %1$S is the number of contacts that were copied. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsCopied=已复制 %1$S 个联系人
+
+## LOCALIZATION NOTE (contactsMoved): Semi-colon list of plural forms
+## %1$S is the number of contacts that were moved. This should be used multiple
+## times wherever you need it. Do not replace by %S.
+contactsMoved=已移动 %1$S 个联系人
+
+# LDAP directory stuff
+invalidName=请输入合法名称。
+invalidHostname=请输入合法主机名。
+invalidPortNumber=请输入合法端口号。
+invalidResults=请在结果字段中输入一个合法的数字。
+abReplicationOfflineWarning=您必须联机才能进行 LDAP 复制。
+abReplicationSaveSettings=您必须在下载目录之前保存设置。
+
+# For importing / exporting
+## LOCALIZATION NOTE (ExportAddressBookNameTitle): %S is the name of exported addressbook
+ExportAddressBookNameTitle=导出通讯录 - %S
+LDIFFiles=LDIF
+CSVFiles=逗号分隔
+CSVFilesSysCharset=以逗号分隔的 (系统字符集)
+CSVFilesUTF8=以逗号分隔的 (UTF-8)
+TABFiles=Tab 键分隔
+TABFilesSysCharset=以逗号分隔的 (系统字符集)
+TABFilesUTF8=以制表符分隔的 (UTF-8)
+VCFFiles=vCard
+SupportedABFiles=支持的通讯录文件
+failedToExportTitle=导出字段
+failedToExportMessageNoDeviceSpace=导出通讯录失败,设备空间不足。
+failedToExportMessageFileAccessDenied=导出通讯录失败,文件访问禁止。
+
+# For getting authDN for replication using dlg box
+AuthDlgTitle=通讯录 LDAP 复制
+AuthDlgDesc=输入访问目录服务器的用户名和密码。
+
+# LOCALIZATION NOTE(joinMeInThisChat)
+# use + for spaces
+joinMeInThisChat=让我加入到此聊天
+
+# For printing
+headingHome=家庭
+headingWork=工作
+headingOther=其他
+headingChat=聊天
+headingPhone=电话
+headingDescription=描述
+headingAddresses=地址
+
+## For address books
+addressBookTitleNew=新建通讯录
+# LOCALIZATION NOTE (addressBookTitleEdit):
+# %S is the current name of the address book.
+# Example: My Custom AB Properties
+addressBookTitleEdit=%S 属性
+duplicateNameTitle=重复的通讯录名称
+# LOCALIZATION NOTE (duplicateNameText):
+# Don't localize "\n• %S" unless your local layout comes out wrong.
+# %S is the name of the existing address book.
+# Example: An address book with this name already exists:
+# • My Custom AB
+duplicateNameText=此名称的通讯录已存在:\n• %S
+
+# For corrupt .mab files
+corruptMabFileTitle=通讯录文件已损坏
+corruptMabFileAlert=无法读取您的某个通讯录文件(文件 %1$S)。将新建一个 %2$S 文件,并在相同路径下备份为 %3$S 。
+
+# For locked .mab files
+lockedMabFileTitle=无法加载通讯录文件
+lockedMabFileAlert=无法加载通讯录文件 %S。它可能被设置为只读,或者被其他应用程序锁定了。请稍后重试。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/ldapAutoCompErrs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/ldapAutoCompErrs.properties
new file mode 100644
index 0000000000..79e5f6c597
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=LDAP 初始化错误
+
+## @name ERR_STATE_INITIALIZING
+## @loc none
+1=连接 LDAP 服务器失败
+
+## @name ERR_STATE_BINDING
+## @loc none
+2=连接 LDAP 服务器失败
+
+## @name ERR_STATE_BOUND
+## @loc none
+3=LDAP 通讯出错
+
+## @name ERR_STATE_SEARCHING
+## @loc none
+4=LDAP 服务器搜索出错
+
+
+# The format of the alert dialog itself
+#
+## @name ALERT_FORMAT
+## @loc None of %1$S, %2$S and %3$S should be localized.
+## %1$S is the error code itself, %2$S is an LDAP SDK error message from
+## chrome://mozldap/locale/ldap.properties, and %3$S is a hint relating
+## to that specific error, found in this file.
+errorAlertFormat=错误码 %1$S: %2$S\n\n %3$S
+
+## The following errors are for error codes other than LDAP-specific ones.
+## Someday mozilla will actually have a system for mapping nsresults to
+## error strings that's actually widely used, unlike nsIErrorService. But
+## until it does, these strings live here...
+
+## @name HOST_NOT_FOUND
+## @loc none
+5000=未找到主机
+
+## @name GENERIC_ERROR
+## @loc none
+9999=未知错误
+
+
+# Hints to for the user, associated with specific error codes (ie error code
+# + 10000)
+
+
+## @name TIMELIMIT_EXCEEDED_HINT
+## @loc none
+10003=请稍后再尝试,或者请联系您的系统管理员。
+
+## @name STRONGAUTH_REQUIRED_HINT
+## @loc none
+10008=目前尚不支持强认证模式。
+
+## @name INVALID_SYNTAX_HINT
+## @loc none
+10021=请确认搜索过滤器是否正确,然后重试。或联系您的系统管理员。要确认搜索过滤器是否正确,请从“编辑”菜单选择“首选项”,然后选择“邮件和新闻组”,最后选择“地址查找”。单击“编辑目录”,选择所用的 LDAP 服务器,单击“编辑”,然后单击“高级”即可显示搜索过滤器。
+
+## @name NO_SUCH_OBJECT_HINT
+## @loc none
+10032=请确认基准标识名是否正确,然后重试。或联系您的系统管理员。要确认基准标识名是否正确,请从“编辑”菜单选择“首选项”,然后选择“邮件和新闻组”,最后选择“地址查找”。单击“编辑目录”,选择所用的 LDAP 服务器,单击“编辑”,然后单击“高级”即可显示基准标识名。
+
+## @name BUSY_HINT
+## @loc none
+10051=请稍后再试。
+
+## @name SERVER_DOWN_HINT
+## @loc none
+10081=请确认主机名和端口是否正确,然后重试。或联系您的系统管理员。要确认主机名和端口是否正确,请从“编辑”菜单选择“首选项”,然后选择“邮件和新闻组”,最后选择“地址查找”。单击“编辑目录”,选择所用的 LDAP 服务器,单击“编辑”,即可显示主机名,然后单击“高级”即可显示端口号。
+
+## @name TIMEOUT_HINT
+## @loc none
+10085=请稍后再试。
+
+## @name FILTER_ERROR_HINT
+## @loc none
+10087=请确认搜索过滤器是否正确,然后重试。或联系您的系统管理员。要确认搜索过滤器是否正确,请从“编辑”菜单选择“首选项”,然后选择“邮件和新闻组”,最后选择“地址查找”。单击“编辑目录”,选择所用的 LDAP 服务器,单击“编辑”,然后单击“高级”即可显示搜索过滤器。
+
+## @name NO_MEMORY_HINT
+## @loc none
+10090=请关闭其他窗口或应用程序并重试。
+
+## @name CONNECT_ERROR_HINT
+## @loc none
+10091=请确认主机名和端口是否正确,然后重试。或联系您的系统管理员。要确认主机名和端口是否正确,请从“编辑”菜单选择“首选项”,然后选择“邮件和新闻组”,最后选择“地址查找”。单击“编辑目录”,选择所用的 LDAP 服务器,单击“编辑”,即可显示主机名,然后单击“高级”即可显示端口号。
+
+## @name HOST_NOT_FOUND_HINT
+## @loc none
+15000=请确认主机名是否正确,然后重试。或联系您的系统管理员。要确认主机名是否正确,请从“编辑”菜单选择“首选项”,然后选择“邮件和新闻组”,最后选择“地址查找”。单击“编辑目录”,选择所用的 LDAP 服务器,单击“编辑”,即可显示主机名。
+
+## @name GENERIC_HINT
+## @loc none
+19999=请联系您的系统管理员。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory-add.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory-add.dtd
new file mode 100644
index 0000000000..bbd757756a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory-add.dtd
@@ -0,0 +1,45 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY directoryName.label "名称:">
+<!ENTITY directoryName.accesskey "N">
+<!ENTITY directoryHostname.label "主机名:">
+<!ENTITY directoryHostname.accesskey "o">
+<!ENTITY directoryBaseDN.label "基准标识名:">
+<!ENTITY directoryBaseDN.accesskey "B">
+<!ENTITY findButton.label "查找">
+<!ENTITY findButton.accesskey "F">
+<!ENTITY directorySecure.label "使用安全连接 (SSL)">
+<!ENTITY directorySecure.accesskey "U">
+<!ENTITY directoryLogin.label "使用用户名和密码来登录">
+<!ENTITY directoryLogin.accesskey "i">
+<!ENTITY General.tab "基本信息">
+<!ENTITY Offline.tab "脱机">
+<!ENTITY Advanced.tab "高级">
+<!ENTITY portNumber.label "端口号:">
+<!ENTITY portNumber.accesskey "P">
+<!ENTITY searchFilter.label "搜索过滤器:">
+<!ENTITY searchFilter.accesskey "f">
+<!ENTITY scope.label "范围:">
+<!ENTITY scope.accesskey "c">
+<!ENTITY scopeOneLevel.label "一级">
+<!ENTITY scopeOneLevel.accesskey "L">
+<!ENTITY scopeSubtree.label "子树">
+<!ENTITY scopeSubtree.accesskey "S">
+<!ENTITY return.label "不返回超过">
+<!ENTITY return.accesskey "r">
+<!ENTITY results.label "结果">
+<!ENTITY offlineText.label "您可以将此目录下载到本地,这样它在脱机工作时也可用。">
+<!ENTITY saslMechanism.label "登录方式:">
+<!ENTITY saslMechanism.accesskey "m">
+<!ENTITY saslOff.label "简单">
+<!ENTITY saslOff.accesskey "l">
+<!ENTITY saslGSSAPI.label "Kerberos (GSSAPI)">
+<!ENTITY saslGSSAPI.accesskey "K">
+<!-- Localization note: this is here because the width of the dialog
+ is determined by the width of the base DN box; and that is likely
+ to vary somewhat with the language.
+-->
+
+<!ENTITY newDirectoryWidth "36em">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory.dtd
new file mode 100644
index 0000000000..91f9d8debe
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/pref-directory.dtd
@@ -0,0 +1,17 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- LOCALIZATION NOTE (window.title) : do not translate "LDAP" in below line -->
+
+<!ENTITY pref.ldap.window.title "LDAP 目录服务器">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "LDAP 目录服务器:">
+<!-- LOCALIZATION NOTE (directoriesText.label) : do not translate "LDAP" in below line -->
+<!ENTITY directoriesText.label "选择 LDAP 目录服务器:">
+<!ENTITY directoriesText.accesskey "S">
+<!ENTITY addDirectory.label "添加">
+<!ENTITY addDirectory.accesskey "A">
+<!ENTITY editDirectory.label "编辑">
+<!ENTITY editDirectory.accesskey "E">
+<!ENTITY deleteDirectory.label "删除">
+<!ENTITY deleteDirectory.accesskey "D">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/replicationProgress.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/replicationProgress.properties
new file mode 100644
index 0000000000..7bae414e80
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/addressbook/replicationProgress.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+replicationStarted=复制开始…
+changesStarted=开始扫描要复制的更改项…
+replicationSucceeded=复制成功
+replicationFailed=复制失败
+replicationCancelled=已取消复制
+# LOCALIZATION NOTE
+# do not localize %S. %S is the current entry number (an integer)
+currentCount=正在复制的目录条目:%S
+
+downloadButton=立即下载
+downloadButton.accesskey=D
+cancelDownloadButton=取消下载
+cancelDownloadButton.accesskey=C
+
+directoryTitleNew=新建 LDAP 目录
+## LOCALIZATION NOTE (directoryTitleEdit): %S will be replaced by the LDAP directory's display name
+directoryTitleEdit=%S 属性
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-addressing.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-addressing.dtd
new file mode 100644
index 0000000000..4d5ecd4882
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "编写 &amp; 地址簿">
+<!ENTITY addressingGroupTitle.label "地址查找">
+<!ENTITY addressingText.label "查找地址时:">
+<!-- LOCALIZATION NOTE (override.label) : do not translate "LDAP" in below line -->
+<!ENTITY useGlobal.label "对此账户使用我的全局 LDAP 服务器">
+<!ENTITY useGlobal.accesskey "U">
+<!ENTITY editDirectories.label "编辑目录…">
+<!ENTITY editDirectories.accesskey "E">
+<!-- LOCALIZATION NOTE (directories.label) : do not translate "LDAP" in below line -->
+<!ENTITY directories.label "使用其他 LDAP 服务器:">
+<!ENTITY directories.accesskey "D">
+<!ENTITY directoriesNone.label "无">
+
+<!-- am-addressing.xul -->
+
+<!-- am-addressing.xhtml -->
+
+<!ENTITY compositionGroupTitle.label "编写">
+<!-- LOCALIZATION NOTE (useHtml.label) : do not translate "html" in below line -->
+<!ENTITY useHtml.label "以 HTML 格式编写消息">
+<!ENTITY useHtml.accesskey "C">
+<!ENTITY autoQuote.label "回复时自动引用原始消息">
+<!ENTITY autoQuote.accesskey "m">
+<!-- LOCALIZATION NOTE (quoting.label): This will concatenate with the 4 strings that follow. -->
+<!ENTITY quoting.label "引用时,">
+<!ENTITY quoting.accesskey "q">
+<!ENTITY aboveQuote.label "在引用内容之前回复">
+<!ENTITY belowQuote.label "在引用内容之后回复">
+<!ENTITY selectAndQuote.label "选择引用内容">
+<!ENTITY place.label "把签名档放在">
+<!ENTITY place.accesskey "s">
+<!ENTITY belowText.label "在引用内容之后(建议)">
+<!ENTITY aboveText.label "在我的回复之后(在引用内容之前)">
+<!ENTITY includeSigOnReply.label "回复包含签名">
+<!ENTITY includeSigOnReply.accesskey "I">
+<!ENTITY includeSigOnForward.label "转发时包含签名">
+<!ENTITY includeSigOnForward.accesskey "w">
+
+<!ENTITY globalComposingPrefs.label "全局撰写设置…">
+<!ENTITY globalComposingPrefs.accesskey "G">
+
+<!ENTITY globalAddressingPrefs.label "全局地址设置…">
+<!ENTITY globalAddressingPrefs.accesskey "P">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-advanced.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-advanced.dtd
new file mode 100644
index 0000000000..271b78d78a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-advanced.dtd
@@ -0,0 +1,28 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-advanced.xhtml -->
+
+<!-- LOCALIZATION NOTE (smtpServer.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpServer.label "发件服务器(SMTP)设置">
+
+<!-- LOCALIZATION NOTE (smtpDescription.label): do not translate "SMTP" in below line -->
+<!ENTITY smtpDescription.label "管理您身份信息的同时,您可以从此列表中选择发件服务器(SMTP),或者您也可以选择 &quot;使用默认服务器&quot;。">
+
+<!ENTITY smtpListAdd.label "添加…">
+<!ENTITY smtpListAdd.accesskey "d">
+<!ENTITY smtpListEdit.label "编辑…">
+<!ENTITY smtpListEdit.accesskey "E">
+<!ENTITY smtpListDelete.label "删除">
+<!ENTITY smtpListDelete.accesskey "m">
+<!ENTITY smtpListSetDefault.label "设为默认">
+<!ENTITY smtpListSetDefault.accesskey "t">
+
+<!ENTITY serverDetails.label "选中服务器的详细信息:">
+<!ENTITY serverDescription.label "描述:">
+<!ENTITY serverName.label "服务器名称:">
+<!ENTITY serverPort.label "端口:">
+<!ENTITY userName.label "用户名:">
+<!ENTITY connectionSecurity.label "连接安全: ">
+<!ENTITY authMethod.label "验证方式:">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-archiveoptions.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-archiveoptions.dtd
new file mode 100644
index 0000000000..22ef362f8d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-archiveoptions.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/. -->
+
+<!-- extracted from am-archiveoptions.xul -->
+
+
+<!-- extracted from am-archiveoptions.xhtml -->
+
+<!ENTITY dialogTitle.label "存档选项">
+<!ENTITY archiveGranularityPrefix.label "存档消息时,把它们放在:">
+<!ENTITY archiveFlat.label "单个文件夹">
+<!ENTITY archiveFlat.accesskey "s">
+<!ENTITY archiveYearly.label "每年存档文件夹">
+<!ENTITY archiveYearly.accesskey "Y">
+<!ENTITY archiveMonthly.label "每月存档文件夹">
+<!ENTITY archiveMonthly.accesskey "M">
+<!ENTITY keepFolderStructure.label "保留现有已存档消息的文件夹结构">
+<!ENTITY keepFolderStructure.accesskey "K">
+<!ENTITY archiveExample.label "例子">
+<!-- LOCALIZATION NOTE (archiveFolderName.label): this should match the default
+ name for the "Archives" folder -->
+<!ENTITY archiveFolderName.label "归档">
+<!-- LOCALIZATION NOTE (inboxFolderName.label): this should match the default
+ name for the "Inbox" folder -->
+<!ENTITY inboxFolderName.label "收件箱">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-copies.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-copies.dtd
new file mode 100644
index 0000000000..83406bff84
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-copies.dtd
@@ -0,0 +1,50 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-copies.xhtml -->
+
+<!ENTITY copyAndFolderTitle.label "副本和文件夹设置">
+<!ENTITY sendingPrefix.label "当发送消息时,自动:">
+<!ENTITY fccMailFolder.label "保留副本到:">
+<!ENTITY fccMailFolder.accesskey "P">
+<!ENTITY fccReplyFollowsParent.label "将回复的邮件放入被回复邮件同一文件夹中">
+<!ENTITY fccReplyFollowsParent.accesskey "r">
+<!-- LOCALIZATION NOTE (ccAddress.label): do not translate "Cc" in below line -->
+<!ENTITY ccAddress.label "Cc 这些邮件地址:">
+<!ENTITY ccAddress.accesskey "C">
+<!ENTITY ccAddressList.placeholder "使用逗号分隔地址">
+<!-- LOCALIZATION NOTE (bccAddress.label): do not translate "Bcc" in below line -->
+<!ENTITY bccAddress.label "密送至此邮件地址:">
+<!ENTITY bccAddress.accesskey "B">
+<!ENTITY bccAddressList.placeholder "使用逗号分隔地址">
+<!ENTITY saveMessageDlg.label "保存消息时显示确认对话框">
+<!ENTITY saveMessageDlg.accesskey "w">
+<!-- LOCALIZATION NOTE (sentFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY sentFolderOn.label "“寄件备份”文件夹:">
+<!ENTITY sentFolderOn.accesskey "S">
+<!ENTITY sentInOtherFolder.label "其他:">
+<!ENTITY sentInOtherFolder.accesskey "O">
+<!-- LOCALIZATION NOTE (archivesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY archivesTitle.label "消息存档">
+<!ENTITY keepArchives.label "保存消息归档至:">
+<!ENTITY keepArchives.accesskey "K">
+<!ENTITY archiveHierarchyButton.label "存档选项…">
+<!ENTITY archiveHierarchyButton.accesskey "A">
+<!ENTITY archivesFolderOn.label "“归档”文件夹于:">
+<!ENTITY archivesFolderOn.accesskey "n">
+<!ENTITY archiveInOtherFolder.label "其他:">
+<!ENTITY archiveInOtherFolder.accesskey "h">
+<!ENTITY specialFolders.label "草稿和模板">
+<!ENTITY keepDrafts2.label "保存草稿消息在:">
+<!-- LOCALIZATION NOTE (draftsFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY draftsFolderOn.label "“草稿”文件夹:">
+<!ENTITY draftsFolderOn.accesskey "D">
+<!ENTITY draftInOtherFolder.label "其他:">
+<!ENTITY draftInOtherFolder.accesskey "t">
+<!ENTITY keepTemplates.label "保留消息模板到:">
+<!-- LOCALIZATION NOTE (templatesFolderOn.label): OK to translate this, bug #57440 -->
+<!ENTITY templatesFolderOn.label "“模板”文件夹:">
+<!ENTITY templatesFolderOn.accesskey "m">
+<!ENTITY templateInOtherFolder.label "其他:">
+<!ENTITY templateInOtherFolder.accesskey "e">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-e2e.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-e2e.properties
new file mode 100644
index 0000000000..3dd91fadb4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-e2e.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+prefPanel-e2e=端到端加密
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identities-list.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identities-list.dtd
new file mode 100644
index 0000000000..39861f14cc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identities-list.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY identitiesListManageDesc.label "管理这个账户的身份。默认使用第一个身份。">
+<!ENTITY identitiesListAdd.label "添加…">
+<!ENTITY identitiesListAdd.accesskey "A">
+<!ENTITY identitiesListEdit.label "编辑…">
+<!ENTITY identitiesListEdit.accesskey "E">
+<!ENTITY identitiesListDefault.label "设为默认">
+<!ENTITY identitiesListDefault.accesskey "S">
+<!ENTITY identitiesListDelete.label "删除">
+<!ENTITY identitiesListDelete.accesskey "D">
+<!ENTITY identitiesListClose.label "关闭">
+<!ENTITY identitiesListClose.accesskey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identity-edit.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identity-edit.dtd
new file mode 100644
index 0000000000..741b1384a1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-identity-edit.dtd
@@ -0,0 +1,14 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY identityListDesc.label "配置此身份的设置:">
+
+<!ENTITY settingsTab.label "设置">
+<!ENTITY copiesFoldersTab.label "副本和文件夹">
+<!ENTITY addressingTab.label "编写 &amp; 地址簿">
+
+<!ENTITY publicData.label "公共数据">
+<!ENTITY privateData.label "私人数据">
+<!ENTITY identityAlias.label "身份标签:">
+<!ENTITY identityAlias.accesskey "b">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-im.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-im.dtd
new file mode 100644
index 0000000000..e0b0734f28
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-im.dtd
@@ -0,0 +1,16 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY accountWindow.title "账户属性">
+<!ENTITY accountWindow.width "300">
+<!ENTITY account.general "常规">
+<!ENTITY account.advanced "高级选项">
+<!ENTITY account.name "用户名:">
+<!ENTITY account.password "密码:">
+<!ENTITY account.alias "别名:">
+<!ENTITY account.newMailNotification "新邮件通知">
+<!ENTITY account.autojoin "自动加入频道:">
+<!ENTITY account.proxySettings.caption "代理设置:">
+<!ENTITY account.proxySettings.change.label "更改…">
+<!ENTITY account.proxySettings.change.accessKey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-junk.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-junk.dtd
new file mode 100644
index 0000000000..c1b309fcb0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-junk.dtd
@@ -0,0 +1,31 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY junkSettings.label "垃圾邮件设置">
+<!ENTITY trainingDescription.label "如要启用,您必须使用工具栏的 垃圾邮件 按钮标记相应邮件以训练 &brandShortName; 来辨识垃圾邮件。您需要标识垃圾邮件以及非垃圾邮件。之后 &brandShortName; 就能自动辨别垃圾邮件。">
+<!ENTITY level.label "对此账户启用智能垃圾邮件控制">
+<!ENTITY level.accesskey "E">
+
+<!ENTITY move.label "将垃圾消息移动至:">
+<!ENTITY move.accesskey "M">
+<!ENTITY junkFolderOn.label "“垃圾”文件夹位于:">
+<!ENTITY junkFolderOn.accesskey "J">
+<!ENTITY otherFolder.label "其他:">
+<!ENTITY otherFolder.accesskey "O">
+<!ENTITY purge1.label "自动删除垃圾邮件,如果超过">
+<!ENTITY purge1.accesskey "u">
+<!ENTITY purge2.label "天">
+
+<!ENTITY whitelistHeader.label "不将这些发件人的邮件自动标记为垃圾邮件: ">
+<!ENTITY whitelistHeader.accesskey "D">
+
+<!ENTITY ispHeadersWarning.label "如果启用此功能,&brandShortName; 将自动将标签为此外部类别的消息识别为垃圾邮件。">
+<!ENTITY ispHeaders.label "信任下列 ISP 设置的垃圾邮件头:">
+<!ENTITY ispHeaders.accesskey "T">
+
+<!ENTITY junkClassification.label "选择">
+<!ENTITY junkActions.label "存放与保留">
+
+<!ENTITY globalJunkPrefs.label "全局垃圾邮件设置…">
+<!ENTITY globalJunkPrefs.accesskey "G">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-main.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-main.dtd
new file mode 100644
index 0000000000..de286fe453
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-main.dtd
@@ -0,0 +1,47 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from am-main.xhtml -->
+
+<!ENTITY accountTitle.label "账户设置">
+<!ENTITY accountName.label "账户名称:">
+<!ENTITY accountName.accesskey "N">
+<!ENTITY identityTitle.label "默认身份">
+<!ENTITY identityDesc.label "每个账户都有一个身份,其他人在读到您的消息时会看到该身份。">
+<!ENTITY name.label "您的姓名:">
+<!ENTITY name.accesskey "Y">
+<!ENTITY email.label "电子邮件:">
+<!ENTITY email.accesskey "E">
+<!ENTITY catchAll.label "当邮件投递头匹配时,以此身份回复:">
+<!ENTITY catchAll.accesskey "d">
+<!ENTITY replyTo.label "回复地址:">
+<!ENTITY replyTo.accesskey "s">
+<!ENTITY replyTo.placeholder "接收者将回复到这个其他地址">
+<!ENTITY organization.label "工作单位:">
+<!ENTITY organization.accesskey "O">
+<!ENTITY signatureText.label "签名文字:">
+<!ENTITY signatureText.accesskey "x">
+<!ENTITY signatureHtml.label "使用 HTML (例如 &lt;b&gt;bold&lt;/b&gt;)">
+<!ENTITY signatureHtml.accesskey "L">
+<!ENTITY signatureFile.label "附加一个文件(文本、HTML或图片)作为签名:">
+<!ENTITY signatureFile.accesskey "T">
+<!ENTITY edit.label "编辑…">
+<!ENTITY choose.label "选择…">
+<!ENTITY choose.accesskey "C">
+<!ENTITY editVCard.label "编辑名片…">
+<!ENTITY editVCard.accesskey "d">
+<!-- LOCALIZATION NOTE (attachVCard.label) : do not translate "vCard" in below line -->
+<!ENTITY attachVCard.label "将我的个人名片附加到消息中">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY manageIdentities.label "管理标识…">
+<!ENTITY manageIdentities.accesskey "M">
+
+<!-- LOCALIZATION NOTE (smtpName.label) : do not translate "SMTP" in below line -->
+<!ENTITY smtpName.label "发件服务器(SMTP):">
+<!ENTITY smtpName.accesskey "u">
+<!ENTITY smtpDefaultServer.label "使用默认服务器">
+
+<!ENTITY smtpServerEdit.label "编辑 SMTP 服务器…">
+<!ENTITY smtpServerEdit.accesskey "P">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.dtd
new file mode 100644
index 0000000000..2ff7da2d22
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.dtd
@@ -0,0 +1,33 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY pane.title "返回邮件回执">
+<!ENTITY useGlobalPrefs.label "适用我的全局收件回执设置">
+<!ENTITY useGlobalPrefs.accesskey "U">
+<!ENTITY globalReceipts.label "全局首选项…">
+<!ENTITY globalReceipts.accesskey "G">
+<!ENTITY useCustomPrefs.label "使用专门的收件回执设置">
+<!ENTITY useCustomPrefs.accesskey "C">
+<!ENTITY requestReceipt.label "发送消息时,一律要求得到邮件回执">
+<!ENTITY requestReceipt.accesskey "W">
+<!ENTITY receiptArrive.label "当收到邮件回执时:">
+<!ENTITY leaveIt.label "留在“收件箱”中">
+<!ENTITY leaveIt.accesskey "I">
+<!-- LOCALIZATION NOTE moveToSent.label Translate: 'Sent' according to Netscape glossary -->
+<!ENTITY moveToSent.label "移到“寄件备份”文件夹中">
+<!ENTITY moveToSent.accesskey "M">
+<!ENTITY requestMDN.label "当我收到消息,并且消息发件人索取邮件回执时(MDN)">
+<!ENTITY returnSome.label "允许对某些消息返回邮件回执">
+<!ENTITY returnSome.accesskey "e">
+<!ENTITY never.label "总不发送邮件回执">
+<!ENTITY never.accesskey "N">
+<!ENTITY notInToCc.label "如果我不在此消息的“收件人”或“抄送”列表中:">
+<!ENTITY notInToCc.accesskey "T">
+<!ENTITY outsideDomain.label "如果发件人在我的网域之外:">
+<!ENTITY outsideDomain.accesskey "s">
+<!ENTITY otherCases.label "其他情况:">
+<!ENTITY otherCases.accesskey "o">
+<!ENTITY askMe.label "询问我">
+<!ENTITY alwaysSend.label "一律发送">
+<!ENTITY neverSend.label "不要发送">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.properties
new file mode 100644
index 0000000000..e65c26551f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-mdn.properties
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Strings used in prefs.
+prefPanel-mdn=回执
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-offline.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-offline.dtd
new file mode 100644
index 0000000000..fed7cace2a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-offline.dtd
@@ -0,0 +1,57 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY doNotDownloadPop3Movemail.label "为节省磁盘空间,不下载:">
+<!ENTITY doNotDownloadNntp.label "为节省磁盘空间,不下载下列邮件供脱机阅读:">
+<!ENTITY doNotDownloadImap.label "要节省磁盘空间,可对从服务器下载并保存到本地供离线使用的消息进行大小或时间上的限制。">
+<!ENTITY allFoldersOffline2.label "在此计算机上保留此账户所有文件夹中的消息">
+<!ENTITY allFoldersOffline2.accesskey "o">
+<!ENTITY allFoldersOfflineNote.label "注意:更改此项将影响此账户的所有文件夹。要设置单个文件夹,请点击“高级…”按钮。">
+<!ENTITY offlineNotDownload.label "消息大小超过">
+<!ENTITY offlineNotDownload.accesskey "M">
+<!ENTITY autosyncNotDownload.label "不下载大小超过">
+<!ENTITY autosyncNotDownload.accesskey "m">
+<!ENTITY kb.label "千字节">
+<!ENTITY daysOld.label "天">
+<!ENTITY message.label "条消息">
+<!ENTITY nntpNotDownloadRead.label "已读">
+<!ENTITY nntpNotDownloadRead.accesskey "d">
+<!ENTITY nntpDownloadMsg.label "消息超过">
+<!ENTITY nntpDownloadMsg.accesskey "e">
+<!ENTITY retentionCleanup.label "将旧消息永久删除可释放更多磁盘空间。">
+<!ENTITY retentionCleanupImap.label "为回收磁盘空间,旧消息会被永久删除,这包括本地的副本和远程服务器上的原始内容。">
+<!ENTITY retentionCleanupPop.label "要回收磁盘空间,可以永久删除旧消息,包括远程服务器上的原文。">
+<!ENTITY retentionKeepMsg.label "删除">
+<!ENTITY retentionKeepMsg.accesskey "t">
+<!ENTITY retentionKeepAll.label "不删除任何消息">
+<!ENTITY retentionKeepAll.accesskey "n">
+<!ENTITY retentionKeepRecent.label "仅保留最近">
+<!ENTITY retentionKeepRecent.accesskey "b">
+<!ENTITY retentionApplyToFlagged.label "一律保留已加星标的消息">
+<!ENTITY retentionApplyToFlagged.accesskey "k">
+<!ENTITY nntpRemoveMsgBody.label "移除消息体,当消息超过">
+<!ENTITY nntpRemoveMsgBody.accesskey "o">
+<!ENTITY offlineSelectNntp.label "选择用于脱机工作的新闻组…">
+<!ENTITY offlineSelectNntp.accesskey "S">
+<!ENTITY offlineImapAdvancedOffline.label "高级…">
+<!ENTITY offlineImapAdvancedOffline.accesskey "v">
+<!ENTITY syncGroupTitle.label "消息同步">
+<!ENTITY diskspaceGroupTitle.label "磁盘空间">
+
+<!-- LOCALIZATION NOTE: (ageAutosyncBefore.label, ageAutosyncMiddle.label, ageAutosyncAfter.label):
+ The entities ageAutosyncBefore.label, ageAutosyncMiddle.label, and ageAutosyncAfter.label appear
+ on a single line within the scope of useAutosync.ByAge as follows:
+
+ &ageAutosyncBefore.label [textbox for autosync value] &ageAutosyncMiddle.label; [dropdown for autosync interval] &ageAutosyncAfter.label;
+-->
+<!ENTITY allAutosync.label "同步所有消息至本地,忽略消息的时间">
+<!ENTITY allAutosync.accesskey "c">
+<!ENTITY ageAutosyncBefore.label "同步最近">
+<!ENTITY ageAutosync.accesskey "z">
+<!ENTITY ageAutosyncMiddle.label "">
+<!ENTITY dayAgeInterval.label "天前的消息">
+<!ENTITY weekAgeInterval.label "周前的消息">
+<!ENTITY monthAgeInterval.label "个月前的消息">
+<!ENTITY yearAgeInterval.label "年前的消息">
+<!ENTITY ageAutosyncAfter.label "">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-advanced.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-advanced.dtd
new file mode 100644
index 0000000000..f423a87f4a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-advanced.dtd
@@ -0,0 +1,31 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY serverAdvanced.label "高级账户设置">
+<!-- LOCALIZATION NOTE (serverDirectory.label): Do not translate "IMAP" -->
+<!ENTITY serverDirectory.label "IMAP 服务器目录:">
+<!ENTITY serverDirectory.accesskey "d">
+<!ENTITY usingSubscription.label "仅显示已订阅的文件夹">
+<!ENTITY usingSubscription.accesskey "w">
+<!ENTITY dualUseFolders.label "服务器支持包含子文件夹和消息的文件夹">
+<!ENTITY dualUseFolders.accesskey "f">
+<!ENTITY maximumConnectionsNumber.label "最大服务器连接缓冲数">
+<!ENTITY maximumConnectionsNumber.accesskey "M">
+<!-- LOCALIZATION NOTE (namespaceDesc.label): Do not translate "IMAP" -->
+<!ENTITY namespaceDesc.label "此首选项指定您的 IMAP 服务器的名字空间">
+<!ENTITY personalNamespace.label "个人名字空间:">
+<!ENTITY personalNamespace.accesskey "P">
+<!ENTITY publicNamespace.label "公共 (共享):">
+<!ENTITY publicNamespace.accesskey "u">
+<!ENTITY otherUsersNamespace.label "其他用户:">
+<!ENTITY otherUsersNamespace.accesskey "O">
+<!ENTITY overrideNamespaces.label "允许服务器忽略这些名字空间">
+<!ENTITY overrideNamespaces.accesskey "A">
+<!ENTITY pop3DeferringDesc.label "把从服务器上下载下来的此账户的新邮件存放到下列文件夹:">
+<!ENTITY accountInbox.label "此账户的收件箱">
+<!ENTITY accountInbox.accesskey "s">
+<!ENTITY deferToServer.label "不同账户的收件箱">
+<!ENTITY deferToServer.accesskey "d">
+<!ENTITY deferGetNewMail.label "收取新邮件时包括此服务器">
+<!ENTITY deferGetNewMail.accesskey "I">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-top.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-top.dtd
new file mode 100644
index 0000000000..cd08165661
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-server-top.dtd
@@ -0,0 +1,89 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY messageStorage.label "消息存储">
+<!ENTITY securitySettings.label "安全设置">
+<!ENTITY serverSettings.label "服务器设置">
+<!ENTITY serverType.label "服务器类型">
+<!ENTITY serverName.label "服务器名称">
+<!ENTITY serverName.accesskey "S">
+<!ENTITY userName.label "用户名">
+<!ENTITY userName.accesskey "N">
+<!ENTITY port.label "端口">
+<!ENTITY port.accesskey "P">
+<!ENTITY serverPortDefault.label "默认:">
+<!-- LOCALIZATION NOTE (biffStart.label) : translate below 2 line with grammar dependency
+ For example, in Japanese cases:
+ biffStart.label "every"
+ biffEnd.label "minutes for new messages Check"
+-->
+<!ENTITY biffStart.label "每隔">
+<!ENTITY biffStart.accesskey "y">
+<!ENTITY biffEnd.label "分钟检查一次新消息">
+<!ENTITY useIdleNotifications.label "当新邮件到达时允许服务器立即通知">
+<!ENTITY useIdleNotifications.accesskey "A">
+<!ENTITY connectionSecurity.label "连接安全">
+<!ENTITY connectionSecurity.accesskey "u">
+<!ENTITY connectionSecurityType-0.label "无">
+<!ENTITY connectionSecurityType-1.label "STARTTLS,如果可用">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY authMethod.label "验证方式">
+<!ENTITY authMethod.accesskey "i">
+<!ENTITY leaveOnServer.label "把消息留在服务器上">
+<!ENTITY leaveOnServer.accesskey "g">
+<!ENTITY headersOnly.label "仅下载消息头">
+<!ENTITY headersOnly.accesskey "e">
+<!ENTITY deleteByAgeFromServer.label "至多不超过">
+<!ENTITY deleteByAgeFromServer.accesskey "o">
+<!ENTITY daysEnd.label "天">
+<!ENTITY deleteOnServer2.label "直到我删除">
+<!ENTITY deleteOnServer2.accesskey "d">
+<!ENTITY downloadOnBiff.label "自动下载新消息">
+<!ENTITY downloadOnBiff.accesskey "m">
+<!ENTITY deleteMessagePrefix.label "在删除消息时:">
+<!ENTITY modelMoveToTrash.label "移到此文件夹中:">
+<!ENTITY modelMoveToTrash.accesskey "o">
+<!ENTITY modelMarkDeleted.label "仅标记为已删除">
+<!ENTITY modelMarkDeleted.accesskey "k">
+<!ENTITY modelDeleteImmediately.label "立即删除">
+<!ENTITY modelDeleteImmediately.accesskey "d">
+<!-- LOCALIZATION NOTE (expungeOnExit.label) : do not translate two of "&quot;" in below line -->
+<!ENTITY expungeOnExit.label "退出时清除 (&quot;Expunge&quot;) 收件箱">
+<!ENTITY expungeOnExit.accesskey "E">
+<!ENTITY emptyTrashOnExit.label "退出时清空“废件箱”">
+<!ENTITY emptyTrashOnExit.accesskey "x">
+<!ENTITY loginAtStartup.label "启动时检查新消息">
+<!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 "当要下载的消息数大于">
+<!ENTITY maxMessagesStart.accesskey "m">
+<!-- LOCALIZATION NOTE (maxMessagesEnd.label) : see note for maxMessagesStart.label -->
+<!ENTITY maxMessagesEnd.label "条时询问我">
+<!ENTITY alwaysAuthenticate.label "连接到该服务器时一律请求认证">
+<!ENTITY alwaysAuthenticate.accesskey "w">
+<!ENTITY newsrcFilePath1.label "News.rc 文件:">
+<!ENTITY newsrcPicker1.label "选择 News.rc 文件">
+<!ENTITY abbreviate.label "在“邮件夹”中显示新闻组名为:">
+<!ENTITY abbreviateOn.label "全名(例如,'netscape.public.mozilla.mail-news')">
+<!ENTITY abbreviateOff.label "缩写名(例如“n.p.m.mail-news”)">
+<!ENTITY advancedButton.label "高级…">
+<!ENTITY advancedButton.accesskey "v">
+<!ENTITY serverDefaultCharset2.label "默认文字编码:">
+<!ENTITY localPath1.label "本地目录:">
+<!ENTITY localFolderPicker.label "选择本地文件夹">
+<!ENTITY browseFolder.label "浏览…">
+<!ENTITY browseFolder.accesskey "B">
+<!ENTITY browseNewsrc.label "浏览…">
+<!ENTITY browseNewsrc.accesskey "e">
+
+<!ENTITY accountTitle.label "账户设置">
+<!ENTITY accountSettingsDesc.label "以下是特殊账户。没有相关标识。">
+<!ENTITY storeType.label "消息存储方式:">
+<!ENTITY storeType.accesskey "T">
+<!ENTITY mboxStore2.label "为每个文件夹创建文件 (mbox)">
+<!ENTITY maildirStore.label "为每条消息创建文件(maildir)">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-serverwithnoidentities.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-serverwithnoidentities.dtd
new file mode 100644
index 0000000000..d04d1c460a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-serverwithnoidentities.dtd
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY accountName.label "账户名称:">
+<!ENTITY accountName.accesskey "N">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-smime.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-smime.dtd
new file mode 100644
index 0000000000..11c3c476af
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "端到端加密">
+<!ENTITY e2eLearnMore.label "详细了解">
+
+<!ENTITY e2eEnc.description "若不进行端到端加密,邮件服务提供商可以轻易获知您的邮件内容,并进行大规模监控。">
+
+<!ENTITY e2eTechPref.description "首选加密技术:">
+
+<!ENTITY encryptionCert2.message "个人加密证书:">
+<!ENTITY digitalSign.certificate.button "选择…">
+<!ENTITY digitalSign.certificate.accesskey "S">
+<!ENTITY digitalSign.certificate_clear.button "清空">
+<!ENTITY digitalSign.certificate_clear.accesskey "C">
+<!ENTITY encryption.certificate.button "选择…">
+<!ENTITY encryption.certificate.accesskey "t">
+<!ENTITY encryption.certificate_clear.button "清空">
+<!ENTITY encryption.certificate_clear.accesskey "e">
+<!ENTITY signingGroupTitle.label "数字签名">
+
+<!ENTITY signingCert2.message "个人数字签名证书:">
+
+<!ENTITY sendingDefaults.label "发送消息时的默认设置">
+
+<!ENTITY technologyAutomatic.label "根据可用的密钥或证书自动选择">
+
+<!ENTITY certificates2.label "S/MIME">
+<!ENTITY manageCerts3.label "管理 S/MIME 证书">
+<!ENTITY manageCerts3.accesskey "M">
+<!ENTITY manageDevices2.label "S/MIME 安全设备">
+<!ENTITY manageDevices2.accesskey "y">
+
+<!ENTITY technologySMIME.label "首选 S/MIME">
+<!ENTITY technologyOpenPGP.label "首选 OpenPGP">
+
+<!ENTITY openpgpKeys.label "OpenPGP">
+
+<!-- Strings for the cert picker dialog -->
+<!ENTITY certPicker.title "选择证书">
+<!ENTITY certPicker.info "证书:">
+<!ENTITY certPicker.detailsLabel "选定证书的详细信息:">
+
+<!ENTITY openpgpKey.message "用于加密和数字签名的个人密钥:">
+<!ENTITY openpgpKey.button "设置个人密钥…">
+<!ENTITY openpgpKey.accesskey "o">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-smime.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-smime.properties
new file mode 100644
index 0000000000..8a462be663
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/am-smime.properties
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## S/MIME error strings.
+## Note to localization: %S is a placeholder
+NoSenderSigningCert=您指定要对此消息进行数字签名,但是应用程序无法找到您在 邮件 & 新闻组 设置中指定的签名证书,或者证书已经过期。
+NoSenderEncryptionCert=您指定要加密此消息,但是应用程序无法找到您在 邮件 & 新闻组 设置中指定的加密证书,或者证书已经过期。
+MissingRecipientEncryptionCert=您指定要加密此消息,但是应用程序无法找到和 %S 对应的加密证书。
+ErrorEncryptMail=无法加密消息。请检查您对每个收件人是否都有一个有效的电子邮件证书。请在邮件 & 新闻组账户设置中为此邮件账户选中有效且可信的证书供邮件所用。
+ErrorCanNotSignMail=无法签署消息。请检查您对每个收件人是否都有一个有效的电子邮件证书。请在邮件 & 新闻组账户设置中为此邮件账户选中有效且可信的证书供邮件所用。
+
+NoSigningCert=证书管理器无法定位可用于对您的消息进行数字签名的有效证书。
+NoSigningCertForThisAddress=证书管理器无法找到可用于签署您的消息(地址为 <%S>)的证书。
+NoEncryptionCert=证书管理器无法找到供其他人用于加密发送给您的消息的有效证书。
+NoEncryptionCertForThisAddress=证书管理器无法找到可以让其他人用来发送加密消息到您的地址 <%S> 的有效证书。
+
+encryption_needCertWantSame=您必须指定一个证书以供他人用于给您发送加密消息。您要使用同样的证书来对发送给您的消息进行加密和解密吗?
+encryption_wantSame=您要使用同样的证书来对发送给您的消息进行加密和解密吗?
+encryption_needCertWantToSelect=您必须指定一个证书以供他人用于给您发送加密消息。您现在就要配置一个加密证书吗?
+signing_needCertWantSame=对消息进行数字签名之前,您应该指定一个证书。您要使用同样的证书来对您的消息进行数字签名吗?
+signing_wantSame=您要使用同样的证书来对您的消息进行数字签名吗?
+signing_needCertWantToSelect=您必须也指定一个证书来对您的消息进行数字签名。您现在就要配置一个用于对消息进行数字签名的证书吗?
+
+## Strings used by nsMsgComposeSecure
+mime_smimeEncryptedContentDesc=S/MIME 加密的消息
+mime_smimeSignatureContentDesc=S/MIME 加密签名
+
+## Strings used by the cert picker.
+CertInfoIssuedFor=签发给:
+CertInfoIssuedBy=签发者:
+CertInfoValid=有效
+CertInfoFrom=自
+CertInfoTo=至
+CertInfoPurposes=用途
+CertInfoEmail=电子邮件
+CertInfoStoredIn=存储位置:
+NicknameExpired=(已过期)
+NicknameNotYetValid=(尚未生效)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appUpdate.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appUpdate.properties
new file mode 100644
index 0000000000..bf4881f1dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appUpdate.properties
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (updateAvailableTitle): %S will be replaced with brandShortName
+updateAvailableTitle=有 %S 更新可用。
+# LOCALIZATION NOTE (updateAvailableMessage): %S will be replaced with brandShortName
+updateAvailableMessage=更新您的 %S,享受最新速度性能与隐私权保障。
+updateAvailablePrimaryButtonLabel=下载更新
+updateAvailablePrimaryButtonAccessKey=D
+updateAvailableSecondaryButtonLabel=暂时不要
+updateAvailableSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateManualTitle): %S will be replaced with brandShortName
+updateManualTitle=无法更新 %S 至最新版本。
+# LOCALIZATION NOTE (updateManualMessage): %S will be replaced with brandShortName
+updateManualMessage=建议下载 %S 完整包,我们将协助您安装它。
+# LOCALIZATION NOTE (updateManualPrimaryButtonLabel): %S will be replaced with brandShortName
+updateManualPrimaryButtonLabel=下载 %S
+updateManualPrimaryButtonAccessKey=D
+updateManualSecondaryButtonLabel=暂时不要
+updateManualSecondaryButtonAccessKey=N
+
+# LOCALIZATION NOTE (updateUnsupportedTitle): %S will be replaced with brandShortName
+updateUnsupportedTitle=无法更新 %S 至最新版本。
+# LOCALIZATION NOTE (updateUnsupportedMessage): %S will be replaced with brandShortName
+updateUnsupportedMessage=您的系统不支持最新版本的 %S。
+updateUnsupportedPrimaryButtonLabel=详细了解
+updateUnsupportedPrimaryButtonAccessKey=L
+updateUnsupportedSecondaryButtonLabel=关闭
+updateUnsupportedSecondaryButtonAccessKey=C
+
+# LOCALIZATION NOTE (updateRestartTitle): %S will be replaced with brandShortName
+updateRestartTitle=重启 %S 以完成更新。
+# LOCALIZATION NOTE (updateRestartMessage): %S will be replaced with brandShortName
+updateRestartMessage=重启 %S 后, 其会恢复您目前打开的所有标签页和窗口。
+updateRestartPrimaryButtonLabel=重启客户端
+updateRestartPrimaryButtonAccessKey=R
+updateRestartSecondaryButtonLabel=暂时不要
+updateRestartSecondaryButtonAccessKey=N
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appleMailImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appleMailImportMsgs.properties
new file mode 100644
index 0000000000..03e8c820af
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/appleMailImportMsgs.properties
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Short name of import module
+ApplemailImportName=Apple 邮件
+
+# Description of import module
+ApplemailImportDescription=从 Mac OS X 邮件导入本地邮件
+
+# Success Message
+# LOCALIZATION NOTE(ApplemailImportMailboxSuccess): Do not translate the word "%S" below.
+ApplemailImportMailboxSuccess=本地消息已经从 %S 成功导入
+
+# Error Message
+ApplemailImportMailboxBadparam=发生内部错误。导入失败。请重试。
+
+# Error message
+# LOCALIZATION NOTE(ApplemailImportMailboxConverterror): Do not translate the word "%S" below.
+ApplemailImportMailboxConverterror=从 %S 导入消息时出错。消息未导入。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/baseMenuOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/baseMenuOverlay.dtd
new file mode 100644
index 0000000000..d2bc5f6901
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "帮助">
+<!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 "帮助">
+<!ENTITY helpMenuWin.accesskey "H">
+<!ENTITY aboutProduct2.label "关于 &brandShorterName;">
+<!ENTITY aboutProduct2.accesskey "A">
+<!ENTITY productHelp.label "&brandShortName; 帮助">
+<!ENTITY productHelp.accesskey "H">
+
+<!ENTITY productHelp.commandkey "VK_F1">
+<!ENTITY productHelpMac.commandkey "?">
+<!ENTITY productHelpMac.modifiers "accel">
+
+<!ENTITY helpKeyboardShortcuts.label "键盘快捷键">
+<!ENTITY helpKeyboardShortcuts.accesskey "K">
+
+<!ENTITY helpFeedbackPage.label "提交反馈…">
+<!ENTITY helpFeedbackPage.accesskey "S">
+
+<!ENTITY helpShowTour2.label "&brandShorterName; 导览">
+<!ENTITY helpShowTour2.accesskey "o">
+
+<!ENTITY helpGetInvolvedPage.label "参与进来">
+<!ENTITY helpGetInvolvedPage.accesskey "I">
+
+<!ENTITY helpDonationsPage.label "向我们捐款">
+<!ENTITY helpDonationsPage.accesskey "M">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/beckyImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/beckyImportMsgs.properties
new file mode 100644
index 0000000000..342de1945e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/beckyImportMsgs.properties
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# The following are used by the becky import code to display status/error
+# and informational messages
+
+# Short name of import module
+BeckyImportName=Becky! Internet Mail
+
+# Description of import module
+BeckyImportDescription=导入 Becky! Internet Mail 的本地邮件
+
+# Success Message
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+# The variable %S will contain the name of the Mailbox
+BeckyImportMailboxSuccess=已成功从 %S 导入本地邮件。
+
+BeckyImportAddressSuccess=通讯录已导入
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/charsetTitles.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/charsetTitles.properties
new file mode 100644
index 0000000000..7f8f82c10d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/charsetTitles.properties
@@ -0,0 +1,80 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Rule of this file:
+## 1. key should always be in lower case ascii so we can do case insensitive
+## comparison in the code faster.
+
+## Format of this file:
+## charset_name.title = a_title - specifies the human readable title for
+## this charset
+
+iso-8859-1.title = 西方 (ISO-8859-1)
+iso-8859-2.title = 中欧 (ISO-8859-2)
+iso-8859-3.title = 南欧 (ISO-8859-3)
+iso-8859-4.title = 波罗的海语言 (ISO-8859-4)
+iso-8859-10.title = 北欧 (ISO-8859-10)
+iso-8859-13.title = 波罗的海语言 (ISO-8859-13)
+iso-8859-14.title = 凯尔特语 (ISO-8859-14)
+iso-8859-15.title = 西方 (ISO-8859-15)
+iso-8859-16.title = 罗马尼亚语 (ISO-8859-16)
+windows-1250.title = 中欧 (Windows-1250)
+windows-1252.title = 西方 (Windows-1252)
+windows-1254.title = 土耳其语 (Windows-1254)
+windows-1257.title = 波罗的语 (Windows-1257)
+macintosh.title = 西方 (MacRoman)
+x-mac-ce.title = 中欧 (MacCE)
+x-mac-turkish.title = 土耳其语 (MacTurkish)
+x-mac-croatian.title = 克罗地亚语 (MacCroatian)
+x-mac-romanian.title = 罗马尼亚语 (MacRomanian)
+x-mac-icelandic.title = 冰岛语 (MacIcelandic)
+iso-2022-jp.title = 日语 (ISO-2022-JP)
+shift_jis.title = 日语 (Shift_JIS)
+euc-jp.title = 日语 (EUC-JP)
+big5.title = 繁体中文 (Big5)
+big5-hkscs.title = 繁体中文 (Big5-HKSCS)
+gb2312.title = 简体中文 (GB2312)
+gbk.title = 简体中文 (GBK)
+euc-kr.title = 朝鲜语 (EUC-KR)
+utf-7.title = Unicode (UTF-7)
+utf-8.title = Unicode (UTF-8)
+utf-16.title = Unicode (UTF-16)
+utf-16le.title = Unicode (UTF-16 Little Endian)
+utf-16be.title = Unicode (UTF-16 Big Endian)
+iso-8859-5.title = 西里尔字母 (ISO-8859-5)
+windows-1251.title = 西里尔字母 (Windows-1251)
+x-mac-cyrillic.title = 西里尔语 (MacCyrillic)
+x-mac-ukrainian.title = 西里尔字母/乌克兰语 (MacUkrainian)
+koi8-r.title = 西里尔字母 (KOI8-R)
+koi8-u.title = 西里尔字母/乌克兰语 (KOI8-U)
+iso-8859-7.title = 希腊语 (ISO-8859-7)
+windows-1253.title = 希腊语 (Windows-1253)
+x-mac-greek.title = 希腊语 (MacGreek)
+windows-1258.title = 越南语 (Windows-1258)
+windows-874.title = 泰语(Windows-874)
+iso-8859-6.title = 阿拉伯语 (ISO-8859-6)
+iso-8859-8.title = 视觉顺序希伯来语(ISO-8859-8)
+iso-8859-8-i.title = 希伯来语(ISO-8859-8-I)
+windows-1255.title = 希伯来语(Windows-1255)
+windows-1256.title = 阿拉伯语 (Windows-1256)
+x-user-defined.title = 用户设定
+ibm866.title = 西里尔字母/俄语 (IBM-866)
+gb18030.title = 简体中文 (GB18030)
+x-mac-arabic.title = 阿拉伯语 (MacArabic)
+x-mac-farsi.title = 波斯语 (MacFarsi)
+x-mac-hebrew.title = 希伯来语 (MacHebrew)
+x-mac-devanagari.title = 印地语 (MacDevanagari)
+x-mac-gujarati.title = 古吉拉特语 (MacGujarati)
+x-mac-gurmukhi.title = 果鲁穆奇语 (MacGurmukhi)
+
+chardet.off.title = (关闭)
+chardet.universal_charset_detector.title = 自动选择
+chardet.ja_parallel_state_machine.title = 日本语
+chardet.ko_parallel_state_machine.title = Korean字体
+chardet.zhtw_parallel_state_machine.title = 繁体中文
+chardet.zhcn_parallel_state_machine.title = 简体中文
+chardet.zh_parallel_state_machine.title = 中文
+chardet.cjk_parallel_state_machine.title = 东亚
+chardet.ruprob.title = 俄语
+chardet.ukprob.title = 乌克兰语
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/chat.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/chat.dtd
new file mode 100644
index 0000000000..86f9b2de6d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/chat.dtd
@@ -0,0 +1,44 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY onlineContactsHeader.label "在线的联系人">
+<!ENTITY offlineContactsHeader.label "离线的联系人">
+<!ENTITY conversationsHeader.label "对话">
+<!ENTITY searchResultConversation.label "搜索结果">
+<!ENTITY chat.noConv.title "对话会显示在这里。">
+<!ENTITY chat.noConv.description "使用左侧的联系人列表开始对话。">
+<!ENTITY chat.noPreviousConv.description "&brandShortName; 目前没有存储任何以前与此联系人的对话。">
+<!ENTITY chat.noAccount.title "您还没有设置聊天账户。">
+<!ENTITY chat.noAccount.description "让 &brandShortName; 引导您设置聊天账户。">
+<!ENTITY chat.accountWizard.button "入门">
+<!ENTITY chat.noConnectedAccount.title "您的聊天账户已离线。">
+<!ENTITY chat.noConnectedAccount.description "您可以从“聊天状态”对话框联系他们:">
+<!ENTITY chat.showAccountManager.button "显示聊天状态">
+
+<!ENTITY chat.participants "参与者:">
+<!ENTITY chat.previousConversations "以前的对话:">
+<!ENTITY chat.ongoingConversation "正在进行的对话">
+
+<!ENTITY openConversationCmd.label "开始一个对话">
+<!ENTITY openConversationCmd.accesskey "C">
+<!ENTITY closeConversationCmd.label "关闭对话">
+<!ENTITY closeConversationCmd.accesskey "C">
+<!ENTITY aliasCmd.label "重命名">
+<!ENTITY aliasCmd.accesskey "R">
+<!ENTITY deleteCmd.label "移除联系人">
+<!ENTITY deleteCmd.accesskey "v">
+
+<!ENTITY openConversationButton.tooltip "开始一个对话">
+<!ENTITY closeConversationButton.tooltip "关闭对话">
+
+<!ENTITY addBuddyButton.label "添加联系人">
+<!ENTITY joinChatButton.label "加入聊天">
+<!ENTITY chatAccountsButton.label "显示账户">
+
+<!ENTITY status.available "空闲">
+<!ENTITY status.unavailable "忙碌">
+<!ENTITY status.offline "脱机">
+
+<!ENTITY openLinkCmd.label "打开链接…">
+<!ENTITY openLinkCmd.accesskey "O">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/chat.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/chat.properties
new file mode 100644
index 0000000000..567295f815
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=聊天
+goBackToCurrentConversation.button=回到当前的对话
+# LOCALIZATION NOTE (startAConversationWith.button):
+# %S is replaced with the display name of a contact.
+startAConversationWith.button=开始一次与 %S 的对话
+
+# LOCALIZATION NOTE (defaultGroup):
+# this is used in the addBuddies dialog if the list of existing groups is empty
+defaultGroup=联系人
+
+# LOCALIZATION NOTE (buddy.authRequest.label):
+# This string appears in a notification bar at the
+# top of the Contacts window when someone added the user to his/her
+# contact list, to request the permission from the user to share
+# status information with this potential new contact.
+# %S is replaced with the user name of the potential new contact.
+buddy.authRequest.label=%S 想与您聊天
+buddy.authRequest.allow.label=允许
+buddy.authRequest.allow.accesskey=A
+buddy.authRequest.deny.label=拒绝
+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 想要验证彼此的身份
+buddy.verificationRequest.allow.label=开始验证
+buddy.verificationRequest.allow.accesskey=S
+buddy.verificationRequest.deny.label=拒绝
+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=删除 %S?
+
+# LOCALIZATION NOTE (buddy.deletePrompt.message):
+# %1$S will be replaced by the name of a buddy (either the alias
+# followed by the username between parenthesis if an alias is set, or
+# only the username otherwise).
+# %2$S will be the name of the protocol on which this buddy is removed
+# (for example: AIM, MSN, Google Talk).
+#
+# Please find a wording that will keep the username as close as
+# possible to the beginning of the string, because this is the
+# important information that an user should see when looking quickly
+# at this prompt.
+buddy.deletePrompt.message=如果您继续,%1$S 将永久从您的 %2$S 好友列表中删除。
+
+# LOCALIZATION NOTE (buddy.deletePrompt.displayName):
+# This is used to format the display name inserted in buddy.deletePrompt.message
+# %1$S is the alias, %2$S is the username.
+buddy.deletePrompt.displayName=%1$S (%2$S)
+
+# LOCALIZATION NOTE (buddy.deletePrompt.button):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+buddy.deletePrompt.button=删除(&D)
+
+displayNameEmptyText=显示姓名
+userIconFilePickerTitle=选择新图标…
+
+# LOCALIZATION NOTE (chat.isTyping, chat.hasStoppedTyping):
+# The contact display name is displayed with a big font on a first
+# line and these two strings are displayed on a second line with a
+# smaller font. Please try to find a wording that make this look
+# almost like a sentence.
+chat.isTyping=正在输入…
+chat.hasStoppedTyping=已停止输入。
+# LOCALIZATION NOTE (chat.contactIsTyping, chat.contactHasStoppedTyping):
+# These strings are displayed in a tooltip when hovering the status type icon.
+# %S is replaced with the display name of the contact.
+chat.contactIsTyping=%S 正在输入。
+chat.contactHasStoppedTyping=%S 已停止输入。
+
+# LOCALIZATION NOTE (unknownCommand):
+# This is shown when an unknown command (/foo) is attempted. %S is the command.
+unknownCommand=%S 是不支持的命令。输入 /help 来查看命令列表。
+
+#LOCALIZATION NOTE
+# These are special entries in the log tree for the corresponding days.
+log.today=今天
+log.yesterday=昨天
+
+#LOCALIZATION NOTE
+# These are special groups in the log tree for the last 3-7 days and
+# the last 8-14 days.
+log.currentWeek=本周
+log.previousWeek=上周
+
+# LOCALIZATION NOTE (messagePreview):
+# This is the default message preview to be shown
+# when the user has chosen not to show any info in the notification about the
+# incoming message being notified.
+messagePreview=新的聊天消息
+
+#LOCALIZATION NOTE (bundledMessagePreview): Semi-colon list of plural forms.
+# Used when multiple incoming messages from the same sender are bundled
+# into a single notification.
+# #1 is the number of incoming messages the user is being notified about. When #1
+# is greater than one, the plural form after the semicolon is used.
+# Do not translate %1$S, it is the message preview to be shown in the
+# notification, i.e. the first incoming message.
+bundledMessagePreview=%1$S… (等 #1 条消息)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/configEditorOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/configEditorOverlay.dtd
new file mode 100644
index 0000000000..3d78799d68
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.dtd
new file mode 100644
index 0000000000..122d31ede1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.dtd
@@ -0,0 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY converterDialog.title "消息存储类型转换">
+<!ENTITY converterDialog.continueButton "继续">
+<!ENTITY converterDialog.cancelButton "取消">
+<!ENTITY converterDialog.finishButton "完成">
+<!ENTITY converterDialog.complete "转换完成。&brandShortName; 将重新启动。">
+<!ENTITY converterDialog.error "转换失败。">
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.properties
new file mode 100644
index 0000000000..cb46791cc6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/converterDialog.properties
@@ -0,0 +1,41 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (converterDialog.warning):
+# %1$S will be replaced by the name of the account which is going to be converted.
+# %2$S will be replaced by the format into which the account will be converted.
+# %3$S will be replaced by $BrandShortName.
+converterDialog.warning=账号 %1$S 中的信息将转换为 %2$S 格式。转换完成后将重新启动 %3$S。
+
+# LOCALIZATION NOTE (converterDialog.message):
+# %1$S will be replaced by the name of the account which is being converted.
+# %2$S will be replaced by the format into which the account will be converted.
+converterDialog.message=正在将账户类型从 %1$S 转换到 %2$S…
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredAccount):
+# %1$S will be replaced by the name of the deferred account for which migration is initiated by the user.
+# %2$S will be replaced by the name of the account to which the deferred account is deferred ie the name of the deferred-to account.
+# %3$S will be replaced by the name of the deferred-to account.
+# %4$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %5$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %6$S will be replaced by the format into which the accounts will be converted.
+# %7$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredAccount=已成功转递 %1$S 给 %2$S。转递给 %3$S 的账户:%4$S。账户 %5$S 中的消息将被转换为 %6$S 格式。转换完成后将重启 %7$S。
+
+# LOCALIZATION NOTE (converterDialog.warningForDeferredToAccount):
+# %1$S will be replaced by the name of the deferred-to account for which migration is initiated by the user and to which other accounts are deferred.
+# %2$S will be replaced by a comma separated list of names of accounts which are deferred to the deferred-to account.
+# %3$S will be replaced by a comma separated list of names of accounts which are going to get converted.
+# %4$S will be replaced by the format into which the accounts will be converted.
+# %5$S will be replaced by $BrandShortName.
+converterDialog.warningForDeferredToAccount=转递给 %1$S 的账户:%2$S。账户 %3$S 中的消息将被转换为 %4$S 格式。转换完成后将重启 %5$S。
+
+# LOCALIZATION NOTE (converterDialog.messageForDeferredAccount):
+# %1$S will be replaced by a comma separated list of names of accounts which are being converted.
+# %2$S will be replaced by the format into which the accounts will be converted.
+converterDialog.messageForDeferredAccount=正在将账户类型从 %1$S 转换到 %2$S…
+
+# LOCALIZATION NOTE (converterDialog.percentDone):
+# %1$S will be replaced by the percentage of conversion that is complete.
+converterDialog.percentDone=%1$S%% 完成
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/custom.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/custom.properties
new file mode 100644
index 0000000000..2bed554cce
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/custom.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+colonInHeaderName=您输入的头中有一个无效字符(例如':',)、一个不可打印的字符、一个非 ascii 字符或者一个 8 位 ascii 字符。请删除该无效字符然后重试。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.dtd
new file mode 100644
index 0000000000..4559ac76b0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY dialog.title "定制工具栏">
+<!ENTITY dialog.dimensions "width: 92ch; height: 36em;">
+<!ENTITY instructions.description "您可以通过拖拽来添加与移除工具栏上的项目。">
+<!ENTITY show.label "显示:">
+<!ENTITY iconsAndText.label "图标和文字">
+<!ENTITY icons.label "图标">
+<!ENTITY text.label "文字">
+<!ENTITY iconsBesideText.label "文字旁的图示">
+<!ENTITY useSmallIcons.label "使用小图标">
+<!ENTITY restoreDefaultSet.label "恢复默认设置">
+<!ENTITY showTitlebar2.label "标题栏">
+<!ENTITY extraDragSpace2.label "窗口拖拽区">
+<!ENTITY saveChanges.label "完成">
+<!ENTITY undoChanges.label "撤销更改">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.properties
new file mode 100644
index 0000000000..4a00f556c7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/customizeToolbar.properties
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+enterToolbarTitle=新工具栏
+enterToolbarName=请输入此工具栏的名称:
+enterToolbarDup=已有一个名为“%S”的工具栏。请选用其他名称。
+enterToolbarBlank=您必须输入一个名称才能创建一个新工具栏。
+separatorTitle=分隔线
+springTitle=弹性空白
+spacerTitle=空白
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/downloadheaders.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/downloadheaders.dtd
new file mode 100644
index 0000000000..ab8e2bc85d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/downloadheaders.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY all.label "下载所有消息头">
+<!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.
+-->
+
+<!--LOCALIZATION NOTE (download.label):
+ consider the download.label and headers.label as a single sentence
+ with the number of headers to be downloaded inserted between them:
+ EXAMPLE: "Download" <some number> "headers"
+ Either label could be set to null ("") if required grammatically.
+-->
+
+<!ENTITY download.label "下载">
+<!ENTITY download.accesskey "o">
+<!--LOCALIZATION NOTE (headers.label): see note for download.label -->
+<!ENTITY headers.label "消息头">
+<!ENTITY headers.accesskey "h">
+<!ENTITY mark.label "标记剩余消息头为已读">
+<!ENTITY mark.accesskey "M">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.dtd
new file mode 100644
index 0000000000..0ccf5a9f7c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY editContactPanelDeleteContact.label "删除">
+<!ENTITY editContactPanelDeleteContact.accesskey "l">
+
+<!ENTITY editContactName.label "名称">
+<!ENTITY editContactName.accesskey "N">
+
+<!ENTITY editContactEmail.label "邮箱">
+<!ENTITY editContactEmail.accesskey "E">
+
+<!ENTITY editContactAddressBook.label "通讯录">
+<!ENTITY editContactAddressBook.accesskey "A">
+
+<!ENTITY editContactPanelDone.label "完成">
+<!ENTITY editContactPanelDone.accesskey "D">
+
+<!ENTITY contactMoveDisabledWarning.description "您不能更改通讯录,因为联系人在邮件列表中。">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.properties
new file mode 100644
index 0000000000..f62804f367
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/editContactOverlay.properties
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+editTitle=编辑联系人
+viewTitle=查看联系人
+
+editDetailsLabel=编辑详细信息
+editDetailsAccessKey=t
+viewDetailsLabel=查看详细信息
+viewDetailsAccessKey=t
+
+deleteContactTitle=删除联系人
+deleteContactMessage=您确定要删除此联系人吗?
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/fieldMapImport.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/fieldMapImport.dtd
new file mode 100644
index 0000000000..ff6637b515
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "下一个">
+<!ENTITY fieldMapImport.next.accesskey "N">
+<!ENTITY fieldMapImport.previous.label "上一个">
+<!ENTITY fieldMapImport.previous.accesskey "P">
+<!ENTITY fieldMapImport.text "使用“上移”和“下移”来使左边的通讯录字段和右边要导入的数据吻合。取消选择您不想导入的项。">
+<!ENTITY fieldMapImport.up.label "上移">
+<!ENTITY fieldMapImport.up.accesskey "U">
+<!ENTITY fieldMapImport.down.label "下移">
+<!ENTITY fieldMapImport.down.accesskey "D">
+<!ENTITY fieldMapImport.fieldListTitle "通讯录字段:">
+<!ENTITY fieldMapImport.dataTitle "要导入的记录数据:">
+<!ENTITY fieldMapImport.skipFirstRecord.label "第一条包含字段名的记录">
+<!ENTITY fieldMapImport.skipFirstRecord.accessKey "F">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/filter.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/filter.properties
new file mode 100644
index 0000000000..d294a381c2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/filter.properties
@@ -0,0 +1,108 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+mustSelectFolder=必须选择一个目标文件夹。
+enterValidEmailAddress=请输入一个有效的转发电子邮件地址。
+pickTemplateToReplyWith=请选择回复所用的模板。
+mustEnterName=必须给这个过滤器起一个名称。
+cannotHaveDuplicateFilterTitle=过滤器名称重复
+cannotHaveDuplicateFilterMessage=您输入的过滤器名称已经存在,请重新输入不同名称。
+mustHaveFilterTypeTitle=未选择过滤器事件
+mustHaveFilterTypeMessage=这个过滤器应用时,你至少要选择一个事件。如果你希望在所有事件中临时停止运行这个过滤器,从消息过滤器对话框中选空他的启用状态即可。
+deleteFilterConfirmation=确定要删除选中的过滤器吗?
+matchAllFilterName=匹配所有信息
+filterListBackUpMsg=您的过滤器因为无法读取包含您过滤器的 msgFilterRules.dat 文件而无法工作。将创建名称为 msgFilterRules.dat 的新文件,名称为 rulesbackup.dat 的旧文件的备份也将保存在同一个目录中。
+customHeaderOverflow=您已经达到了 50 个自定义头的上限。请先删掉一些旧的自定义头然后重试。
+filterCustomHeaderOverflow=您过滤器个数已经达到了 50 个自定义头的上限。请编辑包含了您的过滤器的 msgFilterRules.dat 文件,以使用更少的自定义头。
+invalidCustomHeader=您的某个过滤器使用了一个包含非法字符的自定义的头,例如“:”,一个不可打印的字符,一个非 ascii 字符,或者一个八位 ascii 字符。请编辑 msgFilterRules.dat 文件(其中包含了您的过滤器信息),并从您的自定义头中移除非法字符。
+continueFilterExecution=应用过滤器 %S 失败。您要继续选择其他过滤器吗?
+promptTitle=正在执行的过滤器
+promptMsg=您当前正在对消息过滤。\n您要继续执行过滤器吗?
+stopButtonLabel=停止
+continueButtonLabel=继续
+# LOCALIZATION NOTE(cannotEnableIncompatFilter)
+# %S=the name of the application
+cannotEnableIncompatFilter=此过滤器很可能是 %S 的较新版本或不兼容版本创建的。您无法启用此过滤器,因为我们也不知如何应用。
+dontWarnAboutDeleteCheckbox=不再询问
+# LOCALIZATION NOTE(copyToNewFilterName)
+# %S=the name of the filter that is being copied
+copyToNewFilterName=%S 的副本
+# LOCALIZATION NOTE(contextPeriodic.label): Semi-colon list of plural forms.
+# #1=the number of minutes
+contextPeriodic.label=定期,每 #1 分钟
+
+# LOCALIZATION NOTE(filterFailureWarningPrefix)
+# %1$S=filter error action
+# %2$S=error code as hexadecimal string.
+filterFailureWarningPrefix=过滤器操作失败:“%1$S”操作,错误码=%2$S:
+filterFailureSendingReplyError=发送回复时出错
+filterFailureSendingReplyAborted=已中止发送回复
+filterFailureMoveFailed=移动失败
+filterFailureCopyFailed=复制失败
+filterFailureAction=筛选操作应用失败
+
+searchTermsInvalidTitle=无效的搜索条件
+# LOCALIZATION NOTE(searchTermsInvalidRule)
+# %1$S=search attribute name from the invalid rule
+# %2$S=search operator from the bad rule
+searchTermsInvalidRule=过滤器无法保存,因为搜索的关键词 "%1$S %2$S" 在当前上下文环境中是无效的。
+# LOCALIZATION NOTE(filterActionOrderExplanation)
+# Keep the \n\n that mean 2 linebreaks.
+filterActionOrderExplanation=当一个消息匹配此过滤器时,将以下顺序执行操作:\n\n
+filterActionOrderTitle=实际操作顺序
+## LOCALIZATION NOTE(filterActionItem):
+# %1$S=sequence number of the action, %2$S=action text, %3$S=action argument
+filterActionItem=%1$S: %2$S %3$S\n
+
+## LOCALIZATION NOTE(filterCountVisibleOfTotal):
+# %1$S=number of matching filters, %2$S=total number of filters
+filterCountVisibleOfTotal=%1$S / %2$S
+## LOCALIZATION NOTE(filterCountItems):
+## Semicolon-separated list of singular and plural forms.
+## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+## #1 is the count of items in the list.
+filterCountItems=#1 项
+# for junk mail logging / mail filter logging
+# LOCALIZATION NOTE(junkLogDetectStr)
+# %1$S=author, %2$S=subject, %3$S=date
+junkLogDetectStr=已检测到垃圾邮件消息: %1$S - %2$S 日期 %3$S
+# LOCALIZATION NOTE(logMoveStr)
+# %1$S=message id, %2$S=folder URI
+logMoveStr=已复制消息 id = %1$S 至 %2$S
+# LOCALIZATION NOTE(logCopyStr)
+# %1$S=message id, %2$S=folder URI
+logCopyStr=已复制消息 id = %1$S 至 %2$S
+# LOCALIZATION NOTE(filterLogLine):
+# %1$S=timestamp, %2$S=log message
+filterLogLine=[%1$S] %2$S
+# LOCALIZATION NOTE(filterMessage):
+# %1$S=filter name, %1$S=log message
+filterMessage=来自过滤器“%1$S”的消息:%2$S
+# LOCALIZATION NOTE(filterLogDetectStr)
+# %1$S=filter name %2$S=author, %3$S=subject, %4$S=date
+filterLogDetectStr=对位于 %4$S 的从 %2$S 至 %3$S 的消息执行 "%1$S" 过滤器
+filterMissingCustomAction=缺失自定义动作
+filterAction2=优先级已修改
+filterAction3=已删除
+filterAction4=标记为已读
+filterAction5=已删除论题
+filterAction6=已跟踪此话题
+filterAction7=已加星标
+filterAction8=已加标签
+filterAction9=已回复
+filterAction10=已转发
+filterAction11=执行已停止
+filterAction12=从 POP3 服务器删除
+filterAction13=保留在 POP3 服务器上
+filterAction14=垃圾分值
+filterAction15=消息体已从 POP3 服务器获取
+filterAction16=已复制至文件夹
+filterAction17=已加标签
+filterAction18=忽略的子论题
+filterAction19=标记为未读
+# LOCALIZATION NOTE(filterAutoNameStr)
+# %1$S=Header or item to match, e.g. "From", "Tag", "Age in days", etc.
+# %2$S=Operator, e.g. "Contains", "is", "is greater than", etc.
+# %3$S=Value, e.g. "Steve Jobs", "Important", "42", etc.
+filterAutoNameStr=%1$S %2$S: %3$S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderProps.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderProps.dtd
new file mode 100644
index 0000000000..4c1b2d7212
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "属性">
+
+<!ENTITY generalInfo.label "基本信息">
+<!ENTITY folderRebuildSummaryFileTip2.label "重建概要文件索引">
+<!ENTITY folderRebuildSummaryFile2.label "修复文件夹">
+<!ENTITY folderRebuildSummaryFile2.accesskey "R">
+<!ENTITY folderRebuildSummaryFile.explanation "有时候文件夹索引文件(.msf)被损坏并且出现邮件丢失或者已删除的邮件又重新出现的现象,修复此文件夹可以修复这类问题。">
+<!ENTITY folderIncludeInGlobalSearch.label "在全局搜索结果中包含这个文件夹的邮件">
+<!ENTITY folderIncludeInGlobalSearch.accesskey "G">
+
+<!ENTITY retention.label "保留策略">
+<!ENTITY retentionUseAccount.label "使用我的账户设置">
+<!ENTITY retentionUseAccount.accesskey "U">
+<!ENTITY daysOld.label "天的消息">
+<!ENTITY message.label "消息">
+<!ENTITY retentionCleanup.label "将旧消息永久删除可释放更多磁盘空间">
+<!ENTITY retentionCleanupImap.label "要回收磁盘空间,可以永久删除本地副本和远程服务器上的原始旧消息。">
+<!ENTITY retentionCleanupPop.label "要回收磁盘空间,可以永久删除旧消息,包括远程服务器上的原文。">
+<!ENTITY retentionDeleteMsg.label "删除超过">
+<!ENTITY retentionDeleteMsg.accesskey "m">
+<!ENTITY retentionKeepAll.label "不要删除任何消息">
+<!ENTITY retentionKeepAll.accesskey "a">
+<!ENTITY retentionKeepRecent.label "仅保留最近">
+<!ENTITY retentionKeepRecent.accesskey "l">
+<!ENTITY retentionApplyToFlagged.label "一律保留已加星标的消息">
+<!ENTITY retentionApplyToFlagged.accesskey "e">
+
+<!ENTITY folderSynchronizationTab.label "同步">
+<!ENTITY folderCheckForNewMessages2.label "当获取此账户的新邮件时,一律查收此文件夹">
+<!ENTITY folderCheckForNewMessages2.accesskey "c">
+
+<!ENTITY offlineFolder.check.label "选择此文件夹供脱机使用">
+<!ENTITY offlineFolder.check.accesskey "S">
+<!ENTITY offlineFolder.button.label "立即下载">
+<!ENTITY offlineFolder.button.accesskey "D">
+
+<!ENTITY selectofflineNewsgroup.check.label "选择要脱机使用的新闻组">
+<!ENTITY selectofflineNewsgroup.check.accesskey "o">
+<!ENTITY offlineNewsgroup.button.label "立即下载">
+<!ENTITY offlineNewsgroup.button.accesskey "D">
+
+<!ENTITY folderProps.name.label "名称:">
+<!ENTITY folderProps.name.accesskey "N">
+<!ENTITY folderProps.color.label "图标颜色:">
+<!ENTITY folderProps.color.accesskey "I">
+<!ENTITY folderProps.reset.tooltip "恢复默认颜色">
+<!ENTITY folderProps.location.label "地址:">
+<!ENTITY folderProps.location.accesskey "L">
+
+<!ENTITY folderSharingTab.label "共享">
+<!ENTITY privileges.button.label "权限…">
+<!ENTITY privileges.button.accesskey "P">
+<!ENTITY permissionsDesc.label "您拥有如下的权限:">
+<!ENTITY folderOtherUsers.label "其他有权访问此文件夹的人:">
+<!ENTITY folderType.label "文件夹类型:">
+
+<!ENTITY folderQuotaTab.label "配额">
+<!ENTITY folderQuotaUsage.label "使用量:">
+<!ENTITY folderQuotaStatus.label "状态:">
+
+<!ENTITY numberOfMessages.label "消息数目:">
+<!-- LOCALIZATION NOTE: When the number of messages can't be determined, this string is displayed as the number -->
+<!ENTITY numberUnknown.label "未知">
+<!ENTITY sizeOnDisk.label "磁盘上的大小:">
+<!-- LOCALIZATION NOTE: When the size can't be determined, this string is displayed as the size -->
+<!ENTITY sizeUnknown.label "未知">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderWidgets.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderWidgets.properties
new file mode 100644
index 0000000000..651e0b4e83
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderWidgets.properties
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE(globalInbox)
+# %S=name of the Local folders account
+globalInbox=全局收件箱 (%S)
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%2$S 的 %1$S
+chooseFolder=选择文件夹…
+chooseAccount=选择账号…
+noFolders=无可用的文件夹
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderpane.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderpane.dtd
new file mode 100644
index 0000000000..5a9ecf50f3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/folderpane.dtd
@@ -0,0 +1,7 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!ENTITY nameColumn.label "名称">
+<!ENTITY unreadColumn.label "未读">
+<!ENTITY totalColumn.label "总共">
+<!ENTITY folderSizeColumn.label "大小">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/gloda.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/gloda.properties
new file mode 100644
index 0000000000..964ac45490
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=账户
+gloda.message.attr.account.includeLabel=存储在下列任何位置:
+gloda.message.attr.account.excludeLabel=未存储在:
+gloda.message.attr.account.remainderLabel=其他账户:
+gloda.message.attr.account.mustMatchLabel=必须在 #1
+gloda.message.attr.account.cantMatchLabel=必须不在 #1
+
+# LOCALIZATION NOTE (gloda.message.attr.folder.*): Stores the message folder in
+# which the message is stored.
+gloda.message.attr.folder.facetNameLabel=文件夹
+gloda.message.attr.folder.includeLabel=存储在下列任何位置:
+gloda.message.attr.folder.excludeLabel=未存储在:
+gloda.message.attr.folder.remainderLabel=其他文件夹:
+gloda.message.attr.folder.mustMatchLabel=必须在 #1
+gloda.message.attr.folder.cantMatchLabel=必须不在 #1
+
+# LOCALIZATION NOTE (gloda.message.attr.fromMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.fromMe.facetNameLabel=我发送的
+
+# LOCALIZATION NOTE (gloda.message.attr.toMe.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.toMe.facetNameLabel=发给我的
+
+# LOCALIZATION NOTE (gloda.message.attr.involves.*): Stores everyone involved
+# with the message. This means from/to/cc/bcc.
+gloda.message.attr.involves.facetNameLabel=个人
+gloda.message.attr.involves.includeLabel=包括任意:
+gloda.message.attr.involves.excludeLabel=不包括:
+gloda.message.attr.involves.remainderLabel=其他参与者:
+gloda.message.attr.involves.mustMatchLabel=必须包含 #1
+gloda.message.attr.involves.cantMatchLabel=必须不包含 #1
+
+# LOCALIZATION NOTE (gloda.message.attr.date.*): Stores the date of the message.
+# Thunderbird normally stores the date the message claims it was composed
+# according to the "Date" header. This is not the same as when the message
+# was sent or when it was eventually received by the user. In the future we
+# may change this to be one of the other dates, but not anytime soon.
+gloda.message.attr.date.facetNameLabel=日期
+
+# LOCALIZATION NOTE (gloda.message.attr.attachmentTypes.*): Stores the list of
+# MIME types (ex: image/png, text/plain) of real attachments (not just part of
+# the message content but explicitly named attachments) on the message.
+# Although we hope to be able to provide localized human-readable explanations
+# of the MIME type (ex: "PowerPoint document"), I don't know if that is going
+# to happen.
+gloda.message.attr.attachmentTypes.facetNameLabel=附件
+
+# LOCALIZATION NOTE (gloda.message.attr.mailing-list.*): Stores the mailing
+# lists detected in the message. This will normally be the e-mail address of
+# the mailing list and only be detected in messages received from the mailing
+# list. Extensions may contribute additional detected mailing-list-like
+# things.
+gloda.message.attr.mailing-list.facetNameLabel=邮件列表
+gloda.message.attr.mailing-list.noneLabel=无
+gloda.message.attr.mailing-list.includeLabel=收到下列任何一项:
+gloda.message.attr.mailing-list.excludeLabel=未收到下列任何一项:
+gloda.message.attr.mailing-list.remainderLabel=其他邮件列表:
+gloda.message.attr.mailing-list.mustMatchLabel=必须在 #1
+gloda.message.attr.mailing-list.cantMatchLabel=必须不在 #1
+gloda.message.attr.mailing-list.mustMatchSomeLabel=必须在邮件列表中
+gloda.message.attr.mailing-list.mustMatchNoneLabel=必须不在邮件列表中
+
+# LOCALIZATION NOTE (gloda.message.attr.tag.*): Stores the tags applied to the
+# message. Notably, gmail's labels are not currently exposed via IMAP and we
+# do not do anything clever with gmail, so this is 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=标签
+gloda.message.attr.tag.noneLabel=无
+gloda.message.attr.tag.includeLabel=包含下列任一标签:
+gloda.message.attr.tag.excludeLabel=未加标签:
+gloda.message.attr.tag.remainderLabel=其他标签:
+gloda.message.attr.tag.mustMatchLabel=必须标签为 #1
+gloda.message.attr.tag.cantMatchLabel=必须不能标签为 #1
+gloda.message.attr.tag.mustMatchSomeLabel=必须已加标签
+gloda.message.attr.tag.mustMatchNoneLabel=必须未加标签
+
+# LOCALIZATION NOTE (gloda.message.attr.star.*): Stores whether the message is
+# starred or not, as indicated by a pretty star icon. In the past, the icon
+# used to be a flag. The IMAP terminology continues to be "flagged".
+gloda.message.attr.star.facetNameLabel=已加星标
+
+# LOCALIZATION NOTE (gloda.message.attr.read.*): Stores whether the user has
+# read the message or not.
+gloda.message.attr.read.facetNameLabel=已读
+
+# LOCALIZATION NOTE (gloda.message.attr.repliedTo.*): Stores whether we believe
+# the user has ever replied to the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.repliedTo.facetNameLabel=回复给
+
+# LOCALIZATION NOTE (gloda.message.attr.forwarded.*): Stores whether we believe
+# the user has ever forwarded the message. We normally show a little icon in
+# the thread pane when this is the case.
+gloda.message.attr.forwarded.facetNameLabel=已转发
+
+# LOCALIZATION NOTE (gloda.mimetype.category.*.label): Map categories of MIME
+# types defined in MimeTypeCategories.jsm to labels.
+# LOCALIZATION NOTE (gloda.mimetype.category.archives.label): Archive is
+# referring to things like zip files, tar files, tar.gz files, etc.
+gloda.mimetype.category.archives.label=归档
+gloda.mimetype.category.documents.label=文档
+gloda.mimetype.category.images.label=图片
+# LOCALIZATION NOTE (gloda.mimetype.category.media.label): Media is meant to
+# encompass both audio and video. This is because video and audio streams are
+# frequently stored in the same type of container and we cannot rely on the
+# sending e-mail client to have been clever enough to figure out what was
+# really in the file. So we group them together.
+gloda.mimetype.category.media.label=媒体(音频,视频)
+gloda.mimetype.category.pdf.label=PDF 文件
+# LOCALIZATION NOTE (gloda.mimetype.category.other.label): Other is the category
+# for MIME types that we don't really know what it is.
+gloda.mimetype.category.other.label=其他
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaComplete.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaComplete.properties
new file mode 100644
index 0000000000..7b9c8eff16
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=邮件标签:
+
+# LOCALIZATION NOTE (glodaComplete.messagesMentioning.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a particular word (replacing #1).
+glodaComplete.messagesMentioning.label=消息中包含:#1
+
+# LOCALIZATION NOTE (glodaComplete.messagesWithMany.label): The label used
+# in the autocomplete widget to refer to a search for all messages mentioning
+# a set of words, or a phrase containing multiple words (e.g. "red pepper")
+# We use the same words in en-US, but maybe that's not always true.
+glodaComplete.messagesMentioningMany.label=消息中包含:#1
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.dtd
new file mode 100644
index 0000000000..cc44f8d964
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.dtd
@@ -0,0 +1,29 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (glodaFacetView.filters.label): Label at the top of the
+ faceting sidebar. Serves as a header both for the checkboxes under it as
+ well for labeled facets with multiple options. -->
+<!ENTITY glodaFacetView.filters.label "过滤依据:">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.loading.label): Label that appears when
+ the search results take a long time to appear. -->
+<!ENTITY glodaFacetView.loading.label "搜索中&#8230;">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.empty.label): Label that appears when
+ there are no results that match the search query. -->
+<!ENTITY glodaFacetView.empty.label "未找到符合搜索条件的消息">
+
+<!-- LOCALIZATION NOTE (glodaFacetView.pageMore.label): Label at the bottom
+ of the results list to show more hits. -->
+<!ENTITY glodaFacetView.pageMore.label "更多 »">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.label2): The
+ label for the button/link that causes us to display all of the emails in
+ the active set in a new thread pane display tab. -->
+<!ENTITY glodaFacetView.openEmailAsList.label "以列表形式显示结果">
+
+<!-- LOCALIZATION NOTE(glodaFacetView.results.message.openEmailAsList.tooltip):
+ The tooltip to display when hovering over the openEmailAsList label. -->
+<!ENTITY glodaFacetView.openEmailAsList.tooltip "在新的标签页中显示当前活跃集合中的全部消息">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.properties
new file mode 100644
index 0000000000..92f7c75cdc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/glodaFacetView.properties
@@ -0,0 +1,171 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (glodaFacetView.tab.query.label):
+# The tab title to display for tabs that are based on a gloda (global database)
+# query or collection rather than a user search. At some point we might try
+# and explain what the query/collection is in automatic fashion, but not today.
+glodaFacetView.tab.query.label=查找
+
+# LOCALIZATION NOTE (glodaFacetView.tab.search.label):
+# The tab title to display for tabs with a new gloda (global database)
+# user search (rather than a query or collection) without a search string.
+# After the search has been started, we just display the search string entered
+# by the user.
+glodaFacetView.tab.search.label=搜索
+
+# LOCALIZATION NOTE(glodaFacetView.search.label2):
+# The heading for the search page.
+# A short description of user's search query will be appended.
+glodaFacetView.search.label2=结果:
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.fulltext.label):
+# The label to display to describe when our base query was a fulltext search
+# across messages. The value is displayed following the label.
+glodaFacetView.constraints.query.fulltext.label=正在搜索 #1
+glodaFacetView.constraints.query.fulltext.andJoinWord=并且
+glodaFacetView.constraints.query.fulltext.orJoinWord=或者
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.initial):
+# The label to display to describe when our base query is not a full-text
+# search. Additional labels are appended describing each constraint.
+glodaFacetView.constraints.query.initial=正在搜索邮件
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.involves.label):
+# The label to display to describe when our base query was on messages
+# involving a given contact from the address book. The value is displayed
+# where the #1 is.
+glodaFacetView.constraints.query.involves.label=包括 #1
+
+# LOCALIZATION NOTE(glodaFacetView.constraints.query.contact.label):
+# The label to display to describe when our base query was on messages
+# tagged with a specific tag. The tag is displayed following the label.
+glodaFacetView.constraints.query.tagged.label=标签:
+
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mode.top.listAllLabel): The label to
+# use when we are only displaying the top entries for a facet. When the
+# label is clicked on, it results in us displaying all of the values for that
+# facet. The value "#1" (if present) is replaced with the total number of
+# values that will be displayed (rather than the number currently hidden).
+# This string supports pluralization. See
+# https://developer.mozilla.org/en/Localization_and_Plurals for details on
+# how this stuff works.
+glodaFacetView.facets.mode.top.listAllLabel=显示全部 #1 项
+
+# LOCALIZATION NOTE (glodaFacetView.facets.included.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly included by the user if
+# there is no explicit attribute "includeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.includeLabel".)
+glodaFacetView.facets.included.fallbackLabel=包括任何:
+# LOCALIZATION NOTE (glodaFacetView.facets.excluded.fallbackLabel): The label to
+# use for groups in a facet that have been explicitly excluded by the user if
+# there is no explicit attribute "excludeLabel" defined. (The explicit label
+# would be named "gloda.message.attr.ATTRIBUTE.excludeLabel".)
+glodaFacetView.facets.excluded.fallbackLabel=排除:
+# LOCALIZATION NOTE (glodaFacetView.facets.remainder.fallbackLabel): The label
+# to use for groups in a facet that are neither part of the included group or
+# the excluded group if there is no explicit attribute "remainderLabel"
+# defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.remainderLabel".)
+glodaFacetView.facets.remainder.fallbackLabel=其他:
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mustMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by a particular value if there is no explicit
+# attribute "mustMatchLabel" defined. (The explicit label would be named
+# "gloda.message.attr.ATTRIBUTE.mustMatchLabel".)
+glodaFacetView.facets.mustMatchLabel.fallbackLabel=必须匹配 #1
+glodaFacetView.facets.mustMatchNoneLabel.fallbackLabel=值不能为
+
+# LOCALIZATION NOTE (glodaFacetView.facets.cantMatchLabel.fallbackLabel): The label
+# to use to restrict a facet by the absence of a particular value if there is
+# no explicit attribute "cantMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.cantMatchLabel".)
+glodaFacetView.facets.cantMatchLabel.fallbackLabel=不匹配 #1
+glodaFacetView.facets.mustMatchSomeLabel.fallbackLabel=必须值为
+
+# LOCALIZATION NOTE (glodaFacetView.facets.mayMatchLabel.fallbackLabel): The label
+# to use to undo the restriction of a facet by a particular value if there is
+# no explicit attribute "mayMatchLabel" defined. (The explicit label would be
+# named "gloda.message.attr.ATTRIBUTE.mayMatchLabel".)
+glodaFacetView.facets.mayMatchLabel.fallbackLabel=移除限制
+glodaFacetView.facets.mayMatchAnyLabel.fallbackLabel=移除限制
+
+# LOCALIZATION NOTE (glodaFacetView.facets.noneLabel): The text to display when
+# a facet needs to indicate that an attribute omitted a value or was otherwise
+# empty.
+glodaFacetView.facets.noneLabel=无
+
+# LOCALIZATION NOTE (glodaFacetView.facets.filter.attachmentTypes.allLabel):
+# The label to use when all types of attachments are being displayed.
+glodaFacetView.facets.filter.attachmentTypes.allLabel=任何种类
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.fromLabel): Used in the
+# faceted search message display to indicate the author of a message.
+# An example usage is "from: Bob".
+glodaFacetView.result.message.fromLabel=来自:
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.toLabel): Used in the
+# faceted search message display to indicate the recipients of a message.
+# An example usage is "to: Bob, Chuck, Don".
+glodaFacetView.result.message.toLabel=收件人:
+
+# LOCALIZATION NOTE (glodaFacetView.result.message.noSubject): Used in the
+# faceted search message display to act as a click target for messages with
+# no subject.
+glodaFacetView.result.message.noSubject=(无主题)
+
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel):
+# This label is displayed above the list of result messages; it tells the user
+# how many messages we are displaying in the list out of the total number of
+# messages in the active set (the set of messages remaining after the
+# application of the facet constraints.)
+# The goal of the various sub-parts here is to make a label along the lines of
+# "M of N". Because there are two numbers, this is split into two parts,
+# 'NMessages' for what in English is just the first number and 'ofN' for the
+# "of N" part. We then use 'grouping' to decide how to combine the two. This
+# was suggested by Rimas Kudelis.
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.NMessages):
+# The first part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the number of messages being shown in the result list.
+glodaFacetView.results.header.countLabel.NMessages=#1 封
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.ofN):
+# The second part of the countLabel string (although you can change the order
+# in 'grouping'). This is pluralized using the mechanism described at
+# https://developer.mozilla.org/en/Localization_and_Plurals. We replace
+# "#1" with the total number of messagse in the active set.
+glodaFacetView.results.header.countLabel.ofN=#1 封消息中的
+# LOCALIZATION NOTE(glodaFacetView.results.header.countLabel.grouping):
+# Combines the pluralized
+# "glodaFacetView.results.header.countLabel.NMessages" string (as #1) with
+# the pluralized "glodaFacetView.results.header.countLabel.ofN" (as #2)
+# to make a single label.
+glodaFacetView.results.header.countLabel.grouping=#2 #1
+
+glodaFacetView.results.message.timeline.label=切换时间轴
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.relevance2):
+# a clickable label causing the sort to be done by most relevant messages first.
+glodaFacetView.results.message.sort.relevance2=根据关联度排序
+# LOCALIZATION NOTE(glodaFacetView.results.message.sort.date2):
+# a clickable label causing the sort to be done by most recent messages first.
+glodaFacetView.results.message.sort.date2=按日期排序
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.recipientSeparator): This is
+# the string in between the names of recipients (see
+# glodaFacetView.results.message.andOthers for more information). The \u0020
+# character is a Unicode space character, which is needed as otherwise the
+# trailing whitespace is trimmed before it gets to the code.
+glodaFacetView.results.message.recipientSeparator=,\u0020
+
+# LOCALIZATION NOTE(glodaFacetView.results.message.andOthers):
+# When a message has too many recipients, we only show the first few and then
+# display this label to express how many are not displayed. So if a message
+# has 5 recipients, we might only show the first 3, and then use this label
+# to indicate that there are 2 that are not displayed. This string can be
+# pluralized; see https://developer.mozilla.org/en/Localization_and_Plurals
+# for details on how to do that. Note that in English, we use the "serial
+# comma", but other languages may not need a leading separator there.
+glodaFacetView.results.message.andOthers=,以及其他 #1 位
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccountWizard.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccountWizard.dtd
new file mode 100644
index 0000000000..1e28ba6e16
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccountWizard.dtd
@@ -0,0 +1,32 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "聊天账户向导">
+
+<!ENTITY accountProtocolTitle.label "聊天网络">
+<!ENTITY accountProtocolInfo.label "请选择您聊天账户的网络。">
+<!ENTITY accountProtocolField.label "网络:">
+<!ENTITY accountProtocolGetMore.label "获取更多…">
+
+<!ENTITY accountUsernameTitle.label "用户名">
+<!ENTITY accountUsernameDuplicate.label "此账户已经配置!">
+
+<!ENTITY accountPasswordTitle.label "密码">
+<!ENTITY accountPasswordInfo.label "请在下面的框中输入您的密码。">
+<!ENTITY accountPasswordField.label "密码:">
+<!ENTITY accountPasswordManager.label "这里输入的密码将被保存在账户管理器中。如果您想每次连接此账户时都提示输入密码,请留空此框。">
+
+<!ENTITY accountAdvancedTitle.label "高级选项">
+<!ENTITY accountAdvancedInfo.label "您也可以选择跳过此步。">
+<!ENTITY accountAdvanced.newMailNotification.label "新邮件通知">
+<!ENTITY accountAliasGroupbox.caption "本地别名">
+<!ENTITY accountAliasField.label "别名:">
+<!ENTITY accountAliasInfo.label "这仅会在您交谈时显示在您的对话中,远程联系人不会看到它。">
+<!ENTITY accountProxySettings.caption "代理设置">
+<!ENTITY accountProxySettings.change.label "更改…">
+<!ENTITY accountProxySettings.change.accessKey "C">
+
+<!ENTITY accountSummaryTitle.label "概述">
+<!ENTITY accountSummaryInfo.label "您输入的信息摘要如下。创建账户前请检查它。">
+<!ENTITY accountSummary.connectNow.label "立即连接此账户">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccounts.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccounts.properties
new file mode 100644
index 0000000000..093587acc6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imAccounts.properties
@@ -0,0 +1,63 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (protoOptions):
+# %S is replaced by the name of a protocol
+protoOptions=%S 选项
+accountUsername=用户名:
+# LOCALIZATION NOTE (accountColon):
+# This string is used to append a colon after the label of each
+# option. It's localizable so that the typography can be adapted.
+accountColon=%S:
+# LOCALIZATION NOTE (accountUsernameInfo):
+# %S is replaced by the name of a protocol
+accountUsernameInfo=请输入您 %S 账户的用户名。
+# LOCALIZATION NOTE (accountUsernameInfoWithDescription):
+# %1$S is a hint for the expected format of the username
+# %2$S is the name of a protocol
+accountUsernameInfoWithDescription=请输入您 %2$S 账户的用户名 (%1$S)。
+
+# LOCALIZATION NOTE (account.connection.error):
+# %S is the error message.
+account.connection.error=错误: %S
+# LOCALIZATION NOTE (account.connection.errorUnknownPrpl)
+# %S is the id (not very user friendly; hence the quotes) of the missing plugin.
+account.connection.errorUnknownPrpl=没有“%S”协议插件。
+account.connection.errorEnteringPasswordRequired=连接此账户时必须输入密码。
+account.connection.errorCrashedAccount=连接此账户时发生崩溃。
+# LOCALIZATION NOTE (account.connection.progress):
+# %S is a message indicating progress of the connection process
+account.connection.progress=正在连接: %S…
+account.connecting=正在连接…
+account.connectedForSeconds=已连接上几秒钟。
+# LOCALIZATION NOTE (account.connectedFor{Double,Single},
+# account.reconnectIn{Double,Single}):
+# Each pair of %S is a number followed by a unit. The units are
+# already localized in a downloads.properties file of the toolkit.
+account.connectedForDouble=已连接 %1$S %2$S 和 %3$S %4$S 。
+account.connectedForSingle=连接了 %1$S %2$S 。
+account.reconnectInDouble=重新连接 %1$S %2$S 和 %3$S %4$S 。
+account.reconnectInSingle=%1$S %2$S 后重新连接。
+
+requestAuthorizeTitle=授权请求
+# LOCALIZATION NOTE (requestAuthorizeAllow, requestAuthorizeDeny):
+# the & symbol indicates the position of the character that should be
+# used as the accesskey for this button.
+requestAuthorizeAllow=允许(&A)
+requestAuthorizeDeny=拒绝(&D)
+# LOCALIZATION NOTE (requestAuthorizeText):
+# %S is a contact username.
+requestAuthorizeText=%S 已添加您到他的好友列表,您要允许他看到您吗?
+
+accountsManager.notification.button.accessKey=C
+accountsManager.notification.button.label=立即连接
+accountsManager.notification.userDisabled.label=您已禁用自动连接。
+accountsManager.notification.safeMode.label=自动连接设置已被忽略,因为应用程序目前正运行在安全模式。
+accountsManager.notification.startOffline.label=自动连接设置已被忽略,因为应用程序是在离线模式下启动。
+accountsManager.notification.crash.label=上一次运行在连接时意外退出。自动连接已被禁用,以给您机会来编辑您的设置。
+# LOCALIZATION NOTE (accountsManager.notification.singleCrash.label): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of accounts that are suspected to have caused a crash.
+accountsManager.notification.singleCrash.label=程序之前连接到某 #1 个新的或者编辑过的账户时意外退出。已先暂时停止连接,让您能编辑该账户的设置。
+accountsManager.notification.other.label=自动连接已被禁用。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imapMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imapMsgs.properties
new file mode 100644
index 0000000000..617c36af4d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/imapMsgs.properties
@@ -0,0 +1,266 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the imap code to display progress/status/error messages
+#
+
+#LOCALIZATION NOTE(imapAlertDialogTile): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+imapAlertDialogTitle=账户 %S 的警示信息
+
+# Status - opening folder
+imapStatusSelectingMailbox=正在打开文件夹 %S…
+
+# Status - create folder
+imapStatusCreatingMailbox=正在创建文件夹…
+
+# Status - deleting a folder
+# LOCALIZATION NOTE (imapStatusDeletingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being deleted.
+imapStatusDeletingMailbox=正在删除文件夹 %S…
+
+# Status - renaming mailbox
+# LOCALIZATION NOTE (imapStatusRenamingMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being renamed.
+imapStatusRenamingMailbox=正在重命名文件夹 %S…
+
+# Status - looking for mailboxes
+imapStatusLookingForMailbox=正在查找文件夹…
+
+# Status - subscribing to mailbox
+# LOCALIZATION NOTE (imapStatusSubscribeToMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being subscribed to.
+imapStatusSubscribeToMailbox=正在订阅文件夹 %S…
+
+# Status - unsubscribing from mailbox
+# LOCALIZATION NOTE (imapStatusUnsubscribeMailbox): The "%S" below should not be translated.
+# Instead, insert "%S" in your translation where you wish to display the name
+# of the folder being unsubscribed from.
+imapStatusUnsubscribeMailbox=从文件夹 %S 取消订阅…
+
+# Status - searching imap folder
+imapStatusSearchMailbox=正在搜索文件夹…
+
+# Status - closing a folder
+imapStatusCloseMailbox=正在关闭文件夹…
+
+# Status - compacting a folder
+imapStatusExpungingMailbox=正在压缩文件夹…
+
+# Status - logging out
+imapStatusLoggingOut=正在退出登录…
+
+# Status - checking server capabilities
+imapStatusCheckCompat=正在检查邮件服务器容量…
+
+# Status - logging on
+imapStatusSendingLogin=正在发送登录信息…
+
+# Status - auth logon
+imapStatusSendingAuthLogin=正在发送登录信息…
+
+imapDownloadingMessage=正在下载消息…
+
+# LOCALIZATION NOTE (imapGettingACLForFolder): Do not translate the word "ACL" below.
+imapGettingACLForFolder=正在获取文件夹 ACL…
+
+imapGettingServerInfo=正在获取服务器配置信息…
+
+imapGettingMailboxInfo=正在获取邮箱配置信息…
+
+imapEmptyMimePart=在需要时下载主体部分。
+
+# LOCALIZATION NOTE (imapReceivingMessageHeaders3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the header being downloaded should appear.
+# Place the word %2$S in your translation where the total number of headers to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Joe's Account: Downloading message header 100 of 1000 in Drafts…"
+imapReceivingMessageHeaders3=正在下载 %3$S 文件夹中的邮件头 %1$S / %2$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=正在下载 %3$S 文件夹中的邮件标记 %1$S / %2$S…
+
+imapDeletingMessages=正在删除消息…
+
+imapDeletingMessage=正在删除消息…
+
+# LOCALIZATION NOTE (imapMovingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessages=正在移动消息到 %S…
+
+# LOCALIZATION NOTE (imapMovingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapMovingMessage=正在移动消息到 %S…
+
+# LOCALIZATION NOTE (imapCopyingMessages): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessages=正在复制消息 %S…
+
+# LOCALIZATION NOTE (imapCopyingMessage): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapCopyingMessage=正在复制消息 %S…
+
+# LOCALIZATION NOTE (imapFolderReceivingMessageOf3): Do not translate the words "%1$S", "%2$S", and "%3$S" below.
+# Place the word %1$S in your translation where the number of the message being downloaded should appear.
+# Place the word %2$S in your translation where the total number of messages to be downloaded should appear.
+# Place the word %3$S in your translation where the name of the folder being processed should appear.
+# Note: The account name and separators (e.g. colon, space) are automatically added to the status message.
+# Example: "Juan's Account: Downloading message 100 of 1000 in Sent…"
+imapFolderReceivingMessageOf3=正在下载 %3$S 文件夹中的邮件 %1$S / %2$S…
+
+# LOCALIZATION NOTE (imapDiscoveringMailbox): Do not translate the word "%S" below.
+# Place the word %S in your translation where the name of the folder should appear.
+imapDiscoveringMailbox=找到了文件夹:%S
+
+# LOCALIZATION NOTE (imapEnterServerPasswordPrompt): Do not translate the words %1$S and %2$S below.
+# Place the word %1$S in your translation where the username should appear.
+# Place the word %2$S in your translation where the servername should appear.
+imapEnterServerPasswordPrompt=请输入 %2$S 上 %1$S 的密码:
+
+# LOCALIZATION NOTE (imapServerNotImap4): Do not translate the word "IMAP4" below.
+imapServerNotImap4=邮件服务器 %S 不是 IMAP4 邮件服务器。
+
+# This is intentionally left blank.
+imapDone=
+
+# LOCALIZATION NOTE (imapEnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+imapEnterPasswordPromptTitleWithUsername=请输入 %1$S 的密码
+
+imapUnknownHostError=连接服务器 %S 失败。
+imapOAuth2Error=连接 %S 服务器时身份验证失败。
+
+imapConnectionRefusedError=连接邮件服务器 %S 时被拒绝。
+
+imapNetTimeoutError=连接服务器 %S 超时。
+
+imapTlsError=遇到不可忽略的 TLS 错误。握手错误,也可能是 %S 服务器所用的 TLS 版本或证书不兼容。
+
+# Status - no messages to download
+imapNoNewMessages=在此服务器中没有任何新的消息。
+
+imapDefaultAccountName=%S 的邮件
+
+imapSpecialChar2=%S 是此 IMAP 服务器的保留字符。请选择其他名称。
+
+imapPersonalSharedFolderTypeName=个人文件夹
+
+imapPublicFolderTypeName=公共文件夹
+
+imapOtherUsersFolderTypeName=其他用户的文件夹
+
+imapPersonalFolderTypeDescription=这是一个个人邮件夹。未共享。
+
+imapPersonalSharedFolderTypeDescription=这是一个个人邮件夹。已经共享。
+
+imapPublicFolderTypeDescription=这是一个公共文件夹。
+
+imapOtherUsersFolderTypeDescription=这是用户“%S”共享的一个邮件夹。
+
+imapAclFullRights=完全控制
+
+imapAclLookupRight=查找
+
+imapAclReadRight=阅读
+
+imapAclSeenRight=设置已读/未读状态
+
+imapAclWriteRight=写
+
+imapAclInsertRight=插入(复制到)
+
+imapAclPostRight=发布
+
+imapAclCreateRight=创建子文件夹
+
+imapAclDeleteRight=删除消息
+
+imapAclAdministerRight=管理员文件夹
+
+imapServerDoesntSupportAcl=服务器不支持共享文件夹。
+
+imapAclExpungeRight=删除
+
+imapServerDisconnected= 服务器 %S 已经断开连接。此服务器可能死机或者发生网络问题。
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the imap folder.
+imapSubscribePrompt=您要订阅 %1$S 吗?
+
+imapServerDroppedConnection=无法连接到 IMAP 服务器,可能已经超过了此服务器允许连接数的上限。如果是这样的话,请使用高级IMAP服务器设置对话框来减少缓冲连接的数量。
+
+# This will occur when a folder that has never been imap selected or opened
+# (left-clicked) is first right-clicked to access quota properties.
+imapQuotaStatusFolderNotOpen=文件夹未打开,所以配额信息不可用。
+
+# The imap capability response reports that QUOTA is not supported.
+imapQuotaStatusNotSupported=此服务器不支持配额限制。
+
+# The getqutaroot command succeeded but reported no quota information.
+imapQuotaStatusNoQuota2=此文件夹未报告配额信息。
+
+# Folder properties were requested by the user (right-click) before the getquotaroot
+# command was sent.
+imapQuotaStatusInProgress=配额信息尚不可用。
+
+# Out of memory
+imapOutOfMemory=应用程序内存不足。
+
+# LOCALIZATION NOTE (imapCopyingMessageOf2): Do not translate the word "%S" below.
+# Place the word %3$S in your translation where the name of the destination folder should appear.
+# Place the word %1$S where the currently copying message should appear.
+# Place the word %2$S where the total number of messages should appear.
+imapCopyingMessageOf2=正在复制第 %1$S 条消息(共 %2$S 条)至 %3$S…
+
+# LOCALIZATION NOTE (imapMoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapMoveFolderToTrash=您确定要删除文件夹“%S”吗?
+
+# LOCALIZATION NOTE (imapDeleteNoTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+imapDeleteNoTrash=删除操作将无法恢复,并且会删除所有子文件夹。您确定要删除此文件夹 '%S' 吗?
+
+imapDeleteFolderDialogTitle=删除文件夹
+
+imapDeleteFolderButtonLabel=删除文件夹 (&D)
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainSSL=这台 IMAP 服务器 %S 似乎不支持加密过的密码。如果您刚设置好您的账户,请尝试修改 “账户设置 | 服务器设置”中的“验证方式” 至“普通密码”。如果之前正常,但是现在突然出错,请尝试联系您的电子邮件管理员或服务供应商。
+
+# LOCALIZATION NOTE (imapAuthChangePlainToEncrypt): %S is the server hostname
+imapAuthChangePlainToEncrypt=IMAP 服务器 %S 似乎不允许明文密码。请尝试修改“账户设置 | 服务器设置”中的“验证方式”至“加密的密码”。
+
+# LOCALIZATION NOTE (imapAuthChangeEncryptToPlainNoSSL): %S is the server hostname
+imapAuthChangeEncryptToPlainNoSSL=这台 IMAP 服务器 %S 似乎不支持加密过的密码。如果您刚设置好您的账户,请尝试把“账户设置 | 服务器设置”中的“验证方式”修改至“不安全传输的密码”。如果之前一直正常,但是现在突然出错,很可能有人正在盗取您的密码。
+
+# LOCALIZATION NOTE (imapAuthMechNotSupported): %S is the server hostname
+imapAuthMechNotSupported=IMAP 服务器 %S 不支持您选择的验证方式。请修改“账户设置|服务器设置“中的“验证方式“。
+
+# LOCALIZATION NOTE (imapAuthGssapiFailed): %S is the server hostname
+imapAuthGssapiFailed=您的 Kerberos/GSSAPI 票据被 IMAP 服务器 %S 拒绝。请检查确认您是使用 Kerberos/GSSAPI 登录。
+
+# LOCALIZATION NOTE (imapServerCommandFailed):
+# Place the word %1$S in your translation where the name of the account name should appear.
+# Place the word %2$S in your translation where the server response should appear.
+imapServerCommandFailed=当前命令执行失败。账户 %1$S 的邮件服务器回应: %2$S\u0020
+
+# LOCALIZATION NOTE (imapFolderCommandFailed): Do not translate the word %S below.
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the name of the folder should appear.
+# Place the word %3$S in your translation where the server response should appear.
+imapFolderCommandFailed=对 ‘%2$S’ 的操作没有成功。账户 %1$S 的邮件服务器回应: %3$S
+
+# LOCALIZATION NOTE (imapServerAlert):
+# Place the word %1$S in your translation where the name of the account should appear.
+# Place the word %2$S in your translation where the alert from the server should appear.
+imapServerAlert=账户 %1$S 的警告信息: %2$S
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importDialog.dtd
new file mode 100644
index 0000000000..826f856689
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importDialog.dtd
@@ -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/. -->
+
+<!--
+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.
+-->
+
+<!--
+LOCALIZATION NOTE : 'Communicator 4.x' is the used for previous versions of
+Netscape Communicator, Please translate using the brandname in respective
+languages for Netscape Communicator 4 releases.
+LOCALIZATION NOTE : Do not translate any of the occurrences of the word
+"&brandShortName;" below.
+-->
+
+<!ENTITY importDialog.windowTitle "导入">
+<!ENTITY importAll.label "全部导入">
+<!ENTITY importAll.accesskey "E">
+<!ENTITY importMail.label "邮件">
+<!ENTITY importMail.accesskey "M">
+<!ENTITY importFeeds.label "订阅收取点">
+<!ENTITY importFeeds.accesskey "d">
+<!ENTITY importAddressbook.label "通讯录">
+<!ENTITY importAddressbook.accesskey "A">
+<!ENTITY importSettings.label "设置">
+<!ENTITY importSettings.accesskey "S">
+<!ENTITY importFilters.label "过滤器">
+<!ENTITY importFilters.accesskey "F">
+
+<!ENTITY importTitle.label "&brandShortName; 导入向导">
+<!ENTITY importShortDesc.label "从其他程序中导入邮件、通讯录、设置、过滤器">
+
+<!ENTITY importDescription1.label "此向导将从其他邮件程序以及常见通讯录格式文件中导入邮件消息、通讯录、首选项以及过滤器至 &brandShortName;。">
+<!ENTITY importDescription2.label "一旦导入,您就可以从 &brandShortName; 存取他们。">
+
+<!ENTITY selectDescription.label "请选择导入的文件类型:">
+<!ENTITY selectDescriptionB.label "请选择一个现有账户或者创建新账户:">
+<!ENTITY selectDescription.accesskey "P">
+<!ENTITY acctName.label "名称:">
+<!ENTITY acctName.accesskey "N">
+<!ENTITY noModulesFound.label "没有找到可导入数据的应用程序或文件。">
+
+<!ENTITY back.label "&lt; 后退">
+<!ENTITY forward.label "下一步 &gt;">
+<!ENTITY finish.label "完成">
+<!ENTITY cancel.label "取消">
+
+<!ENTITY select.label "选择导入信息的类型:">
+
+<!ENTITY title.label "标题">
+<!ENTITY processing.label "正在导入…">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importMsgs.properties
new file mode 100644
index 0000000000..489cb269b5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/importMsgs.properties
@@ -0,0 +1,304 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the import code to display status/error
+# and informational messages
+
+# Success message when no address books are found to import
+## @name IMPORT_NO_ADDRBOOKS
+## @loc None
+2000=未找到要导入的通讯录
+
+# Error: Address book import not initialized
+## @name IMPORT_ERROR_AB_NOTINITIALIZED
+## @loc None
+2001=不能导入通讯录,初始化错误
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_AB_NOTHREAD
+## @loc None
+2002=无法导入通讯录:无法创建导入话题。
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_GETABOOK
+## @loc None
+# LOCALIZATION NOTE (Error 2003): Do not translate the word "%S" below.
+2003=导入 %S 出错,不能创建通讯录
+
+# Success message when no mailboxes are found to import
+## @name IMPORT_NO_MAILBOXES
+## @loc None
+2004=未找到要导入的邮箱
+
+# Error: Mailbox import not initialized
+## @name IMPORT_ERROR_MB_NOTINITIALIZED
+## @loc None
+2005=不能导入邮箱,初始化错误
+
+# Error: Unable to create the import thread
+## @name IMPORT_ERROR_MB_NOTHREAD
+## @loc None
+2006=无法导入邮箱,无法创建导入话题
+
+# Error: Unable to create the proxy object for importing mailboxes
+## @name IMPORT_ERROR_MB_NOPROXY
+## @loc None
+2007=不能导入邮箱,不能为目标邮箱创建代理对象
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_FINDCHILD
+## @loc None
+# LOCALIZATION NOTE (Error 2008): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2008=创建目标邮箱出错,不能找到邮箱 %S
+
+# Error: Error creating destination mailboxes
+## @name IMPORT_ERROR_MB_CREATE
+## @loc None
+# LOCALIZATION NOTE (Error 2009): Do not translate the word "%S" below.
+# Place %S in your translation where the name of the mailbox should appear.
+2009=导入邮箱 %S 出错,不能创建目标邮箱
+
+# Error: No destination folder to import mailboxes
+## @name IMPORT_ERROR_MB_NODESTFOLDER
+## @loc None
+2010=不能创建一个账户来导入邮件
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_START
+## @loc None
+2100=名字
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2101=姓氏
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2102=显示名称
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2103=昵称
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2104=主要电子邮件
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2105=备用电子邮件
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2106=工作电话
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2107=家庭电话
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2108=传真号码
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2109=寻呼机号码
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2110=移动电话号码
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2111=家庭地址
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2112=家庭地址 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2113=城市
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2114=省/自治区/直辖市
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2115=邮政编码
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2116=居住国家/地区
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2117=工作地址
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2118=工作地址 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2119=城市
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2120=省/自治区/直辖市
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2121=邮政编码
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2122=工作国家/地区
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2123=职务
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2124=部门
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2125=公司
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2126=网页 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2127=网页 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2128=出生年份
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2129=出生月份
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2130=出生日
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2131=定制 1
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2132=定制 2
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2133=定制 3
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2134=定制 4
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC
+## @loc None
+2135=注释
+
+# Description: Address book field name
+## @name IMPORT_FIELD_DESC_END
+## @loc None
+2136=屏幕名
+
+#Error strings
+ImportAlreadyInProgress=正在进行一个导入操作,请在当前导入完成后再试。
+
+#Error strings for settings import
+ImportSettingsBadModule=不能加载设置模块
+ImportSettingsNotFound=不能找到设置。进行检查以确保在此计算机上安装了应用程序。
+ImportSettingsFailed=当导入设置时出错。设置值的一部分或所有不能导入。
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportSettingsSuccess=从 %S 导入设置值
+
+#Error string for mail import
+ImportMailBadModule=不能加载邮件导入模块
+ImportMailNotFound=不能找到要导入的邮件。进行检查以确保在此计算机上安装了邮件应用程序。
+ImportEmptyAddressBook=无法导入空通讯录 %S。
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailFailed=从 %S 导入邮件出错
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportMailSuccess=从 %S 导入邮件成功
+
+# Error string for address import
+ImportAddressBadModule=不能加载通讯录导入模块
+ImportAddressNotFound=不能找到任何可以导入的通讯录。进行检查以确保在此计算机上正确地安装了所选择的程序或格式。
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressFailed=从 %S 导入通讯录出错
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+ImportAddressSuccess=从 %S 导入通讯录成功
+
+# Error string for filters import
+ImportFiltersBadModule=无法加载过滤器导入模块。
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersFailed=从 %S 导入过滤器时出错。
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersSuccess=已从 %S 成功导入过滤器。
+# LOCALIZATION NOTE : The %S will get replaced by the name of the import module.
+ImportFiltersPartial=已从 %S 导入部分过滤器。警告信息如下:
+
+#Progress strings
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MailProgressMeterText=从 %S 转换邮箱
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+AddrProgressMeterText=从 %S 转换通讯录
+
+#Import file dialog strings
+ImportSelectSettings=选择设置文件
+ImportSelectMailDir=选择邮件目录
+ImportSelectAddrDir=选择通讯录目录
+ImportSelectAddrFile=选择通讯录目录
+
+# Folder Names for imported Mail
+DefaultFolderName=已导入的邮件
+# LOCALIZATION NOTE: Do not translate the word "%S" below.
+ImportModuleFolderName=%S 导入
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/joinChat.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/joinChat.dtd
new file mode 100644
index 0000000000..d266a48711
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/joinChat.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY joinChatWindow.title "参与聊天">
+<!ENTITY name.label "房间">
+<!ENTITY optional.label "(可选)">
+<!ENTITY account.label "账户">
+<!ENTITY autojoin.label "自动加入聊天室">
+<!ENTITY autojoin.accesskey "A">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/junkLog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/junkLog.dtd
new file mode 100644
index 0000000000..e743735efa
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/junkLog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY adaptiveJunkLog.title "自适应垃圾邮件日志">
+<!ENTITY adaptiveJunkLogInfo.label "自适应垃圾邮件控制活动的日志。">
+<!ENTITY clearLog.label "清空日志">
+<!ENTITY clearLog.accesskey "C">
+<!ENTITY closeLog.label "关闭">
+<!ENTITY closeLog.accesskey "o">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/localMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/localMsgs.properties
new file mode 100644
index 0000000000..9f9c30be00
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/localMsgs.properties
@@ -0,0 +1,139 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the local mail code to display progress/status/error messages
+#
+
+# LOCALIZATION NOTE(pop3ErrorDialogTitle): Do not translate the word "%S"
+# below. Place the word %S where the account name should appear.
+pop3ErrorDialogTitle=账户 %S 错误
+
+# LOCALIZATION NOTE (pop3EnterPasswordPromptTitleWithUsername): Do not translate the
+# word %1$S. Place the word %1$S where the user name should appear.
+pop3EnterPasswordPromptTitleWithUsername=请输入 %1$S 的密码
+
+# LOCALIZATION NOTE(pop3EnterPasswordPrompt): Do not translate the words "%1$S"
+# and "%2$S" below. Place the word %1$S where the user name should appear, and
+# %2$S where the host name should appear.
+pop3EnterPasswordPrompt=请为 %2$S 上的 %1$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=请输入你在 %2$S 的用户 %1$S 的新密码:
+
+# Status - Downloading message n of m
+# LOCALIZATION NOTE (receivingMessages): Do not translate %1$S or %2$S in the following lines.
+# Place the word %1$S where the number of messages downloaded so far should appear.
+# Place the word %2$S where the total number of messages to receive should appear;
+receivingMessages=正在下载消息 %1$S / %2$S…
+
+# Status - connecting to host
+hostContact=主机已连接,正在发送登录信息…
+
+# Status - no messages to download
+noNewMessages=这里没有新消息。
+
+# Status - messages received after the download
+#LOCALIZATION NOTE : Do not translate %1$S or %2$S in the following line.
+# %1$S will receive the number of messages received
+# %2$S will receive the total number of messages
+receivedMsgs=已接收 %1$S / %2$S 条消息
+
+# Status - parsing folder
+#LOCALIZATION NOTE (buildingSummary): Do not translate %S in the following line.
+# Place the word %S where the name of the mailbox should appear
+buildingSummary=为 %S 编译摘要文件…
+
+# Status - parsing folder
+localStatusDocumentDone=完成
+
+# Status - pop3 server error
+#LOCALIZATION NOTE (pop3ServerError): Do not translate POP3 in the following line.
+pop3ServerError=在 POP3 邮件服务器中发生了一个错误。请与此服务器的管理员联系,然后重试。
+
+# Status - pop3 user name failed
+pop3UsernameFailure=在把您的用户名发送到邮件服务器时出错。
+
+# Status - password failed
+#LOCALIZATION NOTE (pop3PasswordFailed): Do not translate "%1$S" below.
+# Place the word %1$S where the user name should appear.
+pop3PasswordFailed=向用户 %1$S 发送密码失败。
+
+# Status - write error occurred
+pop3MessageWriteError=无法向邮箱中写入邮件。请确定您有写权限和足够的磁盘空间。
+
+# Status - retr failure from the server
+pop3RetrFailure=RETR 命令未成功。无法获取消息。
+
+# Status - password undefined
+pop3PasswordUndefined=在获取电子邮件密码时出错。
+
+# Status - username undefined
+pop3UsernameUndefined=您还未为此服务器提供用户名。请在账户设置菜单中提供用户名并重试。
+
+# Status - list failure
+pop3ListFailure=LIST 命令未成功。无法获取消息的 ID 及大小。
+
+# Status - delete error
+pop3DeleFailure=DELE 命令未成功。无法将消息标记为已删除。
+
+# Status - stat failed
+pop3StatFail=STAT 命令未成功。无法获取消息数目以及大小。
+
+#LOCALIZATION NOTE (pop3ServerSaid): Do not remove the leading space during translation.
+pop3ServerSaid= 邮件服务器 %S 回应:\u0020
+
+#LOCALIZATION NOTE (pop3TempServerError): %S is where the POP3 server name will appear.
+pop3TempServerError=从 %S 服务器获取新消息时出现临时错误,将在下次执行该操作时重试。
+
+copyingMessagesStatus=正在复制第 %2$S(共 %1$S)个消息到 %3$S
+
+movingMessagesStatus=正在移动第 %S(共 %S)个消息到 %S
+
+# Status - pop3 server or folder busy
+# LOCALIZATION NOTE (pop3ServerBusy): Do not translate the word "%S" below.
+# Place %S where the account name should appear.
+pop3ServerBusy=账户 %S 正在处理。请等待直至处理完成弹出消息。
+
+pop3TmpDownloadError=下载下列消息时出错:\n来自:%S\n 主题: %S\n该邮件可能含有病毒,或者磁盘空间不足。要跳过该消息吗?
+
+# Status - the server doesn't support UIDL…
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportUidlEtc): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "UIDL"
+pop3ServerDoesNotSupportUidlEtc=POP3 邮件服务器 (%S)不支持 UIDL 或 XTND XLST,而这是实现“在服务器保留”、“最大消息长度”或“仅下载消息头”选项必须的。要下载您的邮件,请在账户设置的服务器设置中关闭这些选项。
+
+# Status - the server doesn't support the top command
+# LOCALIZATION NOTE(pop3ServerDoesNotSupportTopCommand): The following sentence should be translated in this way:
+# Do not translate "POP3"
+# Do not translate "%S". Place %S in your translation where the name of the server should appear.
+# Do not translate "TOP"
+pop3ServerDoesNotSupportTopCommand=POP3 邮件服务器 (%S)不支持 TOP命令,而这是使用“最大消息长度”或“仅下载消息头”首选项设置必须的。消息将被无视大小下载。
+
+nsErrorCouldNotConnectViaTls=无法建立到 POP3 服务器的 TLS 连接。该服务器可能不可用或者配置错误。请打开账户设置窗口并确认邮件服务器的服务器配置正确并重试。
+
+# LOCALIZATION NOTE (pop3MoveFolderToTrash): Do not translate the word %S below.
+# "%S" is the the name of the folder.
+pop3MoveFolderToTrash=您确定要删除文件夹“%S”吗?
+
+pop3DeleteFolderDialogTitle=删除文件夹
+
+pop3DeleteFolderButtonLabel=删除文件夹 (&D)
+
+pop3AuthInternalError=在 POP3 服务器验证过程中发生了内部状态错误。这是应用软件内部的意外错误,请将它作为 bug 报告。
+
+pop3AuthChangeEncryptToPlainNoSSL=这台 POP3 服务器似乎不支持加密过的密码。如果您刚设置好您的账户,请尝试修改 “账户设置 | 服务器设置”中的“验证方式” 至“不安全传输的密码”。如果之前正常,但是现在突然出错,很可能有人正在盗取您的密码。
+
+pop3AuthChangeEncryptToPlainSSL=这台 POP3 服务器似乎不支持加密过的密码。如果您刚设置好您的账户,请尝试修改 “账户设置 | 服务器设置”中的“验证方式” 至“普通密码”。如果之前正常,但是现在突然出错,请尝试联系您的电子邮件管理员或服务供应商。
+
+pop3AuthChangePlainToEncrypt=POP3 服务器 %S 不允许明文密码。请尝试修改“账户设置 | 服务器设置”中的“验证方式”至“加密的密码”。
+
+# Authentication server caps and pref don't match
+pop3AuthMechNotSupported=服务器不支持您选择的验证方式。请修改“账户设置|服务器设置“中的“验证方式“。
+
+# Status - Could not log in to GSSAPI, and it was the only method
+pop3GssapiFailure=POP 服务器没有接受 Kerberos/GSSAPI 票据。请确认您已经登录到 Kerberos/GSSAPI 域。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailEditorOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailEditorOverlay.dtd
new file mode 100644
index 0000000000..59a4d63b40
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailEditorOverlay.dtd
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY sendPage.label "发送页面…">
+<!ENTITY sendPage.accesskey "g">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailOverlay.dtd
new file mode 100644
index 0000000000..afbb2a0419
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailOverlay.dtd
@@ -0,0 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "消息">
+<!ENTITY newMessageCmd.accesskey "M">
+
+<!ENTITY newContactCmd.label "通讯录联系人…">
+<!ENTITY newContactCmd.accesskey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewList.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewList.dtd
new file mode 100644
index 0000000000..251c7b89dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewList.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 msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+
+<!ENTITY mailViewListTitle.label "自定义消息视图">
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewSetup.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewSetup.dtd
new file mode 100644
index 0000000000..80aca71da4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailViewSetup.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/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+
+<!ENTITY mailViewSetupTitle.label "消息视图设置">
+<!ENTITY mailViewHeading.label "消息视图名称:">
+<!ENTITY mailViewHeading.accesskey "e">
+<!ENTITY searchTermCaption.label "当选择此视图时,仅显示符合这些条件的消息:">
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailviews.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailviews.properties
new file mode 100644
index 0000000000..023754c0da
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mailviews.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# Mail Views
+#
+
+mailViewPeopleIKnow=熟人
+mailViewRecentMail=最近的邮件
+mailViewLastFiveDays=最近 5 天
+mailViewNotJunk=非垃圾
+mailViewHasAttachments=包含附件
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/markByDate.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/markByDate.dtd
new file mode 100644
index 0000000000..cda3bddebf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/markByDate.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY messageMarkByDate.label "将消息标记为某日已读">
+<!ENTITY markByDateLower.label "从:">
+<!ENTITY markByDateLower.accesskey "f">
+<!ENTITY markByDateUpper.label "到:">
+<!ENTITY markByDateUpper.accesskey "T">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.dtd
new file mode 100644
index 0000000000..b7aa64d4cb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.dtd
@@ -0,0 +1,947 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY titledefault.label "&brandFullName;">
+<!ENTITY titleSeparator.label " - ">
+
+<!-- File Menu -->
+<!ENTITY newFolderCmd.label "文件夹…">
+<!ENTITY newFolderCmd.accesskey "F">
+<!ENTITY closeTabCmd2.label "关闭标签页">
+<!ENTITY closeTabCmd2.accesskey "C">
+<!ENTITY closeOtherTabsCmd2.label "关闭其他标签页">
+<!ENTITY closeOtherTabsCmd2.accesskey "o">
+<!ENTITY recentlyClosedTabsCmd.label "最近关闭的标签页">
+<!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 "移动到新窗口">
+<!ENTITY moveToNewWindow.accesskey "W">
+<!ENTITY newVirtualFolderCmd.label "即时搜索…">
+<!ENTITY newVirtualFolderCmd.accesskey "S">
+<!ENTITY newCreateEmailAccountCmd.label "取得全新的电子邮件账户…">
+<!ENTITY newCreateEmailAccountCmd.accesskey "G">
+<!ENTITY newExistingEmailAccountCmd.label "已有电子邮件账户…">
+<!ENTITY newExistingEmailAccountCmd.accesskey "E">
+<!ENTITY newIMAccountCmd.label "聊天账户…">
+<!ENTITY newIMAccountCmd.accesskey "C">
+<!ENTITY newFeedAccountCmd.label "收取点账号…">
+<!ENTITY newFeedAccountCmd.accesskey "d">
+<!ENTITY newIMContactCmd.label "聊天联系人…">
+<!ENTITY newIMContactCmd.accesskey "h">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newMessageCmd.key "M">
+<!ENTITY newMessageCmd.label "消息">
+<!ENTITY newMessageCmd.accesskey "m">
+<!ENTITY newContactCmd.label "通讯录联系人…">
+<!ENTITY newContactCmd.accesskey "C">
+<!ENTITY openMenuCmd.label "打开">
+<!ENTITY openMenuCmd.accesskey "O">
+<!ENTITY openMessageFileCmd.label "打开已保存消息…">
+<!ENTITY openMessageFileCmd.accesskey "O">
+<!ENTITY saveAsMenu.label "另存为">
+<!ENTITY saveAsMenu.accesskey "S">
+<!ENTITY saveAsFileCmd.key "s">
+<!ENTITY saveAsTemplateCmd.label "模板">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY getNewMsgForCmd.label "获取新消息">
+<!ENTITY getNewMsgForCmd.accesskey "w">
+<!ENTITY getAllNewMsgCmdPopupMenu.label "所有账户">
+<!ENTITY getAllNewMsgCmdPopupMenu.accesskey "A">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.label "当前账户">
+<!ENTITY getNewMsgCurrentAccountCmdPopupMenu.accesskey "C">
+<!ENTITY getNextNMsgCmd2.label "获取下一条新闻消息">
+<!ENTITY getNextNMsgCmd2.accesskey "t">
+<!ENTITY sendUnsentCmd.label "发送未发送消息">
+<!ENTITY sendUnsentCmd.accesskey "d">
+<!ENTITY subscribeCmd.label "订阅…">
+<!ENTITY subscribeCmd.accesskey "b">
+<!ENTITY deleteFolder.label "删除文件夹">
+<!ENTITY deleteFolder.accesskey "e">
+<!ENTITY renameFolder.label "重命名文件夹…">
+<!ENTITY renameFolder.accesskey "R">
+<!ENTITY renameFolder.key "VK_F2">
+<!ENTITY compactFolders.label "压缩文件夹">
+<!ENTITY compactFolders.accesskey "F">
+<!ENTITY emptyTrashCmd.label "清空“废件箱”">
+<!ENTITY emptyTrashCmd.accesskey "y">
+<!ENTITY offlineMenu.label "脱机">
+<!ENTITY offlineMenu.accesskey "l">
+<!ENTITY offlineGoOfflineCmd.label "脱机工作">
+<!ENTITY offlineGoOfflineCmd.accesskey "W">
+<!ENTITY synchronizeOfflineCmd.label "立即下载/同步…">
+<!ENTITY synchronizeOfflineCmd.accesskey "S">
+<!ENTITY settingsOfflineCmd2.label "脱机设置">
+<!ENTITY settingsOfflineCmd2.accesskey "e">
+<!ENTITY downloadSelectedCmd.label "获取选中的消息">
+<!ENTITY downloadSelectedCmd.accesskey "l">
+<!ENTITY downloadStarredCmd.label "获取已加星标的消息">
+<!ENTITY downloadStarredCmd.accesskey "a">
+<!ENTITY printCmd.label "打印…">
+<!ENTITY printCmd.accesskey "P">
+<!ENTITY printCmd.key "p">
+
+<!-- Edit Menu -->
+<!ENTITY deleteMsgCmd.label "删除消息">
+<!ENTITY deleteMsgCmd.accesskey "D">
+<!ENTITY undeleteMsgCmd.label "恢复已删除的消息">
+<!ENTITY undeleteMsgCmd.accesskey "d">
+<!ENTITY deleteMsgsCmd.label "删除选定的消息">
+<!ENTITY deleteMsgsCmd.accesskey "D">
+<!ENTITY undeleteMsgsCmd.label "恢复所选的消息">
+<!ENTITY undeleteMsgsCmd.accesskey "d">
+<!ENTITY deleteFolderCmd.label "删除文件夹">
+<!ENTITY deleteFolderCmd.accesskey "D">
+<!ENTITY unsubscribeNewsgroupCmd.label "取消订阅">
+<!ENTITY unsubscribeNewsgroupCmd.accesskey "b">
+
+<!-- Edit Menu -->
+<!ENTITY selectMenu.label "选择">
+<!ENTITY selectMenu.accesskey "S">
+<!ENTITY all.label "全部">
+<!ENTITY all.accesskey "A">
+<!ENTITY selectThreadCmd.label "话题">
+<!ENTITY selectThreadCmd.accesskey "T">
+<!ENTITY selectThreadCmd.key "a">
+<!ENTITY selectFlaggedCmd.label "已加星标消息">
+<!ENTITY selectFlaggedCmd.accesskey "S">
+<!ENTITY menuFavoriteFolder.label "收藏夹">
+<!ENTITY menuFavoriteFolder.accesskey "v">
+<!ENTITY folderPropsCmd2.label "属性">
+<!ENTITY folderPropsFolderCmd2.label "文件夹属性">
+<!ENTITY folderPropsNewsgroupCmd2.label "新闻组属性">
+<!ENTITY folderPropsCmd.accesskey "o">
+<!ENTITY undoDeleteMsgCmd.label "撤销 删除消息">
+<!ENTITY redoDeleteMsgCmd.label "重做删除消息">
+<!ENTITY undoMoveMsgCmd.label "撤销 移动消息">
+<!ENTITY redoMoveMsgCmd.label "重做移动消息">
+<!ENTITY undoCopyMsgCmd.label "撤销 复制消息">
+<!ENTITY redoCopyMsgCmd.label "重做复制消息">
+<!ENTITY undoMarkAllCmd.label "撤销全部标记为已读">
+<!ENTITY redoMarkAllCmd.label "重做全部标记为已读">
+<!ENTITY undoDefaultCmd.label "撤销">
+<!ENTITY undoDefaultCmd.accesskey "U">
+<!ENTITY redoDefaultCmd.label "重做">
+<!ENTITY redoDefaultCmd.accesskey "R">
+
+<!-- View Menu -->
+<!ENTITY menubarCmd.label "菜单栏">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showMessengerToolbarCmd.label "邮件工具栏">
+<!ENTITY showMessengerToolbarCmd.accesskey "o">
+<!ENTITY customizeToolbar.label "自定义…">
+<!ENTITY customizeToolbar.accesskey "C">
+
+<!ENTITY messagePaneLayoutStyle.label "布局">
+<!ENTITY messagePaneLayoutStyle.accesskey "L">
+<!ENTITY messagePaneClassic.label "经典视图">
+<!ENTITY messagePaneClassic.accesskey "C">
+<!ENTITY messagePaneWide.label "宽视图">
+<!ENTITY messagePaneWide.accesskey "W">
+<!ENTITY messagePaneVertical.label "直视图">
+<!ENTITY messagePaneVertical.accesskey "V">
+<!ENTITY showFolderPaneCmd.label "文件夹窗格">
+<!ENTITY showFolderPaneCmd.accesskey "F">
+<!ENTITY showFolderPaneColsCmd.label "文件夹窗格列">
+<!ENTITY showFolderPaneColsCmd.accesskey "P">
+<!ENTITY showMessageCmd.label "消息窗格">
+<!ENTITY showMessageCmd.accesskey "M">
+
+<!ENTITY folderView.label "文件夹">
+<!ENTITY folderView.accesskey "F">
+<!ENTITY unifiedFolders.label "综合">
+<!ENTITY unifiedFolders.accesskey "n">
+<!ENTITY allFolders.label "全部">
+<!ENTITY allFolders.accesskey "A">
+<!ENTITY unreadFolders.label "未读">
+<!ENTITY unreadFolders.accesskey "U">
+<!ENTITY favoriteFolders.label "收藏夹">
+<!ENTITY favoriteFolders.accesskey "F">
+<!ENTITY recentFolders.label "最近">
+<!ENTITY recentFolders.accesskey "R">
+<!ENTITY compactVersion.label "紧凑模式">
+<!ENTITY compactVersion.accesskey "C">
+
+<!-- Sort Menu -->
+<!ENTITY sortMenu.label "排序">
+<!ENTITY sortMenu.accesskey "S">
+<!ENTITY sortByDateCmd.label "日期">
+<!ENTITY sortByDateCmd.accesskey "e">
+<!ENTITY sortByReceivedCmd.label "接收时间">
+<!ENTITY sortByReceivedCmd.accesskey "v">
+<!ENTITY sortByStarCmd.label "星标">
+<!ENTITY sortByStarCmd.accesskey "S">
+<!ENTITY sortByAttachmentsCmd.label "附件">
+<!ENTITY sortByAttachmentsCmd.accesskey "m">
+<!ENTITY sortByPriorityCmd.label "优先级">
+<!ENTITY sortByPriorityCmd.accesskey "P">
+<!ENTITY sortBySizeCmd.label "大小">
+<!ENTITY sortBySizeCmd.accesskey "z">
+<!ENTITY sortByStatusCmd.label "状态">
+<!ENTITY sortByStatusCmd.accesskey "u">
+<!ENTITY sortByTagsCmd.label "标签">
+<!ENTITY sortByTagsCmd.accesskey "g">
+<!ENTITY sortByJunkStatusCmd.label "垃圾状态">
+<!ENTITY sortByJunkStatusCmd.accesskey "J">
+<!ENTITY sortBySubjectCmd.label "主题">
+<!ENTITY sortBySubjectCmd.accesskey "b">
+<!ENTITY sortByFromCmd.label "来自">
+<!ENTITY sortByFromCmd.accesskey "F">
+<!ENTITY sortByRecipientCmd.label "收件人">
+<!ENTITY sortByRecipientCmd.accesskey "c">
+<!ENTITY sortByCorrespondentCmd.label "通信者">
+<!ENTITY sortByCorrespondentCmd.accesskey "e">
+<!ENTITY sortByUnreadCmd.label "已读">
+<!ENTITY sortByUnreadCmd.accesskey "R">
+<!ENTITY sortByOrderReceivedCmd.label "接收顺序">
+<!ENTITY sortByOrderReceivedCmd.accesskey "O">
+<!ENTITY sortAscending.label "升序">
+<!ENTITY sortAscending.accesskey "A">
+<!ENTITY sortDescending.label "降序">
+<!ENTITY sortDescending.accesskey "D">
+<!ENTITY sortThreaded.label "按话题">
+<!ENTITY sortThreaded.accesskey "T">
+<!ENTITY sortUnthreaded.label "不按话题">
+<!ENTITY sortUnthreaded.accesskey "h">
+<!ENTITY groupBySort.label "按排序分组">
+<!ENTITY groupBySort.accesskey "G">
+<!ENTITY msgsMenu.label "消息">
+<!ENTITY msgsMenu.accesskey "M">
+<!ENTITY threads.label "话题">
+<!ENTITY threads.accesskey "e">
+<!ENTITY allMsgsCmd.label "全部">
+<!ENTITY allMsgsCmd.accesskey "A">
+<!ENTITY expandAllThreadsCmd.label "展开所有话题">
+<!ENTITY expandAllThreadsCmd.accesskey "E">
+<!ENTITY expandAllThreadsCmd.key "*">
+<!ENTITY collapseAllThreadsCmd.label "折叠所有话题">
+<!ENTITY collapseAllThreadsCmd.accesskey "C">
+<!ENTITY collapseAllThreadsCmd.key "\">
+<!ENTITY unreadMsgsCmd.label "未读">
+<!ENTITY unreadMsgsCmd.accesskey "U">
+<!ENTITY threadsWithUnreadCmd.label "有未读消息的话题">
+<!ENTITY threadsWithUnreadCmd.accesskey "T">
+<!ENTITY watchedThreadsWithUnreadCmd.label "有未读消息的已跟踪话题">
+<!ENTITY watchedThreadsWithUnreadCmd.accesskey "W">
+<!ENTITY ignoredThreadsCmd.label "已忽略的话题">
+<!ENTITY ignoredThreadsCmd.accesskey "I">
+
+<!ENTITY headersMenu.label "标题">
+<!ENTITY headersMenu.accesskey "H">
+<!ENTITY headersAllCmd.label "全部">
+<!ENTITY headersAllCmd.accesskey "A">
+<!ENTITY headersNormalCmd.label "常规">
+<!ENTITY headersNormalCmd.accesskey "N">
+<!ENTITY bodyMenu.label "消息显示方式">
+<!ENTITY bodyMenu.accesskey "B">
+<!ENTITY bodyAllowHTML.label "原始 HTML">
+<!ENTITY bodyAllowHTML.accesskey "H">
+<!ENTITY bodySanitized.label "简单 HTML">
+<!ENTITY bodySanitized.accesskey "S">
+<!ENTITY bodyAsPlaintext.label "纯文本">
+<!ENTITY bodyAsPlaintext.accesskey "P">
+<!ENTITY bodyAllParts.label "所有主体部分">
+<!ENTITY bodyAllParts.accesskey "A">
+
+<!ENTITY bodyMenuFeed.label "收取点消息正文显示为">
+<!ENTITY bodyMenuFeed.accesskey "B">
+<!ENTITY viewFeedWebPage.label "网页">
+<!ENTITY viewFeedWebPage.accesskey "W">
+<!ENTITY viewFeedSummary.label "摘要">
+<!ENTITY viewFeedSummary.accesskey "m">
+<!ENTITY viewFeedSummaryFeedPropsPref.label "默认格式">
+<!ENTITY viewFeedSummaryFeedPropsPref.accesskey "D">
+
+<!ENTITY viewAttachmentsInlineCmd.label "查看直接插入的附件">
+<!ENTITY viewAttachmentsInlineCmd.accesskey "A">
+
+<!ENTITY pageSourceCmd.label "消息源代码">
+<!ENTITY pageSourceCmd.accesskey "o">
+<!ENTITY pageSourceCmd.key "u">
+<!ENTITY getNewMessagesCmd.key "y">
+<!ENTITY getAllNewMessagesCmd.key "Y">
+
+<!-- Search Menu -->
+<!ENTITY findMenu.label "查找">
+<!ENTITY findMenu.accesskey "F">
+<!ENTITY findCmd.label "在此消息中查找…">
+<!ENTITY findCmd.accesskey "F">
+<!ENTITY findCmd.key "f">
+<!ENTITY findAgainCmd.label "再次查找">
+<!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 "搜索消息…">
+<!ENTITY searchMailCmd.accesskey "M">
+<!ENTITY searchMailCmd.key "f">
+<!ENTITY glodaSearchCmd.label "全局搜索…">
+<!ENTITY glodaSearchCmd.accesskey "G">
+<!ENTITY searchAddressesCmd.label "搜索地址…">
+<!ENTITY searchAddressesCmd.accesskey "S">
+
+<!-- Go Menu -->
+<!ENTITY goMenu.label "转到">
+<!ENTITY goMenu.accesskey "G">
+<!ENTITY nextMenu.label "下一个">
+<!ENTITY nextMenu.accesskey "N">
+<!ENTITY nextMsgCmd.label "消息">
+<!ENTITY nextMsgCmd.accesskey "M">
+<!ENTITY nextMsgCmd.key "f">
+<!ENTITY nextUnreadMsgCmd.label "未读消息">
+<!ENTITY nextUnreadMsgCmd.accesskey "U">
+<!ENTITY nextUnreadMsgCmd.key "n">
+<!ENTITY nextStarredMsgCmd.label "已加星标的消息">
+<!ENTITY nextStarredMsgCmd.accesskey "S">
+<!ENTITY nextUnreadThread.label "未读话题">
+<!ENTITY nextUnreadThread.accesskey "T">
+<!ENTITY nextUnreadThread.key "t">
+<!ENTITY prevMenu.label "上一个">
+<!ENTITY prevMenu.accesskey "P">
+<!ENTITY prevMsgCmd.label "消息">
+<!ENTITY prevMsgCmd.accesskey "M">
+<!ENTITY prevMsgCmd.key "b">
+<!ENTITY prevUnreadMsgCmd.label "未读消息">
+<!ENTITY prevUnreadMsgCmd.accesskey "U">
+<!ENTITY prevUnreadMsgCmd.key "p">
+<!ENTITY goForwardCmd.label "前进">
+<!ENTITY goForwardCmd.accesskey "F">
+<!ENTITY goForwardCmd.commandKey "]">
+<!ENTITY goBackCmd.label "后退">
+<!ENTITY goBackCmd.accesskey "B">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goChatCmd.label "聊天">
+<!ENTITY goChatCmd.accesskey "C">
+<!ENTITY prevStarredMsgCmd.label "已加星标的消息">
+<!ENTITY prevStarredMsgCmd.accesskey "S">
+<!ENTITY folderMenu.label "文件夹">
+<!ENTITY folderMenu.accesskey "o">
+<!ENTITY goRecentlyClosedTabs.label "最近关闭的标签页">
+<!ENTITY goRecentlyClosedTabs.accesskey "R">
+<!ENTITY startPageCmd.label "邮件起始页">
+<!ENTITY startPageCmd.accesskey "S">
+
+<!-- Message Menu -->
+<!ENTITY msgMenu.label "消息">
+<!ENTITY msgMenu.accesskey "M">
+<!ENTITY newMsgCmd.label "新建消息">
+<!ENTITY newMsgCmd.accesskey "N">
+<!ENTITY newNewMsgCmd.label "消息">
+<!ENTITY newNewMsgCmd.accesskey "M">
+<!ENTITY archiveMsgCmd.label "归档">
+<!ENTITY archiveMsgCmd.accesskey "A">
+<!ENTITY archiveMsgCmd.key "a">
+<!ENTITY cancelNewsMsgCmd.label "取消消息">
+<!ENTITY cancelNewsMsgCmd.accesskey "C">
+<!ENTITY replyMsgCmd.label "回复">
+<!ENTITY replyMsgCmd.accesskey "R">
+<!ENTITY replyMsgCmd.key "r">
+<!ENTITY replySenderCmd.label "只回复发件人">
+<!ENTITY replySenderCmd.accesskey "R">
+<!ENTITY replyNewsgroupCmd2.label "回复到新闻组">
+<!ENTITY replyNewsgroupCmd2.accesskey "u">
+<!ENTITY replyToAllMsgCmd.label "全部回复">
+<!ENTITY replyToAllMsgCmd.accesskey "p">
+<!ENTITY replyToAllMsgCmd.key "r">
+<!ENTITY replyToListMsgCmd.label "回复至列表">
+<!ENTITY replyToListMsgCmd.accesskey "L">
+<!ENTITY replyToListMsgCmd.key "l">
+<!ENTITY forwardMsgCmd.label "转发">
+<!ENTITY forwardMsgCmd.accesskey "F">
+<!ENTITY forwardMsgCmd.key "l">
+<!ENTITY forwardAsMenu.label "转发">
+<!ENTITY forwardAsMenu.accesskey "w">
+<!ENTITY forwardAsInline.label "直接插入">
+<!ENTITY forwardAsInline.accesskey "I">
+<!ENTITY forwardAsAttachmentCmd.label "附件">
+<!ENTITY forwardAsAttachmentCmd.accesskey "A">
+<!ENTITY editAsNewMsgCmd.label "作为新消息编辑">
+<!ENTITY editAsNewMsgCmd.accesskey "E">
+<!ENTITY editAsNewMsgCmd.key "e">
+<!ENTITY editDraftMsgCmd.label "编辑草稿邮件">
+<!ENTITY editDraftMsgCmd.accesskey "D">
+<!ENTITY editTemplateMsgCmd.label "编辑模板">
+<!ENTITY editTemplateMsgCmd.accesskey "T">
+<!ENTITY newMsgFromTemplateCmd.label "依托模板新建邮件">
+<!ENTITY newMsgFromTemplateCmd.keycode "VK_RETURN"><!-- do not change "VK_RETURN" -->
+<!ENTITY createFilter.label "根据消息创建过滤器…">
+<!ENTITY createFilter.accesskey "a">
+<!ENTITY moveMsgToMenu.label "移动到">
+<!ENTITY moveMsgToMenu.accesskey "M">
+<!ENTITY moveCopyMsgRecentMenu.label "最近">
+<!ENTITY moveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY copyMessageLocation.label "复制消息地址">
+<!ENTITY copyMessageLocation.accesskey "M">
+<!ENTITY copyMsgToMenu.label "复制到">
+<!ENTITY copyMsgToMenu.accesskey "C">
+<!ENTITY moveToFolderAgain.label "重复移动">
+<!ENTITY moveToFolderAgain.accesskey "i">
+<!ENTITY moveToFolderAgainCmd.key "m">
+<!ENTITY killThreadMenu.label "忽略话题">
+<!ENTITY killThreadMenu.accesskey "I">
+<!ENTITY killThreadMenu.key "k">
+<!ENTITY killSubthreadMenu.label "忽略子话题">
+<!ENTITY killSubthreadMenu.accesskey "S">
+<!ENTITY killSubthreadMenu.key "k">
+<!ENTITY watchThreadMenu.label "跟踪话题">
+<!ENTITY watchThreadMenu.accesskey "W">
+<!ENTITY watchThreadMenu.key "w">
+<!ENTITY tagMenu.label "标签">
+<!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 "标记">
+<!ENTITY markMenu.accesskey "k">
+<!ENTITY toggleReadCmd.key "m">
+<!ENTITY markAsReadCmd.label "已读">
+<!ENTITY markAsReadCmd.accesskey "R">
+<!ENTITY markAsUnreadCmd.label "为未读">
+<!ENTITY markAsUnreadCmd.accesskey "U">
+<!ENTITY markThreadAsReadCmd.label "话题为已读">
+<!ENTITY markThreadAsReadCmd.accesskey "T">
+<!ENTITY markThreadAsReadCmd.key "r">
+<!ENTITY markReadByDateCmd.label "已读日期…">
+<!ENTITY markReadByDateCmd.accesskey "D">
+<!ENTITY markReadByDateCmd.key "c">
+<!ENTITY markAllReadCmd.label "全部已读">
+<!ENTITY markAllReadCmd.accesskey "A">
+<!ENTITY markAllReadCmd.key "c">
+<!ENTITY markStarredCmd.label "添加星标">
+<!ENTITY markStarredCmd.accesskey "S">
+<!ENTITY markStarredCmd.key "S">
+<!ENTITY markAsJunkCmd.label "为垃圾">
+<!ENTITY markAsJunkCmd.accesskey "J">
+<!ENTITY markAsJunkCmd.key "j">
+<!ENTITY markAsNotJunkCmd.label "为非垃圾">
+<!ENTITY markAsNotJunkCmd.accesskey "N">
+<!ENTITY markAsNotJunkCmd.key "j">
+<!ENTITY recalculateJunkScoreCmd.label "运行垃圾邮件控制">
+<!ENTITY recalculateJunkScoreCmd.accesskey "C">
+<!ENTITY openMessageWindowCmd.label "打开消息">
+<!ENTITY openMessageWindowCmd.accesskey "O">
+<!ENTITY openMessageWindowCmd.key "o">
+<!ENTITY openInConversationCmd.label "在会话中打开">
+<!ENTITY openInConversationCmd.accesskey "s">
+<!ENTITY openInConversationCmd.key "o">
+<!ENTITY openAttachmentListCmd.label "附件">
+<!ENTITY openAttachmentListCmd.accesskey "h">
+<!ENTITY openFeedMessage1.label "当打开收取点消息时">
+<!ENTITY openFeedMessage1.accesskey "O">
+<!ENTITY openFeedWebPage.label "打开为网页">
+<!ENTITY openFeedWebPage.accesskey "W">
+<!ENTITY openFeedSummary.label "打开为摘要">
+<!ENTITY openFeedSummary.accesskey "S">
+<!ENTITY openFeedWebPageInMP.label "在消息窗格中切换网页和摘要">
+<!ENTITY openFeedWebPageInMP.accesskey "T">
+
+<!-- Windows Menu -->
+<!ENTITY windowMenu.label "窗口">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "工具">
+<!ENTITY tasksMenu.accesskey "T">
+<!ENTITY messengerCmd.label "邮件与新闻组">
+<!ENTITY messengerCmd.accesskey "N">
+<!ENTITY addressBookCmd.label "通讯录">
+<!ENTITY addressBookCmd.accesskey "B">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY addonNoPrefs.label "没有找到附加组件设置。">
+<!ENTITY activitymanager.label "活动管理器">
+<!ENTITY activitymanager.accesskey "v">
+<!ENTITY imAccountsStatus.label "聊天状态">
+<!ENTITY imAccountsStatus.accesskey "C">
+<!ENTITY imStatus.available "空闲">
+<!ENTITY imStatus.unavailable "忙碌">
+<!ENTITY imStatus.offline "脱机">
+<!ENTITY imStatus.showAccounts "显示账户…">
+<!ENTITY joinChatCmd.label "参与聊天…">
+<!ENTITY joinChatCmd.accesskey "t">
+<!ENTITY savedFiles.label "已保存的文件">
+<!ENTITY savedFiles.accesskey "l">
+<!ENTITY savedFiles.key "j">
+<!ENTITY filtersCmd2.label "消息过滤器">
+<!ENTITY filtersCmd2.accesskey "F">
+<!ENTITY filtersApply.label "对文件夹执行过滤器">
+<!ENTITY filtersApply.accesskey "R">
+<!ENTITY filtersApplyToSelection.label "对所选消息运行过滤器">
+<!ENTITY filtersApplyToSelection.accesskey "u">
+<!ENTITY filtersApplyToMessage.label "对消息运行过滤器">
+<!ENTITY filtersApplyToMessage.accesskey "u">
+<!ENTITY runJunkControls.label "对文件夹运行垃圾邮件控制">
+<!ENTITY runJunkControls.accesskey "C">
+<!ENTITY deleteJunk.label "删除当前文件夹中标记为垃圾的消息">
+<!ENTITY deleteJunk.accesskey "D">
+<!ENTITY importCmd.label "导入…">
+<!ENTITY importCmd.accesskey "m">
+<!ENTITY exportCmd.label "导出…">
+<!ENTITY exportCmd.accesskey "x">
+<!ENTITY clearRecentHistory.label "清除最近历史记录…">
+<!ENTITY clearRecentHistory.accesskey "H">
+<!ENTITY accountManagerCmd2.label "账户设置">
+<!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 "开发者工具">
+<!ENTITY devtoolsMenu.accesskey "o">
+<!ENTITY devToolboxCmd.label "开发者工具箱">
+<!ENTITY devToolboxCmd.accesskey "T">
+<!ENTITY devToolboxCmd.commandkey "i">
+<!ENTITY debugAddonsCmd.label "调试附加组件">
+<!ENTITY debugAddonsCmd.accesskey "A">
+<!ENTITY errorConsoleCmd.label "错误控制台">
+<!ENTITY errorConsoleCmd.accesskey "E">
+<!ENTITY errorConsoleCmd.commandkey "j">
+
+<!-- Mail Toolbar -->
+<!ENTITY getMsgButton1.label "获取消息">
+<!ENTITY newMsgButton.label "新建消息">
+<!ENTITY replyButton.label "回复">
+<!ENTITY replyAllButton.label "全部回复">
+<!ENTITY replyListButton.label "回复至列表">
+<!ENTITY forwardButton.label "转发">
+<!ENTITY fileButton.label "移动">
+<!ENTITY archiveButton.label "归档">
+<!ENTITY openConversationButton.label "对话">
+<!ENTITY nextButton.label "下一个">
+<!ENTITY nextButtonToolbarItem.label "下一条未读">
+<!ENTITY nextMsgButton.label "下一个">
+<!ENTITY previousButton.label "上一个">
+<!ENTITY previousButtonToolbarItem.label "上一条未读">
+<!ENTITY previousMsgButton.label "上一个">
+<!ENTITY backButton1.label "后退">
+<!ENTITY goForwardButton1.label "前进">
+<!ENTITY deleteItem.title "删除">
+<!ENTITY markButton.label "标记">
+<!ENTITY printButton.label "打印">
+<!ENTITY stopButton.label "停止">
+<!ENTITY throbberItem.title "活动指示器">
+<!ENTITY junkItem.title "垃圾">
+<!ENTITY addressBookButton.label "通讯录">
+<!ENTITY chatButton.label "聊天">
+<!ENTITY glodaSearch.title "全局搜索">
+<!ENTITY searchItem.title "快速搜索">
+<!ENTITY mailViewsToolbarItem.title "邮件视图">
+<!ENTITY folderLocationToolbarItem.title "文件夹地址">
+<!ENTITY tagButton.label "标签">
+<!ENTITY compactButton.label "压缩">
+<!ENTITY appmenuButton.label "应用菜单">
+
+<!-- Mail Toolbar Tooltips-->
+<!ENTITY advancedButton.tooltip "高级消息搜索">
+<!ENTITY getMsgButton.tooltip "获取新消息">
+<!ENTITY getAllNewMsgCmd.label "获取所有新消息">
+<!ENTITY getAllNewMsgCmd.accesskey "G">
+<!ENTITY newMsgButton.tooltip "创建新消息">
+<!ENTITY replyButton.tooltip "回复消息">
+<!ENTITY replyAllButton.tooltip "回复发件人和所有收件人">
+<!ENTITY replyListButton.tooltip "回复至邮件列表">
+<!ENTITY forwardButton.tooltip "转发选择的消息">
+<!ENTITY forwardAsInline.tooltip "作为内联文本转发选中的消息">
+<!ENTITY forwardAsAttachment.tooltip "作为附件转发选中的消息">
+<!ENTITY fileButton.tooltip "移动选择的消息">
+<!ENTITY archiveButton.tooltip "归档选中的消息">
+<!ENTITY openMsgConversationButton.tooltip "显示选定消息的对话">
+<!ENTITY nextButton.tooltip "转至下一条未读消息">
+<!ENTITY nextMsgButton.tooltip "移动到下一条信息">
+<!ENTITY previousButton.tooltip "转到上一条未读消息">
+<!ENTITY previousMsgButton.tooltip "移动到上一条信息">
+<!ENTITY goForwardButton.tooltip "前进至下一条消息">
+<!ENTITY goBackButton.tooltip "后退至上一条消息">
+<!ENTITY markButton.tooltip "标记消息">
+<!ENTITY printButton.tooltip "打印此消息">
+<!ENTITY stopButton.tooltip "停止当前的传输">
+<!ENTITY addressBookButton.tooltip "转到通讯录">
+<!ENTITY chatButton.tooltip "显示聊天页">
+<!ENTITY tagButton.tooltip "为消息添加标签">
+<!ENTITY compactButton.tooltip "从选中文件夹移除已删除消息">
+<!ENTITY appmenuButton1.tooltip "显示 &brandShortName; 菜单">
+
+<!-- Toolbar Button Popup -->
+<!ENTITY buttonMenuForwardAsInline.label "内联转发">
+<!ENTITY buttonMenuForwardAsAttachment.label "作为附件转发">
+
+<!-- Remote Content Button Popup -->
+<!ENTITY remoteContentOptionsAllowForMsg.label "在这个消息中显示远程内容">
+<!ENTITY remoteContentOptionsAllowForMsg.accesskey "S">
+<!ENTITY editRemoteContentSettings.label "编辑远程内容选项…">
+<!ENTITY editRemoteContentSettings.accesskey "E">
+<!ENTITY editRemoteContentSettingsUnix.label "编辑远程内容首选项…">
+<!ENTITY editRemoteContentSettingsUnix.accesskey "E">
+
+<!-- Phishing Button Popup -->
+<!ENTITY phishingOptionIgnore.label "忽略这个警告消息">
+<!ENTITY phishingOptionIgnore.accesskey "n">
+<!ENTITY phishingOptionSettings.label "编辑欺诈检测选项…">
+<!ENTITY phishingOptionSettings.accesskey "d">
+<!ENTITY phishingOptionSettingsUnix.label "编辑欺诈检测偏好…">
+<!ENTITY phishingOptionSettingsUnix.accesskey "d">
+
+<!-- AppMenu Popup -->
+<!ENTITY appmenuNewMsgCmd.label "新建消息">
+<!ENTITY appmenuNewContactCmd.label "通讯录联系人…">
+<!ENTITY appmenuEditMenu.label "编辑">
+<!ENTITY appmenuToolbarLayout.label "工具栏布局…">
+<!ENTITY appmenuSelectThread.label "选择话题">
+<!ENTITY appmenuSelectFlagged.label "选择加星标的消息">
+
+<!-- Tags Menu Popup -->
+<!ENTITY addNewTag.label "新建标签…">
+<!ENTITY addNewTag.accesskey "N">
+<!ENTITY manageTags.label "管理标签…">
+<!ENTITY manageTags.accesskey "M">
+
+<!-- Folder Pane -->
+<!ENTITY folderNameColumn.label "名称">
+<!ENTITY folderUnreadColumn.label "未读">
+<!ENTITY folderTotalColumn.label "总共">
+<!ENTITY folderSizeColumn.label "大小">
+
+<!-- Folder Pane Context Menu -->
+<!ENTITY folderContextGetMessages.label "获取消息">
+<!ENTITY folderContextGetMessages.accesskey "G">
+<!ENTITY folderContextMarkAllFoldersRead.label "标记所有文件夹为已读">
+<!ENTITY folderContextPauseAllUpdates.label "暂停所有更新">
+<!ENTITY folderContextPauseUpdates.label "暂停更新">
+<!ENTITY folderContextPauseUpdates.accesskey "U">
+<!ENTITY folderContextOpenInNewWindow.label "在新窗口中打开">
+<!ENTITY folderContextOpenInNewWindow.accesskey "O">
+<!ENTITY folderContextOpenNewTab.label "在新标签页中打开">
+<!ENTITY folderContextOpenNewTab.accesskey "T">
+<!ENTITY folderContextNew.label "新建子文件夹…">
+<!ENTITY folderContextNew.accesskey "N">
+<!ENTITY folderContextRename.label "重命名">
+<!ENTITY folderContextRename.accesskey "R">
+<!ENTITY folderContextRemove.label "删除">
+<!ENTITY folderContextRemove.accesskey "D">
+<!ENTITY folderContextCompact.label "压缩">
+<!ENTITY folderContextCompact.accesskey "C">
+<!ENTITY folderContextEmptyTrash.label "清空“废件箱”">
+<!ENTITY folderContextEmptyTrash.accesskey "y">
+<!ENTITY folderContextEmptyJunk.label "清空垃圾">
+<!ENTITY folderContextEmptyJunk.accesskey "J">
+<!ENTITY folderContextSendUnsentMessages.label "发送未发送消息...">
+<!ENTITY folderContextSendUnsentMessages.accesskey "d">
+<!ENTITY folderContextUnsubscribe.label "取消订阅">
+<!ENTITY folderContextUnsubscribe.accesskey "U">
+<!ENTITY folderContextMarkNewsgroupRead.label "标记新闻组为已读">
+<!ENTITY folderContextMarkNewsgroupRead.accesskey "k">
+<!ENTITY folderContextMarkMailFolderRead.label "标记文件夹已读">
+<!ENTITY folderContextMarkMailFolderRead.accesskey "k">
+<!ENTITY folderContextSubscribe.label "订阅…">
+<!ENTITY folderContextSubscribe.accesskey "b">
+<!ENTITY folderContextSearchForMessages.label "搜索消息…">
+<!ENTITY folderContextSearchForMessages.accesskey "S">
+<!ENTITY folderContextProperties2.label "属性">
+<!ENTITY folderContextProperties2.accesskey "P">
+<!ENTITY folderContextFavoriteFolder.label "收藏夹">
+<!ENTITY folderContextFavoriteFolder.accesskey "a">
+<!ENTITY folderContextSettings2.label "设置">
+<!ENTITY folderContextSettings2.accesskey "e">
+
+<!-- Search Bar -->
+<!ENTITY SearchNameOrEmail.label "名称或者电子邮件包含:">
+<!ENTITY SearchNameOrEmail.accesskey "N">
+
+<!-- Gloda Search Bar -->
+<!ENTITY glodaSearchBar.placeholder "搜索消息…">
+
+<!-- Quick Search Menu Bar -->
+<!ENTITY searchSubjectMenu.label "主题">
+<!ENTITY searchFromMenu.label "来自">
+<!ENTITY searchSubjectOrFromMenu.label "主题或来自">
+<!ENTITY searchRecipient.label "收件人或转发">
+<!ENTITY searchSubjectOrRecipientMenu.label "主题,收件人或者抄送人">
+<!ENTITY searchMessageBody.label "整条消息">
+<!ENTITY saveAsVirtualFolderMenu.label "将搜索结果保存作为文件夹…">
+
+<!-- Thread Pane -->
+<!ENTITY selectColumn.label "选择消息">
+<!ENTITY threadColumn.label "话题">
+<!ENTITY fromColumn.label "来自">
+<!ENTITY recipientColumn.label "收件人">
+<!ENTITY correspondentColumn.label "通信者">
+<!ENTITY subjectColumn.label "主题">
+<!ENTITY dateColumn.label "日期">
+<!ENTITY priorityColumn.label "优先级">
+<!ENTITY tagsColumn.label "标签">
+<!ENTITY accountColumn.label "账户">
+<!ENTITY statusColumn.label "状态">
+<!ENTITY sizeColumn.label "大小">
+<!ENTITY junkStatusColumn.label "垃圾状态">
+<!ENTITY unreadColumn.label "未读">
+<!ENTITY totalColumn.label "总计">
+<!ENTITY readColumn.label "已读">
+<!ENTITY receivedColumn.label "接收时间">
+<!ENTITY starredColumn.label "已加星标">
+<!ENTITY locationColumn.label "位置">
+<!ENTITY idColumn.label "接收顺序">
+<!ENTITY attachmentColumn.label "附件">
+<!ENTITY deleteColumn.label "删除">
+
+<!-- Thread Pane Tooltips -->
+<!ENTITY columnChooser2.tooltip "选择要显示的列">
+<!ENTITY selectColumn.tooltip "切换选择所有消息">
+<!ENTITY threadColumn2.tooltip "显示消息话题">
+<!ENTITY fromColumn2.tooltip "按来自排序">
+<!ENTITY recipientColumn2.tooltip "按收件人排序">
+<!ENTITY correspondentColumn2.tooltip "按通信者排序">
+<!ENTITY subjectColumn2.tooltip "按主题排序">
+<!ENTITY dateColumn2.tooltip "按日期排序">
+<!ENTITY priorityColumn2.tooltip "按优先级排序">
+<!ENTITY tagsColumn2.tooltip "按标签排序">
+<!ENTITY accountColumn2.tooltip "按账户排序">
+<!ENTITY statusColumn2.tooltip "按状态排序">
+<!ENTITY sizeColumn2.tooltip "按大小排序">
+<!ENTITY junkStatusColumn2.tooltip "按垃圾邮件状态排序">
+<!ENTITY unreadColumn2.tooltip "话题中未读的消息数">
+<!ENTITY totalColumn2.tooltip "话题中消息的总数">
+<!ENTITY readColumn2.tooltip "按已读排序">
+<!ENTITY receivedColumn2.tooltip "按接收日期排序">
+<!ENTITY starredColumn2.tooltip "按星标排序">
+<!ENTITY locationColumn2.tooltip "按位置排序">
+<!ENTITY idColumn2.tooltip "按接收顺序排序">
+<!ENTITY attachmentColumn2.tooltip "按附件排序">
+<!ENTITY deleteColumn.tooltip "删除消息">
+
+<!-- Thread Pane Context Menu -->
+<!ENTITY contextNewMsgFromTemplate.label "依托模板新建邮件">
+<!ENTITY contextOpenNewWindow.label "在新窗口中打开消息">
+<!ENTITY contextOpenNewWindow.accesskey "W">
+<!-- The contextOpenNewTab.accesskey ("T") potentially conflicts with
+ cutCmd.accessKey which is defined in textcontext.dtd from toolkit. Right
+ now, both menu items can't be visible at the same time, but should someone
+ enable copy/paste of message, this key would probably need to be changed. -->
+<!ENTITY contextOpenNewTab.label "在新标签页中打开消息">
+<!ENTITY contextOpenNewTab.accesskey "T">
+<!ENTITY contextOpenConversation.label "在会话中打开消息">
+<!ENTITY contextOpenConversation.accesskey "n">
+<!ENTITY contextOpenContainingFolder.label "打开文件夹内的消息">
+<!ENTITY contextOpenContainingFolder.accesskey "n">
+<!ENTITY contextEditMsgAsNew.label "作为新消息编辑">
+<!ENTITY contextEditMsgAsNew.accesskey "E">
+<!ENTITY contextEditDraftMsg.label "编辑草稿邮件">
+<!ENTITY contextEditTemplate.label "编辑模板">
+<!ENTITY contextEditTemplate.accesskey "T">
+<!ENTITY contextArchive.label "归档">
+<!ENTITY contextArchive.accesskey "h">
+<!ENTITY contextReplySender.label "只回复发件人">
+<!ENTITY contextReplySender.accesskey "R">
+<!ENTITY contextReplyNewsgroup2.label "回复到新闻组">
+<!ENTITY contextReplyNewsgroup2.accesskey "u">
+<!ENTITY contextReplyAll.label "全部回复">
+<!ENTITY contextReplyAll.accesskey "A">
+<!ENTITY contextReplyList.label "回复至列表">
+<!ENTITY contextReplyList.accesskey "L">
+<!ENTITY contextForward.label "转发">
+<!ENTITY contextForward.accesskey "F">
+<!ENTITY contextForwardAsMenu.label "转发为">
+<!ENTITY contextForwardAsMenu.accesskey "o">
+<!ENTITY contextForwardAsInline.label "内联">
+<!ENTITY contextForwardAsInline.accesskey "I">
+<!ENTITY contextForwardAsAttachmentItem.label "附件">
+<!ENTITY contextForwardAsAttachmentItem.accesskey "A">
+<!ENTITY contextMultiForwardAsAttachment.label "作为附件转发">
+<!ENTITY contextMultiForwardAsAttachment.accesskey "o">
+<!ENTITY contextMoveMsgMenu.label "移动到">
+<!ENTITY contextMoveMsgMenu.accesskey "M">
+<!ENTITY contextMoveCopyMsgRecentMenu.label "最近">
+<!ENTITY contextMoveCopyMsgRecentMenu.accesskey "R">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.label "我的收藏">
+<!ENTITY contextMoveCopyMsgFavoritesMenu.accesskey "F">
+<!ENTITY contextCopyMsgMenu.label "复制到">
+<!ENTITY contextCopyMsgMenu.accesskey "C">
+<!ENTITY contextKillThreadMenu.label "忽略话题">
+<!ENTITY contextKillSubthreadMenu.accesskey "b">
+<!ENTITY contextKillThreadMenu.accesskey "I">
+<!ENTITY contextKillSubthreadMenu.label "忽略子话题">
+<!ENTITY contextWatchThreadMenu.label "跟踪话题">
+<!-- LOCALIZATION NOTE (contextWatchThreadMenu.accesskey):
+ In the en-US locale we ran out of access keys, so there is an empty access key for
+ Watch Thread. Localizers can pick a suitable key
+ -->
+<!ENTITY contextWatchThreadMenu.accesskey "">
+<!ENTITY contextSaveAs.label "另存为…">
+<!ENTITY contextSaveAs.accesskey "S">
+<!ENTITY contextPrint.label "打印…">
+<!ENTITY contextPrint.accesskey "P">
+<!ENTITY contextPrintPreview.label "打印预览">
+<!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 "将列设定应用至…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolder.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolderAndChildren.label". It indicates a desire to
+ apply the currently display thread pane column settings to a single folder
+ that the user selects using the same widget as the move to/copy to
+ mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolder.label "文件夹…">
+<!-- LOCALIZATION NOTE (columnPicker.applyToFolderAndChildren.label):
+ This option in the thread pane column picker is found on a sub-menu beneath
+ the "columnPicker.applyTo.label" alongside
+ "columnPicker.applyToFolder.label". It indicates a desire to
+ apply the currently display thread pane column settings to a folder and all
+ of its descendents. The user selects the folder using the same widget as the
+ move to/copy to mechanism (via a series of popups).
+ -->
+<!ENTITY columnPicker.applyToFolderAndChildren.label "文件夹及其子项目…">
+<!-- LOCALIZATION NOTE (columnPicker.thisFolder.label):
+ This is used in the folder selection widget for the
+ "columnPicker.applyToFolder.label" and
+ "columnPicker.applyToFolderAndChildren.label" menu options. Whenever
+ a folder has children, it results in a menu popup; the first menu item
+ in that popup is given this label to indicate that that folder should be
+ selected. For example, if folder "A" has two children, "B" and "C", then
+ when the user hovers over "A", a new popup menu will be displayed whose
+ items are "This folder", "B", and "C". This is the equivalent of the
+ "File here" option for the move to/copy to widget.
+ -->
+<!ENTITY columnPicker.thisFolder.label "此文件夹">
+
+<!-- Media (video/audio) controls -->
+<!ENTITY contextPlay.label "播放">
+<!ENTITY contextPlay.accesskey "P">
+<!ENTITY contextPause.label "暂停">
+<!ENTITY contextPause.accesskey "P">
+<!ENTITY contextMute.label "静音">
+<!ENTITY contextMute.accesskey "M">
+<!ENTITY contextUnmute.label "恢复声音">
+<!ENTITY contextUnmute.accesskey "m">
+
+<!-- Quick Search Bar -->
+<!-- LOCALIZATION NOTE (quickSearchCmd.key):
+ This is actually the key used for the global message search box; we have
+ not changed
+ -->
+<!ENTITY quickSearchCmd.key "k">
+<!-- LOCALIZATION NOTE (search.label.base1):
+ This is the base of the empty text for the global search box. We replace
+ #1 with the contents of the appropriate search.keyLabel.* value for the
+ platform.
+ The goal is to convey to the user that typing in the box will allow them
+ to search for messages globally and that there is a hotkey they can press
+ to get to the box faster. If the global indexer is disabled, the search
+ box will be collapsed and the user will never see this message.
+ -->
+<!ENTITY search.label.base1 "搜索 #1">
+<!-- LOCALIZATION NOTE (search.keyLabel.nonmac):
+ The description of the key-binding to get into the global search box on
+ windows and linux (which use the control key). We use the key defined in
+ the quickSearchCmd.key entity defined above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.nonmac "&lt;Ctrl+K&gt;">
+<!-- LOCALIZATION NOTE (search.keyLabel.mac):
+ The description of the key-binding to get into the global search box on mac
+ systems. We use the key defined in the quickSearchCmd.key entity defined
+ above, the letter should match it.
+ -->
+<!ENTITY search.keyLabel.mac "&lt;&#x2318;K&gt;">
+
+<!-- Message Header Context Menu -->
+<!ENTITY AddToAddressBook.label "将地址添加到通讯录…">
+<!ENTITY AddToAddressBook.accesskey "B">
+<!ENTITY AddDirectlyToAddressBook.label "添加至通讯录">
+<!ENTITY AddDirectlyToAddressBook.accesskey "B">
+<!ENTITY EditContact1.label "编辑联系人">
+<!ENTITY EditContact1.accesskey "E">
+<!ENTITY ViewContact.label "查看联系人">
+<!ENTITY ViewContact.accesskey "V">
+<!ENTITY SubscribeToNewsgroup.label "订阅新闻组">
+<!ENTITY SubscribeToNewsgroup.accesskey "N">
+<!ENTITY SendMessageTo.label "编写消息至">
+<!ENTITY SendMessageTo.accesskey "s">
+<!ENTITY CopyEmailAddress.label "复制邮件地址">
+<!ENTITY CopyEmailAddress.accesskey "C">
+<!ENTITY CopyNameAndEmailAddress.label "复制名字和电子邮件地址">
+<!ENTITY CopyNameAndEmailAddress.accesskey "N">
+<!ENTITY CopyNewsgroupName.label "复制新闻组名称">
+<!ENTITY CopyNewsgroupName.accesskey "C">
+<!ENTITY CopyNewsgroupURL.label "复制新闻组 URL">
+<!ENTITY CopyNewsgroupURL.accesskey "U">
+<!ENTITY CreateFilterFrom.label "对此创建过滤器…">
+<!ENTITY CreateFilterFrom.accesskey "F">
+<!ENTITY reportPhishingURL.label "报告电子邮件欺诈">
+<!ENTITY reportPhishingURL.accesskey "o">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "添加词典…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Content Pane Context Menu -->
+<!ENTITY saveLinkAsCmd.label "将链接另存为…">
+<!ENTITY saveLinkAsCmd.accesskey "k">
+<!ENTITY saveImageAsCmd.label "将图像另存为…">
+<!ENTITY saveImageAsCmd.accesskey "v">
+<!ENTITY copyLinkCmd.label "复制链接地址">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyImageAllCmd.label "复制图像">
+<!ENTITY copyImageAllCmd.accesskey "I">
+<!ENTITY copyEmailCmd.label "复制邮件地址">
+<!ENTITY copyEmailCmd.accesskey "E">
+<!ENTITY stopCmd.label "停止">
+<!ENTITY stopCmd.accesskey "S">
+<!ENTITY reloadCmd.label "重新加载">
+<!ENTITY reloadCmd.accesskey "R">
+<!ENTITY openInBrowser.label "在浏览器中打开">
+<!ENTITY openInBrowser.accesskey "O">
+<!ENTITY openLinkInBrowser.label "在浏览器中打开链接">
+<!ENTITY openLinkInBrowser.accesskey "O">
+
+<!-- Statusbar -->
+<!ENTITY statusText.label "完成">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.label "最小化">
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY bringAllToFront.label "全部置前">
+<!ENTITY zoomWindow.label "缩放">
+
+<!-- Mac OS X Application Menu (Cocoa widgets) -->
+<!ENTITY preferencesCmdMac2.label "首选项">
+<!ENTITY preferencesCmdMac.commandkey ",">
+<!ENTITY preferencesCmdMac.modifiers "accel">
+<!ENTITY servicesMenuMac.label "服务">
+<!ENTITY hideThisAppCmdMac.label "隐藏 &brandShortName;">
+<!ENTITY hideThisAppCmdMac.commandkey "H">
+<!ENTITY hideThisAppCmdMac.modifiers "accel">
+<!ENTITY hideOtherAppsCmdMac.label "隐藏其他">
+<!ENTITY hideOtherAppsCmdMac.commandkey "H">
+<!ENTITY hideOtherAppsCmdMac.modifiers "accel,alt">
+<!ENTITY showAllAppsCmdMac.label "全部显示">
+
+<!-- Mac OS X Dock Icon pop-up menu -->
+<!ENTITY dockOptions.label "应用图标选项…">
+<!ENTITY writeNewMessageDock.label "撰写新邮件">
+<!ENTITY openAddressBookDock.label "打开通讯录">
+
+<!-- Content tab Navigation buttons -->
+<!ENTITY browseBackButton.tooltip "返回上一页">
+<!ENTITY browseForwardButton.tooltip "转到下一页">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.properties
new file mode 100644
index 0000000000..549553ecdc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messenger.properties
@@ -0,0 +1,762 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the messenger application
+#
+
+# LOCALIZATION NOTE(statusMessage):
+# Do not translate the words %1$S and %2$S below. Place the word %1$S where the
+# account name should appear and %2$S where the status message should appear.
+# EXAMPLE: Jim's Account: Downloading messages...
+statusMessage=%1$S: %2$S
+
+removeAccount=删除账户…
+newFolderMenuItem=文件夹…
+newSubfolderMenuItem=子文件夹…
+newFolder=新建文件夹…
+newSubfolder=新建子文件夹…
+markFolderRead=标记文件夹为已读;标记文件夹为已读
+markNewsgroupRead=标记新闻组为已读;标记新闻组为已读
+folderProperties=文件夹属性
+newTag=新建标签…
+# LOCALIZATION NOTE (getNextNewsMessages): Semi-colon list of plural forms.
+# #1 is the number of news messages to get.
+getNextNewsMessages=获取下一个 #1 新闻消息
+advanceNextPrompt=处理 %S 中的下一条未读消息?
+titleNewsPreHost=开
+replyToSender=回复发件人
+reply=回复
+EMLFiles=邮件文件
+OpenEMLFiles=打开消息
+# LOCALIZATION NOTE(defaultSaveMessageAsFileName): Do not translate ".eml"
+# in the line below. Also, the complete file name should be 8.3.
+defaultSaveMessageAsFileName=消息.eml
+# LOCALIZATION NOTE(longMsgSubjectTruncator): A suffix string appended to the filename
+# (created from message subject) if it needed to be truncated due to length.
+longMsgSubjectTruncator=...
+SaveMailAs=另存消息为
+SaveAttachment=保存附件
+SaveAllAttachments=保存所有附件
+DetachAttachment=分离附件
+DetachAllAttachments=分离所有附件
+ChooseFolder=选择文件夹
+MessageLoaded=已加载消息…
+PreviewTitle=%S - %S
+saveAttachmentFailed=不能保存附件。请检查文件名并稍后重试。
+saveMessageFailed=不能保存消息。请检查文件名并稍后重试。
+fileExists=%S 已存在。您要覆盖它吗?
+# LOCALIZATION NOTE(failedToReadFile): %1$S is replaced by the file name, %2$S is replaced by the reason the file load failed.
+failedToReadFile=无法读取文件:%1$S 原因:%2$S
+
+downloadingNewsgroups=下载新闻组供脱机使用
+downloadingMail=下载邮件供脱机使用
+sendingUnsent=正在发送尚未发送的消息
+
+folderExists=此文件名的文件夹已存在。请输入其他名称。
+# LOCALIZATION NOTE(confirmDuplicateFolderRename): %1$S is name of folder being moved, %2$S is parent folder name, %3$S is proposed new folder name
+confirmDuplicateFolderRename=在文件夹“%2$S”中已有名为“%1$S”的子文件夹。您愿意移动此文件夹到新名称“%3$S”吗?
+folderCreationFailed=无法创建此文件夹,因为您指定的文件名中包含一个未知的字符。请输入其他名称然后重试。
+
+compactingFolder=正在压缩文件夹“%S”…
+# LOCALIZATION NOTE(compactingDone): %1$S is the compaction gain.
+compactingDone=压缩完成(大约节省了 %1$S)。
+
+confirmFolderDeletionForFilter=如果删除文件夹“%S”
+alertFilterChanged=将更新和此文件夹关联的过滤器。
+filterDisabled=无法找到文件夹“%S”,所以和此文件夹相关联的过滤器将被禁用。请确认此文件夹存在,而且过滤器指向了一个有效的目的文件夹。
+filterFolderDeniedLocked=此消息无法过滤到文件夹“%S”,因为正在进行其他的操作。
+parsingFolderFailed=无法打开文件夹 %S,因为它已经被其他操作占用了。请等到该操作结束后再选择该文件夹。
+deletingMsgsFailed=无法删除文件夹 %S 中的消息,因为它正在被其他操作占用。请等到该操作完成后再试。
+alertFilterCheckbox=不要再警告我了。
+compactFolderDeniedLock=文件夹“%S”无法被压缩,因为正在进行其他操作。请稍后再试。
+compactFolderWriteFailed=文件夹“%S”无法被压缩,因为写入目录时出错。请确认您有足够的磁盘空间,而且您对文件系统有写权限,然后重试。
+compactFolderInsufficientSpace=一些文件夹(例如“%S”)无法被压缩,因为磁盘没有足够的可用空间。请删除一些文件后再试。
+filterFolderHdrAddFailed=消息不能过滤到 '%S' 文件夹,因为无法向这个文件夹添加信息。检查这个文件夹是否能正确显示,或者尝试在文件夹属性中修复它。
+filterFolderWriteFailed=此消息无法被过滤到文件夹“%S”,因为写文件夹时出错。请确认您有足够的磁盘空间,而且您对文件系统有写权限,然后再试。
+copyMsgWriteFailed=消息无法被移动或者复制到文件夹“%S”,因为写入文件夹失败。要获得额外的磁盘空间,从“文件”菜单,先选中“清空废件箱”,然后选择“压缩文件夹”,然后重试。
+cantMoveMsgWOBodyOffline=脱机工作时,您无法移动或者复制尚未下载以供脱机使用的消息。请从邮件窗口,打开“文件”菜单,选择“脱机”,然后选择“脱机工作”,然后再试一次。
+operationFailedFolderBusy=操作失败,其他操作也在使用该文件夹。请等待其他操作完成之后再重试。
+folderRenameFailed=文件夹无法被重命名。可能此文件夹正在被解析,或者新名称不是有效的文件夹名称。
+# LOCALIZATION NOTE(verboseFolderFormat): %1$S is folder name, %2$S is server name
+verboseFolderFormat=%2$S 的 %1$S
+# LOCALIZATION NOTE(filterFolderTruncateFailed): %1$S is replaced by the folder name, %2$S is replaced by the brandShortName
+filterFolderTruncateFailed=将消息过滤至‘%1$S’文件夹并清理收件箱时出错。您可能需要关闭 %2$S 并删除 INBOX.msf。
+
+mailboxTooLarge=文件夹 %S 已满,无法保存更多消息。请删除旧邮件、不需要的邮件或者压缩文件夹来保存其他消息。
+outOfDiskSpace=没有足够的磁盘空间用来下载新消息。请尝试删除旧邮件、清空“废件箱”文件夹、压缩您的邮件文件夹,然后再试。
+errorGettingDB=无法打开 %S 的概述文件。也许因为磁盘出错,或者文件路径过长。
+defaultServerTag=(默认值)
+
+# Used in message database list view to provide a text value for graphic based cells.
+messageUnread=未读
+messageHasFlag=已加星标
+messageHasAttachment=包含附件
+messageJunk=垃圾
+messageExpanded=已展开
+messageCollapsed=已折叠
+
+# Used in the SMTP Account Settings panel when a server value has no properties
+smtpServerList-NotSpecified=<未指定>
+smtpServer-ConnectionSecurityType-0=无
+smtpServer-ConnectionSecurityType-1=STARTTLS,如果可用
+smtpServer-ConnectionSecurityType-2=STARTTLS
+smtpServer-ConnectionSecurityType-3=SSL/TLS
+smtpServers-confirmServerDeletionTitle=删除服务器
+smtpServers-confirmServerDeletion=您确定要删除服务器:\n %S 吗?
+
+# Account Settings - Both Incoming and SMTP server
+authNo=无须验证
+authOld=密码,原始方式(不安全)
+authPasswordCleartextInsecurely=不安全传输的密码
+authPasswordCleartextViaSSL=普通密码
+authPasswordEncrypted=加密的密码
+authKerberos=Kerberos / GSSAPI
+authExternal=TLS 证书
+authNTLM=NTLM
+authOAuth2=OAuth2
+authAnySecure=任意安全方法(不推荐)
+authAny=任意方法(不安全)
+
+# OAuth2 window title
+# LOCALIZATION NOTE(oauth2WindowTitle):
+# %1$S is the username (or full email address) used for authentication.
+# %2$S is the hostname of the account being authenticated.
+oauth2WindowTitle=请输入 %1$S 在 %2$S 的凭据
+
+# LOCALIZATION NOTE(serverType-nntp): Do not translate "NNTP" in the line below
+serverType-nntp=新闻组服务器 (NNTP)
+# LOCALIZATION NOTE(serverType-pop3): Do not translate "POP" in the line below
+serverType-pop3=POP 邮件服务器
+# LOCALIZATION NOTE(serverType-imap): Do not translate "IMAP" in the line below
+serverType-imap=IMAP 邮件服务器
+serverType-none=本地邮件服务器
+
+sizeColumnTooltip2=按大小排序
+sizeColumnHeader=大小
+linesColumnTooltip2=按行数排序
+linesColumnHeader=行
+
+# LOCALIZATION NOTE (getMsgButtonTooltip): Do not translate the word "%S" below.
+# Place the word "%S" in your translation where the name of the comma separated accounts should appear.
+getMsgButtonTooltip=获取 %S 的新消息
+# Used to separate email addresses in a list. Note the trailing space ', '
+getMsgButtonTooltip.listSeparator=,\u0020
+
+# status feedback stuff
+documentDone=
+documentLoading=正在加载消息…
+
+# LOCALIZATION NOTE (autosyncProgress): Do not translate the word "%1$S" or "%2$S" below.
+# Place the word %1$S in your translation where the name of the comma separated folders should appear.
+# Place the word %2$S in your translation where the name of the comma separated accounts should appear.
+autosyncProgress=正在从 %2$S 同步 %1$S 中的消息…
+
+unreadMsgStatus=未读:%S
+selectedMsgStatus=已选: %S
+totalMsgStatus=总计:%S
+
+# localized folder names
+
+localFolders=本地文件夹
+
+# LOCALIZATION NOTE (inboxFolderName): OK to translate all foldernames, bugzilla #57440 & bugzilla #23625 fixed
+inboxFolderName=收件箱
+trashFolderName=废件箱
+sentFolderName=已发送消息
+draftsFolderName=草稿
+templatesFolderName=模板
+outboxFolderName=发件箱
+junkFolderName=垃圾
+archivesFolderName=归档
+
+# "Normal" priority is often blank,
+# depending on the consumers of these strings
+priorityLowest=最低
+priorityLow=低
+priorityNormal=正常
+priorityHigh=高
+priorityHighest=最高
+
+#Group by date thread pane titles
+today=今天
+yesterday=昨天
+lastWeek=上星期
+last7Days=最近一周
+twoWeeksAgo=两星期前
+last14Days=最近两周
+older=旧邮件。
+futureDate=未来
+
+#Grouped By Tags
+untaggedMessages=未添加标签的消息
+
+# Grouped by status
+messagesWithNoStatus=无状态
+
+#Grouped by priority
+noPriority=无优先级
+
+#Grouped by has attachments
+noAttachments=无附件
+attachments=附件
+
+#Grouped by starred
+notFlagged=未加星标
+groupFlagged=已加星标
+
+# defaults descriptions for tag prefs listed in mailnews.js
+# (we keep the .labels. names for backwards compatibility)
+mailnews.tags.remove=移除全部标签
+mailnews.labels.description.1=重要
+mailnews.labels.description.2=工作
+mailnews.labels.description.3=私人
+mailnews.labels.description.4=待办
+mailnews.labels.description.5=稍后
+
+# Format definition tag menu texts.
+# This is necessary in order to get the accesskeys to be the on the first
+# character of the menu text instead of after the menu text.
+# If a key definition exists for the tag at index n, that key's key will be
+# taken as the accesskey, eg.
+# <key id="key_tag3" key="&tagCmd3.key;" oncommand="ToggleMessageTagKey(3);"/>
+# makes the third tag have the accesskey &tagCmd3.key;.
+# In the menuitem's label, this accesskey appears at %1$S below; %2$S will be
+# replaced by the tag label.
+mailnews.tags.format=%1$S %2$S
+
+replied=已回复
+forwarded=已转发
+redirected=已重定向
+new=新
+read=已读
+flagged=已加星标
+
+# for junk status picker in search and mail views
+junk=垃圾
+
+# for junk score origin picker in search and mail views
+junkScoreOriginPlugin=插件
+junkScoreOriginFilter=过滤器
+junkScoreOriginWhitelist=白名单
+junkScoreOriginUser=用户
+junkScoreOriginImapFlag=IMAP 标志
+
+# for the has attachment picker in search and mail views
+hasAttachments=包含附件
+
+# for the Tag picker in search and mail views.
+tag=标签
+
+# LOCALIZATION NOTE(andOthers):
+# for multiple authors, add this abbreviation to the first author to indicate
+# there are more; for the From column in the threadpane message list.
+andOthers=等人
+
+# whether to also show phonetic fields in the addressbook
+# LOCALIZATION NOTE(mail.addr_book.show_phonetic_fields):
+# the only valid values are: true OR false (choose from the untranslated English words)
+mail.addr_book.show_phonetic_fields=false
+
+# valid format options are:
+# 1: yyyy/mm/dd
+# 2: yyyy/dd/mm
+# 3: mm/dd/yyyy
+# 4: mm/yyyy/dd
+# 5: dd/mm/yyyy
+# 6: dd/yyyy/mm
+#
+# 0: auto-detect the current locale format
+# a separator has to be either '/', '-', '.' and the year in Christian year
+# otherwise mm/dd/yyyy (option 3) is used
+#
+mailnews.search_date_format=0
+# separator for search date (e.g. "/", "-"), or empty when search_date_format is zero
+mailnews.search_date_separator=
+# leading zeros for day and month values, not used if mailnews.search_date_format is not zero
+mailnews.search_date_leading_zeros=true
+
+# offline msg
+nocachedbodybody2=此消息还未从服务器上下载以供脱机阅读。若要阅读这条消息,您必须重新连接网络,从“文件”菜单中选择“脱机”,再反选“脱机工作”。将来,您可以选择脱机阅读某些消息或者文件夹。请选择“文件”菜单中的“脱机”,然后选择“同步”。您可以调整磁盘空间选项,避免下载过大的消息。
+
+# LOCALIZATION NOTE(acctCentralTitleFormat): %1$S is brand, %2$S is account type, %3$S is account name
+acctCentralTitleFormat=%1$S %2$S - %3$S
+mailAcctType=邮件
+newsAcctType=新闻组
+feedsAcctType=RSS 收取点
+
+# LOCALIZATION NOTE(nocachedbodytitle): Do not translate "<TITLE>" or "</TITLE>" in the line below
+nocachedbodytitle=<TITLE>请联机查看这条消息</TITLE>\n
+
+# mailWindowOverlay.js
+confirmUnsubscribeTitle=确认取消订阅
+confirmUnsubscribeText=您确定从 %S 取消订阅吗?
+confirmUnsubscribeManyText=您想取消这些新闻组的订阅吗?
+restoreAllTabs=还原所有标签页
+
+confirmMarkAllFoldersReadTitle=标记所有收件箱为已读
+confirmMarkAllFoldersReadMessage=您确定要将此账户所有收件箱中的所有邮件标记为已读?
+
+# LOCALIZATION NOTE(junkBarMessage): %S is brand
+junkBarMessage=%S 认为此消息是垃圾邮件。
+junkBarButton=这不是垃圾
+junkBarButtonKey=N
+junkBarInfoButton=详细了解
+junkBarInfoButtonKey=L
+
+# LOCALIZATION NOTE(remoteContentBarMessage): %S is brand
+remoteContentBarMessage=为了保护您的隐私,%S 已屏蔽此消息中的远程内容。
+remoteContentPrefLabel=选项
+remoteContentPrefAccesskey=O
+remoteContentPrefLabelUnix=首选项
+remoteContentPrefAccesskeyUnix=P
+
+# LOCALIZATION NOTE(remoteAllowResource): %S is origin
+remoteAllowResource=允许来自 %S 的远程内容
+# LOCALIZATION NOTE(remoteAllowAll): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 is the number of origins
+remoteAllowAll=允许上方列出的 #1 个来源的远程内容
+
+phishingBarMessage=此可能是一封欺诈消息。
+phishingBarPrefLabel=选项
+phishingBarPrefAccesskey=O
+phishingBarPrefLabelUnix=首选项
+phishingBarPrefAccesskeyUnix=P
+
+mdnBarIgnoreButton=忽略请求
+mdnBarIgnoreButtonKey=n
+mdnBarSendReqButton=发送回执
+mdnBarSendReqButtonKey=S
+
+draftMessageMsg=这是一份消息草稿。
+draftMessageButton=编辑
+draftMessageButtonKey=E
+
+# msgHdrViewOverlay.js
+openLabel=打开
+openLabelAccesskey=O
+saveLabel=另存为…
+saveLabelAccesskey=A
+detachLabel=移除…
+detachLabelAccesskey=D
+deleteLabel=删除
+deleteLabelAccesskey=E
+openFolderLabel=打开所在文件夹
+openFolderLabelAccesskey=F
+deleteAttachments=将从该消息中永久删除下列附件:\n%S\n该操作不可逆。请问您确定要继续吗?
+detachAttachments=已经成功保存下列附件:\n%S\n将从该消息中永久删除此附件。该操作不可逆。请问您确定要继续吗?
+deleteAttachmentFailure=删除所选附件失败。
+emptyAttachment=这个附件似乎是空的。\n请与发送该附件的人核实。\n通常情况下公司的防火墙或者杀毒软件会破坏掉附件。
+externalAttachmentNotFound=找不到分离文件或链接附件,或是无法在此位置访问。
+
+# LOCALIZATION NOTE (attachmentCount): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of attachments
+attachmentCount=#1 个附件
+
+# LOCALIZATION NOTE (attachmentCountSingle): This is the format for the
+# attachment header when a message has only one attachment. This is separate
+# from attachmentCount above, since attachmentCountSingle typically ends with a
+# colon.
+attachmentCountSingle=1 个附件:
+
+# LOCALIZATION NOTE (attachmentSizeUnknown): The string to show for the total
+# size of all attachments when none of the attachments' sizes can be detected.
+attachmentSizeUnknown=未知大小
+
+# LOCALIZATION NOTE (attachmentSizeAtLeast): The string to show for the total
+# size of all attachments when at least one (but not all) of the attachments'
+# sizes can't be detected. %1$S is the formatted size.
+attachmentSizeAtLeast=至少 %1$S
+
+# This is the format for prepending accesskeys to the
+# each of the attachments in the file|attachments menu:
+# ie: 1 file.txt
+# 2 another file.txt
+attachmentDisplayNameFormat=%S %S
+
+# This is the heading for the attachment summary when printing an email
+attachmentsPrintHeader=附件:
+
+# Connection Error Messages
+# LOCALIZATION NOTE(unknownHostError): %S is the server name
+unknownHostError=连接服务器 %S 失败。
+# LOCALIZATION NOTE(connectionRefusedError): %S is the server name
+connectionRefusedError=未能连接到服务器 %S;连接被拒绝。
+# LOCALIZATION NOTE(netTimeoutError): %S is the server name
+netTimeoutError=连接到服务器 %S 超时。
+# LOCALIZATION NOTE(netResetError): %S is the server name
+netResetError=连接服务器 %S 被重置。
+# LOCALIZATION NOTE(netInterruptError): %S is the server name
+netInterruptError=连接服务器 %S 中断。
+
+recipientSearchCriteria=主题或接收人包含:
+fromSearchCriteria=主题或来自包含:
+
+# LOCALIZATION NOTE(biffNotification): %1$S is the number of new messages
+biffNotification_message=有 %1$S 条新消息
+biffNotification_messages=有 %1$S 条新消息
+
+# LOCALIZATION NOTE(newMailNotification_message): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_message=%1$S 收到 %2$S 条新消息
+
+# LOCALIZATION NOTE(newMailNotification_messages): %1$S is the name of the account %2$S is the number of new messages
+newMailNotification_messages=%1$S 收到 %2$S 条新消息
+
+# LOCALIZATION NOTE(newMailNotification_messagetitle): %1$S is subject of new message and %2$S is sender of new message.
+# This is UNIX only
+newMailNotification_messagetitle=%1$S 来自 %2$S
+
+# LOCALIZATION NOTE(newMailAlert_message):
+# Semi-colon list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the name of the account, #2 is the number of new messages
+newMailAlert_message=#1 收到 #2 条新消息
+
+# For the Quota tab in the mail folder properties dialog
+quotaPercentUsed=%S%% 已使用
+# for quota in main window (commandglue.js)
+percent=%S%%
+quotaTooltip2=IMAP 配额: 已使用 %S,共 %S。单击查看详细信息。
+
+# for message views
+confirmViewDeleteTitle=确认
+confirmViewDeleteMessage=您确定要删除此视图吗?
+
+# for virtual folders
+confirmSavedSearchTitle=确认删除
+confirmSavedSearchDeleteMessage=您确定要删除该条即时搜索吗?
+
+## @name ENTER_PASSWORD_PROMPT
+## @loc None
+# LOCALIZATION NOTE (passwordPrompt): Do not translate the word %S below.
+# Place the word "%S" in your translation where the email address
+# or the username should appear
+passwordPrompt=请为 %2$S 上的 %1$S 输入您的密码:
+
+## @name ENTER_PASSWORD_PROMPT_TITLE
+## @loc None
+passwordTitle=邮件服务器需要密码
+
+# for checking if the user really wants to open lots of messages in separate windows.
+openWindowWarningTitle=确定
+# LOCALIZATION NOTE (openWindowWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openWindowWarningConfirmation=打开 #1 个消息可能很慢。确定继续吗?
+
+# for checking if the user really wants to open lots of messages in tabs.
+openTabWarningTitle=确认
+# LOCALIZATION NOTE (openTabWarningConfirmation): Semi-colon list of plural forms.
+# #1 is the number of messages the user is attempting to open.
+openTabWarningConfirmation=打开 #1 个消息可能很慢。确定继续吗?
+
+# for warning the user that a tag they're trying to create already exists
+tagExists=同名标签已存在。
+
+# title of the edit tag dialog
+editTagTitle=编辑标签
+
+# for the virtual folder list dialog title
+# %S is the name of the saved search folder
+editVirtualFolderPropertiesTitle=编辑即时搜索 %S 的属性
+# LOCALIZATION NOTE (foldersChosen): #1 number of chosen folders
+virtualFolderSourcesChosen=已选中 #1 个文件夹
+
+#alert to inform the user to choose one or more folders to search for a saved search folder
+alertNoSearchFoldersSelected=要搜索即时搜索文件夹,请先选中一个文件夹。
+
+# These are displayed in the message and folder pane windows
+# LOCALIZATION NOTE %.*f is the abbreviated size in the appropriate units
+byteAbbreviation2=%.*f 字节
+kiloByteAbbreviation2=%.*f K
+megaByteAbbreviation2=%.*f M
+gigaByteAbbreviation2=%.*f G
+teraByteAbbreviation2=%.*f TB
+petaByteAbbreviation2=%.*f PB
+
+## LOCALIZATION NOTE(folderWithAccount):
+## This is used to show folder name together with an account name.
+## %1$S = folder name
+## %2$S = account name
+folderWithAccount=%1$S - %2$S
+## LOCALIZATION NOTE(folderWithUnreadMsgs):
+## This is a concatenation of two strings to compose a folder label with unread messages.
+## %1$S = folder name
+## %2$S = count of unread messages
+folderWithUnreadMsgs=%1$S (%2$S)
+## LOCALIZATION NOTE(summarizedValue):
+## This string shows an indication that the value shown is actually a summary
+## accumulated from all subfolders.
+## %S = summarized value from all subfolders
+folderSummarizedSymbolValue=▾%S
+## LOCALIZATION NOTE(subfoldersExplanation):
+## This is a tooltip message shown on the values in the numeric folder pane columns.
+## %1$S = is the count of messages having the respective property, found in the folder under mouse cursor
+## %2$S = is the count of messages having the respective property, found in subfolders of the folder under mouse cursor
+subfoldersExplanation=%1$S 在此文件夹中,%2$S 在子文件夹中
+
+# Error message if message for a message id wasn't found
+errorOpenMessageForMessageIdTitle=打开消息-id 出错
+errorOpenMessageForMessageIdMessage=无法找到消息-id为 %S 的消息
+
+# Warnings to alert users about phishing urls
+confirmPhishingTitle=欺诈邮件警告
+linkMismatchTitle=检测到链接不一致
+#LOCALIZATION NOTE %1$S is the brand name, %2$S is the host name of the url being visited
+confirmPhishingUrl=%1$S 认为此消息可能是欺诈消息。此消息中的链接尝试伪装成您想要访问的网页地址。您确定是要访问 %2$S 吗?
+#LOCALIZATION NOTE %1$S is the host name of indicated host, %2$S is the host name of the actual host.
+confirmPhishingUrlAlternate=您刚刚点击的链接似乎指向另一个站点,而不是链接文本所指示的站点。这有时用于跟踪您是否点击了链接,但也可能是一个骗局。\n\n链接文本显示该链接指向 %1$S,但实际却指向了 %2$S。
+#LOCALIZATION NOTE $1$S is the host name of the indicated host.
+confirmPhishingGoAhead=仍要前往 %1$S
+#LOCALIZATION NOTE %1$S is the host name that was displayed to the user.
+confirmPhishingGoDirect=前往 %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=检查更新…
+updatesItem_defaultFallback=检查更新…
+updatesItem_default.accesskey=C
+updatesItem_downloading=正在下载 %S…
+updatesItem_downloadingFallback=正在下载更新…
+updatesItem_downloading.accesskey=D
+updatesItem_resume=恢复下载 %S…
+updatesItem_resumeFallback=恢复下载更新…
+updatesItem_resume.accesskey=D
+updatesItem_pending=立即安装已下载的更新…
+updatesItem_pendingFallback=立即安装已下载的更新…
+updatesItem_pending.accesskey=D
+
+# Folder Pane Header Title Strings
+folderPaneModeHeader_all=全部文件夹
+folderPaneModeHeader_unread=未读文件夹
+folderPaneModeHeader_favorite=收藏夹
+folderPaneModeHeader_recent=最近文件夹
+folderPaneModeHeader_smart=综合文件夹
+unifiedAccountName=综合文件夹
+
+# Copy / Move to Folder Again
+#LOCALIZATION NOTE %1$S is the name of the folder we will move to. moveToFolderAgainAccessKey
+# should have the same value as copyToFolderAgainAccessKey as they are the same menu item in the UI
+# moveToFolderAgainAccessKey should also be a letter that occurs before %1$S
+moveToFolderAgain=重复移动至 "%1$S"
+moveToFolderAgainAccessKey=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=重复复制至 "%1$S"
+copyToFolderAgainAccessKey=t
+
+#LOCALIZATION NOTE(mdnBarMessageNormal) %1$S is the name of the sender
+mdnBarMessageNormal=%1$S 请求您阅读本消息时通知他。
+#LOCALIZATION NOTE(mdnBarMessageAddressDiffers) %1$S is the name of the sender, %2$S is the address(es) to send return receipt to
+mdnBarMessageAddressDiffers=%1$S 请求您阅读本消息时通知 %2$S。
+
+# mailCommands.js
+emptyJunkFolderTitle=清空“%S”
+emptyJunkFolderMessage=删除“垃圾”文件夹中的所有消息和子文件夹?
+emptyJunkDontAsk=不再询问。
+emptyTrashFolderTitle=清空“%S”
+emptyTrashFolderMessage=删除“废件箱”文件夹中的所有消息和子文件夹?
+emptyTrashDontAsk=不再询问
+
+# junkCommands.js
+junkAnalysisPercentComplete=垃圾消息分析 %S 完成
+processingJunkMessages=正在处理垃圾消息
+
+# Messenger bootstrapping messages
+fileNotFoundTitle = 未找到文件
+#LOCALIZATION NOTE(fileNotFoundMsg): %S is the filename
+fileNotFoundMsg = 文件 %S 不存在。
+
+fileEmptyTitle = 文件为空
+#LOCALIZATION NOTE(fileEmptyMsg): %S is the filename
+fileEmptyMsg = 文件 %S 为空。
+
+# LOCALIZATION NOTE (headerMoreAddrs): semicolon separated list of plural
+# forms of the word "more" as used after the number of addresses
+# currently hidden while displaying a header such as "to", "cc", or "bcc"
+# in the message header box. English has two identical forms here, so it will
+# construct strings that look like (for example) "1 more" or "20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrs=还有另外 #1 个
+
+# LOCALIZATION NOTE (headerMoreAddrsTooltip): semicolon separated list of
+# plural forms of the phrase ", and #1 more" as used in the tooltip text
+# of the more widget displayed in the header pane (see headerMoreAddrs).
+# English has two identical forms here, so it will construct strings that
+# look like (for example) ", and 1 more" or ", and 20 more".
+# <https://developer.mozilla.org/en/Localization_and_Plurals> has details
+# on this mechanism.
+headerMoreAddrsTooltip=,以及另外 #1 个
+
+# LOCALIZATION NOTE (headertoFieldMe): first person prepositional object
+# pronoun used in the "to" header of the message header pane. This is also
+# used for the fallback case if a header-specific localization is not
+# available.
+headertoFieldMe=我
+
+# LOCALIZATION NOTE (headerfromFieldMe): first person prepositional object
+# pronoun used in the "from" header of the message header pane.
+headerfromFieldMe=我
+
+# LOCALIZATION NOTE (headerreply-toFieldMe): first person prepositional
+# object pronoun used in the "reply-to" header of the message header pane.
+headerreply-toFieldMe=我
+
+# LOCALIZATION NOTE (headerccFieldMe): first person prepositional object
+# pronoun used in the "cc" header of the message header pane.
+headerccFieldMe=我
+
+# LOCALIZATION NOTE (headerbccFieldMe): first person prepositional object
+# pronoun used in the "bcc" header of the message header pane.
+headerbccFieldMe=我
+
+expandAttachmentPaneTooltip=显示附件窗格
+collapseAttachmentPaneTooltip=隐藏附件窗格
+
+# Shown when content tabs are being loaded.
+loadingTab=加载中…
+
+confirmMsgDelete.title=确认删除
+confirmMsgDelete.collapsed.desc=这将删除已折叠话题中的消息。您确定要继续吗。
+confirmMsgDelete.deleteNoTrash.desc=这将立即删除消息,且不会在废件箱中保存副本。您确定要继续吗?
+confirmMsgDelete.deleteFromTrash.desc=这将从废件箱中永久删除消息。您确定要继续吗?
+confirmMsgDelete.dontAsk.label=不再询问。
+confirmMsgDelete.delete.label=删除
+
+mailServerLoginFailedTitle=登录失败
+# LOCALIZATION NOTE (mailServerLoginFailedTitleWithAccount):
+# "%S" is the account name.
+mailServerLoginFailedTitleWithAccount=登录账户“%S”失败
+# LOCALIZATION NOTE (mailServerLoginFailed2):
+# %1$S is the host name of the server, %2$S is the user name.
+mailServerLoginFailed2=以用户名 %2$S 登录服务器 %1$S 失败。
+mailServerLoginFailedRetryButton=重试(&R)
+mailServerLoginFailedEnterNewPasswordButton=输入新的密码(&E)
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.title):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the title of
+# the confirmation dialog used to verify they selected the correct folder. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.title=应用更改?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.noChildren.message):
+# When the user selects a folder to apply the currently displayed columns to
+# via the "columnPicker.applyToFolder.label" menu option, this is the text of
+# the confirmation dialog used to verify they selected the correct folder. The
+# string '%S' is replaced with the name of the folder the user selected in
+# order to help them confirm they picked what they thought they picked. This
+# is the case in which we apply the columns only to the folder and not to any of
+# its children.
+threadPane.columnPicker.confirmFolder.noChildren.message=将本文件夹的列设定应用至 %S 吗?
+
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.title):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# title of the confirmation dialog used to verify they selected the correct
+# folder. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.title=应用更改?
+# LOCALIZATION NOTE (threadPane.columnPicker.confirmFolder.withChildren.message):
+# When the user selects a folder to apply the currently displayed columns to via
+# the "columnPicker.applyToFolderAndChildren.label" menu option, this is the
+# text of the confirmation dialog used to verify they selected the correct
+# folder. The string '%S' is replaced with the name of the folder the user
+# selected in order to help them confirm they picked what they thought they
+# picked. This is the case in which we apply the columns to the folder and all
+# of its children.
+threadPane.columnPicker.confirmFolder.withChildren.message=将本文件夹的列设置应用至 %S 以及其子文件夹吗?
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message=该站点 (%S) 尝试安装一个主题。
+lwthemeInstallRequest.allowButton=允许
+lwthemeInstallRequest.allowButton.accesskey=a
+
+lwthemePostInstallNotification.message=新的主题已完成安装。
+lwthemePostInstallNotification.undoButton=撤销
+lwthemePostInstallNotification.undoButton.accesskey=U
+lwthemePostInstallNotification.manageButton=管理主题…
+lwthemePostInstallNotification.manageButton.accesskey=M
+
+# troubleshootModeRestart
+troubleshootModeRestartPromptTitle=以排障模式重启
+troubleshootModeRestartPromptMessage=排障模式将禁用全部附加组件,并暂时使用默认首选项。\n您确定要重启客户端吗?
+troubleshootModeRestartButton=重启客户端
+
+# LOCALIZATION NOTE (downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=更新到 %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=清除全部历史
+sanitizeButtonOK=立即清空
+# LOCALIZATION NOTE (sanitizeEverythingWarning2): Warning that appears when
+# "Time range to clear" is set to "Everything" in Clear Recent History dialog,
+# provided that the user has not modified the default set of history items to clear.
+sanitizeEverythingWarning2=全部历史记录会被清空。
+# LOCALIZATION NOTE (sanitizeSelectedWarning): Warning that appears when
+# "Time range to clear" is set to "Everything" in Clear Recent History dialog,
+# provided that the user has modified the default set of history items to clear.
+sanitizeSelectedWarning=将清空选中的项目内容。
+
+learnMoreAboutIgnoreThread=详细了解…
+learnMoreAboutIgnoreThreadAccessKey = L
+undoIgnoreThread=撤销忽略话题
+undoIgnoreThreadAccessKey=U
+undoIgnoreSubthread=撤销忽略子话题
+undoIgnoreSubthreadAccessKey=U
+# LOCALIZATION NOTE (ignoredThreadFeedback): #1 is the message thread title
+ignoredThreadFeedback=至“#1”话题的回复将不会再被显示。
+# LOCALIZATION NOTE (ignoredSubthreadFeedback): #1 is the message subthread title
+ignoredSubthreadFeedback=至“#1”子话题的回复将不会再被显示。
+# LOCALIZATION NOTE (ignoredThreadsFeedback): Semi-colon list of plural forms.
+# #1 is the number of threads
+ignoredThreadsFeedback=至选定话题的回复将不会再被显示。
+# LOCALIZATION NOTE (ignoredSubthreadsFeedback): Semi-colon list of plural forms.
+# #1 is number of subthreads
+ignoredSubthreadsFeedback=至选定字话题的回复将不会再被显示。
+# LOCALIZATION NOTE (saveAsType): replace %S with the extension of the file to be saved.
+saveAsType=%S 文件
+
+# LOCALIZATION NOTE (openSearch.label): The label used in the autocomplete
+# widget to refer to a search on the web for a short string containing at most
+# 15 characters. %1$S is the search provider to use. %2$S is the string to
+# search for.
+openSearch.label=用 %1$S 搜索“%2$S”
+
+# LOCALIZATION NOTE (openSearch.label.truncated): The label used in the
+# autocomplete widget to refer to a search on the web for a short string
+# containing more than 15 characters. %1$S is the search provider to use. %2$S
+# is the string to search for, truncated to 15 characters.
+openSearch.label.truncated=用 %1$S 搜索“%2$S”…
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Thunderbird build: 32-bit or 64-bit. These strings are used in parentheses
+# after the Thunderbird version in the About dialog,
+# e.g.: "48.0.2 (32-bit)" or "51.0a1 (2016-09-05) (64-bit)".
+aboutDialog.architecture.sixtyFourBit = 64 位
+aboutDialog.architecture.thirtyTwoBit = 32 位
+
+errorConsoleTitle = 错误控制台
+
+# LOCALIZATION NOTE (panel.back):
+# This is used by screen readers to label the "back" button in various browser
+# popup panels, including the sliding subviews of the appmenu.
+panel.back = 后退
+
+# LOCALIZATION NOTE (folderErrorAlertTitle):
+# %S is a pretty string to identify the folder and account.
+# EXAMPLE: Error - Inbox on bob@example.com
+folderErrorAlertTitle = 错误 - %S
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdAdvancedEdit.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdAdvancedEdit.dtd
new file mode 100644
index 0000000000..843fe0ad31
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdAdvancedEdit.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY WindowTitle.label "高级属性编辑器">
+<!ENTITY AttName.label "属性:">
+<!ENTITY AttValue.label "值:">
+<!ENTITY PropertyName.label "属性:">
+<!ENTITY currentattributesfor.label "当前属性为:">
+<!ENTITY tree.attributeHeader.label "属性">
+<!ENTITY tree.propertyHeader.label "属性">
+<!ENTITY tree.valueHeader.label "值">
+<!ENTITY tabHTML.label "HTML 属性">
+<!ENTITY tabCSS.label "内联样式">
+<!ENTITY tabJSE.label "JavaScript 事件">
+
+<!ENTITY editAttribute.label "单击某一项以编辑它的值">
+<!ENTITY removeAttribute.label "移除">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdColorPicker.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdColorPicker.dtd
new file mode 100644
index 0000000000..395291f560
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdColorPicker.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "颜色">
+<!ENTITY lastPickedColor.label "上次所选颜色">
+<!ENTITY lastPickedColor.accessKey "L">
+<!ENTITY chooseColor1.label "选择颜色:">
+<!ENTITY chooseColor2.label "输入一个 HTML 颜色字符串">
+<!ENTITY chooseColor2.accessKey "H">
+<!ENTITY setColorExample.label "(例如:&quot;#0000ff&quot; 或 &quot;blue&quot;):">
+<!ENTITY default.label "默认值">
+<!ENTITY default.accessKey "D">
+<!ENTITY palette.label "调色板:">
+<!ENTITY standardPalette.label "标准">
+<!ENTITY webPalette.label "全部 web 颜色">
+<!ENTITY background.label "背景:">
+<!ENTITY background.accessKey "B">
+<!ENTITY table.label "表格">
+<!ENTITY table.accessKey "T">
+<!ENTITY cell.label "单元">
+<!ENTITY cell.accessKey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdConvertToTable.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdConvertToTable.dtd
new file mode 100644
index 0000000000..4f1a443005
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdConvertToTable.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Window title -->
+
+
+<!ENTITY windowTitle.label "转换成表格">
+<!ENTITY instructions1.label "网页编写器为选中的每段在表中新建一行。">
+<!ENTITY instructions2.label "选择用来分隔所选内容到多列的字符:">
+<!ENTITY commaRadio.label "逗号">
+<!ENTITY spaceRadio.label "空格">
+<!ENTITY otherRadio.label "其他字符:">
+<!ENTITY deleteCharCheck.label "删除分隔符">
+<!ENTITY collapseSpaces.label "忽略多余空格">
+<!ENTITY collapseSpaces.tooltip "将相邻的空格转换成一个分隔条">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdDialogOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdDialogOverlay.dtd
new file mode 100644
index 0000000000..3b7c3e3225
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "高级编辑…">
+<!ENTITY AdvancedEditButton.accessKey "E">
+<!ENTITY AdvancedEditButton.tooltip "添加或修改 HTML 属性、样式属性以及 JavaScript">
+<!ENTITY chooseFileButton.label "选择文件…">
+<!ENTITY chooseFileButton.accessKey "F">
+<!ENTITY chooseFileLinkButton.label "选择文件…">
+<!ENTITY chooseFileLinkButton.accessKey "o">
+<!ENTITY makeUrlRelative.label "URL和页面地址相关">
+<!ENTITY makeUrlRelative.accessKey "R">
+<!ENTITY makeUrlRelative.tooltip "转换相对和绝对 URL。您必须先保存本页才能更改。">
+
+<!ENTITY LinkURLEditField2.label "请输入一条网址,或本地文件地址,或从字段的上下文菜单来选择一个命名的锚点或章节标题:">
+<!ENTITY LinkURLEditField2.accessKey "w">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdNamedAnchorProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdNamedAnchorProperties.dtd
new file mode 100644
index 0000000000..8bf1201767
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EdNamedAnchorProperties.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 windowTitle.label "锚标属性">
+<!ENTITY anchorNameEditField.label "锚标名称:">
+<!ENTITY anchorNameEditField.accessKey "N">
+<!ENTITY nameInput.tooltip "请为此锚标(目标)输入唯一的名称">
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorColorProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorColorProperties.dtd
new file mode 100644
index 0000000000..7cada22ad4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorColorProperties.dtd
@@ -0,0 +1,29 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "页面颜色和背景">
+<!ENTITY pageColors.label "页面颜色">
+<!ENTITY defaultColorsRadio.label "阅读器的默认颜色 (不使用页面中的颜色)">
+<!ENTITY defaultColorsRadio.accessKey "D">
+<!ENTITY defaultColorsRadio.tooltip "只使用查看器(阅读器)中的颜色设置">
+<!ENTITY customColorsRadio.label "使用定制颜色:">
+<!ENTITY customColorsRadio.accessKey "c">
+<!ENTITY customColorsRadio.tooltip "这些颜色设置覆盖了浏览器的设置">
+
+<!ENTITY normalText.label "常规文本">
+<!ENTITY normalText.accessKey "N">
+<!ENTITY linkText.label "链接文本">
+<!ENTITY linkText.accessKey "L">
+<!ENTITY activeLinkText.label "活动链接文本">
+<!ENTITY activeLinkText.accessKey "A">
+<!ENTITY visitedLinkText.label "已访问链接文本">
+<!ENTITY visitedLinkText.accessKey "V">
+<!ENTITY background.label "背景:">
+<!ENTITY background.accessKey "B">
+<!ENTITY colon.character ":">
+<!ENTITY backgroundImage.label "背景图像:">
+<!ENTITY backgroundImage.accessKey "m">
+<!ENTITY backgroundImage.tooltip "使用图像文件作为页面背景">
+<!ENTITY backgroundImage.shortenedDataURI "缩短 data URI(复制将复制完整 URI 到剪贴板)">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorHLineProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorHLineProperties.dtd
new file mode 100644
index 0000000000..248f24a4bc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorHLineProperties.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Window title -->
+
+
+<!ENTITY windowTitle.label "水平线特性">
+
+<!ENTITY dimensionsBox.label "尺寸">
+<!ENTITY heightEditField.label "高度:">
+<!ENTITY heightEditField.accessKey "g">
+<!ENTITY widthEditField.label "宽度:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY pixelsPopup.value "像素">
+<!ENTITY alignmentBox.label "对齐">
+<!ENTITY leftRadio.label "左">
+<!ENTITY leftRadio.accessKey "L">
+<!ENTITY centerRadio.label "中">
+<!ENTITY centerRadio.accessKey "C">
+<!ENTITY rightRadio.label "右">
+<!ENTITY rightRadio.accessKey "R">
+
+<!ENTITY threeDShading.label "3 维阴影">
+<!ENTITY threeDShading.accessKey "S">
+<!ENTITY saveSettings.label "用作默认值">
+<!ENTITY saveSettings.accessKey "D">
+<!ENTITY saveSettings.tooltip "保存这些设置用以在插入新的水平线时使用">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorImageProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorImageProperties.dtd
new file mode 100644
index 0000000000..ac385b0b34
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorImageProperties.dtd
@@ -0,0 +1,79 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- These strings are for use specifically in the editor's image and form image dialogs. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "图像属性">
+
+<!ENTITY pixelsPopup.value "像素">
+
+<!-- These are in the Location tab panel -->
+<!ENTITY locationEditField.label "图像 URL:">
+<!ENTITY locationEditField.accessKey "L">
+<!ENTITY locationEditField.tooltip "输入图像的文件名或地址">
+<!ENTITY locationEditField.shortenedDataURI "缩短的数据 URI(复制将复制出完整的 URI 到剪贴板)">
+<!ENTITY title.label "工具提示:">
+<!ENTITY title.accessKey "T">
+<!ENTITY title.tooltip " html 的 'title' 属性用于显示一个工具提示">
+<!ENTITY altText.label "替代文本:">
+<!ENTITY altText.accessKey "A">
+<!ENTITY altTextEditField.tooltip "输入替代图像显示的文本">
+<!ENTITY noAltText.label "不使用替代文本">
+<!ENTITY noAltText.accessKey "D">
+
+<!ENTITY previewBox.label "预览图像">
+
+<!-- These controls are in the Dimensions tab panel -->
+<!-- actualSize.label should be same as actualSizeRadio.label + ":" -->
+<!ENTITY actualSize.label "实际大小:">
+<!ENTITY actualSizeRadio.label "实际大小">
+<!ENTITY actualSizeRadio.accessKey "A">
+<!ENTITY actualSizeRadio.tooltip "恢复为图像的实际大小">
+<!ENTITY customSizeRadio.label "定制大小">
+<!ENTITY customSizeRadio.accessKey "S">
+<!ENTITY customSizeRadio.tooltip "将图像的大小变为显示于页面中">
+<!ENTITY heightEditField.label "高度:">
+<!ENTITY heightEditField.accessKey "g">
+<!ENTITY widthEditField.label "宽度:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY constrainCheckbox.label "限制">
+<!ENTITY constrainCheckbox.accessKey "C">
+<!ENTITY constrainCheckbox.tooltip "保持图像比例">
+
+<!-- These controls are in the Image Map box of the expanded area -->
+<!ENTITY imagemapBox.label "图像映射">
+<!ENTITY removeImageMapButton.label "移除">
+<!ENTITY removeImageMapButton.accessKey "R">
+
+<!-- These are the options for image alignment -->
+<!ENTITY alignment.label "将文本与图像对齐">
+<!ENTITY bottomPopup.value "在底部">
+<!ENTITY topPopup.value "在顶部">
+<!ENTITY centerPopup.value "居中">
+<!ENTITY wrapRightPopup.value "折行右对齐">
+<!ENTITY wrapLeftPopup.value "折行左对齐">
+
+<!-- These controls are in the Spacing Box -->
+<!ENTITY spacingBox.label "单元间隔">
+<!ENTITY leftRightEditField.label "左右空间:">
+<!ENTITY leftRightEditField.accessKey "L">
+<!ENTITY topBottomEditField.label "上下空间:">
+<!ENTITY topBottomEditField.accessKey "T">
+<!ENTITY borderEditField.label "实心边框:">
+<!ENTITY borderEditField.accessKey "B">
+
+<!-- These controls are in the Link Box -->
+<!ENTITY showImageLinkBorder.label "显示已链接图片的边框">
+<!ENTITY showImageLinkBorder.accessKey "b">
+<!ENTITY LinkAdvancedEditButton.label "链接高级编辑…">
+<!ENTITY LinkAdvancedEditButton.accessKey "L">
+<!ENTITY LinkAdvancedEditButton.tooltip "添加或修改 HTML 属性、样式属性以及 JavaScript">
+
+<!-- These tabs are currently used in the image input dialog -->
+<!ENTITY imageInputTab.label "表单">
+<!ENTITY imageLocationTab.label "地址">
+<!ENTITY imageDimensionsTab.label "尺寸">
+<!ENTITY imageAppearanceTab.label "外观">
+<!ENTITY imageLinkTab.label "链接">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertChars.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertChars.dtd
new file mode 100644
index 0000000000..a165584d57
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertChars.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "插入字符">
+<!ENTITY category.label "类别">
+<!ENTITY letter.label "字母:">
+<!ENTITY letter.accessKey "L">
+<!ENTITY character.label "字符:">
+<!ENTITY character.accessKey "C">
+<!ENTITY accentUpper.label "重音符大写">
+<!ENTITY accentLower.label "重音符小写">
+<!ENTITY otherUpper.label "其他大写">
+<!ENTITY otherLower.label "其他小写">
+<!ENTITY commonSymbols.label "一般符号">
+<!ENTITY insertButton.label "插入">
+<!ENTITY closeButton.label "关闭">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertMath.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertMath.dtd
new file mode 100644
index 0000000000..74eb1eca78
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertMath.dtd
@@ -0,0 +1,21 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Window title -->
+<!ENTITY windowTitle.label "插入公式">
+
+<!ENTITY sourceEditField.label "输入 LaTeX 源代码:">
+
+<!ENTITY options.label "选项">
+<!ENTITY optionInline.label "内联模式">
+<!ENTITY optionInline.accesskey "n">
+<!ENTITY optionDisplay.label "显示模式">
+<!ENTITY optionDisplay.accesskey "D">
+<!ENTITY optionLTR.label "自左至右方向">
+<!ENTITY optionLTR.accesskey "L">
+<!ENTITY optionRTL.label "自右至左方向">
+<!ENTITY optionRTL.accesskey "R">
+
+<!ENTITY insertButton.label "插入">
+<!ENTITY insertButton.accesskey "I">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertSource.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertSource.dtd
new file mode 100644
index 0000000000..bf70cfd0d8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertSource.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Window title -->
+
+<!ENTITY windowTitle.label "插入 HTML">
+<!ENTITY sourceEditField.label "输入 HTML 标记符和文本:">
+<!ENTITY example.label "示例:">
+<!-- LOCALIZATION NOTE (exampleOpenTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleOpenTag.label "&lt;i&gt;">
+<!-- LOCALIZATION NOTE (exampleCloseTag.label): DONT_TRANSLATE: they are text for HTML tagnames: "<i>" and "</i>" -->
+<!ENTITY exampleCloseTag.label "&lt;/i&gt;">
+<!ENTITY exampleText.label "世界您好!">
+<!ENTITY insertButton.label "插入">
+<!ENTITY insertButton.accesskey "I">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTOC.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTOC.dtd
new file mode 100644
index 0000000000..89af81db6c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTOC.dtd
@@ -0,0 +1,16 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY Window.title "目录">
+<!ENTITY buildToc.label "创建目录,根据:">
+<!ENTITY tag.label "标记符:">
+<!ENTITY class.label "类别:">
+<!ENTITY header1.label "级别 1">
+<!ENTITY header2.label "级别 2">
+<!ENTITY header3.label "级别 3">
+<!ENTITY header4.label "级别 4">
+<!ENTITY header5.label "级别 5">
+<!ENTITY header6.label "级别 6">
+<!ENTITY makeReadOnly.label "将目录设为只读">
+<!ENTITY orderedList.label "将目录中的所有项标上数字">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTable.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTable.dtd
new file mode 100644
index 0000000000..af42cbd51b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorInsertTable.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Window title -->
+
+<!ENTITY windowTitle.label "插入表格">
+
+<!ENTITY size.label "大小">
+<!ENTITY numRowsEditField.label "行数:">
+<!ENTITY numRowsEditField.accessKey "R">
+<!ENTITY numColumnsEditField.label "列数:">
+<!ENTITY numColumnsEditField.accessKey "C">
+<!ENTITY widthEditField.label "宽度:">
+<!ENTITY widthEditField.accessKey "W">
+<!ENTITY borderEditField.label "边界:">
+<!ENTITY borderEditField.accessKey "B">
+<!ENTITY borderEditField.tooltip "输入表格边界值,或输入零表示不设边界。">
+<!ENTITY pixels.label "像素">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorLinkProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorLinkProperties.dtd
new file mode 100644
index 0000000000..1f3eb60ab5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorLinkProperties.dtd
@@ -0,0 +1,6 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY windowTitle.label "链接特性">
+<!ENTITY LinkURLBox.label "链接地址">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorListProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorListProperties.dtd
new file mode 100644
index 0000000000..c9d116f61e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorListProperties.dtd
@@ -0,0 +1,20 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Window title -->
+
+
+<!ENTITY windowTitle.label "列表特性">
+
+<!ENTITY ListType.label "列表类型">
+<!ENTITY bulletStyle.label "条目符号样式:">
+<!ENTITY startingNumber.label "开始号码:">
+<!ENTITY startingNumber.accessKey "S">
+<!ENTITY none.value "无">
+<!ENTITY bulletList.value "条目符号(未编号)列表">
+<!ENTITY numberList.value "编号列表">
+<!ENTITY definitionList.value "定义列表">
+<!ENTITY changeEntireListRadio.label "更改全部列表">
+<!ENTITY changeEntireListRadio.accessKey "C">
+<!ENTITY changeSelectedRadio.label "只更改所选项">
+<!ENTITY changeSelectedRadio.accessKey "i">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorPersonalDictionary.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorPersonalDictionary.dtd
new file mode 100644
index 0000000000..9b05c598a5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorPersonalDictionary.dtd
@@ -0,0 +1,18 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Window title -->
+
+<!ENTITY windowTitle.label "个人字典">
+
+<!ENTITY wordEditField.label "新建单词:">
+<!ENTITY wordEditField.accessKey "N">
+<!ENTITY AddButton.label "添加">
+<!ENTITY AddButton.accessKey "A">
+<!ENTITY DictionaryList.label "字典中的单词:">
+<!ENTITY DictionaryList.accessKey "W">
+<!ENTITY RemoveButton.label "移除">
+<!ENTITY RemoveButton.accessKey "e">
+
+<!ENTITY CloseButton.label "关闭">
+<!ENTITY CloseButton.accessKey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorReplace.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorReplace.dtd
new file mode 100644
index 0000000000..f8e76b8bd2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorReplace.dtd
@@ -0,0 +1,29 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- extracted from EdReplace.xul -->
+
+<!-- extracted from EdReplace.xhtml -->
+
+<!ENTITY replaceDialog.title "查找并替换">
+<!ENTITY findField.label "查找文本:">
+<!ENTITY findField.accesskey "n">
+<!ENTITY replaceField.label "替换为:">
+<!ENTITY replaceField.accesskey "e">
+<!ENTITY caseSensitiveCheckbox.label "区分大/小写">
+<!ENTITY caseSensitiveCheckbox.accesskey "c">
+<!ENTITY wrapCheckbox.label "循环">
+<!ENTITY wrapCheckbox.accesskey "W">
+<!ENTITY backwardsCheckbox.label "反向搜索">
+<!ENTITY backwardsCheckbox.accesskey "b">
+<!ENTITY findNextButton.label "查找下一个">
+<!ENTITY findNextButton.accesskey "F">
+<!ENTITY replaceButton.label "替换">
+<!ENTITY replaceButton.accesskey "R">
+<!ENTITY replaceAndFindButton.label "替换并查找">
+<!ENTITY replaceAndFindButton.accesskey "d">
+<!ENTITY replaceAllButton.label "全部替换">
+<!ENTITY replaceAllButton.accesskey "A">
+<!ENTITY closeButton.label "关闭">
+<!ENTITY closeButton.accesskey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorSpellCheck.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorSpellCheck.dtd
new file mode 100644
index 0000000000..c5be3d612b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorSpellCheck.dtd
@@ -0,0 +1,38 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- Window title -->
+
+<!ENTITY windowTitle.label "拼写检查">
+
+<!ENTITY misspelledWord.label "拼错的单词:">
+<!ENTITY wordEditField.label "替换为:">
+<!ENTITY wordEditField.accessKey "w">
+<!ENTITY checkwordButton.label "检查单词">
+<!ENTITY checkwordButton.accessKey "k">
+<!ENTITY suggestions.label "建议:">
+<!ENTITY suggestions.accessKey "u">
+<!ENTITY ignoreButton.label "忽略">
+<!ENTITY ignoreButton.accessKey "I">
+<!ENTITY ignoreAllButton.label "全部忽略">
+<!ENTITY ignoreAllButton.accessKey "n">
+<!ENTITY replaceButton.label "替换">
+<!ENTITY replaceButton.accessKey "R">
+<!ENTITY replaceAllButton.label "全部替换">
+<!ENTITY replaceAllButton.accessKey "A">
+<!ENTITY stopButton.label "停止">
+<!ENTITY stopButton.accessKey "o">
+<!ENTITY userDictionary.label "用户字典:">
+<!ENTITY moreDictionaries.label "下载更多字典…">
+<!ENTITY addToUserDictionaryButton.label "添加单词">
+<!ENTITY addToUserDictionaryButton.accessKey "d">
+<!ENTITY editUserDictionaryButton.label "编辑…">
+<!ENTITY editUserDictionaryButton.accessKey "E">
+<!ENTITY recheckButton2.label "重新检查文本">
+<!ENTITY recheckButton2.accessKey "T">
+<!ENTITY closeButton.label "关闭">
+<!ENTITY closeButton.accessKey "C">
+<!ENTITY sendButton.label "发送">
+<!ENTITY sendButton.accessKey "S">
+<!ENTITY languagePopup.label "语言:">
+<!ENTITY languagePopup.accessKey "L">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorTableProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorTableProperties.dtd
new file mode 100644
index 0000000000..7c542d9a0e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/EditorTableProperties.dtd
@@ -0,0 +1,75 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY tableWindow.title "表格属性">
+<!ENTITY applyButton.label "应用">
+<!ENTITY applyButton.accesskey "A">
+<!ENTITY closeButton.label "关闭">
+<!ENTITY tableTab.label "表格">
+<!ENTITY cellTab.label "单元">
+<!ENTITY tableRows.label "行:">
+<!ENTITY tableRows.accessKey "R">
+<!ENTITY tableColumns.label "列:">
+<!ENTITY tableColumns.accessKey "C">
+<!ENTITY tableHeight.label "高度:">
+<!ENTITY tableHeight.accessKey "g">
+<!ENTITY tableWidth.label "宽度:">
+<!ENTITY tableWidth.accessKey "W">
+<!ENTITY tableBorderSpacing.label "边界和间隔">
+<!ENTITY tableBorderWidth.label "边界:">
+<!ENTITY tableBorderWidth.accessKey "B">
+<!ENTITY tableSpacing.label "间隔:">
+<!ENTITY tableSpacing.accessKey "S">
+<!ENTITY tablePadding.label "填充:">
+<!ENTITY tablePadding.accessKey "P">
+<!ENTITY tablePxBetwCells.label "像素间隔两个单元">
+<!ENTITY tablePxBetwBrdrCellContent.label "单元边界和内容间的象素">
+<!ENTITY tableAlignment.label "表格对齐:">
+<!ENTITY tableAlignment.accessKey "T">
+<!ENTITY tableCaption.label "标题:">
+<!ENTITY tableCaption.accessKey "n">
+<!ENTITY tableCaptionAbove.label "表格上方">
+<!ENTITY tableCaptionBelow.label "表格之后">
+<!ENTITY tableCaptionLeft.label "表格左侧">
+<!ENTITY tableCaptionRight.label "表格右侧">
+<!ENTITY tableCaptionNone.label "无">
+<!ENTITY tableInheritColor.label "(允许页面颜色透过)">
+
+<!ENTITY cellSelection.label "选择">
+<!ENTITY cellSelectCell.label "单元">
+<!ENTITY cellSelectRow.label "行">
+<!ENTITY cellSelectColumn.label "列">
+<!ENTITY cellSelectNext.label "下一个">
+<!ENTITY cellSelectNext.accessKey "N">
+<!ENTITY cellSelectPrevious.label "上一个">
+<!ENTITY cellSelectPrevious.accessKey "P">
+<!ENTITY applyBeforeChange.label "当前变更将在更改选择项之前应用">
+<!ENTITY cellContentAlignment.label "内容对齐">
+<!ENTITY cellHorizontal.label "水平:">
+<!ENTITY cellHorizontal.accessKey "z">
+<!ENTITY cellVertical.label "垂直:">
+<!ENTITY cellVertical.accessKey "V">
+<!ENTITY cellStyle.label "单元格样式:">
+<!ENTITY cellStyle.accessKey "C">
+<!ENTITY cellNormal.label "常规">
+<!ENTITY cellHeader.label "页眉">
+<!ENTITY cellTextWrap.label "文本折行:">
+<!ENTITY cellTextWrap.accessKey "T">
+<!ENTITY cellWrap.label "折行">
+<!ENTITY cellNoWrap.label "不换行">
+<!ENTITY cellAlignTop.label "顶部">
+<!ENTITY cellAlignMiddle.label "中部">
+<!ENTITY cellAlignBottom.label "底部">
+<!ENTITY cellAlignJustify.label "调整">
+<!ENTITY cellInheritColor.label "(允许表格颜色透过)">
+<!ENTITY cellUseCheckboxHelp.label "使用复选框决定哪个特性将应用于所选择的单元">
+
+<!-- Used in both Table and Cell panels -->
+<!ENTITY size.label "大小">
+<!ENTITY pixels.label "像素">
+<!ENTITY backgroundColor.label "背景颜色:">
+<!ENTITY backgroundColor.accessKey "B">
+<!ENTITY AlignLeft.label "左对齐">
+<!ENTITY AlignCenter.label "居中">
+<!ENTITY AlignRight.label "右对齐">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/composeMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/composeMsgs.properties
new file mode 100644
index 0000000000..b3e3af9b83
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/composeMsgs.properties
@@ -0,0 +1,463 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the compose back end
+#
+## LOCALIZATION NOTE (unableToOpenFile, unableToOpenTmpFile):
+## %S will be replaced with the name of file that could not be opened
+unableToOpenFile=无法打开文件 %S。
+unableToOpenTmpFile=无法打开临时文件 %S。 请检查您的‘临时文件夹‘设置。
+unableToSaveTemplate=无法将消息保存为模板。
+unableToSaveDraft=无法将消息保存为草稿。
+couldntOpenFccFolder=无法打开寄件备份文件夹,请确认您的账户设置是否正确。
+noSender=未指定发件人。请到账户设置中添加您的邮件地址。
+noRecipients=没有指定收件人。请在地址区域输入一个收件人或者新闻组。
+errorWritingFile=在写临时文件时出错。
+
+## LOCALIZATION NOTE (errorSendingFromCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingFromCommand=发送邮件时出错。邮件服务器响应:%s。请验证您在账户设置中的电子邮件地址是否正确,然后再试。
+
+## LOCALIZATION NOTE (errorSendingDataCommand): argument %s is the Outgoing server (SMTP) response
+errorSendingDataCommand=发送邮件时发件服务器(SMTP)出错。服务器响应:%s。
+
+## LOCALIZATION NOTE (errorSendingMessage): argument %s is the Outgoing server (SMTP) response
+errorSendingMessage=发送邮件时出错。邮件服务器响应:%s。请检查该消息然后再试。
+postFailed=连接到新闻服务器失败,消息无法发出。服务器可能不可用或者拒绝连接。请验证您的新闻服务器设置是否正确,然后再试。
+errorQueuedDeliveryFailed=传递未发送的消息时出错。
+sendFailed=消息发送失败。
+
+## LOCALIZATION NOTE (sendFailedUnexpected): argument %X is a hex error code value
+sendFailedUnexpected=因意外错误 %X 而失败。没有可用的描述信息。
+
+## LOCALIZATION NOTE (smtpSecurityIssue): argument %S is the Outgoing server (SMTP) response
+smtpSecurityIssue=须修正与 %S 相关的配置。
+
+## LOCALIZATION NOTE (smtpServerError): argument %s is the Outgoing server (SMTP) response
+smtpServerError=发送邮件时出错:发件服务器(SMTP)错误。服务器响应:%s。
+unableToSendLater=抱歉,我们无法保存您的消息供稍后发送。
+
+## LOCALIZATION NOTE (communicationsError): argument %d is the error code
+communicationsError=发生通信错误:%d。请重试。
+dontShowAlert=这只是一个占位符。您不应该看到这条信息。
+
+couldNotGetUsersMailAddress2=发送邮件出错:发件人地址(From:)无效。请确认该地址正确后再试一次。
+couldNotGetSendersIdentity=发送邮件时出错:发送者身份无效。请检查您的身份配置,然后重试。
+
+mimeMpartAttachmentError=附件错误。
+failedCopyOperation=邮件发送成功,但无法放入您的“发件箱”中。
+nntpNoCrossPosting=您一次只能向新闻服务器发送一条消息。
+msgCancelling=正在取消…
+sendFailedButNntpOk=您的消息已被发布到新闻组,但未能发送给其他收件人。
+errorReadingFile=读文件出错。
+followupToSenderMessage=此消息的作者希望对此消息的回应只发送到他本人。如果您要回复到新闻组,在地址区域下面添加一行,并在接收列表中选择新闻组,然后输入新闻组名称。
+
+## LOCALIZATION NOTE (errorAttachingFile): argument %S is the file name/URI of the object to be attached
+errorAttachingFile=附加 %S 时出错。请检查您是否有权访问该文件。
+
+## LOCALIZATION NOTE (incorrectSmtpGreeting): argument %s is the Outgoing server (SMTP) greeting
+incorrectSmtpGreeting=发送邮件时出错:邮件服务器发送了一个不正确的问候:%s。
+
+## LOCALIZATION NOTE (errorSendingRcptCommand): argument %1$S is the Outgoing server (SMTP) response, argument %2$S is the intended message recipient.
+errorSendingRcptCommand=发送邮件时出错。邮件服务器响应:\n%1$S.\n请检查消息收件人“%2$S”然后重试。
+
+## LOCALIZATION NOTE (startTlsFailed): argument %S is the Outgoing server (SMTP)
+startTlsFailed=发送邮件时出错:无法与发件服务器(SMTP) %S 使用 STARTTLS 建立安全连接,因为它不宣称支持此功能。请关闭对此服务器的 STARTTLS,或者联系您的服务提供商。
+
+## LOCALIZATION NOTE (smtpPasswordUndefined): argument %S is the Outgoing server (SMTP) account
+smtpPasswordUndefined=发送邮件的时候出错:无法获取 %S 的密码。这个消息未发送。
+
+## LOCALIZATION NOTE (smtpSendNotAllowed): argument %s is the Outgoing server (SMTP) response
+smtpSendNotAllowed=发送邮件时出错,邮件服务器响应:\n%s。 \n请确保您在使用正确的身份发送,且使用了正确的验证方式。请确认您已被允许在当前的网络、登录信息下使用此 SMTP 服务器进行发送。
+
+## LOCALIZATION NOTE (smtpTempSizeExceeded): argument %s is the Outgoing server (SMTP) response
+smtpTempSizeExceeded=您尝试发送的消息过大,超过了服务器的临时文件大小限制。消息未发送。请尝试缩小消息或者稍后再试。服务器返回:%s。
+
+## LOCALIZATION NOTE (smtpTooManyRecipients): argument %s is the Outgoing server (SMTP) response
+smtpTooManyRecipients=消息发送失败,因为收件人数量超出上限。服务器响应:%s。
+
+## LOCALIZATION NOTE (smtpClientid): argument %s is the Outgoing server (SMTP) response
+smtpClientid=发件服务器(SMTP)在 CLIENTID 命令中检测到错误。消息未发送。服务器响应:%s
+
+## LOCALIZATION NOTE (smtpClientidPermission): argument %s is the Outgoing server (SMTP) response
+smtpClientidPermission=发件服务器(SMTP)对 CLIENTID 命令的响应表明您的设备不允许发送邮件。服务器响应:%s
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded1): argument %d is the Outgoing server (SMTP) size limit
+smtpPermSizeExceeded1=您尝试发送的消息大小超过了全局大小限制(%d 字节)。消息未发送。请减少消息大小,然后重试。
+
+## LOCALIZATION NOTE (smtpPermSizeExceeded2): argument %s is the Outgoing server (SMTP) response
+smtpPermSizeExceeded2=您尝试发送的消息大小超过了全局大小限制。消息未发送。请减少消息大小,然后重试。 服务器返回:%s。
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownServer): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownServer=发送邮件时出错:发件服务器(SMTP) %S 未知。服务器可能配置错误,请确认您的发件服务器(SMTP)配置正确并稍后重试。
+
+## LOCALIZATION NOTE (smtpSendRequestRefused): argument %S is the Outgoing server (SMTP)
+smtpSendRequestRefused=因为无法连接到发件服务器(SMTP) %S,邮件未能发送。该服务器可能暂时不可用,或者拒绝 SMTP 连接。请验证您的发件服务器(SMTP)设置是否正确,然后再试。
+
+## LOCALIZATION NOTE (smtpSendInterrupted): argument %S is the Outgoing server (SMTP)
+smtpSendInterrupted=消息未发送,因为与发件服务器(SMTP) %S 的连接在传输过程中中断。请重试。
+
+## LOCALIZATION NOTE (smtpSendTimeout): argument %S is the Outgoing server (SMTP)
+smtpSendTimeout=消息未发送,因为与发件服务器(SMTP)%S 的连接超时。请重试。
+
+## LOCALIZATION NOTE (smtpSendFailedUnknownReason): argument %S is the Outgoing server (SMTP)
+smtpSendFailedUnknownReason=消息无法通过发件服务器(SMTP)%S 发送,原因未知。请确认你的发件服务器(SMTP)设置正确,然后重试。
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainNoSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainNoSsl=发件服务器(SMTP) %S 似乎不支持加密过的密码。如果您刚设置好这个账号,请尝试将“账号设置 | 发件服务器(SMTP)”中的“验证方式”更改为“不安全传输的密码”。如果这曾经可用但现在已不支持,您可能要考虑您的密码是否已被盗。
+
+# LOCALIZATION NOTE (smtpHintAuthEncryptToPlainSsl): %S is the server hostname
+smtpHintAuthEncryptToPlainSsl=发件服务器(SMTP) %S 似乎不支持加密过的密码。如果您刚设置好这个账号,请尝试将“账号设置 | 发件服务器(SMTP)”中的“验证方式”更改为“普通密码”。
+
+# LOCALIZATION NOTE (smtpHintAuthPlainToEncrypt): %S is the server hostname
+smtpHintAuthPlainToEncrypt=发件服务器(SMTP) %S 不允许明文密码。请尝试将“账号设置 | 发件服务器(SMTP)”中的“验证方式”更改为“加密的密码”。
+
+# LOCALIZATION NOTE (smtpAuthFailure): %S is the server hostname
+smtpAuthFailure=无法向发件服务器(SMTP) %S 进行认证。请检查密码和验证“账号设置 | 服务器设置”中的“认证方式”。
+
+# LOCALIZATION NOTE (smtpAuthGssapi): %S is the server hostname
+smtpAuthGssapi=Kerberos/GSSAPI 令牌没有被发件服务器(SMTP)%S 接受。请检查您是否已经登录 Kerberos/GSSAPI 域。
+
+# LOCALIZATION NOTE (smtpAuthMechNotSupported): %S is the server hostname
+smtpAuthMechNotSupported=发件服务器(SMTP)%S 不支持您所选择的认证方式。请试着修改“账号设置”中“服务器设置”的“认证方式”。
+
+# LOCALIZATION NOTE (errorIllegalLocalPart2): %s is an email address with an illegal localpart
+errorIllegalLocalPart2=收件人地址 %s 的本地部分包含非 ASCII 字符,但您的服务器尚不支持 SMTPUTF8。请更改此地址并重试。
+
+## Strings used for the save message dialog shown when the user closes a message compose window
+saveDlogTitle=保存消息
+
+## LOCALIZATION NOTE (saveDlogMessages3): Do not translate the words %1$S and \n.
+## %1$S is replaced by the folder name configured for saving drafts (typically the "Drafts" folder).
+## Translate "Write" to match the translation of item "windowTitleWrite" below.
+saveDlogMessages3=保存此消息到您的草稿文件夹(%1$S)并关闭撰写窗口?
+discardButtonLabel=丢弃更改(&D)
+
+## generics string
+defaultSubject=(无主题)
+chooseFileToAttach=附加文件
+genericFailureExplanation=请确认您的账户设置正确并重试。
+
+## LOCALIZATION NOTE (undisclosedRecipients): this string must use only US_ASCII characters
+undisclosedRecipients=不详收件人
+
+# LOCALIZATION NOTE (chooseFileToAttachViaCloud): %1$S is the cloud
+# provider to save the file to.
+chooseFileToAttachViaCloud=通过 %1$S 添加文件
+
+## Window titles
+# LOCALIZATION NOTE (windowTitleWrite):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Write: Re: Invitation - Thunderbird
+windowTitleWrite=撰写:%1$S - %2$S
+# LOCALIZATION NOTE (windowTitlePrintPreview):
+# %1$S is the message subject.
+# %2$S is the application name.
+# Example: Print Preview: Re: Invitation - Thunderbird
+windowTitlePrintPreview=打印预览:%1$S - %2$S
+
+## From field
+msgIdentityPlaceholder=不是使用 %S 而是输入自定义发件人(From)地址
+customizeFromAddressTitle=自定义发件人地址
+customizeFromAddressWarning=如果您的电子邮件提供商支持,自定义发件人地址允许修改您的发件人地址而无需在账户设置中创建一个新的身份。例如,如果您发件人地址是李四 <john@example.com>,你可能想要将其更改为李四 <john+doe@example.com> 或约翰 <john@example.com>。
+customizeFromAddressIgnore=不要再通知我这个
+
+## Strings used by the empty subject dialog
+subjectEmptyTitle=主题提醒
+subjectEmptyMessage=您的邮件没有主题。
+sendWithEmptySubjectButton=无主题发送(&S)
+cancelSendingButton=取消发送(&C)
+
+## Strings used by the dialog that informs about the lack of newsgroup support.
+noNewsgroupSupportTitle=不支持新闻组
+recipientDlogMessage=此账户仅支持电子邮件收件人。继续将忽略新闻组。
+
+## Strings used by the alert that tells the user that an email address is invalid.
+addressInvalidTitle=收件人地址无效
+addressInvalid=%1$S 不是正确的电子邮件地址,因为它不是类似 user@host 的格式。您必须在发送邮件之前改正它。
+
+## String used by the dialog that asks the user to attach a web page
+attachPageDlogTitle=请指定要附加的地址
+attachPageDlogMessage=网页 (URL):
+
+## String used for attachment pretty name, when the attachment is a message
+messageAttachmentSafeName=附加消息
+
+## String used for attachment pretty name, when the attachment is a message part
+partAttachmentSafeName=附加消息部分
+
+# LOCALIZATION NOTE (attachmentBucketAttachFilesTooltip):
+# This tooltip should be same as attachFile.label in messengercompose.dtd,
+# but without ellipsis (…).
+attachmentBucketAttachFilesTooltip=附件
+attachmentBucketClearSelectionTooltip=清除选定内容
+attachmentBucketHeaderShowTooltip=显示附件窗格
+attachmentBucketHeaderMinimizeTooltip=最小化附件窗格
+attachmentBucketHeaderRestoreTooltip=还原附件窗格
+
+## String used by the Initialization Error dialog
+initErrorDlogTitle=书写消息
+initErrorDlgMessage=创建消息编写窗口时出错。请重试。
+
+## String used if a file to attach does not exist when passed as
+## a command line argument
+errorFileAttachTitle=附加文件
+
+## LOCALIZATION NOTE (errorFileAttachMessage): %1$S will be replaced by the non-existent file name.
+errorFileAttachMessage=文件 %1$S 不存在因此无法附加到消息中。
+
+## String used if a file to serve as message body does not exist or cannot be loaded when passed
+## as a command line argument
+errorFileMessageTitle=消息文件
+
+## LOCALIZATION NOTE (errorFileMessageMessage): %1$S will be replaced by the non-existent file name.
+errorFileMessageMessage=文件 %1$S 不存在,不能作为消息正文。
+
+## LOCALIZATION NOTE (errorLoadFileMessageMessage): %1$S will be replaced by the name of the file that can't be loaded.
+errorLoadFileMessageMessage=文件 %1$S 未能加载为消息正文。
+
+## Strings used by the Save as Draft/Template dialog
+SaveDialogTitle=保存消息
+
+## LOCALIZATION NOTE (SaveDialogMsg): %1$S is the folder name, %2$S is the host name
+SaveDialogMsg=您的消息已经被保存到 %2$S 下的 %1$S 文件夹中。
+CheckMsg=不再显示此对话框。
+
+## Strings used by the prompt when Quitting while in progress
+quitComposeWindowTitle=正在发送消息
+
+## LOCALIZATION NOTE (quitComposeWindowMessage2): don't translate \n
+quitComposeWindowMessage2=%1$S 正在发送消息。\n您想要等待至消息发送完成再退出吗?
+quitComposeWindowQuitButtonLabel2=退出(&Q)
+quitComposeWindowWaitButtonLabel2=等待(&W)
+quitComposeWindowSaveTitle=正在保存消息
+
+## LOCALIZATION NOTE (quitComposeWindowSaveMessage): don't translate \n
+quitComposeWindowSaveMessage=%1$S 当前正在保存消息。\n你想等消息保存完毕再退出,还是立即退出?
+
+## Strings used by the prompt for Ctrl-Enter check before sending message
+sendMessageCheckWindowTitle=发送消息
+sendMessageCheckLabel=您确定可以发送此消息了吗?
+sendMessageCheckSendButtonLabel=发送
+assemblingMessageDone=正在收集消息…完成
+assemblingMessage=正在收集消息…
+smtpDeliveringMail=正在投递邮件…
+smtpMailSent=邮件发送成功
+assemblingMailInformation=正在收集邮件信息…
+
+## LOCALIZATION NOTE (gatheringAttachment): argument %S is the file name/URI of attachment
+gatheringAttachment=正在附加 %S…
+creatingMailMessage=正在创建邮件消息…
+
+## LOCALIZATION NOTE (copyMessageStart): argument %S is the folder name
+copyMessageStart=正在复制消息到 %S 文件夹…
+copyMessageComplete=复制完成。
+copyMessageFailed=复制失败。
+filterMessageComplete=过滤完成。
+filterMessageFailed=过滤失败。
+
+## LOCALIZATION NOTE (largeMessageSendWarning):
+## Do not translate %S. It is the size of the message in user-friendly notation.
+largeMessageSendWarning=警告!您将发送一封大小为 %S 的消息,它可能超过邮件服务器允许的限制。您确定要发送吗?
+sendingMessage=正在发送消息…
+sendMessageErrorTitle=发送消息时出错
+postingMessage=正在发出消息…
+sendLaterErrorTitle=以后发送出错
+saveDraftErrorTitle=保存草稿出错
+saveTemplateErrorTitle=保存模板出错
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSaving): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSaving=包含文件 %.200S 到此消息时出现问题。您愿意不附带此文件并继续保存此消息吗?
+
+## LOCALIZATION NOTE (failureOnObjectEmbeddingWhileSending): argument %.200S is the file name/URI of object to be embedded
+failureOnObjectEmbeddingWhileSending=包含文件 %.200S 到此消息时出现问题。您愿意不附带此文件并继续发送此消息吗?
+returnToComposeWindowQuestion=您要回到编辑窗口吗?
+
+## reply header in composeMsg
+## LOCALIZATION NOTE (mailnews.reply_header_authorwrotesingle): #1 is the author (name of the person replying to)
+mailnews.reply_header_authorwrotesingle=#1 写道:
+
+## LOCALIZATION NOTE (mailnews.reply_header_ondateauthorwrote): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_ondateauthorwrote=在 #2 #3, #1 写道:
+
+## LOCALIZATION NOTE (mailnews.reply_header_authorwroteondate): #1 is the author, #2 is the date, #3 is the time
+mailnews.reply_header_authorwroteondate=#1 写于 #2 #3:
+
+## reply header in composeMsg
+## user specified
+mailnews.reply_header_originalmessage=-------- 原始消息 --------
+
+## forwarded header in composeMsg
+## user specified
+mailnews.forward_header_originalmessage=-------- 转发的消息 --------
+
+## Strings used by the rename attachment dialog
+renameAttachmentTitle=重命名附件
+renameAttachmentMessage=新附件名称:
+
+## Attachment Reminder
+## LOCALIZATION NOTE (mail.compose.attachment_reminder_keywords): comma separated
+## words that should trigger an attachment reminder.
+mail.compose.attachment_reminder_keywords=.doc,.pdf,attachment,attach,attached,attaching,enclosed,CV,cover letter,附件,简历,附上
+
+remindLaterButton=稍后提醒我
+remindLaterButton.accesskey=L
+disableAttachmentReminderButton=对当前消息禁用附件提醒
+attachmentReminderTitle=附件提醒
+attachmentReminderMsg=忘记添加一个附件了吗?
+
+# LOCALIZATION NOTE (attachmentReminderKeywordsMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# #1 number of keywords
+attachmentReminderKeywordsMsgs=找到 #1 个附件关键词:
+attachmentReminderOptionsMsg=可以在选项中设置附件提示语
+attachmentReminderYesIForgot=噢,又忘了!
+attachmentReminderFalseAlarm=不,现在发送
+
+# Strings used by the Filelink offer notification bar.
+learnMore.label=详细了解(M)…
+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=文件有点大。我们建议您将大文件先上传到云端,再使用插入文件链接的形式传送文件。
+bigFileShare.label=链接(L)
+bigFileShare.accesskey=L
+bigFileAttach.label=忽略(I)
+bigFileAttach.accesskey=I
+bigFileChooseAccount.title=选择账户
+bigFileChooseAccount.text=选择一个云账户来上传附件
+bigFileHideNotification.title=不要上传我的文件
+bigFileHideNotification.text=向本邮件附加更多大文件时不会被通知。
+bigFileHideNotification.check=不要再通知我这个。
+
+# LOCALIZATION NOTE(cloudFileUploadingTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment is being
+# uploaded to.
+cloudFileUploadingTooltip=正在上传到 %S…
+
+# LOCALIZATION NOTE(cloudFileUploadedTooltip): Do not translate the string
+# %S. %S is the display name for the cloud account the attachment was uploaded
+# to.
+cloudFileUploadedTooltip=已上传到 %S
+cloudFileUploadingNotification=正在上传您的文件。上传完成后将会在消息体当中插入该文件链接。;正在上传您的文件。上传完成后将会在消息体当中插入该文件链接。
+cloudFileUploadingCancel.label=取消(C)
+cloudFileUploadingCancel.accesskey=C
+cloudFilePrivacyNotification=链接完成。请注意链接的附件可能会被那些能看到或猜中链接的人访问。
+
+## LOCALIZATION NOTE(smtpEnterPasswordPrompt): Do not translate the
+## word %S. Place the word %S where the host name should appear.
+smtpEnterPasswordPrompt=请输入 %S 的密码:
+
+## LOCALIZATION NOTE(smtpEnterPasswordPromptWithUsername): Do not translate the
+## words %1$S and %2$S. Place the word %1$S where the host name should appear,
+## and %2$S where the user name should appear.
+smtpEnterPasswordPromptWithUsername=输入你在 %1$S 的用户 %2$S 的密码:
+## LOCALIZATION NOTE(smtpEnterPasswordPromptTitleWithHostname): Do not translate the
+## word %1$S. Place the word %1$S where the server host name should appear.
+smtpEnterPasswordPromptTitleWithHostname=发件服务器(SMTP)%1$S 需输入密码
+
+# LOCALIZATION NOTE (removeAttachmentMsgs): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+removeAttachmentMsgs=删除附件
+
+## LOCALIZATION NOTE(promptToSaveSentLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved sent messages (typically the "Sent" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+## Translate "Write" to match the translation of item "windowTitleWrite" above.
+promptToSaveSentLocally2=您的邮件已发送,但由于网络或文件访问错误,未能将副本放入寄件备份文件夹中(%1$S)。\n您可以重试,或者另存邮件到本地的 %3$S/%1$S-%2$S。
+errorFilteringMsg=您的消息已被发送并已保存,但在它上面运行消息过滤器时出错。
+errorCloudFileAuth.title=验证错误
+
+## LOCALIZATION NOTE(promptToSaveDraftLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved draft messages (typically the "Drafts" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveDraftLocally2=您的草稿邮件由于网络或文件访问错误,未能放入您的草稿文件夹(%1$S)。\n您可以重试,或者另存该草稿到本地的 %3$S/%1$S-%2$S。
+buttonLabelRetry2=重试(&R)
+
+## LOCALIZATION NOTE(promptToSaveTemplateLocally2): Do not translate the strings %1$S, %2$S, %3$S and \n.
+## %2$S will be replaced with the account name. $1$S will be replaced by the folder name
+## configured to contain saved templates (typically the "Templates" folder).
+## %3$S will be replaced with the local folders account name (typically "Local Folders").
+promptToSaveTemplateLocally2=您的草稿邮件由于网络或文件访问错误,未能放入您的草稿文件夹(%1$S)。\n您可以重试,或者另存该模板到本地的 %3$S/%1$S-%2$S。
+
+## LOCALIZATION NOTE(saveToLocalFoldersFailed): Message appears after normal
+## save fails (e.g., to Sent) and save to Local Folders also fails. This could
+## occur if network is down and filesystem problems are present such as disk
+## full, permission issues or hardware failure.
+saveToLocalFoldersFailed=无法保存您的消息到本地文件夹。可能存储空间已满。
+
+## LOCALIZATION NOTE(errorCloudFileAuth.message):
+## %1$S is the name of the online storage service against which the authentication failed.
+errorCloudFileAuth.message=无法验证 %1$S。
+errorCloudFileUpload.title=上传出错
+
+## LOCALIZATION NOTE(errorCloudFileUpload.message):
+## %1$S is the name of the online storage service against which the uploading failed.
+## %2$S is the name of the file that failed to upload.
+errorCloudFileUpload.message=无法上传 %2$S 到 %1$S。
+errorCloudFileQuota.title=配额错误
+
+## LOCALIZATION NOTE(errorCloudFileQuota.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to exceeding the storage limit.
+errorCloudFileQuota.message=上传 %2$S 到 %1$S,会超过您的空间配额。
+errorCloudFileLimit.title=文件大小错误
+
+## LOCALIZATION NOTE(errorCloudFileLimit.message):
+## %1$S is the name of the online storage service being uploaded to.
+## %2$S is the name of the file that could not be uploaded due to size restrictions.
+errorCloudFileLimit.message=%2$S 超过了 %1$S 的最大大小。
+errorCloudFileOther.title=未知错误
+
+## LOCALIZATION NOTE(errorCloudFileOther.message):
+## %1$S is the name of the online storage service that cannot be communicated with.
+errorCloudFileOther.message=与 %1$S 通讯时发生未知错误。
+errorCloudFileDeletion.title=删除错误
+
+## LOCALIZATION NOTE(errorCloudFileDeletion.message):
+## %1$S is the name of the online storage service that the file is to be deleted from.
+## %2$S is the name of the file that failed to be deleted.
+errorCloudFileDeletion.message=删除 %1$S 上的 %2$S 时遇到问题。
+errorCloudFileUpgrade.label=升级
+
+## 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=不再显示此信息(N)
+replaceButton.label=替换(L)…
+replaceButton.accesskey=L
+replaceButton.tooltip=显示查找和替换对话框
+
+## LOCALIZATION NOTE(blockedAllowResource): %S is the URL to load.
+blockedAllowResource=解除阻止 %S
+## LOCALIZATION NOTE (blockedContentMessage): Semi-colon list of plural forms.
+## See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+## %S will be replaced by brandShortName.
+## Files must be unblocked individually, therefore the plural form reads:
+## Unblocking a file (one of several) will include it (that one file) in your sent message.
+## In other words:
+## Unblocking one/several file(s) will include it/them in your message.
+blockedContentMessage=%S 已阻止此消息加载某些文件。取消屏蔽将在您的发送消息中包含这些文件。
+
+blockedContentPrefLabel=选项
+blockedContentPrefAccesskey=O
+
+blockedContentPrefLabelUnix=首选项
+blockedContentPrefAccesskeyUnix=P
+
+## Recipient pills fields.
+## LOCALIZATION NOTE(confirmRemoveRecipientRowTitle2): %S will be replaced with the field name.
+confirmRemoveRecipientRowTitle2=移除 %S 地址
+## LOCALIZATION NOTE(confirmRemoveRecipientRowBody2): %S will be replaced with the field name.
+confirmRemoveRecipientRowBody2=您确定要移除 %S 地址吗?
+confirmRemoveRecipientRowButton=移除
+
+## LOCALIZATION NOTE headersSpaceStyle is for aligning label of a newly create recipient row.
+## It should be larger than the largest Header label and identical to &headersSpace2.style;
+headersSpaceStyle=width: 8em
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editor.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editor.properties
new file mode 100644
index 0000000000..ed4cb771d8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editor.properties
@@ -0,0 +1,208 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE FILE: embedded "\n" represent HTML breaks (<br>)
+# Don't translate embedded "\n".
+# Don't translate strings like this: %variable%
+# as they will be replaced using JavaScript
+#
+No=否
+Save=保存
+More=更多
+Less=更少
+MoreProperties=更多属性
+FewerProperties=较少属性
+PropertiesAccessKey=P
+None=无
+none=无
+OpenHTMLFile=打开 HTML 文件
+OpenTextFile=打开文本文件
+SelectImageFile=选择图像文件
+SaveDocument=保存页面
+SaveDocumentAs=将页面另存为
+SaveTextAs=将文本另存为
+EditMode=编辑模式
+Preview=预览
+Publish=发布
+PublishPage=发布页
+DontPublish=不发布
+SavePassword=使用密码管理器来记住这个密码
+CorrectSpelling=(更正拼写错误)
+NoSuggestedWords=(无建议词)
+NoMisspelledWord=未找到拼写错误的词
+CheckSpellingDone=拼写检查完成。
+CheckSpelling=拼写检查
+InputError=错误
+Alert=警告
+CantEditFramesetMsg=编写器不能编辑 HTML 框架页,或者内置框架的页面。请单独编辑框架中的各个页面。对于使用 iframe 的页面,请保存该页并移除 <iframe> 标记符。
+CantEditMimeTypeMsg=不能编辑此类型页面。
+CantEditDocumentMsg=由于未知原因,不能编辑此页面。
+BeforeClosing=关闭前
+BeforePreview=在浏览器中查看之前
+BeforeValidate=验证此文档之前
+# LOCALIZATION NOTE (SaveFilePrompt, PublishPrompt): Don't translate %title% and %reason% (this is the reason for asking user to close, such as "before closing")
+SaveFilePrompt=%reason%保存对"%title%"的更改?\u0020
+PublishPrompt=保存修改的内容至 "%title%" %reason%?\u0020
+SaveFileFailed=保存文件失败!
+
+# Publishing error strings:
+# LOCALIZATION NOTE Don't translate %dir% or %file% in the Publishing error strings:
+FileNotFound=无法找到%file%。
+SubdirDoesNotExist=子文件夹"%dir%"不存在于站点或者 文件名"%file%"已被其他子文件夹使用。
+FilenameIsSubdir=文件名"%file%"已经在其他子文件夹中使用。
+ServerNotAvailable=服务器不可用。请检查您的连接然后重试。
+Offline=您现在已离线。点击任何窗口右下角的图标以连接上线。
+DiskFull=磁盘空间不足,无法保存文件"%file%."
+NameTooLong=文件名或者子文件夹名过长。
+AccessDenied=您没有发布到该位置的权限。
+UnknownPublishError=发生未知的发布错误。
+PublishFailed=发布失败。
+PublishCompleted=发布完成。
+AllFilesPublished=所有文件均已发布
+# LOCALIZATION NOTE Don't translate %x% or %total%
+FailedFileMsg=%x% 个(共%total%个)文件发布失败。
+# End-Publishing error strings
+Prompt=提示
+# LOCALIZATION NOTE (PromptFTPUsernamePassword): Don't translate %host%
+PromptFTPUsernamePassword=请输入 %host% 上 FTP 服务器的用户名和密码
+RevertCaption=恢复到上次保存的文件
+Revert=反向选择
+SendPageReason=发送此页面之前
+Send=发送
+## LOCALIZATION NOTE (PublishProgressCaption, PublishToSite, AbandonChanges): Don't translate %title%
+PublishProgressCaption=正在发布:%title%
+PublishToSite=发布到站点:%title%
+AbandonChanges=放弃对 “%title%” 未保存的更改并重新加载页面?
+DocumentTitle=页面标题
+NeedDocTitle=输入当前页面的标题。
+DocTitleHelp=它标识在窗口标题和书签中的页面。
+CancelPublishTitle=取消发布?
+## LOCALIZATION NOTE: "Continue" in this sentence must match the text for
+## the CancelPublishContinue key below
+CancelPublishMessage=正在发布时取消可能会导致您的文件不能完整传输。您要选择继续还是取消?
+CancelPublishContinue=继续
+MissingImageError=请输入或选择类型为 gif、jpg 或 png 的图像。
+EmptyHREFError=请选择一个地址以创建新链接。
+LinkText=链接文本
+LinkImage=链接图像
+MixedSelection=[混合选择]
+Mixed=(混合)
+# LOCALIZATION NOTE (NotInstalled): %S is the name of the font
+NotInstalled=%S (未安装)
+EnterLinkText=请输入此链接显示的文字信息:
+EnterLinkTextAccessKey=T
+EmptyLinkTextError=请为此链接输入文字信息。
+EditTextWarning=这将替换掉已存在的内容。
+#LOCALIZATION NOTE (ValidateNumber):Don't translate: %n% %min% %max%
+ValidateRangeMsg=您输入的数字(%n%)超出了允许的范围。
+ValidateNumberMsg=请输入 %min% 到 %max% 之间的数字。
+MissingAnchorNameError=请为此锚标输入名称。
+#LOCALIZATION NOTE (DuplicateAnchorNameError): Don't translate %name%
+DuplicateAnchorNameError="%name%" 已经存在于此页面中。请输入其他名称。
+BulletStyle=条目样式
+SolidCircle=实心圈
+OpenCircle=开圆
+SolidSquare=实心方块
+NumberStyle=编号样式
+Automatic=自动
+Style_1=1, 2, 3…
+Style_I=I, II, III…
+Style_i=i, ii, iii…
+Style_A=A, B, C…
+Style_a=a, b, c…
+Pixels=像素
+Percent=百分比
+PercentOfCell=% 单元大小
+PercentOfWindow=% 窗口大小
+PercentOfTable=% 表格大小
+#LOCALIZATION NOTE (untitledTitle): %S is the window #. No plural handling needed.
+untitledTitle=未命名-%S
+untitledDefaultFilename=无标题
+ShowToolbar=显示工具栏
+HideToolbar=隐藏工具栏
+ImapError=无法加载图片\u0020
+ImapCheck=\n请选择新位置 (URL) 并重试。
+SaveToUseRelativeUrl=相关的URL只能在已保存的页中使用
+NoNamedAnchorsOrHeadings=(本页中没有找到锚标)
+TextColor=文本颜色
+HighlightColor=加亮色
+PageColor=页面背景颜色
+BlockColor=禁用背景颜色
+TableColor=表格背景颜色
+CellColor=单元背景色
+TableOrCellColor=表格或单元颜色
+LinkColor=链接文本颜色
+ActiveLinkColor=活动链接颜色
+VisitedLinkColor=已访问过链接颜色
+NoColorError=单击一种颜色或输入一个有效的 HTML 颜色值
+Table=表格
+TableCell=表格单元
+NestedTable=嵌套的表格
+HLine=水平线
+Link=链接
+Image=图像
+ImageAndLink=图像和链接
+NamedAnchor=锚标
+List=列表
+ListItem=列出项
+Form=表单
+InputTag=表单字段
+InputImage=表单图片
+TextArea=文本区域
+Select=选择列表
+Button=按钮
+Label=标签
+FieldSet=字段集
+Tag=标记符
+MissingSiteNameError=请为此发布站点命名。
+MissingPublishUrlError=请输入发布此页的地址:
+MissingPublishFilename=请为当前页输入文件名。
+#LOCALIZATION NOTE (DuplicateSiteNameError): Don't translate %name%
+DuplicateSiteNameError="%name%"已存在。请输入其他站点名称。
+AdvancedProperties=高级属性…
+AdvancedEditForCellMsg=选择多个单元格时无法进行高级编辑
+# LOCALIZATION NOTE (ObjectProperties):Don't translate "%obj%" it will be replaced with one of above object nouns
+ObjectProperties=%obj% 属性…
+# LOCALIZATION NOTE This character must be in the above string and not conflict with other accesskeys in Format menu
+ObjectPropertiesAccessKey=o
+# LOCALIZATION NOTE (JoinSelectedCells): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinSelectedCells=合并选择的单元
+# LOCALIZATION NOTE (JoinCellToRight): This variable should contain the "tableJoinCells.accesskey"
+# letter as defined in editorOverlay.dtd
+JoinCellToRight=向右合并单元格
+JoinCellAccesskey=j
+# LOCALIZATION NOTE (TableSelectKey): Ctrl key on a keyboard
+TableSelectKey=Ctrl+
+# LOCALIZATION NOTE (XulKeyMac): Command key on a Mac keyboard
+XulKeyMac=Cmd+
+# LOCALIZATION NOTE (Del): Del key on a keyboard
+Del=Del
+Delete=删除
+DeleteCells=删除单元格
+DeleteTableTitle=删除行或列
+DeleteTableMsg=减少行数或列数将删除表格单元及其内容。您确定要这样做吗?
+Clear=清空
+#Mouse actions
+Click=单击
+Drag=拖戈
+Unknown=未知
+#
+# LOCALIZATION NOTE "RemoveTextStylesAccesskey" is used for both
+# menu items: "RemoveTextStyles" and "StopTextStyles"
+RemoveTextStylesAccesskey=x
+RemoveTextStyles=删除所有文本样式
+StopTextStyles=中断文本样式
+#
+# LOCALIZATION NOTE "RemoveLinksAccesskey" is used for both
+# menu items: "RemoveLinks" and "StopLinks"
+RemoveLinksAccesskey=n
+RemoveLinks=移除链接
+StopLinks=中断链接
+#
+NoFormAction=建议您为此表单输入一个动作。自提交表单是较新的技术,不一定能在所有的浏览器中正确运行。
+NoAltText=如果图像和文档相关联,那么您应为图像提供替代文本,可以供仅能显示文字的浏览器使用,也可以供其他浏览器在加载图像或禁用图像时显示。
+#
+Malformed=源码内容不是合法的 XHTML,因此无法被转换回文档。
+NoLinksToCheck=没有需要检查链接的元素
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editorOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editorOverlay.dtd
new file mode 100644
index 0000000000..44edb0b19f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/editorOverlay.dtd
@@ -0,0 +1,304 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Attn: Localization - some of the menus in this dialog directly affect mail also. -->
+
+<!-- Edit menu items -->
+<!ENTITY pasteNoFormatting.label "粘贴为无格式文本">
+<!ENTITY pasteNoFormatting.accesskey "n">
+<!ENTITY pasteNoFormatting.key "V">
+<!ENTITY pasteAsQuotationCmd.label "粘贴为引文">
+<!ENTITY pasteAsQuotationCmd.accesskey "Q">
+
+<!-- Insert menu items -->
+<!ENTITY insertMenu.label "插入">
+<!ENTITY insertMenu.accesskey "I">
+<!ENTITY insertLinkCmd2.label "链接…">
+<!ENTITY insertLinkCmd2.accesskey "L">
+<!ENTITY insertLinkCmd2.key "K">
+<!ENTITY insertAnchorCmd.label "锚标…">
+<!ENTITY insertAnchorCmd.accesskey "A">
+<!ENTITY insertImageCmd.label "图像…">
+<!ENTITY insertImageCmd.accesskey "I">
+<!ENTITY insertHLineCmd.label "水平线">
+<!ENTITY insertHLineCmd.accesskey "o">
+<!ENTITY insertTableCmd.label "表格…">
+<!ENTITY insertTableCmd.accesskey "T">
+<!ENTITY insertHTMLCmd.label "HTML…">
+<!ENTITY insertHTMLCmd.accesskey "H">
+<!ENTITY insertMathCmd.label "公式…">
+<!ENTITY insertMathCmd.accesskey "M">
+<!ENTITY insertCharsCmd.label "字符和符号…">
+<!ENTITY insertCharsCmd.accesskey "C">
+<!ENTITY insertBreakAllCmd.label "分开下面的图像">
+<!ENTITY insertBreakAllCmd.accesskey "k">
+
+<!-- Used just in context popup. -->
+<!ENTITY createLinkCmd.label "创建链接…">
+<!ENTITY createLinkCmd.accesskey "k">
+<!ENTITY editLinkCmd.label "在新网页编写器窗口中编辑此链接">
+<!ENTITY editLinkCmd.accesskey "i">
+
+<!-- Font Face SubMenu -->
+<!ENTITY FontFaceSelect.tooltip "选择字体">
+<!ENTITY fontfaceMenu.label "字体">
+<!ENTITY fontfaceMenu.accesskey "F">
+<!ENTITY fontVarWidth.label "可变宽度">
+<!ENTITY fontVarWidth.accesskey "V">
+<!ENTITY fontFixedWidth.label "固定宽度">
+<!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 "选择字号">
+<!ENTITY decreaseFontSize.label "缩小">
+<!ENTITY decreaseFontSize.accesskey "r">
+<!ENTITY decrementFontSize.key "&lt;">
+<!ENTITY decrementFontSize.key2 ","> <!-- < is above this key on many keyboards -->
+<!ENTITY increaseFontSize.label "加大">
+<!ENTITY increaseFontSize.accesskey "g">
+<!ENTITY incrementFontSize.key "&gt;">
+<!ENTITY incrementFontSize.key2 "."> <!-- > is above this key on many keyboards -->
+
+<!ENTITY fontSizeMenu.label "字号">
+<!ENTITY fontSizeMenu.accesskey "z">
+<!ENTITY size-tinyCmd.label "微小">
+<!ENTITY size-tinyCmd.accesskey "T">
+<!ENTITY size-smallCmd.label "小">
+<!ENTITY size-smallCmd.accesskey "s">
+<!ENTITY size-mediumCmd.label "中等">
+<!ENTITY size-mediumCmd.accesskey "d">
+<!ENTITY size-largeCmd.label "大">
+<!ENTITY size-largeCmd.accesskey "l">
+<!ENTITY size-extraLargeCmd.label "超大">
+<!ENTITY size-extraLargeCmd.accesskey "x">
+<!ENTITY size-hugeCmd.label "巨大">
+<!ENTITY size-hugeCmd.accesskey "H">
+
+<!-- Font Style SubMenu -->
+<!ENTITY fontStyleMenu.label "文本样式">
+<!ENTITY fontStyleMenu.accesskey "S">
+<!ENTITY styleBoldCmd.label "粗体">
+<!ENTITY styleBoldCmd.accesskey "B">
+<!ENTITY styleBoldCmd.key "B">
+<!ENTITY styleItalicCmd.label "斜体">
+<!ENTITY styleItalicCmd.accesskey "I">
+<!ENTITY styleItalicCmd.key "I">
+<!ENTITY styleUnderlineCmd.label "下划线">
+<!ENTITY styleUnderlineCmd.accesskey "U">
+<!ENTITY styleUnderlineCmd.key "U">
+<!ENTITY styleStrikeThruCmd.label "删除线">
+<!ENTITY styleStrikeThruCmd.accesskey "k">
+<!ENTITY styleSuperscriptCmd.label "上标">
+<!ENTITY styleSuperscriptCmd.accesskey "p">
+<!ENTITY styleSubscriptCmd.label "下标">
+<!ENTITY styleSubscriptCmd.accesskey "S">
+<!ENTITY styleNonbreakingCmd.label "不可间断">
+<!ENTITY styleNonbreakingCmd.accesskey "N">
+<!ENTITY styleEm.label "重点">
+<!ENTITY styleEm.accesskey "E">
+<!ENTITY styleStrong.label "特别加强">
+<!ENTITY styleStrong.accesskey "t">
+<!ENTITY styleCite.label "引用">
+<!ENTITY styleCite.accesskey "C">
+<!ENTITY styleAbbr.label "缩写">
+<!ENTITY styleAbbr.accesskey "A">
+<!ENTITY styleAcronym.label "缩写">
+<!ENTITY styleAcronym.accesskey "r">
+<!ENTITY styleCode.label "代码">
+<!ENTITY styleCode.accesskey "o">
+<!ENTITY styleSamp.label "输出示例">
+<!ENTITY styleSamp.accesskey "m">
+<!ENTITY styleVar.label "变量">
+<!ENTITY styleVar.accesskey "V">
+
+<!ENTITY formatFontColor.label "文本颜色…">
+<!ENTITY formatFontColor.accesskey "C">
+<!ENTITY tableOrCellColor.label "表格或单元背景颜色…">
+<!ENTITY tableOrCellColor.accesskey "B">
+
+<!ENTITY formatRemoveStyles.key "Y">
+<!ENTITY formatRemoveLinks.key "K">
+<!ENTITY formatRemoveNamedAnchors.label "删除锚标">
+<!ENTITY formatRemoveNamedAnchors.accesskey "R">
+<!ENTITY formatRemoveNamedAnchors2.key "R">
+
+<!ENTITY paragraphMenu.label "段落">
+<!ENTITY paragraphMenu.accesskey "P">
+<!ENTITY paragraphParagraphCmd.label "段落">
+<!ENTITY paragraphParagraphCmd.accesskey "P">
+<!ENTITY heading1Cmd.label "标题 1">
+<!ENTITY heading1Cmd.accesskey "1">
+<!ENTITY heading2Cmd.label "标题 2">
+<!ENTITY heading2Cmd.accesskey "2">
+<!ENTITY heading3Cmd.label "标题 3">
+<!ENTITY heading3Cmd.accesskey "3">
+<!ENTITY heading4Cmd.label "标题 4">
+<!ENTITY heading4Cmd.accesskey "4">
+<!ENTITY heading5Cmd.label "标题 5">
+<!ENTITY heading5Cmd.accesskey "5">
+<!ENTITY heading6Cmd.label "标题 6">
+<!ENTITY heading6Cmd.accesskey "6">
+<!ENTITY paragraphAddressCmd.label "地址">
+<!ENTITY paragraphAddressCmd.accesskey "A">
+<!ENTITY paragraphPreformatCmd.label "预设格式">
+<!ENTITY paragraphPreformatCmd.accesskey "f">
+
+<!-- List menu items -->
+<!ENTITY formatlistMenu.label "列表">
+<!ENTITY formatlistMenu.accesskey "L">
+<!ENTITY noneCmd.label "无">
+<!ENTITY noneCmd.accesskey "N">
+<!ENTITY listBulletCmd.label "已组织条目">
+<!ENTITY listBulletCmd.accesskey "B">
+<!ENTITY listNumberedCmd.label "编号">
+<!ENTITY listNumberedCmd.accesskey "m">
+<!ENTITY listTermCmd.label "术语">
+<!ENTITY listTermCmd.accesskey "T">
+<!ENTITY listDefinitionCmd.label "定义">
+<!ENTITY listDefinitionCmd.accesskey "D">
+<!ENTITY listPropsCmd.label "列表属性…">
+<!ENTITY listPropsCmd.accesskey "L">
+
+<!ENTITY ParagraphSelect.tooltip "选择段落格式">
+<!-- Shared in Paragraph, and Toolbar menulist -->
+<!ENTITY bodyTextCmd.label "主体文本">
+<!ENTITY bodyTextCmd.accesskey "T">
+
+<!-- Align menu items -->
+<!ENTITY alignMenu.label "对齐">
+<!ENTITY alignMenu.accesskey "A">
+<!ENTITY alignLeft.label "左对齐">
+<!ENTITY alignLeft.accesskey "L">
+<!ENTITY alignLeft.tooltip "左对齐">
+<!ENTITY alignCenter.label "居中">
+<!ENTITY alignCenter.accesskey "C">
+<!ENTITY alignCenter.tooltip "居中">
+<!ENTITY alignRight.label "右对齐">
+<!ENTITY alignRight.accesskey "R">
+<!ENTITY alignRight.tooltip "右对齐">
+<!ENTITY alignJustify.label "调整">
+<!ENTITY alignJustify.accesskey "J">
+<!ENTITY alignJustify.tooltip "对齐已调整">
+
+<!ENTITY increaseIndent.label "增加缩进">
+<!ENTITY increaseIndent.accesskey "I">
+<!ENTITY increaseIndent.key "]">
+<!ENTITY decreaseIndent.label "减少缩进">
+<!ENTITY decreaseIndent.accesskey "D">
+<!ENTITY decreaseIndent.key "[">
+
+<!ENTITY colorsAndBackground.label "页面颜色和背景…">
+<!ENTITY colorsAndBackground.accesskey "u">
+
+<!-- Table Menu -->
+<!ENTITY tableMenu.label "表格">
+<!ENTITY tableMenu.accesskey "b">
+
+<!-- Select Submenu -->
+<!ENTITY tableSelectMenu.label "选择">
+<!ENTITY tableSelectMenu.accesskey "S">
+
+<!ENTITY tableSelectMenu2.label "表格选择">
+<!ENTITY tableSelectMenu2.accesskey "S">
+<!ENTITY tableInsertMenu2.label "表格插入">
+<!ENTITY tableInsertMenu2.accesskey "I">
+<!ENTITY tableDeleteMenu2.label "表格删除">
+<!ENTITY tableDeleteMenu2.accesskey "D">
+
+<!-- Insert SubMenu -->
+<!ENTITY tableInsertMenu.label "插入">
+<!ENTITY tableInsertMenu.accesskey "I">
+<!ENTITY tableTable.label "表格">
+<!ENTITY tableTable.accesskey "T">
+<!ENTITY tableRow.label "行">
+<!ENTITY tableRows.label "行">
+<!ENTITY tableRow.accesskey "R">
+<!ENTITY tableRowAbove.label "上一行">
+<!ENTITY tableRowAbove.accesskey "R">
+<!ENTITY tableRowBelow.label "下一行">
+<!ENTITY tableRowBelow.accesskey "B">
+<!ENTITY tableColumn.label "列">
+<!ENTITY tableColumns.label "列">
+<!ENTITY tableColumn.accesskey "o">
+<!ENTITY tableColumnBefore.label "前一列">
+<!ENTITY tableColumnBefore.accesskey "o">
+<!ENTITY tableColumnAfter.label "后一列">
+<!ENTITY tableColumnAfter.accesskey "A">
+<!ENTITY tableCell.label "单元">
+<!ENTITY tableCells.label "单元">
+<!ENTITY tableCell.accesskey "C">
+<!ENTITY tableCellContents.label "单元格内容">
+<!ENTITY tableCellContents.accesskey "n">
+<!ENTITY tableAllCells.label "所有格">
+<!ENTITY tableAllCells.accesskey "A">
+<!ENTITY tableCellBefore.label "前一单元格">
+<!ENTITY tableCellBefore.accesskey "C">
+<!ENTITY tableCellAfter.label "后一单元格">
+<!ENTITY tableCellAfter.accesskey "f">
+<!-- Delete SubMenu -->
+<!ENTITY tableDeleteMenu.label "删除">
+<!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 "分割单元格">
+<!ENTITY tableSplitCell.accesskey "C">
+<!ENTITY convertToTable.label "根据所选内容创建表格">
+<!ENTITY convertToTable.accesskey "r">
+<!ENTITY tableProperties.label "表格属性…">
+<!ENTITY tableProperties.accesskey "o">
+
+<!-- Toolbar-only items -->
+<!ENTITY imageToolbarCmd.label "图像">
+<!ENTITY imageToolbarCmd.tooltip "插入新图像或编辑选择图像的特性">
+<!ENTITY hruleToolbarCmd.label "水平线">
+<!ENTITY hruleToolbarCmd.tooltip "插入水平线或编辑选择的线条特性">
+<!ENTITY tableToolbarCmd.label "表格">
+<!ENTITY tableToolbarCmd.tooltip "插入新表格或编辑选择的表格特性">
+<!ENTITY linkToolbarCmd.label "链接">
+<!ENTITY linkToolbarCmd.tooltip "插入新链接或编辑选择的链接特性">
+<!ENTITY anchorToolbarCmd.label "锚标">
+<!ENTITY anchorToolbarCmd.tooltip "插入新的锚标或编辑选择的锚标特性">
+<!ENTITY TextColorButton.tooltip "为文本选择颜色">
+<!ENTITY BackgroundColorButton.tooltip "选择背景颜色">
+
+<!-- Editor toolbar -->
+<!ENTITY absoluteFontSizeToolbarCmd.tooltip "设置字号">
+<!ENTITY decreaseFontSizeToolbarCmd.tooltip "缩小文字">
+<!ENTITY increaseFontSizeToolbarCmd.tooltip "加大文字">
+<!ENTITY boldToolbarCmd.tooltip "粗体">
+<!ENTITY italicToolbarCmd.tooltip "斜体">
+<!ENTITY underlineToolbarCmd.tooltip "下划线">
+<!ENTITY bulletListToolbarCmd.tooltip "应用或删除条目列表">
+<!ENTITY numberListToolbarCmd.tooltip "应用或删除编号列表">
+<!ENTITY outdentToolbarCmd.tooltip "突出文本(向左移动)">
+<!ENTITY indentToolbarCmd.tooltip "缩进文本(向右移动)">
+<!ENTITY AlignPopupButton.tooltip "选择文本对齐方式">
+<!ENTITY InsertPopupButton.tooltip "插入一个链接、锚标、图像、横线,或者表格">
+<!ENTITY alignLeftButton.tooltip "向左对齐文本">
+<!ENTITY alignCenterButton.tooltip "文本居中对齐">
+<!ENTITY alignRightButton.tooltip "向右对齐文本">
+<!ENTITY alignJustifyButton.tooltip "左右对齐文本">
+
+<!-- TOC manipulation -->
+<!ENTITY insertTOC.label "插入">
+<!ENTITY insertTOC.accesskey "I">
+<!ENTITY updateTOC.label "更新">
+<!ENTITY updateTOC.accesskey "U">
+<!ENTITY removeTOC.label "移除">
+<!ENTITY removeTOC.accesskey "R">
+<!ENTITY tocMenu.label "目录…">
+<!ENTITY tocMenu.accesskey "b">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/mailComposeEditorOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/mailComposeEditorOverlay.dtd
new file mode 100644
index 0000000000..ce8a7e8ff0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/mailComposeEditorOverlay.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY attachImageSource.label "将此图片附加至消息">
+<!ENTITY attachImageSource.accesskey "s">
+
+<!ENTITY attachLinkSource.label "将此链接的源代码附加至消息">
+<!ENTITY attachLinkSource.accesskey "s">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/messengercompose.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/messengercompose.dtd
new file mode 100644
index 0000000000..67ed70896c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "编写:(无主题)">
+
+<!-- File Menu -->
+<!ENTITY fileMenu.label "文件">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY newMenu.label "新建">
+<!ENTITY newMenu.accesskey "N">
+<!ENTITY newMessage.label "新建消息">
+<!ENTITY newMessage.accesskey "M">
+<!ENTITY newMessageCmd2.key "N">
+<!ENTITY newContact.label "通讯录联系人…">
+<!ENTITY newContact.accesskey "C">
+<!ENTITY attachMenu.label "附件">
+<!ENTITY attachMenu.accesskey "h">
+<!ENTITY attachCloudCmd.label "文件链接">
+<!ENTITY attachCloudCmd.accesskey "i">
+<!ENTITY attachPageCmd.label "网页…">
+<!ENTITY attachPageCmd.accesskey "W">
+<!ENTITY remindLater.label "稍后提醒我">
+<!ENTITY remindLater.accesskey "L">
+<!ENTITY closeCmd.label "关闭">
+<!ENTITY closeCmd.key "W">
+<!ENTITY closeCmd.accesskey "C">
+<!ENTITY saveCmd.label "保存">
+<!ENTITY saveCmd.key "S">
+<!ENTITY saveCmd.accesskey "S">
+<!ENTITY saveAsCmd.label "另存为">
+<!ENTITY saveAsCmd.accesskey "A">
+<!ENTITY saveAsFileCmd.label "文件…">
+<!ENTITY saveAsFileCmd.accesskey "F">
+<!ENTITY saveAsDraftCmd.label "草稿">
+<!ENTITY saveAsDraftCmd.accesskey "D">
+<!ENTITY saveAsTemplateCmd.label "模板">
+<!ENTITY saveAsTemplateCmd.accesskey "T">
+<!ENTITY sendNowCmd.label "发送">
+<!ENTITY sendCmd.keycode "VK_RETURN">
+<!ENTITY sendNowCmd.accesskey "d">
+<!ENTITY sendLaterCmd.label "以后发送">
+<!ENTITY sendLaterCmd.keycode "VK_RETURN">
+<!ENTITY sendLaterCmd.accesskey "L">
+<!ENTITY printCmd.label "打印…">
+<!ENTITY printCmd.key "P">
+<!ENTITY printCmd.accesskey "P">
+
+<!-- Edit Menu -->
+<!ENTITY editMenu.label "编辑">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY undoCmd.label "撤销">
+<!ENTITY undoCmd.key "Z">
+<!ENTITY undoCmd.accesskey "U">
+<!ENTITY redoCmd.label "重做">
+<!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 "删除">
+<!ENTITY deleteCmd.accesskey "D">
+<!ENTITY editRewrapCmd.label "重新换行">
+<!ENTITY editRewrapCmd.key "R">
+<!ENTITY renameAttachmentCmd.label "重命名附件…">
+<!ENTITY renameAttachmentCmd.accesskey "e">
+<!ENTITY reorderAttachmentsCmd.label "重新排列附件…">
+<!ENTITY reorderAttachmentsCmd.accesskey "s">
+<!ENTITY reorderAttachmentsCmd.key "x">
+<!ENTITY selectAllCmd.accesskey "A">
+<!ENTITY findBarCmd.label "查找…">
+<!ENTITY findBarCmd.accesskey "F">
+<!ENTITY findBarCmd.key "F">
+<!ENTITY findReplaceCmd.label "查找和替换…">
+<!ENTITY findReplaceCmd.accesskey "l">
+<!ENTITY findReplaceCmd.key "H">
+<!ENTITY findAgainCmd.label "再次查找">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.key "G">
+<!ENTITY findAgainCmd.key2 "VK_F3">
+<!ENTITY findPrevCmd.label "查找上一个">
+<!ENTITY findPrevCmd.accesskey "v">
+<!ENTITY findPrevCmd.key "G">
+<!ENTITY findPrevCmd.key2 "VK_F3">
+
+<!-- Reorder Attachment Panel -->
+<!ENTITY reorderAttachmentsPanel.label "重新排列附件">
+<!ENTITY moveAttachmentBundleUpPanelBtn.label "共同移动">
+
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.Sort.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.Sort.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.Sort.AZ.label "排序: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.Sort.ZA.label "排序: Z - A">
+<!-- LOCALIZATION NOTE (sortAttachmentsPanelBtn.SortSelection.AZ.label):
+ Please ensure that this translation matches
+ sortAttachmentsPanelBtn.SortSelection.ZA.label, except for the sort direction. -->
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.AZ.label "排序选中: A - Z">
+<!ENTITY sortAttachmentsPanelBtn.SortSelection.ZA.label "排序选中: Z - A">
+<!ENTITY sortAttachmentsPanelBtn.key "y">
+
+<!-- View Menu -->
+<!ENTITY viewMenu.label "查看">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY viewToolbarsMenuNew.label "工具栏">
+<!ENTITY viewToolbarsMenuNew.accesskey "T">
+<!ENTITY menubarCmd.label "菜单栏">
+<!ENTITY menubarCmd.accesskey "M">
+<!ENTITY showCompositionToolbarCmd.label "编写工具栏">
+<!ENTITY showCompositionToolbarCmd.accesskey "o">
+<!ENTITY showFormattingBarCmd.label "格式栏">
+<!ENTITY showFormattingBarCmd.accesskey "F">
+<!ENTITY showTaskbarCmd.label "状态栏">
+<!ENTITY showTaskbarCmd.accesskey "S">
+<!ENTITY customizeToolbar.label "自定义…">
+<!ENTITY customizeToolbar.accesskey "C">
+
+<!ENTITY addressSidebar.label "联系人侧栏">
+<!ENTITY addressSidebar.accesskey "o">
+
+<!-- Format Menu -->
+<!ENTITY formatMenu.label "格式">
+<!ENTITY formatMenu.accesskey "o">
+
+<!-- Options Menu -->
+<!ENTITY optionsMenu.label "选项">
+<!ENTITY optionsMenu.accesskey "p">
+<!ENTITY checkSpellingCmd2.label "检查拼写…">
+<!ENTITY checkSpellingCmd2.key "p">
+<!ENTITY checkSpellingCmd2.key2 "VK_F7">
+<!ENTITY checkSpellingCmd2.accesskey "h">
+<!ENTITY enableInlineSpellChecker.label "输入同时拼写检查">
+<!ENTITY enableInlineSpellChecker.accesskey "S">
+<!ENTITY quoteCmd.label "引用原始消息">
+<!ENTITY quoteCmd.accesskey "Q">
+
+<!--LOCALIZATION NOTE attachVCard.label Don't translate the term 'vCard' -->
+<!ENTITY attachVCard.label "附加个人名片(vCard)">
+<!ENTITY attachVCard.accesskey "v">
+
+<!ENTITY returnReceiptMenu.label "返回邮件回执">
+<!ENTITY returnReceiptMenu.accesskey "t">
+<!ENTITY dsnMenu.label "递送状态通知">
+<!ENTITY dsnMenu.accesskey "N">
+<!ENTITY priorityMenu.label "优先级">
+<!ENTITY priorityMenu.accesskey "P">
+<!ENTITY priorityButton.title "优先级">
+<!ENTITY priorityButton.tooltiptext "更改消息优先级">
+<!ENTITY priorityButton.label "优先级:">
+<!ENTITY lowestPriorityCmd.label "最低">
+<!ENTITY lowestPriorityCmd.accesskey "L">
+<!ENTITY lowPriorityCmd.label "低">
+<!ENTITY lowPriorityCmd.accesskey "o">
+<!ENTITY normalPriorityCmd.label "正常">
+<!ENTITY normalPriorityCmd.accesskey "n">
+<!ENTITY highPriorityCmd.label "高">
+<!ENTITY highPriorityCmd.accesskey "i">
+<!ENTITY highestPriorityCmd.label "最高">
+<!ENTITY highestPriorityCmd.accesskey "H">
+<!ENTITY fileCarbonCopyCmd.label "复制至">
+<!ENTITY fileCarbonCopyCmd.accesskey "d">
+<!ENTITY fileHereMenu.label "移动至此处">
+
+<!-- Tools Menu -->
+<!ENTITY tasksMenu.label "工具">
+<!ENTITY tasksMenu.accesskey "T">
+<!ENTITY messengerCmd.label "邮件与新闻组">
+<!ENTITY messengerCmd.accesskey "m">
+<!ENTITY messengerCmd.commandkey "1">
+<!ENTITY addressBookCmd.label "通讯录">
+<!ENTITY addressBookCmd.accesskey "A">
+<!ENTITY addressBookCmd.key "B">
+<!ENTITY accountManagerCmd2.label "账户设置">
+<!ENTITY accountManagerCmd2.accesskey "S">
+<!ENTITY accountManagerCmdUnix2.accesskey "S">
+
+<!-- Mac OS X Window Menu -->
+<!ENTITY minimizeWindow.key "m">
+<!ENTITY minimizeWindow.label "最小化">
+<!ENTITY bringAllToFront.label "全部置前">
+<!ENTITY zoomWindow.label "缩放">
+<!ENTITY windowMenu.label "窗口">
+
+<!-- Mail Toolbar -->
+<!ENTITY sendButton.label "发送">
+<!ENTITY quoteButton.label "引用">
+<!ENTITY addressButton.label "地址">
+<!ENTITY spellingButton.label "拼写">
+<!ENTITY saveButton.label "保存">
+<!ENTITY printButton.label "打印">
+
+<!-- Mail Toolbar Tooltips -->
+<!ENTITY sendButton.tooltip "现在发送此消息">
+<!ENTITY sendlaterButton.tooltip "以后发送此消息">
+<!ENTITY quoteButton.tooltip "引用上一条消息">
+<!ENTITY addressButton.tooltip "从通讯录中选择一个收件人">
+<!ENTITY spellingButton.tooltip "检查选定的或整个消息的拼写">
+<!ENTITY saveButton.tooltip "保存此消息">
+<!ENTITY cutButton.tooltip "剪切">
+<!ENTITY copyButton.tooltip "复制">
+<!ENTITY pasteButton.tooltip "粘贴">
+<!ENTITY printButton.tooltip "打印这条消息">
+
+<!-- Headers -->
+<!--LOCALIZATION NOTE headersSpaces.style is for aligning the From:, To: and
+ Subject: rows. It should be larger than the largest Header label -->
+<!ENTITY headersSpace2.style "width: 8em;">
+<!ENTITY fromAddr2.label "发件人">
+<!ENTITY fromAddr.accesskey "r">
+<!ENTITY replyAddr2.label "回复地址">
+<!ENTITY newsgroupsAddr2.label "新闻组">
+<!ENTITY followupAddr2.label "跟踪地址:">
+<!ENTITY subject2.label "主题">
+<!ENTITY subject.accesskey "S">
+<!ENTITY attachmentBucketCloseButton.tooltip "隐藏附件窗格">
+
+<!-- Format Toolbar, imported from editorAppShell.xhtml -->
+<!ENTITY SmileButton.tooltip "插入一个笑脸">
+<!ENTITY smiley1Cmd.label "微笑">
+<!ENTITY smiley2Cmd.label "皱眉">
+<!ENTITY smiley3Cmd.label "眨眼">
+<!ENTITY smiley4Cmd.label "吐舌">
+<!ENTITY smiley5Cmd.label "大笑">
+<!ENTITY smiley6Cmd.label "窘迫">
+<!ENTITY smiley7Cmd.label "迟疑">
+<!ENTITY smiley8Cmd.label "惊讶">
+<!ENTITY smiley9Cmd.label "亲吻">
+<!ENTITY smiley10Cmd.label "大叫">
+<!ENTITY smiley11Cmd.label "酷">
+<!ENTITY smiley12Cmd.label "钱-嘴">
+<!ENTITY smiley13Cmd.label "吮脚">
+<!ENTITY smiley14Cmd.label "无辜">
+<!ENTITY smiley15Cmd.label "哭泣">
+<!ENTITY smiley16Cmd.label "缄默">
+
+<!-- Message Pane Context Menu -->
+<!ENTITY spellCheckNoSuggestions.label "无法找到可建议修改的词">
+<!ENTITY spellCheckIgnoreWord.label "忽略词">
+<!ENTITY spellCheckIgnoreWord.accesskey "I">
+<!ENTITY spellCheckAddToDictionary.label "添加至字典">
+<!ENTITY spellCheckAddToDictionary.accesskey "n">
+<!ENTITY undo.label "撤销">
+<!ENTITY undo.accesskey "U">
+<!ENTITY cut.label "剪切">
+<!ENTITY cut.accesskey "t">
+<!ENTITY copy.label "复制">
+<!ENTITY copy.accesskey "C">
+<!ENTITY paste.label "粘贴">
+<!ENTITY paste.accesskey "P">
+<!ENTITY pasteQuote.label "粘贴为引文">
+<!ENTITY pasteQuote.accesskey "Q">
+
+<!-- Attachment Item and List Context Menus -->
+<!ENTITY openAttachment.label "打开">
+<!ENTITY openAttachment.accesskey "O">
+<!ENTITY delete.label "删除">
+<!ENTITY delete.accesskey "D">
+<!ENTITY removeAttachment.label "移除附件">
+<!ENTITY removeAttachment.accesskey "m">
+<!ENTITY renameAttachment.label "重命名…">
+<!ENTITY renameAttachment.accesskey "R">
+<!ENTITY reorderAttachments.label "重新排列附件…">
+<!ENTITY reorderAttachments.accesskey "s">
+<!ENTITY removeAllAttachments.label "移除所有附件">
+<!ENTITY removeAllAttachments.accesskey "v">
+<!ENTITY selectAll.label "选择全部">
+<!ENTITY selectAll.accesskey "A">
+<!ENTITY attachCloud.label "文件链接…">
+<!ENTITY attachCloud.accesskey "i">
+<!ENTITY convertCloud.label "转换为…">
+<!ENTITY convertCloud.accesskey "C">
+<!ENTITY cancelUpload.label "取消上传">
+<!ENTITY cancelUpload.accesskey "n">
+<!ENTITY convertRegularAttachment.label "常规附件">
+<!ENTITY convertRegularAttachment.accesskey "A">
+<!ENTITY attachPage.label "附加网页…">
+<!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 "启动时显示附件窗格">
+<!ENTITY initiallyShowAttachmentPane.accesskey "S">
+
+<!-- Spell checker context menu items -->
+<!ENTITY spellAddDictionaries.label "添加词典…">
+<!ENTITY spellAddDictionaries.accesskey "A">
+
+<!-- Title for the address picker panel -->
+<!ENTITY addressesSidebarTitle.label "地址">
+
+<!-- Identity popup customize menuitem -->
+<!ENTITY customizeFromAddress.label "自定义发件人地址…">
+<!ENTITY customizeFromAddress.accesskey "A">
+
+<!-- Accessibility name for the document -->
+<!ENTITY aria.message.bodyName "消息正文">
+
+<!-- Status Bar -->
+<!ENTITY languageStatusButton.tooltip "拼写检查语言">
+<!ENTITY encodingStatusPanel.tooltip "文字编码">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.dtd
new file mode 100644
index 0000000000..f46b1aef47
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!--LOCALIZATION NOTE sendprogress.dtd Main UI for Send Message Progress Dialog -->
+
+<!ENTITY sendDialog.title "正在处理消息">
+<!ENTITY status.label "状态:">
+<!ENTITY progress.label "进度:">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.properties
new file mode 100644
index 0000000000..67a703b5e6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/messengercompose/sendProgress.properties
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (titleSendMsgSubject):
+# %S will be replaced by the message subject.
+titleSendMsgSubject=正在发送消息 - %S
+titleSendMsg=正在发送消息
+# LOCALIZATION NOTE (titleSaveMsgSubject):
+# %S will be replaced by the message subject.
+titleSaveMsgSubject=正在保存消息 - %S
+titleSaveMsg=正在保存消息
+
+# LOCALIZATION NOTE (percentMsg):
+# This string is used to format the text to the right of the progress meter.
+# %S will be replaced by the percentage of the file that has been saved.
+# %% will be replaced a single % sign.
+percentMsg=%S%%
+
+messageSent=已发送您的消息。
+messageSaved=已保存您的消息。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/migration/migration.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/migration/migration.dtd
new file mode 100644
index 0000000000..d83eca9b43
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/migration/migration.dtd
@@ -0,0 +1,30 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+
+<!ENTITY migrationWizard.title "导入向导">
+
+<!ENTITY importFromWin.label "导入选项、账户设置、通讯录、过滤器以及其他数据,来自:">
+<!ENTITY importFromNonWin.label "导入首选项、账户设置、通讯录、过滤器以及其他数据,来自:">
+<!ENTITY importSourceNotFound.label "没有找到可导入数据的应用程序。">
+
+<!ENTITY importFromNothing.label "不导入任何数据">
+<!ENTITY importFromNothing.accesskey "D">
+<!ENTITY importFromSeamonkey3.label "SeaMonkey 2 或更高">
+<!ENTITY importFromSeamonkey3.accesskey "S">
+<!ENTITY importFromOutlook.label "Outlook">
+<!ENTITY importFromOutlook.accesskey "O">
+
+<!ENTITY importSource.title "导入设置以及邮件夹">
+<!ENTITY importItems.title "导入项">
+<!ENTITY importItems.label "选择要导入的项:">
+
+<!ENTITY migrating.title "正在导入…">
+<!ENTITY migrating.label "下列项正在被导入…">
+
+<!ENTITY selectProfile.title "选择配置文件">
+<!ENTITY selectProfile.label "下列配置文件可供导入,从:">
+
+<!ENTITY done.title "导入完成">
+<!ENTITY done.label "下列项已成功导入...">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/migration/migration.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/migration/migration.properties
new file mode 100644
index 0000000000..f31edc71b7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=首选项
+
+1_thunderbird=首选项
+
+2_seamonkey=账户设置
+2_thunderbird=账户设置
+2_outlook=账户设置
+
+4_seamonkey=通讯录
+4_thunderbird=通讯录
+4_outlook=通讯录
+
+8_seamonkey=垃圾邮件训练
+
+16_seamonkey=已保存密码
+
+32_seamonkey=其他数据
+
+64_seamonkey=新闻组文件夹
+
+64_thunderbird=新闻组文件夹
+
+128_seamonkey=邮件夹
+128_thunderbird=邮件夹
+128_outlook=邮件夹
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mime.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mime.properties
new file mode 100644
index 0000000000..5465882d7b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mime.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by libmime to emit header display in HTML
+#
+
+# Mail subject
+## @name MIME_MHTML_SUBJECT
+## @loc None
+1000=主题
+
+# Resent-Comments
+## @name MIME_MHTML_RESENT_COMMENTS
+## @loc
+1001=重新发送注释
+
+# Resent-Date
+## @name MIME_MHTML_RESENT_DATE
+## @loc
+1002=重新发送日期
+
+# Resent-Sender
+## @name MIME_MHTML_RESENT_SENDER
+## @loc
+1003=Resent-Sender
+
+# Resent-From
+## @name MIME_MHTML_RESENT_FROM
+## @loc
+1004=Resent-From
+
+# Resent-To
+## @name MIME_MHTML_RESENT_TO
+## @loc
+1005=重新发送收件人
+
+# Resent-CC
+## @name MIME_MHTML_RESENT_CC
+## @loc
+1006=重新发送抄送
+
+# Date
+## @name MIME_MHTML_DATE
+## @loc
+1007=日期
+
+# Sender
+## @name MIME_MHTML_SENDER
+## @loc
+1008=Sender
+
+# From
+## @name MIME_MHTML_FROM
+## @loc
+1009=From
+
+# Reply-To
+## @name MIME_MHTML_REPLY_TO
+## @loc
+1010=回复地址
+
+# Organization
+## @name MIME_MHTML_ORGANIZATION
+## @loc
+1011=组织
+
+# To
+## @name MIME_MHTML_TO
+## @loc
+1012=收件人
+
+# CC
+## @name MIME_MHTML_CC
+## @loc
+1013=抄送
+
+# Newsgroups
+## @name MIME_MHTML_NEWSGROUPS
+## @loc
+1014=新闻组
+
+# Followup-To
+## @name MIME_MHTML_FOLLOWUP_TO
+## @loc
+1015=跟踪地址
+
+# References
+## @name MIME_MHTML_REFERENCES
+## @loc
+1016=引用
+
+# Message ID
+## @name MIME_MHTML_MESSAGE_ID
+## @loc
+1021=消息标识
+
+# BCC
+## @name MIME_MHTML_BCC
+## @loc
+1023=密送
+
+# Link to doc
+## @name MIME_MSG_LINK_TO_DOCUMENT
+## @loc
+1026=链接至文档
+
+# Get Doc info
+## @name MIME_MSG_DOCUMENT_INFO
+## @loc
+1027=<B>文档信息:</B>
+
+# Msg Attachment
+## @name MIME_MSG_ATTACHMENT
+## @loc
+1028=附件
+
+# default attachment name
+## @name MIME_MSG_DEFAULT_ATTACHMENT_NAME
+## @loc
+# LOCALIZATION NOTE (1040): Do not translate "%s" below.
+# Place the %s where you wish the part number of the attachment to appear
+1040=部分%s
+
+# default forwarded message prefix
+## @name MIME_FORWARDED_MESSAGE_HTML_USER_WROTE
+## @loc
+1041=-------- 原始信息 --------
+
+# Partial Message Truncated
+## @name MIME_MSG_PARTIAL_TRUNCATED
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED=已截断!
+
+# Partial Message Truncated Explanation
+## @name MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_TRUNCATED_EXPLANATION=这个消息超过了账户设置中的最大消息大小,所以我们只从邮件服务器下载了前几行。
+
+# Partial Message Not Downloaded
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED=没有下载
+
+# Partial Message Not Downloaded Explanation
+## @name MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION
+## @loc
+MIME_MSG_PARTIAL_NOT_DOWNLOADED_EXPLANATION=这个消息只从邮件服务器下载了信头。
+
+# MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @name MIME_MSG_PARTIAL_CLICK_FOR_REST
+## @loc
+MIME_MSG_PARTIAL_CLICK_FOR_REST=下载消息的其余部分。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mimeheader.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mimeheader.properties
new file mode 100644
index 0000000000..b20269ecbe
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/mimeheader.properties
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by libmime for header display in XML & HTML
+#
+TO=收件人
+BCC=密送
+CC=抄送
+DATE=日期
+DISTRIBUTION=发行
+FCC=邮件复制
+FOLLOWUP-TO=跟踪地址
+FROM=From
+STATUS=状态
+LINES=行数
+MESSAGE-ID=消息标识
+MIME-VERSION=MIME 版本
+NEWSGROUPS=新闻组
+ORGANIZATION=组织
+REFERENCES=引用
+REPLY-TO=回复地址
+RESENT-COMMENTS=重新发送注释
+RESENT-DATE=重新发送日期
+RESENT-FROM=Resent-From
+RESENT-MESSAGE-ID=重新发送消息标识
+RESENT-SENDER=Resent-Sender
+RESENT-TO=重新发送收件人
+RESENT-CC=重新发送抄送
+SENDER=Sender
+SUBJECT=主题
+APPROVED-BY=核准者
+USER-AGENT=用户代理
+FILENAME=文件名
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/morkImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/morkImportMsgs.properties
new file mode 100644
index 0000000000..e21b29b837
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/morkImportMsgs.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the Mork import code to display status/error
+# and informational messages.
+#
+
+MABFiles = Mork 通讯录
+
+# Short name of import module
+morkImportName = Mork 数据库(.mab)
+
+# Description of import module
+morkImportDescription = 从 SeaMonkey 或旧版 Thunderbird 导入通讯录。
+
+morkImportSuccess = 成功!
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgAccountCentral.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgAccountCentral.dtd
new file mode 100644
index 0000000000..1842215e1d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "电子邮件">
+<!ENTITY readMsgsLink.label "阅读">
+<!ENTITY composeMsgLink.label "编写">
+
+<!ENTITY newsSectionHdr.label "新闻组">
+<!ENTITY subscribeNewsLink.label "管理新闻组订阅">
+
+<!ENTITY feedsSectionHdr.label "收取点">
+<!ENTITY subscribeFeeds.label "管理订阅">
+
+<!ENTITY chat.label "聊天">
+
+<!ENTITY accountsSectionHdr.label "账户">
+<!ENTITY subscribeImapFolders.label "管理文件夹订阅">
+<!ENTITY settingsLink.label "账户设置">
+<!ENTITY setupNewAcct.label "设置账户">
+
+<!ENTITY advFeaturesSectionHdr.label "高级功能">
+<!ENTITY searchMsgsLink.label "查找">
+<!ENTITY filtersLink.label "管理消息过滤器">
+<!ENTITY junkSettings.label "垃圾邮件设置">
+<!ENTITY offlineLink.label "脱机设置">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgHdrViewOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgHdrViewOverlay.dtd
new file mode 100644
index 0000000000..8fc2b48497
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgHdrViewOverlay.dtd
@@ -0,0 +1,114 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY toField4.label "收件人">
+<!ENTITY fromField4.label "来自">
+<!ENTITY senderField4.label "发件人">
+<!ENTITY author.label "作者">
+<!ENTITY organizationField4.label "组织">
+<!ENTITY replyToField4.label "回复地址">
+
+<!ENTITY subjectField4.label "主题">
+<!ENTITY ccField4.label "抄送">
+<!ENTITY bccField4.label "密送">
+<!ENTITY newsgroupsField4.label "新闻组">
+<!ENTITY followupToField4.label "回复到">
+<!ENTITY tagsHdr4.label "标签">
+<!ENTITY dateField4.label "日期">
+<!ENTITY userAgentField4.label "用户代理">
+<!ENTITY referencesField4.label "引用">
+<!ENTITY messageIdField4.label "消息 ID">
+<!ENTITY inReplyToField4.label "回复">
+<!ENTITY originalWebsite4.label "因特网站点">
+
+<!ENTITY hdrArchiveButton1.label "归档">
+<!ENTITY hdrArchiveButton1.tooltip "归档消息">
+<!ENTITY hdrSmartReplyButton1.label "智能回复">
+<!ENTITY hdrReplyButton1.label "回复">
+<!ENTITY hdrReplyButton2.tooltip "回复至此消息的发送者">
+<!ENTITY hdrReplyAllButton1.label "全部回复">
+<!ENTITY hdrReplyAllButton1.tooltip "回复发件人和所有收件人">
+<!ENTITY hdrReplyListButton1.label "回复列表">
+<!ENTITY hdrReplyListButton1.tooltip "回复至邮件列表">
+<!ENTITY hdrFollowupButton1.label "回复组">
+<!ENTITY hdrFollowupButton1.tooltip "向这个新闻组发送一封回复">
+<!ENTITY hdrForwardButton1.label "转发">
+<!ENTITY hdrForwardButton1.tooltip "转发此消息">
+<!ENTITY hdrJunkButton1.label "垃圾">
+<!ENTITY hdrJunkButton1.tooltip "标记为垃圾">
+<!ENTITY hdrTrashButton1.label "删除">
+<!ENTITY hdrTrashButton1.tooltip "删除此消息">
+
+<!ENTITY hdrViewToolbarShowFull.label "显示图标和文本">
+<!ENTITY hdrViewToolbarShowFull.accesskey "a">
+<!ENTITY hdrViewToolbarShowIcons.label "仅显示图标">
+<!ENTITY hdrViewToolbarShowIcons.accesskey "I">
+<!ENTITY hdrViewToolbarShowText.label "仅显示文本">
+<!ENTITY hdrViewToolbarShowText.accesskey "T">
+<!ENTITY hdrViewToolbarAlwaysReplySender.label "一律回复至发件人">
+<!ENTITY hdrViewToolbarAlwaysReplySender.accesskey "R">
+
+<!ENTITY otherActionsButton2.label "更多">
+<!ENTITY otherActionsButton.tooltip "更多操作">
+<!ENTITY otherActionsOpenConversation1.label "在会话中打开">
+<!ENTITY otherActionsOpenConversation1.accesskey "C">
+<!ENTITY otherActionsOpenInNewWindow1.label "在新窗口中打开">
+<!ENTITY otherActionsOpenInNewWindow1.accesskey "W">
+<!ENTITY otherActionsOpenInNewTab1.label "在新标签页中打开">
+<!ENTITY otherActionsOpenInNewTab1.accesskey "T">
+<!ENTITY markAsReadMenuItem1.label "标记为已读">
+<!ENTITY markAsReadMenuItem1.accesskey "R">
+<!ENTITY markAsUnreadMenuItem1.label "标记为未读">
+<!ENTITY markAsUnreadMenuItem1.accesskey "r">
+<!ENTITY saveAsMenuItem1.label "另存为…">
+<!ENTITY saveAsMenuItem1.accesskey "S">
+<!ENTITY viewSourceMenuItem1.label "查看源代码">
+<!ENTITY viewSourceMenuItem1.accesskey "V">
+<!ENTITY otherActionsPrint1.label "打印…">
+<!ENTITY otherActionsPrint1.accesskey "P">
+
+<!-- Attachment bar context menu items -->
+<!ENTITY startExpandedCmd.label "初始化时显示附件窗格">
+<!ENTITY startExpandedCmd.accesskey "S">
+
+<!-- Attachment context menu items -->
+<!ENTITY openAttachmentCmd.label "打开">
+<!ENTITY openAttachmentCmd.accesskey "O">
+<!ENTITY saveAsAttachmentCmd.label "另存为…">
+<!ENTITY saveAsAttachmentCmd.accesskey "S">
+<!ENTITY detachAttachmentCmd.label "移除…">
+<!ENTITY detachAttachmentCmd.accesskey "D">
+<!ENTITY deleteAttachmentCmd.label "删除">
+<!ENTITY deleteAttachmentCmd.accesskey "e">
+<!ENTITY openAllAttachmentsCmd.label "全部打开…">
+<!ENTITY openAllAttachmentsCmd.accesskey "O">
+<!ENTITY saveAllAttachmentsCmd.label "全部保存…">
+<!ENTITY saveAllAttachmentsCmd.accesskey "S">
+<!ENTITY detachAllAttachmentsCmd.label "全部移除…">
+<!ENTITY detachAllAttachmentsCmd.accesskey "D">
+<!ENTITY deleteAllAttachmentsCmd.label "全部删除…">
+<!ENTITY deleteAllAttachmentsCmd.accesskey "e">
+
+<!ENTITY openAttachment.tooltip "打开附件">
+
+<!ENTITY detachedAttachmentFolder.show.label "打开所在文件夹">
+<!ENTITY detachedAttachmentFolder.show.accesskey "F">
+<!ENTITY detachedAttachmentFolder.showMac.label "在“访达”中显示">
+<!ENTITY detachedAttachmentFolder.showMac.accesskey "F">
+
+<!-- Attachment toolbar items -->
+<!ENTITY saveAttachmentButton1.label "保存">
+<!ENTITY saveAttachmentButton1.tooltip "保存附件">
+<!ENTITY saveAllAttachmentsButton1.label "全部保存">
+<!ENTITY saveAllAttachmentsButton1.tooltip "保存全部附件">
+
+<!ENTITY copyLinkCmd.label "复制链接地址">
+<!ENTITY copyLinkCmd.accesskey "C">
+
+<!ENTITY CopyMessageId.label "复制 消息-ID">
+<!ENTITY CopyMessageId.accesskey "C">
+<!ENTITY OpenMessageForMsgId.label "打开消息 ID 为">
+<!ENTITY OpenMessageForMsgId.accesskey "O">
+<!ENTITY OpenBrowserWithMsgId.label "使用浏览器打开消息 ID 为">
+<!ENTITY OpenBrowserWithMsgId.accesskey "B">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgSynchronize.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgSynchronize.dtd
new file mode 100644
index 0000000000..1f2d268e66
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgSynchronize.dtd
@@ -0,0 +1,27 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<!-- extracted from MsgSynchronize.xul and msgSelectOffline.xul-->
+
+
+<!-- extracted from MsgSynchronize.xul and msgSelectOfflineFolders.xul-->
+
+<!-- extracted from MsgSynchronize.xhtml and msgSelectOfflineFolders.xhtml-->
+
+<!ENTITY MsgSynchronize.label "下载/同步消息">
+<!ENTITY MsgSelect.label "脱机使用项">
+<!ENTITY MsgSyncDesc.label "如果您已选择了邮件夹或者新闻组供脱机使用,那么您可以现在进行下载/同步。或者,使用“选择”按钮来选择邮件夹或者新闻组供脱机使用。">
+<!ENTITY MsgSyncDirections.label "下载/同步下列:">
+<!ENTITY syncTypeMail.label "邮件消息">
+<!ENTITY syncTypeMail.accesskey "M">
+<!ENTITY syncTypeNews.label "新闻组消息">
+<!ENTITY syncTypeNews.accesskey "N">
+<!ENTITY sendMessage.label "发送尚未发送的消息">
+<!ENTITY sendMessage.accesskey "S">
+<!ENTITY workOffline.label "下载或同步完成之后马上脱机工作">
+<!ENTITY workOffline.accesskey "W">
+<!ENTITY selectButton.label "选择…">
+<!ENTITY selectButton.accesskey "e">
+<!ENTITY MsgSelectDesc.label "选择供脱机工作的邮件夹和新闻组。">
+<!ENTITY MsgSelectInd.label "下载">
+<!ENTITY MsgSelectItems.label "文件夹及新闻组">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgViewPickerOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgViewPickerOverlay.dtd
new file mode 100644
index 0000000000..926e52df62
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgViewPickerOverlay.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/. -->
+
+<!--LOCALIZATION NOTE msgViewPickerOverlay.dtd UI for showing various views on a folder -->
+
+
+<!ENTITY viewPicker.label "视图:">
+<!ENTITY viewPicker.accesskey "i">
+<!ENTITY viewAll.label "全部">
+<!ENTITY viewAll.accesskey "A">
+<!ENTITY viewUnread.label "未读">
+<!ENTITY viewUnread.accesskey "U">
+<!ENTITY viewNotDeleted.label "未删除">
+<!ENTITY viewNotDeleted.accesskey "D">
+<!ENTITY viewTags.label "标签">
+<!ENTITY viewTags.accesskey "T">
+<!ENTITY viewCustomViews.label "自定义视图">
+<!ENTITY viewCustomViews.accesskey "V">
+<!ENTITY viewVirtualFolder.label "将视图保存为文件夹…">
+<!ENTITY viewVirtualFolder.accesskey "S">
+<!ENTITY viewCustomizeView.label "自定义…">
+<!ENTITY viewCustomizeView.accesskey "C">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgmdn.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgmdn.properties
new file mode 100644
index 0000000000..4a4dcfa6e1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/msgmdn.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+## Msg Mdn Report strings
+MsgMdnDisplayed=提示:此邮件回执仅表明消息在收件人的计算机上显示过了。但是不保证收件人已经阅读或者已经理解了消息的内容。
+MsgMdnDispatched=消息被打印、传真或者转发了,但是没有显示给收件人。不能保证收件人将来会阅读此消息。
+MsgMdnProcessed=收件人的邮件客户端已处理了此消息,但没有在收件人的计算机上显示出来。不能保证收件人将来会阅读此消息。
+MsgMdnDeleted=此消息已经被删除。接收者可能阅读了该消息也可能没有阅读。他可能在将来恢复该消息然后阅读。
+MsgMdnDenied=此消息的接收者不愿意给您发送一个回执。
+MsgMdnFailed=发生错误。无法产生或者发送给您一个正确的回执。
+# LOCALIZATION NOTE : Do not translate the word "%S" below.
+MsgMdnMsgSentTo=这是您发送给 %S 的邮件的回执。
+MdnDisplayedReceipt=回执(已显示)
+MdnDispatchedReceipt=回执(已分发)
+MdnProcessedReceipt=回执(已处理)
+MdnDeletedReceipt=回执(已删除)
+MdnDeniedReceipt=回执(已拒绝)
+MdnFailedReceipt=回执(已失败)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.dtd
new file mode 100644
index 0000000000..92d8a6aec3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY window.title "消息摘要">
+<!ENTITY selectedmessages.label "已选中消息">
+<!ENTITY archiveButton.label "归档">
+<!ENTITY deleteButton.label "删除">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.properties
new file mode 100644
index 0000000000..7637256ddf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/multimessageview.properties
@@ -0,0 +1,66 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (numConversations): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations.
+numConversations=#1 个讨论
+
+# LOCALIZATION NOTE (atLeastNumConversations): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of conversations (threads or solitary messages) selected. #1 is the
+# number of conversations. We use this when we didn't actually scan the entire
+# list of selected messages, so there may be more conversations than reported
+# (or maybe not!).
+atLeastNumConversations=#1 个讨论
+
+# LOCALIZATION NOTE (numMessages): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of messages in a thread. #1 is the number of messages.
+numMessages=#1 条消息
+
+# LOCALIZATION NOTE (numUnread): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of unread messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of unread messages.
+numUnread=,#1 条未读
+
+# LOCALIZATION NOTE (numIgnored): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages.
+numIgnored=,#1 条已忽略
+
+# LOCALIZATION NOTE (atLeastNumIgnored): Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/Localization_and_Plurals
+# The number of ignored messages in a thread; meant to be appended to
+# "numMessages". #1 is the number of ignored messages. We use this when we
+# didn't actually scan the entire list of selected messages, so there may be
+# more ignored messages than reported (or maybe not!).
+atLeastNumIgnored=,#1 条已忽略
+
+# LOCALIZATION NOTE (noSubject): What to display for a message if it has no
+# subject.
+noSubject=(无主题)
+
+# LOCALIZATION NOTE (messagesTotalSize): A message indicating the total size on
+# disk of the selected messages. #1 is the size, e.g. "123 KB".
+messagesTotalSize=这些消息占用了 #1。
+
+# LOCALIZATION NOTE (messagesTotalSizeMoreThan): A message indicating the total
+# size on disk of the selected messages. #1 is the size, e.g. "123 KB". We use
+# this when we didn't actually scan the entire list of selected messages, so
+# this is a *minimum* size.
+messagesTotalSizeMoreThan=这些消息使用超过 #1 空间。
+
+# LOCALIZATION NOTE (maxCountExceeded): A message to let the user know that not
+# all of the selected messages were summarized. #1 is the total number of
+# messages selected and #2 is the number of messages actually shown.
+maxCountExceeded= (提示:已选中 #1 条消息,显示前 #2 条消息)
+
+# LOCALIZATION NOTE (maxThreadCountExceeded): A message to let the user know that
+# not all of the selected thread were summarized. #1 is the total number of
+# threads selected and #2 is the number of threads actually shown.
+maxThreadCountExceeded= (提示:已选中 #1 个主题,显示前 #2 个主题)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newFolderDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newFolderDialog.dtd
new file mode 100644
index 0000000000..ddcda58714
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newFolderDialog.dtd
@@ -0,0 +1,16 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- Labels -->
+<!ENTITY newFolderDialog.title "新建文件夹">
+<!ENTITY name.label "名称:">
+<!ENTITY name.accesskey "N">
+<!ENTITY description.label "在所选文件夹下创建子文件夹:">
+<!ENTITY description.accesskey "C">
+<!ENTITY folderRestriction1.label "此服务器只允许两种特殊的文件夹。">
+<!ENTITY folderRestriction2.label "允许新文件夹包含:">
+<!ENTITY foldersOnly.label "只文件夹">
+<!ENTITY messagesOnly.label "只消息">
+<!ENTITY accept.label "创建文件夹">
+<!ENTITY accept.accesskey "r">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/news.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/news.properties
new file mode 100644
index 0000000000..b75d283a6f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/news.properties
@@ -0,0 +1,56 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+downloadHeadersTitlePrefix=下载标题
+downloadHeadersInfoText=此新闻组共有 %S 条新消息头需要下载。
+cancelDisallowed=此消息不是您发送的。您只能取消您自己发送的消息,不能取消其他人发送的消息。
+cancelConfirm=确实想要取消此消息吗?
+messageCancelled=已取消消息。
+enterUserPassTitle=需要填写新闻服务器的用户名和密码
+# LOCALIZATION NOTE (enterUserPassServer): %S is the server being accessed
+enterUserPassServer=请输入用于 %S 的用户名和密码:
+# LOCALIZATION NOTE (enterUserPassGroup): %1$S is a specific newsgroup to set
+# the password for; %2$S is the server from which the newsgroup is accessed
+enterUserPassGroup=请输入用于 %2$S 上的 %1$S 的用户名和密码:
+okButtonText=下载
+
+noNewMessages=服务器上没有新消息。
+# LOCALIZATION NOTE (newNewsgroupHeaders): %1$S is the number of the current
+# header being downloaded, %2$S is the number of headers to be downloaded, and
+# %3$S is the newsgroup whose headers are being downloaded.
+newNewsgroupHeaders=正在从 %3$S 下载总数为 %2$S 中的第 %1$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=正在获取过滤器头信息: 位于 %4$S 的 %1$S (%2$S/%3$S)
+downloadingArticles=正在下载文章 %S-%S
+bytesReceived=正在下载新闻组:接收到 %S 字节(%SKB 已读,%SKB/秒)
+downloadingArticlesForOffline=正在下载 %3$S 中的文章 (%1$S-%2$S)
+
+# LOCALIZATION NOTE (autoUnsubscribeText): %1$S is the newsgroup and %2$S is the newsgroup-server it is being removed from.
+autoUnsubscribeText=新闻组 %1$S 不存在主机 %2$S 中。您要取消订阅它吗?
+
+# LOCALIZATION NOTE (autoSubscribeText): %1$S is the newsgroup.
+autoSubscribeText=您要订阅 %1$S 吗?
+
+# LOCALIZATION NOTE (Error -304): In the following item, don't translate "NNTP"
+# Error - server error
+## @name NNTP_ERROR_MESSAGE
+## @loc None
+-304=发生新闻 (NNTP) 错误: \u0020
+
+# Error - newsgroup scan error
+## @name NNTP_NEWSGROUP_SCAN_ERROR
+## @loc None
+-305=发生“新闻”错误。所有新闻组的搜索操作不完整。请再次尝试查看所有新闻组。
+
+# Error - NNTP authinfo failure
+## @name NNTP_AUTH_FAILED
+## @loc None
+-260=发生授权错误。请再次输入您的名称和/或密码。
+
+# Error - TCP error
+## @name TCP_ERROR
+## @loc None
+-206=发生通信错误。请重新连接。TCP 错误:
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newsError.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newsError.dtd
new file mode 100644
index 0000000000..f62b3be43c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/newsError.dtd
@@ -0,0 +1,31 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE (newsError.title): The title of the news error page.
+ Not generally visible. -->
+<!ENTITY newsError.title "加载文章出错">
+
+<!-- LOCALIZATION NOTE (articleNotFound.title): The main heading for the news
+ error page. -->
+<!ENTITY articleNotFound.title "找不到文章">
+
+<!-- LOCALIZATION NOTE (articleNotFound.desc): A longer description for the news
+ error page. -->
+<!ENTITY articleNotFound.desc "新闻组服务器报告找不到该文章。">
+
+<!-- LOCALIZATION NOTE (serverResponded.title): A string preceding the text
+ response from the newsgroup server describing the error. -->
+<!ENTITY serverResponded.title "新闻组服务器响应:">
+
+<!-- LOCALIZATION NOTE (articleExpired.title): A string explaining that the
+ article may have expired. -->
+<!ENTITY articleExpired.title "也许该文章已过期?">
+
+<!-- LOCALIZATION NOTE (trySearching.title): A string preceding the message's
+ ID. -->
+<!ENTITY trySearching.title "尝试搜索文章:">
+
+<!-- LOCALIZATION NOTE (removeExpiredArticles.title): The label for the button
+ to remove all expired articles from the newsgroup. -->
+<!ENTITY removeExpiredArticles.title "移除所有已过期文章">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offline.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offline.properties
new file mode 100644
index 0000000000..99b8da9e1f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offline.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Download Messages Prompt
+downloadMessagesWindowTitle1=下载消息
+downloadMessagesLabel1=在切换至脱机状态前,需要下载消息以供脱机使用吗?
+downloadMessagesCheckboxLabel1=当切换至脱机时每次都询问我
+downloadMessagesNow2=立即下载(&D)
+
+# Send Messages Prompt
+sendMessagesWindowTitle1=未发送消息
+sendMessagesLabel2=您想要将尚未发送的消息发送吗?
+sendMessagesCheckboxLabel1=当我切换至联机状态时每次都询问我
+sendMessagesNow2=立即发送(&S)
+
+processMessagesLater2=以后再说(&L)
+
+# GetMessages While Offline Prompt
+getMessagesOfflineWindowTitle1=获取消息
+getMessagesOfflineLabel1=您现在处于脱机状态。您要切换至联机状态以获取新消息吗?
+
+# Send Messages Offline Prompt
+sendMessagesOfflineWindowTitle1=未发送消息
+sendMessagesOfflineLabel1=您现处于脱机状态。您想要切换至联机状态发送消息吗?
+
+offlineTooltip=您当前处于脱机状态
+onlineTooltip=您当前处于联机状态
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offlineStartup.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offlineStartup.properties
new file mode 100644
index 0000000000..567320b4b2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/offlineStartup.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+title=联机工作
+desc=您要切换至联机状态吗?\n\n(如果您选择脱机工作,您可以稍后切换至联机状态 - 您可以通过在“文件”菜单中选择“联机工作”。)
+workOnline=联机工作
+workOffline=脱机工作
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/outlookImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/outlookImportMsgs.properties
new file mode 100644
index 0000000000..512b75d162
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/outlookImportMsgs.properties
@@ -0,0 +1,82 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the Outlook import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name OUTLOOKIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Outlook
+
+# Description of import module
+## @name OUTLOOKIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2010): In this item, don't translate "Outlook"
+2010=Outlook 邮件,通讯录和设置
+
+# Success message
+## @name OUTLOOKIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%S" or "%d"
+## The variable %S will receive the name of the mailbox
+## The variable %d will receive the number of messages
+2002=邮箱 %S,已导入 %d 条消息
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=传送到导入邮箱的参数错误。
+
+# Error message
+## @name OUTLOOKIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will receive the name of the mailbox
+2004=导入邮箱 %S 出错,不能导入此邮箱的所有消息。
+
+# Address book name
+## @name OUTLOOKIMPORT_ADDRNAME
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "Outlook"
+2005=Outlook 通讯录
+
+# Description
+## @name OUTLOOKIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2006=导入通讯录 %S
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADPARAM
+## @loc None
+2007=传递给导入通讯录的参数错误。
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2008): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=访问通讯录 %S 文件时出错。
+
+# Error message
+## @name OUTLOOKIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=导入通讯录 %S 出错,所有地址不能导入。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/pgpmime.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/pgpmime.properties
new file mode 100644
index 0000000000..6ba8de45e6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/pgpmime.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the pgpmime content type handler
+#
+
+# LOCALIZATION NOTE(pgpMimeNeedsAddon): The text can contain HTML tags.
+pgpNotAvailable=此消息由 OpenPGP 加密,但客户端尚不支持 OpenPGP 解密。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applicationManager.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applicationManager.properties
new file mode 100644
index 0000000000..d8bd2a5b96
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applicationManager.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE
+# in descriptionApplications, %S will be replaced by one of the 3 following strings
+descriptionApplications=如下应用程序可用来处理“%S”。
+
+handleProtocol=%S 链接
+handleFile=%S 内容
+
+descriptionWebApp=此网页应用程序位于:
+descriptionLocalApp=此应用程序位于:
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applications.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applications.properties
new file mode 100644
index 0000000000..d732c19d7c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/applications.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (dialog_removeAccount):
+# %S will be replaced with the user-defined name of a storage account.
+dialog_removeAccount=您确定要删除账户“%S”?
+
+# LOCALIZATION NOTE (addProvider):
+# %S will be replace with the display name of a provider, e.g. DropBox
+addProvider=添加 %S
+
+notConfiguredYet=此账户尚未配置
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/messagestyle.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/messagestyle.properties
new file mode 100644
index 0000000000..9b1607b1ab
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/messagestyle.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Content of preview conversation for chat message styles
+default=默认
+nick1=Florian
+buddy1=florian@im.instantbird.org
+nick2=Patrick
+buddy2=patrick@im.instantbird.org
+message1=嗨!:-)
+message2=你还好吗?
+message3=我在尝试 Thunderbird!;-)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/preferences.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/preferences/preferences.properties
new file mode 100644
index 0000000000..0e78617b6e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=确认
+confirmResetJunkTrainingText=您确定要重新设置自适应过滤器训练数据吗?
+
+#### Downloads
+desktopFolderName=桌面
+myDownloadsFolderName=我的下载
+chooseAttachmentsFolderTitle=选择文件夹
+
+#### Applications
+
+fileEnding=%S 文件
+saveFile=保存文件
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=使用 %S
+useDefault=使用 %S (默认)
+
+useOtherApp=使用其他…
+fpTitleChooseApp=选择助手应用程序
+manageApp=应用程序详细信息…
+alwaysAsk=一律询问
+delete=删除动作
+confirmDeleteTitle=删除动作
+confirmDeleteText=你确实希望删除这个动作?
+
+# LOCALIZATION NOTE (typeDescriptionWithDetails):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = details (see below, for example "(application/pdf: .pdf, .pdfx)")
+typeDescriptionWithDetails=%1$S %2$S
+
+# LOCALIZATION NOTE (typeDetailsWithTypeOrExt):
+# %1$S = type or extensions (for example "application/pdf", or ".pdf, .pdfx")
+typeDetailsWithTypeOrExt=(%1$S)
+
+# LOCALIZATION NOTE (typeDetailsWithTypeAndExt):
+# %1$S = type (for example "application/pdf")
+# %2$S = extensions (for example ".pdf, .pdfx")
+typeDetailsWithTypeAndExt=(%1$S: %2$S)
+
+#### Sound Notifications
+soundFilePickerTitle=选择声音
+
+#### Remote content
+imagepermissionstext=您可以指定来自哪些网站的图像等远程内容允许被加载。您也可以基于发件人的电子邮件地址允许他的所有远程内容。输入要管理的站点或电子邮件地址,然后点击“阻止”或“允许”。
+imagepermissionstitle=例外 - 远程内容
+
+#### Cookies
+cookiepermissionstitle=例外 - Cookie
+cookiepermissionstext=您可以指定一律允许或不允许哪些站点使用 Cookie。请输入站点的准确地址然后单击“阻止”、“在当前会话中允许”或者“允许”。
+
+#### Cookie Viewer
+hostColon=主机:
+domainColon=域:
+forSecureOnly=仅限加密连接
+forAnyConnection=任意类型的连接
+expireAtEndOfSession=当会话结束时
+
+noCookieSelected=<未选择 Cookie>
+cookiesAll=以下是在您的计算机上存储的 Cookie:
+cookiesFiltered=以下是匹配您的搜索的 Cookie:
+# LOCALIZATION NOTE (removeSelectedCookies):
+# Semicolon-separated list of plural forms. See:
+# https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# If you need to display the number of selected elements in your language,
+# you can use #1 in your localization as a placeholder for the number.
+# For example this is the English string with numbers:
+# removeSelectedCookies=Remove #1 Selected;Remove #1 Selected
+removeSelectedCookies=移除选中项目
+defaultUserContextLabel=无
+
+####Preferences::Advanced::Network
+#LOCALIZATION NOTE: The next string is for the disk usage of the cache.
+# e.g., "Your cache is currently using 200 MB"
+# %1$S = size
+# %2$S = unit (MB, KB, etc.)
+actualDiskCacheSize=您的缓存目前已使用 %1$S %2$S 磁盘空间
+actualDiskCacheSizeCalculated=正在计算缓存大小…
+
+# LOCALIZATION NOTE (labelDefaultFont): %S = font name
+labelDefaultFont=默认 (%S)
+labelDefaultFontUnnamed=默认
+
+# LOCALIZATION NOTE (appLocale.label): %S = Name of the application locale,
+# e.g. English (United States)
+appLocale.label=应用程序语言区域:%S
+appLocale.accesskey=p
+# LOCALIZATION NOTE (rsLocale.label): %S = Name of the locale chosen in regional settings,
+# e.g. German (Germany)
+rsLocale.label=区域设置语言区域:%S
+rsLocale.accesskey=g
+
+applications-type-pdf = 便携式文档格式(PDF)
+
+# LOCALIZATION NOTE (previewInApp): %S = brandShortName
+previewInApp=在 %S 中预览
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/prefs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/prefs.properties
new file mode 100644
index 0000000000..8b31c5dda8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/prefs.properties
@@ -0,0 +1,89 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following are used by the Account Wizard
+#
+enterValidEmail=请输入有效的电子邮件地址。
+accountNameExists=此账户名已存在,请另选输入其他账户名。
+accountNameEmpty=账户名不能为空。
+modifiedAccountExists=服务器中使用该名称的账户已经存在。请输入一个不同的用户名或者服务器名。
+userNameChanged=您的用户名已经更新。您可能需要更新与此账户相关联的电子邮件地址和用户名。
+serverNameChanged=服务器名称设置已经更改。请确认在新服务器上存在过滤器所使用的所有文件夹。
+# LOCALIZATION NOTE (junkSettingsBroken): %1$S is the account name
+junkSettingsBroken=账户“%1$S”的垃圾邮件设置可能有问题。您想要在保存账户设置之前复查一下吗?
+# LOCALIZATION NOTE (localDirectoryChanged): %1$S is program name (&brandShortName;)
+localDirectoryChanged=%1$S 现在需要重新启动以便使本地目录设置的更改生效。
+localDirectoryRestart=重新启动
+userNameEmpty=用户名不能为空。
+# LOCALIZATION NOTE (localDirectoryInvalid): %1$S is path to folder
+localDirectoryInvalid=本地目录设置中指定的目录 "%1$S" 无效,请选择另外一个目录。
+# LOCALIZATION NOTE (localDirectoryNotAllowed): %1$S is path to folder
+localDirectoryNotAllowed=本地目录路径 "%1$S" 不适用于信息存储,请选择另外一个目录。
+# if the user chooses to cancel the wizard when no accounts are there throw a message
+# LOCALIZATION NOTE (cancelWizard)
+# do not localize "\n\n"
+cancelWizard=您确定要退出账户向导吗?\n\n如果没有设定账户,您将不能收发消息。
+accountWizard=账户向导
+WizardExit=退出
+WizardContinue=取消
+# when the wizard already has a domain (Should we say something different?)
+enterValidServerName=请输入有效的服务器名称。
+failedRemoveAccount=删除此账户失败。
+#LOCALIZATION NOTE: accountName: %1$S is server name, %2$S is user name
+accountName=%1$S - %2$S
+
+# LOCALIZATION NOTE: confirmDeferAccountWarning: do not localize "\n\n", it means a new empty line in the string.
+confirmDeferAccountWarning=若把以后发给此账户邮件存储在另一个账户的收件箱中,您将无法查看此账户已经下载好的邮件。若您在此账户下已有邮件,建议先将其复制到其他账户的收件箱。\n\n若您有设定将邮件筛选并存放到此账户下,建议先停用那些筛选条件,或更改目标文件夹。若此账户下有特殊文件夹(发件箱,草稿箱,模板,存档,垃圾箱),您也应先把这些文件夹移动到其他账户。\n\n您还想立即把此账户的邮件存到其他账户吗?
+confirmDeferAccountTitle=转递账户?
+
+directoryAlreadyUsedByOtherAccount=本地目录设置中指定的目录已经被账户 "%S" 使用,请选择另外一个目录。
+directoryParentUsedByOtherAccount=本地目录设置中指定的目录的上级目录已经被账户 "%S" 使用,请选择另外一个目录。
+directoryChildUsedByOtherAccount=本地目录设置中指定的目录的一个子目录已经被账户 "%S" 使用,请选择另外一个目录。
+#Provide default example values for sample email address
+exampleEmailUserName=用户
+exampleEmailDomain=example.net
+emailFieldText=电子邮件地址:
+#LOCALIZATION NOTE: defaultEmailText: %1$S is user name, %2$S is domain
+defaultEmailText=请输入您的电子邮件地址,这个地址是其他人用来向您发送电子邮件的地址。 ( 例如,"%1$S@%2$S").\u0020
+#LOCALIZATION NOTE: customizedEmailText: %1$S is provider, %2$S is email username, %3$S is sample email, %4$S is sample username
+customizedEmailText=输入您的 %1$S %2$S。(例如,如果您的 %1$S 电子邮件地址是 "%3$S", 您的 %2$S 是 "%4$S"。)\u0020
+
+# account manager stuff
+prefPanel-server=服务器
+prefPanel-copies=副本和文件夹
+prefPanel-synchronization=同步与存储
+prefPanel-diskspace=磁盘空间
+prefPanel-addressing=通讯录
+prefPanel-junk=垃圾邮件设置
+## LOCALIZATION NOTE (prefPanel-smtp): Don't translate "SMTP"
+prefPanel-smtp=发件服务器(SMTP)
+
+# account manager multiple identity support
+#LOCALIZATION NOTE: accountName: %1$S
+identity-list-title=%1$S 的身份
+
+identityDialogTitleAdd=新建身份
+## LOCALIZATION NOTE (identityDialogTitleEdit): %S is the identity name
+identityDialogTitleEdit=编辑 %S
+
+identity-edit-req=您必须为此身份指定一个合法的电子邮件地址。
+identity-edit-req-title=创建身份出错
+
+## LOCALIZATION NOTE (identity-delete-confirm): %S is the identity name
+# and should be put on a new line. The new line is produced with the "\n" string.
+identity-delete-confirm=您确定要删除身份\n%S?
+## LOCALIZATION NOTE (identity-delete-confirm-title): %S is the account name
+identity-delete-confirm-title=正在删除“%S”的身份
+identity-delete-confirm-button=删除
+
+choosefile=选择文件
+
+forAccount=用于账户“%S”
+
+removeFromServerTitle=确认永久性的自动删除邮件
+removeFromServer=此设置将永久删除旧邮件,包括远程服务器和您的本地存储。您确定要继续?
+
+confirmSyncChangesTitle=确认同步更改
+confirmSyncChanges=消息同步设置已更改。\n\n要保存它们吗?
+confirmSyncChangesDiscard=丢弃
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/profileDowngrade.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/profileDowngrade.dtd
new file mode 100644
index 0000000000..f2cd6498e2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "您启动了旧版的 &brandProductName;">
+<!ENTITY window.style "width: 490px;">
+
+<!ENTITY window.nosync2 "新版本的 &brandProductName; 可能已对您的个人资料进行了不再与此旧版本兼容的修改。此配置文件现在只能搭配较新的版本使用,您或者可以为此 &brandShortName; 版本创建一个全新的配置文件。创建新的配置文件需要重新设定您的账户、日历和附加组件。">
+
+<!ENTITY window.moreinfo "更多信息…">
+<!ENTITY window.create "创建新配置文件">
+<!ENTITY window.quit-win "退出">
+<!ENTITY window.quit-nonwin "退出">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.dtd
new file mode 100644
index 0000000000..476442e47a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY dialogTitle "移除账户和数据">
+<!ENTITY removeButton.label "移除">
+<!ENTITY removeButton.accesskey "R">
+<!ENTITY removeAccount.label "移除账户信息">
+<!ENTITY removeAccount.accesskey "a">
+<!ENTITY removeAccount.desc "只移除 &brandShortName; 记录的此账户的信息。不会影响服务器上的它的数据。">
+<!ENTITY removeData.label "移除消息数据">
+<!ENTITY removeData.accesskey "d">
+<!ENTITY removeDataChat.label "移除会话数据">
+<!ENTITY removeDataChat.accesskey "d">
+<!ENTITY removeDataLocalAccount.desc "在您的本地磁盘上移除此账户相关的所有消息、文件夹和过滤器。这不会影响服务器上可能还保留的一些消息。如果您计划将本地数据留作存档,或者不久后仍使用 &brandShortName;,请不要选择此选项。">
+<!ENTITY removeDataServerAccount.desc "在您的本地磁盘上移除此账户相关的所有消息、文件夹和过滤器。您的消息和文件夹仍在服务器上保存。">
+<!ENTITY removeDataChatAccount.desc "移除本地磁盘上为此账户存储的所有会话记录。">
+<!ENTITY showData.label "显示数据位置">
+<!ENTITY showData.accesskey "S">
+<!ENTITY progressPending "正在移除选定数据…">
+<!ENTITY progressSuccess "移除成功。">
+<!ENTITY progressFailure "移除失败。">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.properties
new file mode 100644
index 0000000000..500d8ddd7b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/removeAccount.properties
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+removeQuestion=您确定要移除账户“%S”?
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/renameFolderDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/renameFolderDialog.dtd
new file mode 100644
index 0000000000..1c022313e9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/renameFolderDialog.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY renameFolderDialog.title "重命名文件夹">
+<!ENTITY rename.label "请输入文件夹的新名称:">
+<!ENTITY rename.accesskey "E">
+<!ENTITY accept.label "重命名">
+<!ENTITY accept.accesskey "R">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/sanitize.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/sanitize.dtd
new file mode 100644
index 0000000000..4e4d30e715
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "清除最近历史记录">
+
+<!-- XXX rearrange entities to match physical layout when l10n isn't an issue -->
+<!-- LOCALIZATION NOTE (clearTimeDuration.*): "Time range to clear" dropdown.
+ See UI mockup at bug 480169 -->
+<!ENTITY clearTimeDuration.label "要清除的时间范围:">
+<!ENTITY clearTimeDuration.accesskey "T">
+<!ENTITY clearTimeDuration.lastHour "最近一小时">
+<!ENTITY clearTimeDuration.last2Hours "最近两小时">
+<!ENTITY clearTimeDuration.last4Hours "最近四小时">
+<!ENTITY clearTimeDuration.today "今天">
+<!ENTITY clearTimeDuration.everything "全部">
+<!-- Localization note (clearTimeDuration.suffix) - trailing entity for languages
+that require it. -->
+<!ENTITY clearTimeDuration.suffix "">
+
+
+<!ENTITY historyGroup.label "历史记录">
+
+<!ENTITY itemHistory.label "浏览历史记录">
+<!ENTITY itemHistory.accesskey "B">
+<!ENTITY itemCookies.label "Cookie">
+<!ENTITY itemCookies.accesskey "C">
+<!ENTITY itemCache.label "缓存">
+<!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 "此操作不可撤销。">
+
+<!ENTITY dialog.width "32em">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/seamonkeyImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/seamonkeyImportMsgs.properties
new file mode 100644
index 0000000000..e0ae92c144
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/seamonkeyImportMsgs.properties
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# The following are used by the seamonkey import code to display status/error
+# and informational messages
+
+# Short name of import module
+SeamonkeyImportName=SeaMonkey
+
+# Description of import module
+SeamonkeyImportDescription=从 SeaMonkey 导入通讯录、邮件和账户。
+
+# Success Message for addressbook import
+SeamonkeyImportAddressSuccess=已成功导入通讯录。
+
+# Success Message for mail import
+SeamonkeyImportSettingsSuccess=已成功从 %S 导入本地邮件和账户。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-attributes.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-attributes.properties
new file mode 100644
index 0000000000..079ca74d90
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-attributes.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#these need to match nsMsgSearchAttrib interface in nsMsgSearchCore.idl
+#and nsMsgSearchAttribMap in nsMsgSearchAdapter.cpp
+Subject=主题
+From=来自
+Body=正文
+Date=日期
+Priority=优先级
+Status=状态
+To=收件人
+Cc=抄送地址
+ToOrCc=收件人或抄送地址
+AgeInDays=已接收时间(天数)
+SizeKB=大小(KB)
+Tags=标签
+# for AB and LDAP
+AnyName=任意姓名
+DisplayName=显示名
+Nickname=昵称
+ScreenName=显示名
+Email=电子邮件
+AdditionalEmail=其他电子邮件
+AnyNumber=任意电话号码
+WorkPhone=工作电话
+HomePhone=家庭电话
+Fax=传真
+Pager=传呼机
+Mobile=移动电话
+City=城市
+Street=街道
+Title=职位
+Organization=组织
+Department=部门
+# more mailnews
+FromToCcOrBcc=来自、发往、抄送或密送地址
+JunkScoreOrigin=原始垃圾分值
+JunkPercent=垃圾百分比
+AttachmentStatus=附件状态
+JunkStatus=垃圾状态
+Label=标记
+Customize=自定义…
+MissingCustomTerm=缺失自定义条件
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-operators.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-operators.properties
new file mode 100644
index 0000000000..539ab26947
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search-operators.properties
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+0=包含
+1=不包含
+2=是
+3=不是
+4=为空
+
+5=早于
+6=晚于
+
+7=高于
+8=低于
+
+9=起始字符
+10=结束字符
+
+11=类似
+12=LdapDwim
+
+13=大于
+14=小于
+
+15=名称完成
+16=在我的通讯录中
+17=不在我的通讯录中
+18=非空
+19=匹配
+20=不匹配
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search.properties
new file mode 100644
index 0000000000..b2b6687a59
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/search.properties
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# these are the fields that get inserted in the search line
+# for "and" searches, this looks like:
+#
+# searchAnd0 <attribute> searchAnd1 <operator> searchAnd2 <value> searchAnd4
+#
+# for example, in english this looks like:
+# and the [Sender ] [doesn't contain] [John]
+#
+# TODO: need to special-case the first line (filterindex==0)
+
+# filter stuff
+
+searchingMessage=正在搜索…
+# LOCALIZATION NOTE (matchesFound): #1 number of matches found
+matchesFound=找到 #1 个匹配的结果
+noMatchesFound=未发现符合条件的消息
+labelForStopButton=停止
+labelForSearchButton=查找
+labelForStopButton.accesskey=S
+labelForSearchButton.accesskey=S
+
+moreButtonTooltipText=添加新规则
+lessButtonTooltipText=移除此规则
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/searchTermOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/searchTermOverlay.dtd
new file mode 100644
index 0000000000..09dc98c02b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/searchTermOverlay.dtd
@@ -0,0 +1,19 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY matchAll.label "满足所有以下条件">
+<!ENTITY matchAll.accesskey "a">
+<!ENTITY matchAny.label "满足以下任一条件">
+<!ENTITY matchAny.accesskey "o">
+<!ENTITY matchAllMsgs.label "匹配所有消息">
+<!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 "5">
+<!ENTITY searchTermListOperatorsFlexValue "5">
+<!ENTITY searchTermListValueFlexValue "5">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/shutdownWindow.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/shutdownWindow.properties
new file mode 100644
index 0000000000..9f318d9732
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/shutdownWindow.properties
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# These strings are loaded and represented by the XUL dialog.
+shutdownDialogTitle=关闭进度窗口
+taskProgress=正在处理第 %1$S 个(共 %2$S)任务\u0020
+
+# These strings are loaded by the individual shutdown tasks.
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/smime.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/smime.properties
new file mode 100644
index 0000000000..2791573a60
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=这是一封<B>已加密</B>或者<B>已签名</B>的邮件。<br>此邮件程序不支持加密的或者签名的邮件。
+
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/smtpEditOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/smtpEditOverlay.dtd
new file mode 100644
index 0000000000..dd1bdc59da
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/smtpEditOverlay.dtd
@@ -0,0 +1,24 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY settings.caption "设置">
+<!ENTITY security.caption "安全及认证">
+<!ENTITY serverName.label "服务器名称:">
+<!ENTITY serverName.accesskey "S">
+<!ENTITY serverDescription.label "描述:">
+<!ENTITY serverDescription.accesskey "D">
+<!ENTITY serverPort.label "端口:">
+<!ENTITY serverPort.accesskey "P">
+<!ENTITY userName.label "用户名:">
+<!ENTITY userName.accesskey "m">
+<!ENTITY connectionSecurity.label "连接安全:">
+<!ENTITY connectionSecurity.accesskey "n">
+<!ENTITY connectionSecurityType-0.label "无">
+<!ENTITY connectionSecurityType-1.label "STARTTLS,如果可用">
+<!ENTITY connectionSecurityType-2.label "STARTTLS">
+<!ENTITY connectionSecurityType-3.label "SSL/TLS">
+<!ENTITY smtpEditTitle.label "SMTP 服务器">
+<!ENTITY serverPortDefault.label "默认:">
+<!ENTITY authMethod.label "验证方式:">
+<!ENTITY authMethod.accesskey "i">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.dtd
new file mode 100644
index 0000000000..9285fc9b07
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY subscribeDialog.title "订阅">
+<!ENTITY subscribeButton.label "订阅">
+<!ENTITY subscribeButton.accesskey "S">
+<!ENTITY unsubscribeButton.label "取消订阅">
+<!ENTITY unsubscribeButton.accesskey "U">
+<!ENTITY newGroupsTab.label "新建组">
+<!ENTITY newGroupsTab.accesskey "N">
+<!ENTITY refreshButton.label "刷新">
+<!ENTITY refreshButton.accesskey "R">
+<!ENTITY stopButton.label "停止">
+<!ENTITY stopButton.accesskey "t">
+<!ENTITY server.label "账户:">
+<!ENTITY server.accesskey "A">
+<!ENTITY subscribedHeader.label "订阅">
+<!-- commenting out until bug 38906 is fixed
+<!ENTITY messagesHeader.label "Messages"> -->
+<!ENTITY namefield.label "显示包含此信息的项:">
+<!ENTITY namefield.accesskey "o">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.properties
new file mode 100644
index 0000000000..e7384133da
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/subscribe.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+subscribeLabel-nntp=请选择订阅的新闻组:
+subscribeLabel-imap=请选择订阅的文件夹:
+currentListTab-nntp.label=当前组列表(L)
+currentListTab-nntp.accesskey=L
+currentListTab-imap.label=文件夹列表(L)
+currentListTab-imap.accesskey=L
+pleaseWaitString=请稍候…
+offlineState=您已离线。无法从服务器中检索项目。
+errorPopulating=从服务器检索项目时出错。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/tabmail.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/tabmail.dtd
new file mode 100644
index 0000000000..5624747f8a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/tabmail.dtd
@@ -0,0 +1,9 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY closeTab.label "关闭标签页">
+<!ENTITY listAllTabs.label "列出全部标签页">
+<!-- LOCALIZATION NOTE(defaultTabTitle.label): This is the default tab
+ title to show when the tab has no title. -->
+<!ENTITY defaultTabTitle.label "主页">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/taskbar.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/taskbar.properties
new file mode 100644
index 0000000000..0de7a04c31
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/taskbar.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+taskbar.tasks.composeMessage.label=编写新消息
+taskbar.tasks.composeMessage.description=编写新消息。
+taskbar.tasks.openAddressBook.label=打开通讯录
+taskbar.tasks.openAddressBook.description=打开您的通讯录。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/telemetry.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/telemetry.properties
new file mode 100644
index 0000000000..f1af3ccf35
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 = 您想自动报告内存使用情况、性能以及响应能力到 %2$S 来帮助改进 %1$S 吗?
+telemetryLinkLabel = 详细了解
+telemetryYesButtonLabel = 是
+telemetryYesButtonAccessKey = Y
+telemetryNoButtonLabel = 否
+telemetryNoButtonAccessKey = N
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/templateUtils.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/templateUtils.properties
new file mode 100644
index 0000000000..e476e6831a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/templateUtils.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE yesterday: used in various places where we compute
+# a "friendly" date, e.g. displaying that a message was from yesterday.
+yesterday=昨天
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/textImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/textImportMsgs.properties
new file mode 100644
index 0000000000..e412b6f844
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/textImportMsgs.properties
@@ -0,0 +1,53 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the outlook express import code to display status/error
+# and informational messages
+#
+
+#
+# The following are used by the text import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name TEXTIMPORT_NAME
+## @loc None
+2000=文本
+
+# Description of import module
+## @name TEXTIMPORT_DESCRIPTION
+## @loc None
+2001=从文本文件导入通讯录。包括:LDIF (.ldif, .ldi),tab 定界的格式或以逗号分隔的 (.csv) 格式。
+
+# Description of import module
+## @name TEXTIMPORT_ADDRESS_NAME
+## @loc None
+2002=文本通讯录
+
+# Description
+## @name TEXTIMPORT_ADDRESS_SUCCESS
+## @loc None
+2003=导入通讯录 %S
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADPARAM
+## @loc None
+2004=传递给导入通讯录的参数错误。
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_BADSOURCEFILE
+## @loc None
+2005=访问通讯录 %S 文件时出错。
+
+# Error message
+## @name TEXTIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+2006=导入通讯录 %S 出错,所有地址不能导入。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/vCardImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/vCardImportMsgs.properties
new file mode 100644
index 0000000000..50eb4025f5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/vCardImportMsgs.properties
@@ -0,0 +1,26 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the vCard import code to display status, error, and
+# informational messages
+#
+
+vCardImportName=vCard 文件 (.vcf)
+
+vCardImportDescription=用 vCard 格式导入通讯录
+
+vCardImportAddressName=个人名片通讯录
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressSuccess=已导入通讯录 %S
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressBadSourceFile=访问通讯录 %S 文件时出错。
+
+# LOCALIZATION NOTE (vCardImportAddressSuccess): %S is replaced by the
+# name of the address book being imported.
+vCardImportAddressConvertError=导入通讯录 %S 出错,不能完全导入所有地址。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewLog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewLog.dtd
new file mode 100644
index 0000000000..a946d6a0ba
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewLog.dtd
@@ -0,0 +1,12 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY viewLog.title "过滤器日志">
+<!ENTITY viewLogInfo.text "过滤器日志是用于记录已执行的过滤器的文件。选择下面的复选框即可启用日志。">
+<!ENTITY clearLog.label "清空日志">
+<!ENTITY clearLog.accesskey "C">
+<!ENTITY enableLog.label "启用过滤器日志">
+<!ENTITY enableLog.accesskey "E">
+<!ENTITY closeLog.label "关闭">
+<!ENTITY closeLog.accesskey "o">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewSource.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewSource.dtd
new file mode 100644
index 0000000000..1da694e2de
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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 "源代码:">
+
+<!ENTITY editMenu.label "编辑">
+<!ENTITY editMenu.accesskey "E">
+<!ENTITY fileMenu.label "文件">
+<!ENTITY fileMenu.accesskey "F">
+<!ENTITY savePageCmd.label "另存页面为…">
+<!ENTITY savePageCmd.accesskey "A">
+<!ENTITY savePageCmd.commandkey "S">
+<!ENTITY printCmd.label "打印…">
+<!ENTITY printCmd.accesskey "P">
+<!ENTITY printCmd.commandkey "P">
+<!ENTITY closeCmd.label "关闭">
+<!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 "转至指定行…">
+<!ENTITY goToLineCmd.accesskey "G">
+<!ENTITY goToLineCmd.commandkey "l">
+
+<!ENTITY viewMenu.label "查看">
+<!ENTITY viewMenu.accesskey "V">
+<!ENTITY reloadCmd.label "重新加载">
+<!ENTITY reloadCmd.accesskey "R">
+<!ENTITY reloadCmd.commandkey "r">
+<!ENTITY menu_wrapLongLines.title "自动折行">
+<!ENTITY menu_wrapLongLines.accesskey "W">
+<!ENTITY menu_highlightSyntax.label "语法高亮">
+<!ENTITY menu_highlightSyntax.accesskey "H">
+<!ENTITY menu_textSize.label "文字大小">
+<!ENTITY menu_textSize.accesskey "Z">
+<!ENTITY menu_textEnlarge.label "增加">
+<!ENTITY menu_textEnlarge.accesskey "I">
+<!ENTITY menu_textReduce.label "减小">
+<!ENTITY menu_textReduce.accesskey "D">
+<!ENTITY menu_textReset.label "正常">
+<!ENTITY menu_textReset.accesskey "N">
+
+<!ENTITY findOnCmd.label "页内查找…">
+<!ENTITY findOnCmd.accesskey "F">
+<!ENTITY findOnCmd.commandkey "f">
+<!ENTITY findAgainCmd.label "再次查找">
+<!ENTITY findAgainCmd.accesskey "g">
+<!ENTITY findAgainCmd.commandkey "g">
+<!ENTITY findAgainCmd.commandkey2 "VK_F3">
+<!ENTITY findSelectionCmd.commandkey "e">
+
+<!ENTITY backCmd.label "后退">
+<!ENTITY backCmd.accesskey "B">
+<!ENTITY forwardCmd.label "前进">
+<!ENTITY forwardCmd.accesskey "F">
+<!ENTITY goBackCmd.commandKey "[">
+<!ENTITY goForwardCmd.commandKey "]">
+
+<!ENTITY copyLinkCmd.label "复制链接地址">
+<!ENTITY copyLinkCmd.accesskey "L">
+<!ENTITY copyEmailCmd.label "复制电子邮件地址">
+<!ENTITY copyEmailCmd.accesskey "E">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewSource.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewSource.properties
new file mode 100644
index 0000000000..382a0be1b6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewSource.properties
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+goToLineTitle = 转至指定行
+goToLineText = 请输入行号
+invalidInputTitle = 输入值无效
+invalidInputText = 输入的行号无效。
+outOfRangeTitle = 未找到行
+outOfRangeText = 未找到指定行。
+viewSelectionSourceTitle = 选中部分的 DOM 源代码
+viewMathMLSourceTitle = MathML 的 DOM 源代码
+
+context_goToLine_label = 转至指定行…
+context_goToLine_accesskey = L
+context_wrapLongLines_label = 自动折行
+context_highlightSyntax_label = 语法高亮
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewZoomOverlay.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewZoomOverlay.dtd
new file mode 100644
index 0000000000..a61e56cadf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/viewZoomOverlay.dtd
@@ -0,0 +1,32 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE :
+fullZoomEnlargeCmd.commandkey3, fullZoomReduceCmd.commandkey2 and
+fullZoomResetCmd.commandkey2 are alternative acceleration keys for zoom.
+If shift key is needed with your locale popular keyboard for them,
+you can use these alternative items. Otherwise, their values should be empty. -->
+
+
+<!ENTITY fullZoomEnlargeCmd.label "放大">
+<!ENTITY fullZoomEnlargeCmd.accesskey "I">
+<!ENTITY fullZoomEnlargeCmd.commandkey "+">
+<!-- + is above this key on many keyboards -->
+<!ENTITY fullZoomEnlargeCmd.commandkey2 "=">
+<!ENTITY fullZoomEnlargeCmd.commandkey3 "">
+
+<!ENTITY fullZoomReduceCmd.label "缩小">
+<!ENTITY fullZoomReduceCmd.accesskey "O">
+<!ENTITY fullZoomReduceCmd.commandkey "-">
+<!ENTITY fullZoomReduceCmd.commandkey2 "">
+
+<!ENTITY fullZoomResetCmd.label "重置">
+<!ENTITY fullZoomResetCmd.accesskey "R">
+<!ENTITY fullZoomResetCmd.commandkey "0">
+<!ENTITY fullZoomResetCmd.commandkey2 "">
+
+<!ENTITY fullZoomToggleCmd.label "仅缩放文本">
+<!ENTITY fullZoomToggleCmd.accesskey "T">
+<!ENTITY fullZoom.label "缩放">
+<!ENTITY fullZoom.accesskey "Z">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderListDialog.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderListDialog.dtd
new file mode 100644
index 0000000000..b98faf0024
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderListDialog.dtd
@@ -0,0 +1,10 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY virtualFolderListTitle.title "选择文件夹">
+<!ENTITY virtualFolderDesc.label "选择要搜索的文件夹:">
+
+
+<!ENTITY folderName.label "文件夹名称">
+<!ENTITY folderSearch.label "搜索">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderProperties.dtd b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderProperties.dtd
new file mode 100644
index 0000000000..314b2bddb6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/virtualFolderProperties.dtd
@@ -0,0 +1,22 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY virtualFolderProperties.title "新建即时搜索文件夹">
+<!ENTITY name.label "名称:">
+<!ENTITY name.accesskey "N">
+<!ENTITY description.label "在所选文件夹下创建子文件夹:">
+<!ENTITY description.accesskey "C">
+
+<!ENTITY searchTermCaption.label "配置用于此搜索文件夹的搜索条件:">
+
+<!ENTITY folderSelectionCaption.label "选择要搜索的文件夹:">
+<!ENTITY chooseFoldersButton.label "选择…">
+<!ENTITY chooseFoldersButton.accesskey "h">
+
+<!ENTITY searchOnline.label "在线搜索(可获取最新的 IMAP 和新闻文件夹的结果,但是会增加打开文件夹所需的时间)">
+<!ENTITY searchOnline.accesskey "S">
+<!ENTITY newFolderButton.label "创建">
+<!ENTITY newFolderButton.accesskey "r">
+<!ENTITY editFolderButton.label "更新">
+<!ENTITY editFolderButton.accesskey "U">
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/wmImportMsgs.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/wmImportMsgs.properties
new file mode 100644
index 0000000000..653e8634df
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/messenger/wmImportMsgs.properties
@@ -0,0 +1,76 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# The following are used by the windows live mail import code to display status/error
+# and informational messages
+#
+
+# Short name of import module
+## @name WMIMPORT_NAME
+## @loc None
+## LOCALIZATION NOTE (2000): DONT_TRANSLATE
+2000=Windows Live Mail
+
+# Description of import module
+## @name WMIMPORT_DESCRIPTION
+## @loc None
+## LOCALIZATION NOTE (2001): In this item, don't translate "Windows Live Mail"
+2001=Windows Live Mail 设置
+
+# Success message
+## @name WMIMPORT_MAILBOX_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2002): In this item, don't translate "%1$S" or "%2$d"
+## The variable %1$S will contain the name of the Mailbox
+## The variable %2$d will contain the number of messages
+2002=邮箱 %1$S,已导入 %2$d 条消息
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADPARAM
+## @loc None
+2003=传送到导入邮箱的参数错误。
+
+# Error message
+## @name WMIMPORT_MAILBOX_BADSOURCEFILE
+## @loc None
+## LOCALIZATION NOTE (2004): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2004=为邮箱 %S 访问文件出错。
+
+# Error message
+## @name WMIMPORT_MAILBOX_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2005): In this item, don't translate "%S"
+## The variable %S will contain the name of the Mailbox
+2005=导入邮箱 %S 出错,不能导入此邮箱的所有消息。
+
+# Default name of imported addressbook
+## @name WMIMPORT_DEFAULT_NAME
+## @loc None
+2006=Windows Live Mail 通讯录
+
+# Autofind description
+## @name WMIMPORT_AUTOFIND
+## @loc None
+2007=Windows Live Mail 通讯录(Windows 通讯录)
+
+# Description
+## @name WMIMPORT_ADDRESS_SUCCESS
+## @loc None
+## LOCALIZATION NOTE (2006): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2008=已导入通讯录 %S
+
+# Error message
+## @name WMIMPORT_ADDRESS_CONVERTERROR
+## @loc None
+## LOCALIZATION NOTE (2009): In this item, don't translate "%S"
+## The variable %S will receive the name of the address book
+2009=导入通讯录 %S 出错,不能完全导入所有地址。
+
+# Error message
+## @name WMIMPORT_ADDRESS_BADPARAM
+## @loc None
+2010=传送到导入通讯录的参数错误。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/downloads/downloads.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/downloads/downloads.properties
new file mode 100644
index 0000000000..588f311395
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=下载
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/downloads/unknownContentType.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/downloads/unknownContentType.properties
new file mode 100644
index 0000000000..2bcd26b6c1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=正在打开 %S
+saveDialogTitle=请输入要保存的文件名…
+defaultApp=%S (默认)
+chooseAppFilePickerTitle=选择助手应用程序
+badApp=无法找到您选择的应用程序 ("%S")。请检查文件名或者选择其他应用程序。
+badApp.title=找不到应用程序
+badPermissions=无法保存文件,因为您没有相应的权限。请另选保存目录。
+badPermissions.title=保存权限无效
+unknownAccept.label=保存文件
+unknownCancel.label=取消
+fileType=%S 文件
+# LOCALIZATION NOTE (orderedFileSizeWithType): first %S is type, second %S is size, and third %S is unit
+orderedFileSizeWithType=%1$S (%2$S %3$S)
+avifExtHandlerDescription=AV1 图像文件(AVIF)
+pdfExtHandlerDescription=便携式文档格式(PDF)
+svgExtHandlerDescription=可缩放矢量图形(SVG)
+webpExtHandlerDescription=WebP 图像
+xmlExtHandlerDescription=可扩展标记语言(XML)
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/profile/profileSelection.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/profile/profileSelection.properties
new file mode 100644
index 0000000000..cfa91d9836
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/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=关闭 %S
+restartMessageNoUnlocker2=%S 已经在运行,但是没有响应。如要使用 %S,您必须先关闭已存在的 %S 进程、重启设备或使用另一份配置文件。
+restartMessageUnlocker=%S 已经在运行,但是没有响应。如要打开新窗口,您必须先关闭旧的 %S 进程。
+restartMessageNoUnlockerMac=已经打开 %S。一次只能打开一个 %S 的副本。
+restartMessageUnlockerMac=%S 已经开启过。将结束目前运行中的 %S 以完成这次开启。
+
+# Profile manager
+# LOCALIZATION NOTE (profileTooltip): First %S is the profile name, second %S is the path to the profile folder.
+profileTooltip=配置文件:“%S” — 路径:“%S”
+
+pleaseSelectTitle=选择配置文件
+pleaseSelect=请选择或创建一个 %S 将使用的配置文件。
+
+renameProfileTitle=重命名配置文件
+renameProfilePrompt=将配置文件“%S”重命名为:
+
+profileNameInvalidTitle=无效的配置文件名
+profileNameInvalid=不能使用配置文件名“%S”。
+
+chooseFolder=选择配置文件夹
+profileNameEmpty=配置文件名不能为空。
+invalidChar=配置文件名称中不能使用“%S”字符。请选择其他名称。
+
+deleteTitle=删除配置文件
+deleteProfileConfirm=删除配置文件将把该配置文件从现有的配置文件列表中移除,并且该操作不可逆。\n您还可以选择删除配置文件的数据,包括您的设置、证书以及其他用户数据。此操作将删除文件夹 "%S" 并且不可逆。\n您要删除配置文件的数据文件吗?
+deleteFiles=删除文件
+dontDeleteFiles=不要删除文件
+
+profileCreationFailed=无法创建配置文件。可能是选择的文件夹不可写入。
+profileCreationFailedTitle=配置文件创建失败
+profileExists=此名称的配置文件已经存在。请选择其他名称。
+profileFinishText=单击“完成”创建新的配置文件。
+profileFinishTextMac=单击“完成”以创建此新配置文件。
+profileMissing=无法加载您的 %S 配置文件。它可能已经丢失,或是无法访问。
+profileMissingTitle=配置文件缺失
+profileDeletionFailed=配置文件无法删除,它可能正在被使用。
+profileDeletionFailedTitle=删除失败
+
+# Profile reset
+# LOCALIZATION NOTE (resetBackupDirectory): Directory name for the profile directory backup created during reset. This directory is placed in a location users will see it (ie. their desktop). %S is the application name.
+resetBackupDirectory=旧的 %S 数据
+
+flushFailTitle=更改未保存
+flushFailMessage=发生意外错误,无法保存更改。
+# LOCALIZATION NOTE (flushFailRestartButton): $S is brandShortName.
+flushFailRestartButton=重启 %S
+flushFailExitButton=退出
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/update/updates.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/update/updates.properties
new file mode 100644
index 0000000000..8e4ac151b1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozapps/update/updates.properties
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: The 1st %S is brandShortName and 2nd %S is update version
+# where update version from the update xml
+# example: MyApplication 10.0.5
+updateName=%S %S
+
+noThanksButton=不,谢谢
+noThanksButton.accesskey=N
+restartLaterButton=稍后重启浏览器
+restartLaterButton.accesskey=L
+restartNowButton=重启 %S
+restartNowButton.accesskey=R
+
+statusFailed=安装失败
+
+installSuccess=已成功安装更新
+installPending=安装延后
+patchApplyFailure=无法安装更新(补丁安装失败)
+elevationFailure=您没有安装此更新的必要权限。请联系您的系统管理员。
+
+check_error-200=用于更新的 XML 文件格式错误 (200)
+check_error-403=禁止访问 (403)
+check_error-404=找不到更新信息的 XML (404)
+check_error-500=内部服务器错误 (500)
+check_error-2152398849=失败(未知原因)
+check_error-2152398861=连接被拒绝
+check_error-2152398862=连接超时
+# NS_ERROR_OFFLINE
+check_error-2152398864=网络处于脱机状态 (请切换至联机)
+check_error-2152398867=端口不被允许访问
+check_error-2152398868=未接收到数据(请重试)
+check_error-2152398878=找不到更新服务器(请检查您的互联网连接)
+check_error-2152398890=找不到代理服务器(请检查您的互联网连接)
+# NS_ERROR_DOCUMENT_NOT_CACHED
+check_error-2152398918=网络处于脱机状态 (请切换至联机)
+check_error-2152398919=数据传输中断(请重试)
+check_error-2152398920=代理服务器拒绝连接
+check_error-2153390069=服务器证书已过期(如果您的系统时间不正确,请调整您的系统时钟至正确的日期时间)
+check_error-verification_failed=无法验证更新的完整性
+check_error-move_failed=准备安装所需更新失败
+check_error-update_url_not_available=更新 URL 不可用
+check_error-connection_aborted=连接中断
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozldap/ldap.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozldap/ldap.properties
new file mode 100644
index 0000000000..e56a1303e4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/mozldap/ldap.properties
@@ -0,0 +1,272 @@
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The following two strings are used when prompting the user for authentication
+# information:
+
+## @name AUTH_PROMPT_TITLE
+## @loc none
+authPromptTitle=LDAP服务器请求密码
+
+## @name AUTH_PROMPT_TEXT
+## @loc %1$S should not be localized. It is the hostname of the LDAP server.
+authPromptText=请为%1$S输入您的密码。
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+# These are string versions of all the errors defined in
+# nsILDAPErrors.idl, as well as the nsresult codes based on those
+# errors. See that file for the genesis of these codes, as well as
+# for info about how to get documentation about their precise
+# meanings.
+
+## @name OPERATIONS_ERROR
+## @loc none
+1=操作错误
+
+## @name PROTOCOL_ERROR
+## @loc none
+2=协议错误
+
+## @name TIMELIMIT_EXCEEDED
+## @loc none
+3=超出时间限制
+
+## @name SIZELIMIT_EXCEEDED
+## @loc none
+4=超出大小限制
+
+## @name COMPARE_FALSE
+## @loc none
+5=比较 "假"
+
+## @name COMPARE_TRUE
+## @loc none
+6=比较 "真"
+
+## @name STRONG_AUTH_NOT_SUPPORTED
+## @loc none
+7=不支持的验证方式
+
+## @name STRONG_AUTH_REQUIRED
+## @loc none
+8=需要强验证
+
+## @name PARTIAL_RESULTS
+## @loc none
+9=已接收到部分结果和候选项
+
+## @name REFERRAL
+## @loc none
+10=收到指示
+
+## @name ADMINLIMIT_EXCEEDED
+## @loc none
+11=达到管理限制
+
+## @name UNAVAILABLE_CRITICAL_EXTENSION
+## @loc none
+12=重要扩展不可用
+
+## @name CONFIDENTIALITY_REQUIRED
+## @loc none
+13=需要机密性
+
+## @name SASL_BIND_IN_PROGRESS
+## @loc none
+14=SASL 还在绑定
+
+## @name NO_SUCH_ATTRIBUTE
+## @loc none
+16=无此属性
+
+## @name UNDEFINED_TYPE
+## @loc none
+17=未定义属性类型
+
+## @name INAPPROPRIATE MATCHIN
+## @loc none
+18=不正确的匹配
+
+## @name CONSTRAINT_VIOLATION
+## @loc none
+19=限制冲突
+
+## @name TYPE_OR_VALUE_EXISTS
+## @loc none
+20=类型或值已经存在
+
+## @name INVALID_SYNTAX
+## @loc none
+21=语法错误
+
+## @name NO_SUCH_OBJECT
+## @loc none
+32=无此对象
+
+## @name ALIAS_PROBLEM
+## @loc none
+33=别名错误
+
+## @name INVALID_DN_ SYNTAX
+## @loc none
+34=不合法的DN语法
+
+## @name IS_LEAF
+## @loc none
+35=对象是叶节点
+
+## @name ALIAS_DEREF_PROBLEM
+## @loc none
+36=别名复引用文体
+
+## @name INAPPROPRIATE_AUTH
+## @loc none
+48=不正确的验证
+
+## @name INVALID_CREDENTIALS
+## @loc none
+49=非法凭证
+
+## @name INSUFFICIENT_ACCESS
+## @loc none
+50=权限不够
+
+## @name BUSY
+## @loc none
+51=LDAP 服务器正忙
+
+## @name UNAVAILABLE
+## @loc none
+52=LDAP服务器不可用
+
+## @name UNWILLING_TO_PERFORM
+## @loc none
+53=LDAP服务器拒绝执行
+
+## @name LOOP_DETECT
+## @loc none
+54=监测到循环
+
+## @name SORT_CONTROL_MISSING
+## @loc none
+60=排序控制丢失
+
+## @name INDEX_RANGE_ERROR
+## @loc none
+61=搜索结果超出了偏移界限
+
+## @name NAMING_VIOLATION
+## @loc none
+64=命名冲突
+
+## @name OBJECT_CLASS_VIOLATION
+## @loc none
+65=对象类冲突
+
+## @name NOT_ALLOWED_ON_NONLEAF
+## @loc none
+66=操作无法在非叶节点上进行
+
+## @name NOT_ALLOWED_ON_RDN
+## @loc none
+67=RDN不允许此操作
+
+## @name ALREADY_EXISTS
+## @loc none
+68=已存在
+
+## @name NO_OBJECT_CLASS_MODS
+## @loc none
+69=无法修改对象类
+
+## @name RESULTS_TOO_LARGE
+## @loc none
+70=结果过大
+
+## @name AFFECTS_MULTIPLE_DSAS
+## @loc none
+71=影响多个服务器
+
+## @name OTHER
+## @loc none
+80=未知错误
+
+## @name SERVER_DOWN
+## @loc none
+81=无法连接 LDAP 服务器
+
+## @name LOCAL_ERROR
+## @loc none
+82=本地错误
+
+## @name ENCODING_ERROR
+## @loc none
+83=编码错误
+
+## @name DECODING_ERROR
+## @loc none
+84=解码错误
+
+## @name TIMEOUT
+## @loc none
+85=LDAP服务器超时
+
+## @name AUTH_UNKNOWN
+## @loc none
+86=未知认证方式
+
+## @name FILTER_ERROR
+## @loc none
+87=非法搜索过滤器
+
+## @name USER_CANCELLED
+## @loc none
+88=用户已取消操作
+
+## @name PARAM_ERROR
+## @loc none
+89=ldap函数错误参数
+
+## @name NO_MEMORY
+## @loc none
+90=内存不足
+
+## @name CONNECT_ERROR
+## @loc none
+91=无法连接到LDAP服务器
+
+## @name NOT_SUPPORTED
+## @loc none
+92=尚未被此版本的LDAP协议支持
+
+## @name CONTROL_NOT_FOUND
+## @loc none
+93=位找到所请求的LDAP控制
+
+## @name NO_RESULTS_RETURNED
+## @loc none
+94=无结果返回
+
+## @name MORE_RESULTS_TO_RETURN
+## @loc none
+95=返回更多结果
+
+## @name CLIENT_LOOP
+## @loc none
+96=客户端检测到循环
+
+## @name REFERRAL_LIMIT_EXCEEDED
+## @loc none
+97=达到指示跃点限制
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.properties
new file mode 100644
index 0000000000..610ad2d578
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/necko/necko.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/.
+
+3=正在解析 %1$S…
+4=已连接到 %1$S…
+5=正在发送请求到 %1$S…
+6=正在传输来自 %1$S 的数据…
+7=正在连接 %1$S…
+8=读取 %1$S\u0020
+9=写入 %1$S
+10=等待 %1$S…
+11=已查询 %1$S…
+12=正在与 %1$S 进行 TLS 握手…
+13=与 %1$S 的 TLS 握手完成…
+
+RepostFormData=此网页正被重定向到新网址。您要将已输入的数据发送到新的网址吗?
+
+# Directory listing strings
+DirTitle=%1$S 的索引
+DirGoUp=回到上一层文件夹
+ShowHidden=显示隐藏对象
+DirColName=名称
+DirColSize=大小
+DirColMTime=修改时间
+DirFileLabel=文件:\u0020
+
+SuperfluousAuth=您将要使用用户名“%2$S”登录到站点“%1$S”,但是该站点并未请求验证。这可能是在尝试欺骗您。\n\n请问“%1$S”是您真正要访问的站点吗?
+AutomaticAuth=您即将使用用户名“%2$S”登录到站点“%1$S”。
+
+TrackerUriBlocked=位于“%1$S”的资源已被内容拦截功能拦截。
+UnsafeUriBlocked=位于“%1$S”的资源已被安全浏览功能(Safe Browsing)屏蔽。
+
+# LOCALIZATION NOTE (StrictUrlProtocolSetter): %1$S is the URL that has attempted to be changed. %2$S is the invalid target protocol.
+
+# LOCALIZATION NOTE (CORPBlocked): %1$S is the URL of the blocked resource. %2$S is the URL of the MDN page about CORP.
+CORPBlocked=位于“%1$S”的资源因其 Cross-Origin-Resource-Policy 头内容(或缺少该头)而被拦截。详见 %2$S
+CookieBlockedByPermission=由于自定义 Cookie 权限,已拦截“%1$S”对 Cookie 或存储空间的访问请求。
+CookieBlockedTracker=鉴于已开启内容拦截功能,而这个请求来自跟踪器,已拦截“%1$S”对 Cookie 或存储空间的访问请求。
+CookieBlockedAll=由于我们正拦截所有对存储空间的访问请求,已拦截“%1$S”对 Cookie 或存储空间的访问请求。
+CookieBlockedForeign=由于我们正拦截所有第三方对存储空间的访问请求,且内容拦截已开启,已拦截“%1$S”对 Cookie 或存储空间的访问请求。
+# 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=由于“%1$S”加载自第三方上下文,并已开启动态状态分区功能,已授权该网站访问分区的 Cookie 或存储空间。
+
+# LOCALIZATION NOTE (CookieAllowedForOriginByStorageAccessAPI): %2$S and %1$S are URLs.
+CookieAllowedForOriginByStorageAccessAPI=已允许“%2$S”访问位于“%1$S”的存储空间。
+# LOCALIZATION NOTE (CookieAllowedForOriginByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForOriginByHeuristic=已自动允许“%2$S”访问位于“%1$S”的存储空间。
+# LOCALIZATION NOTE (CookieAllowedForFpiByHeuristic): %2$S and %1$S are URLs.
+CookieAllowedForFpiByHeuristic=已自动允许位于“%1$S”上第一方隔离的“%2$S”访问存储空间。
+
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecure2): %1$S is the cookie name. Do not localize "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecure2=因为设置了“SameSite=None”属性,但缺少“Secure”属性,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE(CookieRejectedNonRequiresSecureForBeta3): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "SameSite=None" and "secure".
+CookieRejectedNonRequiresSecureForBeta3=由于 Cookie “%1$S”的“SameSite”属性设置为“None”却缺少“Secure”属性,此 Cookie 未来将被拒绝。若要了解“SameSite“的更多信息,请参阅:%2$S
+# LOCALIZATION NOTE(CookieLaxForced2): %1$S is the cookie name. Do not localize "SameSite", "Lax" and "SameSite=Lax".
+CookieLaxForced2=由于 Cookie “%1$S”缺少“SameSite”属性,且该属性的默认值为“SameSite=Lax”,已将“SameSite”的策略设为“Lax”。
+# LOCALIZATION NOTE(CookieLaxForcedForBeta2): %1$S is the cookie name. %2$S is a URL. Do not localize "SameSite", "Lax" and "SameSite=Lax", "SameSite=None".
+CookieLaxForcedForBeta2=由于 Cookie “%1$S”缺少正确的“sameSite”属性值,缺少“SameSite”或含有无效值的 Cookie 即将被视作指定为“Lax”,该 Cookie 将无法发送至第三方上下文中。若您的应用程序依赖这组 Cookie 以在不同上下文中工作,请添加“SameSite=None”属性。若要了解“SameSite”属性的更多信息,请参阅:%2$S
+# LOCALIZATION NOTE(CookieSameSiteValueInvalid2): %1$S is cookie name. Do not localize "SameSite", "Lax", "Strict" and "None"
+CookieSameSiteValueInvalid2=Cookie "%1$S"的“SameSite“值无效。支持的值为:“Lax“、“Strict“、“None“。
+# LOCALIZATION NOTE (CookieOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookieOversize=Cookie “%1$S”太大而无效。最大大小为 %2$S 字节。
+# LOCALIZATION NOTE (CookiePathOversize): %1$S is the cookie name. %2$S is the number of bytes. "B" means bytes.
+CookiePathOversize=Cookie “%1$S”路径过长而无效,最大长度为 %2$S 字节。
+# LOCALIZATION NOTE (CookieRejectedByPermissionManager): %1$S is the cookie response header.
+CookieRejectedByPermissionManager=由于用户所设权限,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedInvalidCharName): %1$S is the cookie name.
+CookieRejectedInvalidCharName=由于名称中包含无效字符,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedInvalidDomain): %1$S is the cookie name.
+CookieRejectedInvalidDomain=由于来自无效的域名,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedInvalidPrefix): %1$S is the cookie name.
+CookieRejectedInvalidPrefix=由于使用了无效的前缀,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedInvalidCharValue): %1$S is the cookie name.
+CookieRejectedInvalidCharValue=由于值中包含无效字符,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedHttpOnlyButFromScript): %1$S is the cookie name.
+CookieRejectedHttpOnlyButFromScript=由于已有 HTTP-Only Cookie,但脚本仍尝试存储新的 Cookie,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedSecureButHttp): %1$S is the cookie name.
+CookieRejectedSecureButNonHttps=由于非 HTTPS Cookie 无法设置“secure”属性,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedThirdParty): %1$S is the cookie response header.
+CookieRejectedThirdParty=由于是第三方 Cookie,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedNonsecureOverSecure): %1$S is the cookie name.
+CookieRejectedNonsecureOverSecure=由于已有“secure”属性的 Cookie,已拒绝 Cookie “%1$S”。
+# LOCALIZATION NOTE (CookieRejectedForNonSameSiteness): %1$S is the cookie name.
+CookieRejectedForNonSameSiteness=由于是在跨站上下文中,且“SameSite”值为“Lax”或“Strict”,已拒绝 Cookie “%1$S”。
+
+# LOCALIZATION NOTE (CookieBlockedCrossSiteRedirect): %1$S is the cookie name. Do not translate "SameSite", "Lax" or "Strict".
+CookieBlockedCrossSiteRedirect=由于是跨站重定向,已忽略“SameSite”属性值为“Lax”或“Strict”的 Cookie “%1$S”。
+
+# LOCALIZATION NOTE (APIDeprecationWarning): %1$S is the deprecated API; %2$S is the API function that should be used.
+APIDeprecationWarning=警告:“%1$S”已弃用,请使用“%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=位于“%1$S”的资源被 OpaqueResponseBlocking 拦截,原因:“%2$S”。
+
+InvalidHTTPResponseStatusLine=此 HTTP 响应状态行无效
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/passwordmgr/passwordmgr.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/passwordmgr/passwordmgr.properties
new file mode 100644
index 0000000000..fe8164bf26
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/passwordmgr/passwordmgr.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rememberPassword = 使用密码管理器来记住这个密码。
+savePasswordTitle = 确认
+# LOCALIZATION NOTE (saveLoginMsg2, saveLoginMsgNoUser2):
+# %S is the login's hostname.
+saveLoginMsg2 = 要保存 %S 的登录信息吗?
+saveLoginMsgNoUser2 = 要保存 %S 的密码吗?
+saveLoginButtonAllow.label = 保存
+saveLoginButtonAllow.accesskey = S
+saveLoginButtonDeny.label = 不保存
+saveLoginButtonDeny.accesskey = D
+saveLoginButtonNever.label = 永不保存
+saveLoginButtonNever.accesskey = e
+# LOCALIZATION NOTE (updateLoginMsg3, updateLoginMsgNoUser3):
+# %S is the login's hostname.
+updateLoginMsg3 = 要更新 %S 的登录信息吗?
+updateLoginMsgNoUser3 = 要更新 %S 的密码吗?
+updateLoginMsgAddUsername2 = 要将用户名添加到已存密码吗?
+updateLoginButtonText = 更新
+updateLoginButtonAccessKey = U
+updateLoginButtonDeny.label = 不更新
+updateLoginButtonDeny.accesskey = D
+updateLoginButtonDelete.label = 移除保存的登录信息
+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 = 您想要记住 %2$S 上“%1$S”的密码吗?
+# LOCALIZATION NOTE (rememberPasswordMsgNoUsername):
+# String is the login's hostname.
+rememberPasswordMsgNoUsername = 您想要记住 %S 上的密码吗?
+# LOCALIZATION NOTE (noUsernamePlaceholder):
+# This is displayed in place of the username when it is missing.
+noUsernamePlaceholder=无用户名
+togglePasswordLabel=显示密码
+togglePasswordAccessKey2=h
+notNowButtonText = 暂时不要(&N)
+neverForSiteButtonText = 不记住此站点的密码(&V)
+rememberButtonText = 记住(&R)
+passwordChangeTitle = 确认更改密码
+# LOCALIZATION NOTE (updatePasswordMsg):
+# String is the username for the login.
+updatePasswordMsg = 您想要更新已保存的“%S”的密码吗?
+updatePasswordMsgNoUser = 您想要更新已保存的密码吗?
+userSelectText2 = 选择要更新的登录信息:
+loginsDescriptionAll2=您的计算机上存储了下列网站的登录信息
+
+# LOCALIZATION NOTE (useASecurelyGeneratedPassword):
+# Shown in the autocomplete popup to allow filling a generated password into a password field.
+useASecurelyGeneratedPassword=使用生成的安全密码
+# LOCALIZATION NOTE (generatedPasswordWillBeSaved):
+# %S will contain the brandShorterName. This informs the user that the generated password will be automatically saved.
+generatedPasswordWillBeSaved=%S 将保存该网站的密码。
+# LOCALIZATION NOTE (loginHostAge):
+# This is used to show the context menu login items with their age.
+# 1st string is the username for the login, 2nd is the login's age.
+loginHostAge=%1$S (%2$S)
+# LOCALIZATION NOTE (noUsername):
+# String is used on the context menu when a login doesn't have a username.
+noUsername=无用户名
+# LOCALIZATION NOTE (displaySameOrigin):
+# String is used on the autocomplete row when the login origin is a domain match with the document origin
+displaySameOrigin=匹配此网站
+
+# LOCALIZATION NOTE (insecureFieldWarningDescription2):
+# %1$S will contain insecureFieldWarningLearnMore and look like a link to indicate that clicking will open a tab with support information.
+insecureFieldWarningDescription2 = 此连接不安全。在此页面输入的登录信息可以被窃取。%1$S
+insecureFieldWarningLearnMore = 详细了解
+
+# LOCALIZATION NOTE (viewSavedLogins.label):
+# This label is used in the footer of login autocomplete menus.
+viewSavedLogins.label= 查看已保存的登录信息
+
+# LOCALIZATION NOTE (managePasswords.label):
+# This label is used in the footer of login autocomplete menus.
+managePasswords.label= 管理密码
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/nsserrors.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/nsserrors.properties
new file mode 100644
index 0000000000..a93306b3ed
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/nsserrors.properties
@@ -0,0 +1,331 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+SSL_ERROR_EXPORT_ONLY_SERVER=无法安全通信。对等端不支持高等级加密。
+SSL_ERROR_US_ONLY_SERVER=无法安全通信。不支持对等端要求的高等级加密。
+SSL_ERROR_NO_CYPHER_OVERLAP=无法安全地与对等端通信:没有双方共用的加密算法。
+SSL_ERROR_NO_CERTIFICATE=无法找到认证所需要的证书或密钥。
+SSL_ERROR_BAD_CERTIFICATE=无法安全地与对等端通信:对等端的证书已被拒绝。
+SSL_ERROR_BAD_CLIENT=服务器遇到了来自客户端的错误数据。
+SSL_ERROR_BAD_SERVER=客户端遇到了来自服务器的错误数据。
+SSL_ERROR_UNSUPPORTED_CERTIFICATE_TYPE=不支持的证书类型。
+SSL_ERROR_UNSUPPORTED_VERSION=对等端使用了不支持的安全协议版本。
+SSL_ERROR_WRONG_CERTIFICATE=客户端认证失败: 密钥数据库中的私钥与证书数据库中的公钥不相匹配。
+SSL_ERROR_BAD_CERT_DOMAIN=无法安全地与对等端通信:请求的域名与服务器的证书不匹配。
+SSL_ERROR_POST_WARNING=无法识别的 SSL 错误代码。
+SSL_ERROR_SSL2_DISABLED=对等端仅支持第2版的 SSL,而此版本在本地已禁用。
+SSL_ERROR_BAD_MAC_READ=SSL 接收到了一个带有不正确的消息认证码的记录。
+SSL_ERROR_BAD_MAC_ALERT=SSL 对等端报告了不正确的消息认证码。
+SSL_ERROR_BAD_CERT_ALERT=SSL 对等端无法核实您的证书。
+SSL_ERROR_REVOKED_CERT_ALERT=由于您的证书以被吊销,SSL 对等端拒绝接收。
+SSL_ERROR_EXPIRED_CERT_ALERT=SSL 对等端拒绝了收到的已过期的您的证书。
+SSL_ERROR_SSL_DISABLED=无法连接:SSL 已禁用。
+SSL_ERROR_FORTEZZA_PQG=无法连接:SSL 对等端在另一个 FORTEZZA 域中。
+SSL_ERROR_UNKNOWN_CIPHER_SUITE=请求了一个未知的 SSL 密码组。
+SSL_ERROR_NO_CIPHERS_SUPPORTED=此程序中不存在可使用的密码组。
+SSL_ERROR_BAD_BLOCK_PADDING=SSL 收到一个块结构错误的记录。
+SSL_ERROR_RX_RECORD_TOO_LONG=SSL 接收到一个超出最大准许长度的记录。
+SSL_ERROR_TX_RECORD_TOO_LONG=SSL 尝试发送超过最大准许长度的记录。
+SSL_ERROR_RX_MALFORMED_HELLO_REQUEST=SSL 接收到一个异常的 Hello 要求握手消息。
+SSL_ERROR_RX_MALFORMED_CLIENT_HELLO=SSL 接收到一个异常的客户端 Hello 握手消息。
+SSL_ERROR_RX_MALFORMED_SERVER_HELLO=SSL 接收到一个异常的服务器 Hello 握手消息。
+SSL_ERROR_RX_MALFORMED_CERTIFICATE=SSL 接收到一个异常的证书握手信息。
+SSL_ERROR_RX_MALFORMED_SERVER_KEY_EXCH=SSL 接收到一个异常的服务器密钥交换握手消息。
+SSL_ERROR_RX_MALFORMED_CERT_REQUEST=SSL 接收到一个异常的证书请求握手消息。
+SSL_ERROR_RX_MALFORMED_HELLO_DONE=SSL 接收到一个异常的服务器完成 Hello 握手消息。
+SSL_ERROR_RX_MALFORMED_CERT_VERIFY=SSL 接收到一个异常的证书核实握手消息。
+SSL_ERROR_RX_MALFORMED_CLIENT_KEY_EXCH=SSL 接收到一个异常的客户端密钥交换握手消息。
+SSL_ERROR_RX_MALFORMED_FINISHED=SSL 接收到一个异常的完成的握手消息。
+SSL_ERROR_RX_MALFORMED_CHANGE_CIPHER=SSL 接收到一个异常的更换密码规格记录。
+SSL_ERROR_RX_MALFORMED_ALERT=SSL 接收到一个异常的警告记录。
+SSL_ERROR_RX_MALFORMED_HANDSHAKE=SSL 接收到一个异常的握手记录。
+SSL_ERROR_RX_MALFORMED_APPLICATION_DATA=SSL 接收到一个异常的应用程序数据记录。
+SSL_ERROR_RX_UNEXPECTED_HELLO_REQUEST=SSL 接收到一个意外的 Hello 请求握手信息。
+SSL_ERROR_RX_UNEXPECTED_CLIENT_HELLO=SSL 接收到一个意外的客户端 Hello 握手消息。
+SSL_ERROR_RX_UNEXPECTED_SERVER_HELLO=SSL 接收到一个意外的服务器 Hello 握手信息。
+SSL_ERROR_RX_UNEXPECTED_CERTIFICATE=SSL 接收到一个意外的证书握手消息。
+SSL_ERROR_RX_UNEXPECTED_SERVER_KEY_EXCH=SSL 接收到一个意外的服务器密钥交换握手信息。
+SSL_ERROR_RX_UNEXPECTED_CERT_REQUEST=SSL 接收到一个意外的证书请求握手信息。
+SSL_ERROR_RX_UNEXPECTED_HELLO_DONE=SSL 接收到一个意外的服务器完成 Hello 握手信息。
+SSL_ERROR_RX_UNEXPECTED_CERT_VERIFY=SSL 接收到一个意外的证书核实握手信息。
+SSL_ERROR_RX_UNEXPECTED_CLIENT_KEY_EXCH=SSL 接收到一个意外的客户端密钥交换握手信息。
+SSL_ERROR_RX_UNEXPECTED_FINISHED=SSL 接收到一个意外的完成的握手信息。
+SSL_ERROR_RX_UNEXPECTED_CHANGE_CIPHER=SSL 接收到一个意外的更换密码规格记录。
+SSL_ERROR_RX_UNEXPECTED_ALERT=SSL 接收到一个意外的警告记录。
+SSL_ERROR_RX_UNEXPECTED_HANDSHAKE=SSL 接收到一个意外的握手记录。
+SSL_ERROR_RX_UNEXPECTED_APPLICATION_DATA=SSL 接收到一个意外的应用程序数据记录。
+SSL_ERROR_RX_UNKNOWN_RECORD_TYPE=SSL 接收到一个带有未知内容类型的记录。
+SSL_ERROR_RX_UNKNOWN_HANDSHAKE=SSL 接收到一个带有未知信息类型的握手信息。
+SSL_ERROR_RX_UNKNOWN_ALERT=SSL 接收到一个带有未知警告描述的警告记录。
+SSL_ERROR_CLOSE_NOTIFY_ALERT=SSL 对等端已经关闭了此连接。
+SSL_ERROR_HANDSHAKE_UNEXPECTED_ALERT=SSL 对等端收到了预料之外的握手消息。
+SSL_ERROR_DECOMPRESSION_FAILURE_ALERT=SSL 对等端无法顺利解压其接收到的 SSL 记录。
+SSL_ERROR_HANDSHAKE_FAILURE_ALERT=SSL 对等端无法协商出一个可接受的安全参数设置。
+SSL_ERROR_ILLEGAL_PARAMETER_ALERT=SSL 对等端收到了不可接受的握手消息。
+SSL_ERROR_UNSUPPORTED_CERT_ALERT=SSL 对等端不支持所收到的该类型的证书。
+SSL_ERROR_CERTIFICATE_UNKNOWN_ALERT=SSL 对等端收到的证书存在一些未指明的问题。
+SSL_ERROR_GENERATE_RANDOM_FAILURE=SSL 的随机数字生成程序发生错误。
+SSL_ERROR_SIGN_HASHES_FAILURE=无法对所需数据进行数字签名以核实您的证书。
+SSL_ERROR_EXTRACT_PUBLIC_KEY_FAILURE=SSL 无法从对等端的证书中取出公钥。
+SSL_ERROR_SERVER_KEY_EXCHANGE_FAILURE=进行 SSL 服务器密钥交换握手时出现未指定的错误。
+SSL_ERROR_CLIENT_KEY_EXCHANGE_FAILURE=处理 SSL 客户端密钥消息握手时出现不确定的错误。
+SSL_ERROR_ENCRYPTION_FAILURE=所选择的密码组中批量数据加密算法失败。
+SSL_ERROR_DECRYPTION_FAILURE=所选择的密码组中批量数据解密算法失败。
+SSL_ERROR_SOCKET_WRITE_FAILURE=尝试想接口底层写入加密数据失败。
+SSL_ERROR_MD5_DIGEST_FAILURE=MD5 摘要函数失败。
+SSL_ERROR_SHA_DIGEST_FAILURE=SHA-1 摘要函数失败。
+SSL_ERROR_MAC_COMPUTATION_FAILURE=MAC 计算失败。
+SSL_ERROR_SYM_KEY_CONTEXT_FAILURE=创建对称密钥上下文失败。
+SSL_ERROR_SYM_KEY_UNWRAP_FAILURE=将客户端密钥交换消息中的对称密钥解包失败。
+SSL_ERROR_PUB_KEY_SIZE_LIMIT_EXCEEDED=SSL 服务器尝试使用民用规格公钥导出密码组。
+SSL_ERROR_IV_PARAM_FAILURE=PKCS11 码将 IV 翻译为参数失败。
+SSL_ERROR_INIT_CIPHER_SUITE_FAILURE=初始化所选择的密码组失败。
+SSL_ERROR_SESSION_KEY_GEN_FAILURE=客户端生成 SSL 会话的会话密钥失败。
+SSL_ERROR_NO_SERVER_KEY_FOR_ALG=服务器没有密钥可以尝试密钥互换算法。
+SSL_ERROR_TOKEN_INSERTION_REMOVAL=操作进行时 PKCS#11 标记被插入或被删除。
+SSL_ERROR_TOKEN_SLOT_NOT_FOUND=没有找到 PKCS#11 标记进行请求的操作。
+SSL_ERROR_NO_COMPRESSION_OVERLAP=无法安全地与对等端通信:没有双方共用的压缩算法。
+SSL_ERROR_HANDSHAKE_NOT_COMPLETED=直到当前握手结束之前,无法初始化另一个 SSL 握手。
+SSL_ERROR_BAD_HANDSHAKE_HASH_VALUE=收到了来自对等端的不正确的握手散列值
+SSL_ERROR_CERT_KEA_MISMATCH=提供的证书无法以所选择的密钥交换算法使用。
+SSL_ERROR_NO_TRUSTED_SSL_CLIENT_CA=没有可信任的证书授权进行 SSL 客户端认证。
+SSL_ERROR_SESSION_NOT_FOUND=在服务器的会话缓存上没有找到客户端的 SSL 会话 ID。
+SSL_ERROR_DECRYPTION_FAILED_ALERT=对等端无法解密收到的一个 SSL 记录。
+SSL_ERROR_RECORD_OVERFLOW_ALERT=对等端收到了一个超出允许范围的 SSL 记录。
+SSL_ERROR_UNKNOWN_CA_ALERT=对等端不认可且不信任给您颁发证书的机构。
+SSL_ERROR_ACCESS_DENIED_ALERT=对等端收到了有效的证书,但是访问被拒绝。
+SSL_ERROR_DECODE_ERROR_ALERT=对等端无法解码一个 SSL 握手消息。
+SSL_ERROR_DECRYPT_ERROR_ALERT=对等端报告签名核实或密钥交换失败。
+SSL_ERROR_EXPORT_RESTRICTION_ALERT=对等端报告协议不符合输出规则。
+SSL_ERROR_PROTOCOL_VERSION_ALERT=对等端报告不兼容或不支持的协议版本。
+SSL_ERROR_INSUFFICIENT_SECURITY_ALERT=服务器要求的密码比那些由客户端支持的密码更加安全
+SSL_ERROR_INTERNAL_ERROR_ALERT=对等端报告其遇到一个内部错误。
+SSL_ERROR_USER_CANCELED_ALERT=对等端用户取消了握手。
+SSL_ERROR_NO_RENEGOTIATION_ALERT=对等端不允许 SSL 安全参数重议。
+SSL_ERROR_SERVER_CACHE_NOT_CONFIGURED=SSL 服务器缓存未配置,且未对此套接字禁用。
+SSL_ERROR_UNSUPPORTED_EXTENSION_ALERT=SSL 对等端不支持所请求的 TLS hello 扩展。
+SSL_ERROR_CERTIFICATE_UNOBTAINABLE_ALERT=SSL 对等端无法从所提供的 URL 获得您的证书。
+SSL_ERROR_UNRECOGNIZED_NAME_ALERT=SSL 对等端没有所请求 DNS 名称的证书。
+SSL_ERROR_BAD_CERT_STATUS_RESPONSE_ALERT=SSL 对等端无法得到其证书的 OCSP 响应。
+SSL_ERROR_BAD_CERT_HASH_VALUE_ALERT=SSL 对等端报告损坏的证书散列值。
+SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET=SSL 收到了一个意外的新建会话票证(New Session Ticket)握手消息。
+SSL_ERROR_RX_MALFORMED_NEW_SESSION_TICKET=SSL 收到了一个畸形的新建会话票证(New Session Ticket)握手消息。
+SSL_ERROR_DECOMPRESSION_FAILURE=SSL 接收到一个无法解压的压缩记录。
+SSL_ERROR_RENEGOTIATION_NOT_ALLOWED=在此 SSL 套接字上不允许重新协商。
+SSL_ERROR_UNSAFE_NEGOTIATION=对等端尝试以可能有潜在漏洞的旧方式握手。
+SSL_ERROR_RX_UNEXPECTED_UNCOMPRESSED_RECORD=SSL 接收到一个意外的未压缩的记录。
+SSL_ERROR_WEAK_SERVER_EPHEMERAL_DH_KEY=在服务器密钥交换握手信息中 SSL 收到了一个弱临时 Diffie-Hellman 密钥。
+SSL_ERROR_NEXT_PROTOCOL_DATA_INVALID=SSL 收到了无效的 NPN 扩展数据。
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SSL2=SSL 2.0 连接不支持的 SSL 特性。
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_SERVERS=服务器不支持的 SSL 特性。
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_CLIENTS=客户端不支持的 SSL 特性。
+SSL_ERROR_INVALID_VERSION_RANGE=SSL 版本范围无效。
+SSL_ERROR_CIPHER_DISALLOWED_FOR_VERSION=SSL 对等端选择了一个选择的协议版本不支持的密码套件。
+SSL_ERROR_RX_MALFORMED_HELLO_VERIFY_REQUEST=SSL 收到了一个格式不正确的 Hello 验证请求握手消息。
+SSL_ERROR_RX_UNEXPECTED_HELLO_VERIFY_REQUEST=SSL 收到了一个意外的 Hello 验证请求握手消息。
+SSL_ERROR_FEATURE_NOT_SUPPORTED_FOR_VERSION=该协议版本不支持的 SSL 特性。
+SSL_ERROR_RX_UNEXPECTED_CERT_STATUS=SSL 收到了一个意外的证书状态握手消息。
+SSL_ERROR_UNSUPPORTED_HASH_ALGORITHM=TLS 对等端使用了不支持的散列算法。
+SSL_ERROR_DIGEST_FAILURE=摘要函数失败。
+SSL_ERROR_INCORRECT_SIGNATURE_ALGORITHM=一个数字签名的元素中指定了不正确的签名算法。
+SSL_ERROR_NEXT_PROTOCOL_NO_CALLBACK=Next Protocol Negotiation Extension 已经启用,但回调已在需要之前被清除。
+SSL_ERROR_NEXT_PROTOCOL_NO_PROTOCOL=服务器不支持客户端在 ALPN 扩展中宣告的协议。
+SSL_ERROR_INAPPROPRIATE_FALLBACK_ALERT=服务器拒绝握手,因为客户端降级到了比服务器所支持的 TLS 版本更低的版本。
+SSL_ERROR_WEAK_SERVER_CERT_KEY=该服务器证书包含的公钥太弱。
+SSL_ERROR_RX_SHORT_DTLS_READ=没有足够的空间缓冲 DTLS 记录。
+SSL_ERROR_NO_SUPPORTED_SIGNATURE_ALGORITHM=已配置的 TLS 签名算法不支持。
+SSL_ERROR_UNSUPPORTED_SIGNATURE_ALGORITHM=不支持对等端使用的签名与散列算法的组合。
+SSL_ERROR_MISSING_EXTENDED_MASTER_SECRET=对等端尝试恢复时未提供正确的 extended_master_secret 扩展。
+SSL_ERROR_UNEXPECTED_EXTENDED_MASTER_SECRET=对等端尝试恢复时提供了意外的 extended_master_secret 扩展。
+SEC_ERROR_IO=在安全授权过程中发生了一个 I/O 错误。
+SEC_ERROR_LIBRARY_FAILURE=安全程序库错误。
+SEC_ERROR_BAD_DATA=安全程序库: 接收到损坏的数据。
+SEC_ERROR_OUTPUT_LEN=安全程序库: 输出长度错误。
+SEC_ERROR_INPUT_LEN=安全程序库遇到了输入长度错误。
+SEC_ERROR_INVALID_ARGS=安全程序库: 无效参数。
+SEC_ERROR_INVALID_ALGORITHM=安全程序库: 无效算法。
+SEC_ERROR_INVALID_AVA=安全程序库:无效的 AVA。
+SEC_ERROR_INVALID_TIME=不正确的时间字符串格式。
+SEC_ERROR_BAD_DER=安全程序库: 不正确的编排 DER-编码信息格式。
+SEC_ERROR_BAD_SIGNATURE=对等端的证书有一个无效的签名。
+SEC_ERROR_EXPIRED_CERTIFICATE=对等端的证书已过期。
+SEC_ERROR_REVOKED_CERTIFICATE=对等端的证书已被吊销。
+SEC_ERROR_UNKNOWN_ISSUER=对等端的证书颁发者不受认可。
+SEC_ERROR_BAD_KEY=对等端的公钥无效。
+SEC_ERROR_BAD_PASSWORD=所输入的安全密码无效。
+SEC_ERROR_RETRY_PASSWORD=输入的新密码不正确。请再试一次。
+SEC_ERROR_NO_NODELOCK=安全程序库: 无节点锁。
+SEC_ERROR_BAD_DATABASE=安全程序库: 损坏的数据库。
+SEC_ERROR_NO_MEMORY=安全程序库:内存分配失败。
+SEC_ERROR_UNTRUSTED_ISSUER=对等端的证书颁发者已被用户标记为不受信任。
+SEC_ERROR_UNTRUSTED_CERT=对等端的证书已被用户标为不可信。
+SEC_ERROR_DUPLICATE_CERT=证书已经存在于您的数据库中。
+SEC_ERROR_DUPLICATE_CERT_NAME=所下载证书的名称与数据库中已有的重复。
+SEC_ERROR_ADDING_CERT=向数据库中添加证书时发生错误。
+SEC_ERROR_FILING_KEY=重新填写此证书密钥时错误。
+SEC_ERROR_NO_KEY=此证书的私钥无法在密钥数据库中找到
+SEC_ERROR_CERT_VALID=此证书有效。
+SEC_ERROR_CERT_NOT_VALID=此证书无效。
+SEC_ERROR_CERT_NO_RESPONSE=证书程序库:无响应
+SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE=证书签发者的证书已过期。请检查您的系统日期和时间。
+SEC_ERROR_CRL_EXPIRED=证书签发者的证书吊销列表(CRL)已过期。请更新吊销列表,或者检查您的系统日期和时间。
+SEC_ERROR_CRL_BAD_SIGNATURE=证书颁发者的证书吊销列表含有的签名无效。
+SEC_ERROR_CRL_INVALID=新的 CRL 格式无效。
+SEC_ERROR_EXTENSION_VALUE_INVALID=证书扩展值无效。
+SEC_ERROR_EXTENSION_NOT_FOUND=没有找到证书扩展。
+SEC_ERROR_CA_CERT_INVALID=颁发者证书无效。
+SEC_ERROR_PATH_LEN_CONSTRAINT_INVALID=证书路径长度限制无效。
+SEC_ERROR_CERT_USAGES_INVALID=证书用途字段无效。
+SEC_INTERNAL_ONLY=**仅供内部使用的模块**
+SEC_ERROR_INVALID_KEY=该密钥不支持所请求的操作。
+SEC_ERROR_UNKNOWN_CRITICAL_EXTENSION=证书包含未知的关键扩展。
+SEC_ERROR_OLD_CRL=新的证书吊销列表(CRL)不比当前的新。
+SEC_ERROR_NO_EMAIL_CERT=没有加密或签署:您还没有电子邮件证书。
+SEC_ERROR_NO_RECIPIENT_CERTS_QUERY=没有加密:您没有可用于每个接收者的证书。
+SEC_ERROR_NOT_A_RECIPIENT=无法解密:您不是接收者,或者没有找到匹配的证书与私钥。
+SEC_ERROR_PKCS7_KEYALG_MISMATCH=无法解密:密钥加密算法与您的证书不匹配。
+SEC_ERROR_PKCS7_BAD_SIGNATURE=签名核实失败:没有找到签署者,找到过多签署者,或者不恰当或损坏的数据。
+SEC_ERROR_UNSUPPORTED_KEYALG=不支持或未知的密钥算法。
+SEC_ERROR_DECRYPTION_DISALLOWED=无法解密:加密数据时使用了不允许的算法或密钥长度。
+XP_SEC_FORTEZZA_BAD_CARD=Fortezza 卡未正确初始化。请将其取出并退还给签发者。
+XP_SEC_FORTEZZA_NO_CARD=没有找到 Fortezza 卡
+XP_SEC_FORTEZZA_NONE_SELECTED=未选择 Fortezza 卡
+XP_SEC_FORTEZZA_MORE_INFO=请选择一种个人设置以得到更多信息
+XP_SEC_FORTEZZA_PERSON_NOT_FOUND=无法找到个人设置
+XP_SEC_FORTEZZA_NO_MORE_INFO=此个人设置中没有更多的信息
+XP_SEC_FORTEZZA_BAD_PIN=无效的 PIN
+XP_SEC_FORTEZZA_PERSON_ERROR=无法初始化 Fortezza 个人设置。
+SEC_ERROR_NO_KRL=没有找到此站点证书的密钥吊销列表(KRL)。
+SEC_ERROR_KRL_EXPIRED=此站点证书的密钥吊销列表(KRL)已过期。
+SEC_ERROR_KRL_BAD_SIGNATURE=此站点证书的密钥吊销列表(KRL)有一个无效的签名。
+SEC_ERROR_REVOKED_KEY=此站点的证书的密钥已被吊销。
+SEC_ERROR_KRL_INVALID=新的密钥吊销列表(KRL)格式无效。
+SEC_ERROR_NEED_RANDOM=安全程序库:需要随机数据。
+SEC_ERROR_NO_MODULE=安全程序库:没有安全模块可以执行请求的操作。
+SEC_ERROR_NO_TOKEN=安全卡或令牌不存在,需要初始化,或已被删除。
+SEC_ERROR_READ_ONLY=安全程序库:只读数据库。
+SEC_ERROR_NO_SLOT_SELECTED=未选择插槽(Slot)或令牌(Token)。
+SEC_ERROR_CERT_NICKNAME_COLLISION=已经存在相同昵称的证书。
+SEC_ERROR_KEY_NICKNAME_COLLISION=同样昵称的密钥已经存在。
+SEC_ERROR_SAFE_NOT_CREATED=建立安全目标时错误。
+SEC_ERROR_BAGGAGE_NOT_CREATED=建立目标包时发生错误
+XP_JAVA_REMOVE_PRINCIPAL_ERROR=无法移除 Principal
+XP_JAVA_DELETE_PRIVILEGE_ERROR=无法删除权限
+XP_JAVA_CERT_NOT_EXISTS_ERROR=此 Principal 没有证书
+SEC_ERROR_BAD_EXPORT_ALGORITHM=所需算法不允许使用。
+SEC_ERROR_EXPORTING_CERTIFICATES=尝试导出证书发生错误。
+SEC_ERROR_IMPORTING_CERTIFICATES=尝试导入证书时错误。
+SEC_ERROR_PKCS12_DECODING_PFX=无法导入。解码错误。文件无效。
+SEC_ERROR_PKCS12_INVALID_MAC=无法导入。MAC无效。密码不正确或者文件损坏。
+SEC_ERROR_PKCS12_UNSUPPORTED_MAC_ALGORITHM=无法导入。不支持此 MAC 算法。
+SEC_ERROR_PKCS12_UNSUPPORTED_TRANSPORT_MODE=无法导入。只支持密码完整性和隐私模式。
+SEC_ERROR_PKCS12_CORRUPT_PFX_STRUCTURE=无法导入。文件结构损坏。
+SEC_ERROR_PKCS12_UNSUPPORTED_PBE_ALGORITHM=无法导入。加密算法不支持。
+SEC_ERROR_PKCS12_UNSUPPORTED_VERSION=无法导入。文件版本不支持。
+SEC_ERROR_PKCS12_PRIVACY_PASSWORD_INCORRECT=无法导入。隐私密码不正确。
+SEC_ERROR_PKCS12_CERT_COLLISION=无法导入。数据库中已存在相同的昵称。
+SEC_ERROR_USER_CANCELLED=用户强制取消。
+SEC_ERROR_PKCS12_DUPLICATE_DATA=没有导入,已经存在于数据库中。
+SEC_ERROR_MESSAGE_SEND_ABORTED=消息未发送。
+SEC_ERROR_INADEQUATE_KEY_USAGE=试图执行用证书密钥执行的操作不合规定用途。
+SEC_ERROR_INADEQUATE_CERT_TYPE=证书类型未经程序核对。
+SEC_ERROR_CERT_ADDR_MISMATCH=签署证书中的地址与消息头中的地址不匹配
+SEC_ERROR_PKCS12_UNABLE_TO_IMPORT_KEY=无法导入。尝试导入私钥时发生错误。
+SEC_ERROR_PKCS12_IMPORTING_CERT_CHAIN=无法导入。尝试导入证书链时发生错误。
+SEC_ERROR_PKCS12_UNABLE_TO_LOCATE_OBJECT_BY_NAME=无法导出。无法通过昵称定位证书或密钥。
+SEC_ERROR_PKCS12_UNABLE_TO_EXPORT_KEY=无法导出。无法定位私钥并导出。
+SEC_ERROR_PKCS12_UNABLE_TO_WRITE=无法导出。无法写入导出文件。
+SEC_ERROR_PKCS12_UNABLE_TO_READ=无法导入。无法读取导入文件。
+SEC_ERROR_PKCS12_KEY_DATABASE_NOT_INITIALIZED=无法导出。密钥数据库损坏或已删除。
+SEC_ERROR_KEYGEN_FAIL=无法生成公/私密钥对。
+SEC_ERROR_INVALID_PASSWORD=输入的密码无效。请选择一个不同的密码。
+SEC_ERROR_RETRY_OLD_PASSWORD=输入的旧密码不正确。请再试一次。
+SEC_ERROR_BAD_NICKNAME=证书昵称已经在使用。
+SEC_ERROR_NOT_FORTEZZA_ISSUER=对等端 FORTEZZA 链有一个非 FORTEZZA 证书。
+SEC_ERROR_CANNOT_MOVE_SENSITIVE_KEY=无法将敏感密钥移动到需要的位置。
+SEC_ERROR_JS_INVALID_MODULE_NAME=无效的模块名称
+SEC_ERROR_JS_INVALID_DLL=无效的模块路径/文件名
+SEC_ERROR_JS_ADD_MOD_FAILURE=无法添加模块
+SEC_ERROR_JS_DEL_MOD_FAILURE=无法删除模块
+SEC_ERROR_OLD_KRL=新的密钥吊销列表(KRL)不比当前的新。
+SEC_ERROR_CKL_CONFLICT=新的 CKL 与当前 CKL 的颁发者不同。请删除当前的 CKL。
+SEC_ERROR_CERT_NOT_IN_NAME_SPACE=此证书的颁发机构未被准许颁发此名称的证书。
+SEC_ERROR_KRL_NOT_YET_VALID=此证书的密钥吊销列表(KRL)尚未生效。
+SEC_ERROR_CRL_NOT_YET_VALID=此证书的证书吊销列表尚未生效。
+SEC_ERROR_UNKNOWN_CERT=没有找到请求的证书。
+SEC_ERROR_UNKNOWN_SIGNER=不能找到签署器的证书。
+SEC_ERROR_CERT_BAD_ACCESS_LOCATION=证书状态服务器的位置格式无效。
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_TYPE=OCSP 回应无法完全解码,未知类型。
+SEC_ERROR_OCSP_BAD_HTTP_RESPONSE=OCSP 服务器返回意外/无效的 HTTP 数据。
+SEC_ERROR_OCSP_MALFORMED_REQUEST=OCSP 服务器发现出错的或不适当结构的请求。
+SEC_ERROR_OCSP_SERVER_ERROR=OCSP 服务器遇到一个内部错误。
+SEC_ERROR_OCSP_TRY_SERVER_LATER=OCSP 服务器建议稍后再次尝试。
+SEC_ERROR_OCSP_REQUEST_NEEDS_SIG=对于此请求 OCSP 服务器需要签名。
+SEC_ERROR_OCSP_UNAUTHORIZED_REQUEST=OCSP 服务器拒绝了此非法请求。
+SEC_ERROR_OCSP_UNKNOWN_RESPONSE_STATUS=OCSP 服务器返回了一个无法识别的状态。
+SEC_ERROR_OCSP_UNKNOWN_CERT=OCSP 服务器没有证书的状态。
+SEC_ERROR_OCSP_NOT_ENABLED=您在执行此操作前必须启用 OCSP。
+SEC_ERROR_OCSP_NO_DEFAULT_RESPONDER=您在执行此操作前必须设置 OCSP 默认回应器。
+SEC_ERROR_OCSP_MALFORMED_RESPONSE=OCSP 服务器的响应不正确或者格式不当。
+SEC_ERROR_OCSP_UNAUTHORIZED_RESPONSE=OCSP 回应的签署器不被授权给予此证书的状态。
+SEC_ERROR_OCSP_FUTURE_RESPONSE=OCSP 回应尚未生效(含有一个未来的日期)
+SEC_ERROR_OCSP_OLD_RESPONSE=OCSP 回应包含过期信息。
+SEC_ERROR_DIGEST_NOT_FOUND=在签署的消息中无法找到 CMS 或 PKCS #7 摘要。
+SEC_ERROR_UNSUPPORTED_MESSAGE_TYPE=CMS 或 PKCS #7 的信息类型未经证实。
+SEC_ERROR_MODULE_STUCK=PKCS #11 模块无法删除,因为其仍在使用。
+SEC_ERROR_BAD_TEMPLATE=无法将 ASN.1 数据译码。给定模板无效。
+SEC_ERROR_CRL_NOT_FOUND=没有找到匹配的 CRL。
+SEC_ERROR_REUSED_ISSUER_AND_SERIAL=您正试图导入一个与已存在证书相同颁发者和序列号但却不相同的证书。
+SEC_ERROR_BUSY=无法关闭 NSS,目标仍在使用。
+SEC_ERROR_EXTRA_INPUT=DER-编码信息包含额外的未用数据。
+SEC_ERROR_UNSUPPORTED_ELLIPTIC_CURVE=未经证实的椭圆曲线。
+SEC_ERROR_UNSUPPORTED_EC_POINT_FORM=未经证实的椭圆曲线点形状。
+SEC_ERROR_UNRECOGNIZED_OID=无法识别的对象标识符。
+SEC_ERROR_OCSP_INVALID_SIGNING_CERT=OCSP 响应中含有无效的 OCSP 签名证书。
+SEC_ERROR_REVOKED_CERTIFICATE_CRL=证书已在颁发者的证书吊销列表中被吊销。
+SEC_ERROR_REVOKED_CERTIFICATE_OCSP=颁发者的 OCSP 回应器报告证书已吊销。
+SEC_ERROR_CRL_INVALID_VERSION=颁发者的证书吊销列表含有一个未知的版本号。
+SEC_ERROR_CRL_V1_CRITICAL_EXTENSION=发行者的 V1 吊销证书列表有一个关键扩展。
+SEC_ERROR_CRL_UNKNOWN_CRITICAL_EXTENSION=发行者的 V2 吊销证书列表有一个未知的关键扩展。
+SEC_ERROR_UNKNOWN_OBJECT_TYPE=指定的目标类型未知。
+SEC_ERROR_INCOMPATIBLE_PKCS11=PKCS #11 驱动程序在兼容方式上违反规定。
+SEC_ERROR_NO_EVENT=目前没有新插槽事件。
+SEC_ERROR_CRL_ALREADY_EXISTS=CRL 已经存在。
+SEC_ERROR_NOT_INITIALIZED=NSS 没有被初始化。
+SEC_ERROR_TOKEN_NOT_LOGGED_IN=由于 PKCS#1 标记没有注册,操作失败。
+SEC_ERROR_OCSP_RESPONDER_CERT_INVALID=已配置的 OCSP 回应器证书无效。
+SEC_ERROR_OCSP_BAD_SIGNATURE=OCSP 回应中有一个无效签名。
+SEC_ERROR_OUT_OF_SEARCH_LIMITS=证书验证搜索超出了搜索限制
+SEC_ERROR_INVALID_POLICY_MAPPING=策略映射包含任何策略
+SEC_ERROR_POLICY_VALIDATION_FAILED=证书链策略验证失败
+SEC_ERROR_UNKNOWN_AIA_LOCATION_TYPE=在证书AIA扩展中的位置类型未知
+SEC_ERROR_BAD_HTTP_RESPONSE=服务器返回错误 HTTP 响应
+SEC_ERROR_BAD_LDAP_RESPONSE=服务器返回错误 LDAP 响应
+SEC_ERROR_FAILED_TO_ENCODE_DATA=ASN1 编码器编码数据失败
+SEC_ERROR_BAD_INFO_ACCESS_LOCATION=在证书扩展中有坏的信息获取位置
+SEC_ERROR_LIBPKIX_INTERNAL=在证书验证过程中 Libpkix 发生了内部错误。
+SEC_ERROR_PKCS11_GENERAL_ERROR=一个PKCS #11模块返回了CKR_GENERAL_ERROR,这说明发生了一个不可恢复的错误。
+SEC_ERROR_PKCS11_FUNCTION_FAILED=一个 PKCS #11 模块返回了 CKR_FUNCTION_FAILED,这表示请求的函数未能执行。再试一次同样的操作也许会成功。
+SEC_ERROR_PKCS11_DEVICE_ERROR=一个PKCS #11模块返回了 CKR_DEVICE_ERROR,这表明令牌或者插槽发生了一个问题。
+SEC_ERROR_BAD_INFO_ACCESS_METHOD=在认证扩展中未知的信息获取方法。
+SEC_ERROR_CRL_IMPORT_FAILED=尝试导入CRL时遇到错误。
+SEC_ERROR_EXPIRED_PASSWORD=密码已过期。
+SEC_ERROR_LOCKED_PASSWORD=密码已锁定。
+SEC_ERROR_UNKNOWN_PKCS11_ERROR=未知的 PKCS #11 错误。
+SEC_ERROR_BAD_CRL_DP_URL=CRL 分发点名称的 URL 无效或不支持。
+SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED=该证书使用的签名算法已因不安全而被禁用。
+MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE=此服务器使用了公钥固定(HPKP)机制,但无法构成与其固定的证书集合(pinset)匹配的可信任证书链。无法忽视对密钥固定的违反。
+MOZILLA_PKIX_ERROR_CA_CERT_USED_AS_END_ENTITY=该服务器使用了一个使用“基本约束扩展”标识它为一个证书颁发机构的证书。对于一个正常颁发的证书,不应该是这样。
+MOZILLA_PKIX_ERROR_INADEQUATE_KEY_SIZE=该服务器提供的证书密钥位数太小,不足以建立安全连接。
+MOZILLA_PKIX_ERROR_V1_CERT_USED_AS_CA=服务器的证书由非信任源(Trust Anchor)的X.509 版本 1 证书签发。X.509 版本 1 证书已弃用,不应再用来签发其他证书。
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE=服务器出示的证书尚未生效。
+MOZILLA_PKIX_ERROR_NOT_YET_VALID_ISSUER_CERTIFICATE=用来签发此服务器证书的一个证书尚未生效。
+MOZILLA_PKIX_ERROR_SIGNATURE_ALGORITHM_MISMATCH=该证书在签名字段中的签名算法与其在 signatureAlgorithm 字段的算法不匹配。
+MOZILLA_PKIX_ERROR_OCSP_RESPONSE_FOR_CERT_MISSING=该 OCSP 响应不包括该证书被验证的状态。
+MOZILLA_PKIX_ERROR_VALIDITY_TOO_LONG=服务器出示的证书有效期太长。
+MOZILLA_PKIX_ERROR_REQUIRED_TLS_FEATURE_MISSING=缺少所需的 TLS 功能。
+MOZILLA_PKIX_ERROR_INVALID_INTEGER_ENCODING=服务器提供的证书包含无效的整数编码。常见原因包括负数序列号、负数 RSA 模数和不必要的编码。
+MOZILLA_PKIX_ERROR_EMPTY_ISSUER_NAME=服务器出示的证书有一个空的发行者专有名称。
+MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED=验证此证书时,某个附加策略约束验证失败。
+MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT=此证书由于自签名而不被信任。
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/pipnss.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/pipnss.properties
new file mode 100644
index 0000000000..12c4f11a78
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pipnss/pipnss.properties
@@ -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/.
+
+CertPasswordPrompt=请输入 PKCS#11 令牌 %S 的密码。
+
+CertPasswordPromptDefault=请输入您的主密码。
+
+# The following strings have special requirements: they must fit in a 32 or 64
+# bytes buffer after being encoded to UTF-8.
+#
+# It's possible to verify the length of a translation using the Browser Console
+# in Firefox and evaluating the following code:
+#
+# (new TextEncoder().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=内置根模块
+# LOCALIZATION NOTE (ManufacturerID): string limit is 32 bytes after conversion
+# to UTF-8.
+# length_limit = 32 bytes
+ManufacturerID=Mozilla.org
+# LOCALIZATION NOTE (LibraryDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+LibraryDescription=PSM 内部加密服务
+# LOCALIZATION NOTE (TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+TokenDescription=普通加密服务
+# LOCALIZATION NOTE (PrivateTokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+PrivateTokenDescription=软件型安全设备
+# LOCALIZATION NOTE (SlotDescription): string limit is 64 bytes after conversion
+# to UTF-8.
+# length_limit = 64 bytes
+SlotDescription=PSM 内部加密服务
+# LOCALIZATION NOTE (PrivateSlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+PrivateSlotDescription=PSM 私钥
+# LOCALIZATION NOTE (Fips140TokenDescription): string limit is 32 bytes after
+# conversion to UTF-8.
+# length_limit = 32 bytes
+Fips140TokenDescription=软件型安全设备 (FIPS)
+# LOCALIZATION NOTE (Fips140SlotDescription): string limit is 64 bytes after
+# conversion to UTF-8.
+# length_limit = 64 bytes
+Fips140SlotDescription=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 的 %2$s ID
+
+CertDumpKUSign=签名
+CertDumpKUNonRep=未被否决
+CertDumpKUEnc=密钥加密
+CertDumpKUDEnc=数据加密
+CertDumpKUKA=密钥协议
+CertDumpKUCertSign=证书签署者
+CertDumpKUCRLSigner=CRL 签署者
+
+PSMERR_SSL_Disabled=由于 SSL 协议已被禁用,无法安全地连接。
+PSMERR_SSL2_Disabled=由于该站点使用了旧的不安全版本的SSL协议,无法安全地连接。
+PSMERR_HostReusedIssuerSerial=您收到了一个无效的证书。请与服务器管理员或者邮件联系人联系,并提供以下信息:\n\n您的证书具有与证书颁发机构签发的另一个证书相同的序列号。请获取一个具有唯一序列号的新证书。
+
+# LOCALIZATION NOTE (SSLConnectionErrorPrefix2): %1$S is the host string, %2$S is more detailed information (localized as well).
+SSLConnectionErrorPrefix2=连接到 %1$S 时发生错误。%2$S\n
+
+certErrorIntro=%S 使用了无效的安全证书。
+
+certErrorTrust_SelfSigned=该证书因为其自签名而不被信任。
+certErrorTrust_UnknownIssuer=该证书因为其颁发者证书未知而不被信任。
+certErrorTrust_UnknownIssuer2=该服务器可能未发送相应的中间证书。
+certErrorTrust_UnknownIssuer3=可能需要导入额外的根证书。
+certErrorTrust_CaInvalid=该证书不被信任,因为它由无效的 CA 证书颁发者颁发。
+certErrorTrust_Issuer=该证书因为其颁发者证书不受信任而不被信任。
+certErrorTrust_SignatureAlgorithmDisabled=该证书不被信任,因为证书签名所使用的签名算法因不安全已被禁用。
+certErrorTrust_ExpiredIssuer=该证书因为其颁发者证书已过期而不被信任。
+certErrorTrust_Untrusted=该证书出自不受信任的来源。
+certErrorTrust_MitM=您的连接被 TLS 代理拦截。可以的话请将其卸载,或让您的设备信任其根证书。
+
+certErrorMismatch=该证书对名称 %S 无效。
+# LOCALIZATION NOTE (certErrorMismatchSinglePrefix): %S is replaced by the domain for which the certificate is valid
+certErrorMismatchSinglePrefix=此证书仅对 %S 有效。
+certErrorMismatchMultiple=该证书仅对下列域名有效:
+
+# LOCALIZATION NOTE (certErrorExpiredNow): Do not translate %1$S (date+time of expired certificate) or %2$S (current date+time)
+certErrorExpiredNow=证书过期日期为 %1$S。而当前日期为 %2$S。
+
+# LOCALIZATION NOTE (certErrorNotYetValidNow): Do not translate %1$S (date+time certificate will become valid) or %2$S (current date+time)
+certErrorNotYetValidNow=证书生效日期为 %1$S。而当前日期为 %2$S。
+
+certErrorMitM=各个网站通过证书证明自己的身份,而证书由受信任的数字证书颁发机构颁发。
+# LOCALIZATION NOTE (certErrorMitM2): %S is brandShortName
+certErrorMitM2=%S 由非营利的 Mozilla 提供支持。Mozilla 管理一组完全开放的数字证书认证机构(CA)存储库。该存储库帮助确保这些数字证书认证机构遵循最佳实践,以保障用户的安全。
+# LOCALIZATION NOTE (certErrorMitM3): %S is brandShortName
+certErrorMitM3=%S 使用 Mozilla 的数字证书认证机构存储库来验证连接是否安全,而非用户操作系统所提供的证书库。因此,如果您的防病毒软件或网络使用不在 Mozilla 数字证书认证机构列表中的机构所签发的证书来拦截网络流量,该连接被视为不安全。
+
+certErrorSymantecDistrustAdministrator=您可以向网站管理员反馈此问题。
+
+# LOCALIZATION NOTE (certErrorCodePrefix3): %S is replaced by the error code.
+certErrorCodePrefix3=错误代码:%S
+
+P12DefaultNickname=导入证书
+CertUnknown=未知
+CertNoEmailAddress=(无电子邮件地址)
+CaCertExists=此证书已在此前安装为一个证书颁发机构。
+NotACACert=这不是一个证书颁发机构证书,因此无法导入到证书颁发机构列表。
+UserCertIgnoredNoPrivateKey=无法安装此个人证书,因为您没有请求该证书时所创建的私钥。
+UserCertImported=您的个人证书已安装。您应该保存一份该证书的备份。
+CertOrgUnknown=(未知)
+CertNotStored=(未存储)
+CertExceptionPermanent=永久
+CertExceptionTemporary=临时
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pippki/pippki.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pippki/pippki.properties
new file mode 100644
index 0000000000..26bd0795f3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/pippki/pippki.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/.
+
+# Download Cert dialog
+# LOCALIZATION NOTE(newCAMessage1):
+# %S is a string representative of the certificate being downloaded/imported.
+newCAMessage1=您要信任“%S”用于如下目的吗?
+unnamedCA=证书颁发机构(未命名)
+
+# PKCS#12 file dialogs
+getPKCS12FilePasswordMessage=请输入被用来加密此证书备份的密码:
+
+# Client auth
+clientAuthRemember=记住此决定
+# LOCALIZATION NOTE(clientAuthNickAndSerial): Represents a single cert when the
+# user is choosing from a list of certificates.
+# %1$S is the nickname of the cert.
+# %2$S is the serial number of the cert in AA:BB:CC hex format.
+clientAuthNickAndSerial=%1$S [%2$S]
+# LOCALIZATION NOTE(clientAuthHostnameAndPort):
+# %1$S is the hostname of the server.
+# %2$S is the port of the server.
+clientAuthHostnameAndPort=%1$S:%2$S
+# LOCALIZATION NOTE(clientAuthMessage1): %S is the Organization of the server
+# cert.
+clientAuthMessage1=组织: "%S"
+# LOCALIZATION NOTE(clientAuthMessage2): %S is the Organization of the issuer
+# cert of the server cert.
+clientAuthMessage2=颁发于:“%S”
+# LOCALIZATION NOTE(clientAuthIssuedTo): %1$S is the Distinguished Name of the
+# currently selected client cert, such as "CN=John Doe,OU=Example" (without
+# quotes).
+clientAuthIssuedTo=颁发给:%1$S
+# LOCALIZATION NOTE(clientAuthSerial): %1$S is the serial number of the selected
+# cert in AA:BB:CC hex format.
+clientAuthSerial=序列号:%1$S
+# LOCALIZATION NOTE(clientAuthValidityPeriod):
+# %1$S is the already localized notBefore date of the selected cert.
+# %2$S is the already localized notAfter date of the selected cert.
+clientAuthValidityPeriod=有效期从 %1$S 至 %2$S
+# LOCALIZATION NOTE(clientAuthKeyUsages): %1$S is a comma separated list of
+# already localized key usages the selected cert is valid for.
+clientAuthKeyUsages=密钥用途:%1$S
+# LOCALIZATION NOTE(clientAuthEmailAddresses): %1$S is a comma separated list of
+# e-mail addresses the selected cert is valid for.
+clientAuthEmailAddresses=电子邮件地址:%1$S
+# LOCALIZATION NOTE(clientAuthIssuedBy): %1$S is the Distinguished Name of the
+# cert which issued the selected cert.
+clientAuthIssuedBy=颁发者:%1$S
+# LOCALIZATION NOTE(clientAuthStoredOn): %1$S is the name of the PKCS #11 token
+# the selected cert is stored on.
+clientAuthStoredOn=存储于:%1$S
+
+# Page Info
+pageInfo_NoEncryption=连接未加密
+pageInfo_Privacy_None1=此网站 %S 不支持加密您正在查看的页面。
+pageInfo_Privacy_None2=未经加密的信息在互联网的传输过程中可能被他人窥探其内容。
+pageInfo_Privacy_None4=您正在查看的页面在经互联网传输时未被加密。
+# LOCALIZATION NOTE (pageInfo_EncryptionWithBitsAndProtocol and pageInfo_BrokenEncryption):
+# %1$S is the name of the encryption standard,
+# %2$S is the key size of the cipher.
+# %3$S is protocol version like "SSL 3" or "TLS 1.2"
+pageInfo_EncryptionWithBitsAndProtocol=连接已加密(%1$S,%2$S 位密钥,%3$S)
+pageInfo_BrokenEncryption=脆弱的加密(%1$S,%2$S 位密钥,%3$S)
+pageInfo_Privacy_Encrypted1=您当前查看的页面在传送到互联网之前已被加密。
+pageInfo_Privacy_Encrypted2=加密使得未经授权的人难以查看计算机之间交流的信息。因此,其他人不太可能拦截此网页的传送并从中读取此页面。
+pageInfo_MixedContent=连接已部分加密
+pageInfo_MixedContent2=您正在查看的页面的部分内容在传输到互联网之前没有经过加密。
+pageInfo_WeakCipher=您到此网站的连接使用了一个较弱的加密并且非私密。其他人可能查看您的信息和修改该网站的行为。
+pageInfo_CertificateTransparency_Compliant=此网站遵守“证书透明度”政策。
+
+# Token Manager
+password_not_set=(未设定)
+enable_fips=启用FIPS
+
diff --git a/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/places/places.properties b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/places/places.properties
new file mode 100644
index 0000000000..aaf785cdff
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/chrome/zh-CN/locale/zh-CN/places/places.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/.
+
+BookmarksMenuFolderTitle=书签菜单
+BookmarksToolbarFolderTitle=书签工具栏
+OtherBookmarksFolderTitle=其他书签
+TagsFolderTitle=标签
+MobileBookmarksFolderTitle=移动设备上的书签
+OrganizerQueryHistory=历史记录
+OrganizerQueryDownloads=下载
+OrganizerQueryAllBookmarks=所有书签
+
+# LOCALIZATION NOTE :
+# These are used to generate history containers when history is grouped by date
+finduri-AgeInDays-is-0=今天
+finduri-AgeInDays-is-1=昨天
+finduri-AgeInDays-is=%S 天之前
+finduri-AgeInDays-last-is=过去 %S 天
+finduri-AgeInDays-isgreater=超过 %S 天
+finduri-AgeInMonths-is-0=本月
+finduri-AgeInMonths-isgreater=%S 个月前
+
+# LOCALIZATION NOTE (localhost):
+# This is used to generate local files container when history is grouped by site
+localhost=(本地文件)
+
+# LOCALIZATION NOTE (backupFileSizeText):
+# The string is used for showing file size of each backup in the "fileRestorePopup" popup
+# %1$S is the file size
+# %2$S is the file size unit
+backupFileSizeText=%1$S %2$S
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/branding/brand.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/branding/brand.ftl
new file mode 100644
index 0000000000..af8db0908e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 和 Thunderbird 徽标是 Mozilla 基金会的商标。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/browser/appExtensionFields.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/browser/appExtensionFields.ftl
new file mode 100644
index 0000000000..d01b5f4869
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 系统主题 — 自动
+extension-default-theme-description = 跟随系统主题配色显示按钮、菜单和窗口。
+
+extension-thunderbird-compact-light-name = 明亮
+extension-thunderbird-compact-light-description = 明亮配色的主题。
+
+extension-thunderbird-compact-dark-name = 深邃
+extension-thunderbird-compact-dark-description = 深邃配色的主题。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/browser/branding/brandings.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/browser/branding/brandings.ftl
new file mode 100644
index 0000000000..9ada8da73a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/browser/components/mozFiveStar.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/browser/components/mozFiveStar.ftl
new file mode 100644
index 0000000000..d7e60bb0cd
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/browser/components/mozFiveStar.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# The rating out of 5 stars.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+moz-five-star-rating =
+ .title = 评分:{ NUMBER($rating, maximumFractionDigits: 1) } / 5
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/browser/components/mozSupportLink.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/browser/components/mozSupportLink.ftl
new file mode 100644
index 0000000000..e009ab8bf3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 详细了解
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-context-menus.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-context-menus.ftl
new file mode 100644
index 0000000000..b11dc23bd6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 同步
+ .accesskey = S
+calendar-item-context-menu-modify-menuitem =
+ .label = 编辑
+ .accesskey = E
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-delete-prompt.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-delete-prompt.ftl
new file mode 100644
index 0000000000..72395e30a2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-delete-prompt.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/.
+
+calendar-delete-event-prompt-title =
+ { $count ->
+ *[other] 删除事件
+ }
+calendar-delete-event-prompt-message =
+ { $count ->
+ *[one] 您确定要删除此事件吗?
+ [other] 您确定要删除这 { $count } 项事件吗?
+ }
+calendar-delete-task-prompt-title =
+ { $count ->
+ *[other] 删除任务
+ }
+calendar-delete-task-prompt-message =
+ { $count ->
+ *[one] 您确定要删除此任务吗?
+ [other] 您确定要删除这 { $count } 项任务吗?
+ }
+calendar-delete-item-prompt-title =
+ { $count ->
+ *[other] 删除项目
+ }
+calendar-delete-item-prompt-message =
+ { $count ->
+ *[one] 您确定要删除此项目吗?
+ [other] 您确定要删除这 { $count } 个项目吗?
+ }
+calendar-delete-prompt-disable-message = 不再询问。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-editable-item.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-editable-item.ftl
new file mode 100644
index 0000000000..56a9d63fd4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 隐私:私人事件
+calendar-editable-item-privacy-icon-confidential =
+ .alt = 隐私:只显示时间和日期
+calendar-editable-item-recurrence =
+ .alt = 重复发生
+calendar-editable-item-recurrence-exception =
+ .alt = 重复发生例外
+calendar-editable-item-todo-icon-task =
+ .alt = 任务
+calendar-editable-item-todo-icon-completed-task =
+ .alt = 已完成的任务
+calendar-editable-item-multiday-event-icon-start =
+ .alt = 多日事件开始
+calendar-editable-item-multiday-event-icon-continue =
+ .alt = 多日事件继续
+calendar-editable-item-multiday-event-icon-end =
+ .alt = 多日事件结束
+calendar-editable-item-reminder-icon-alarm =
+ .alt = 已安排提醒事件
+calendar-editable-item-reminder-icon-suppressed-alarm =
+ .alt = 已安排提醒事件,但当前被取消
+calendar-editable-item-reminder-icon-email =
+ .alt = 已安排提醒邮件
+calendar-editable-item-reminder-icon-audio =
+ .alt = 已安排音频提醒警报
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-event-dialog-reminder.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-event-dialog-reminder.ftl
new file mode 100644
index 0000000000..1ef555d613
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 显示通知
+calendar-event-reminder-icon-email =
+ .alt = 发送电子邮件
+calendar-event-reminder-icon-audio =
+ .alt = 播放音频警报
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-event-listing.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-event-listing.ftl
new file mode 100644
index 0000000000..3245295cfe
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-event-listing.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-event-listing-close =
+ .tooltiptext = 关闭事件搜索和事件列表
+
+## Listing columns
+
+calendar-event-listing-column-calendar-name =
+ .label = 日历名称
+ .tooltiptext = 按日历名称排序
+calendar-event-listing-column-category =
+ .label = 类别
+ .tooltiptext = 按分类排序
+# 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 = 完成
+ .tooltiptext = 按完成状态排序
+calendar-event-listing-column-completed-date =
+ .label = 已完成
+ .tooltiptext = 按完成日期排序
+calendar-event-listing-column-due-date =
+ .label = 期限
+ .tooltiptext = 按到期日期排序
+calendar-event-listing-column-end-date =
+ .label = 结束
+ .tooltiptext = 按结束日期排序
+calendar-event-listing-column-location =
+ .label = 位置
+ .tooltiptext = 按位置排序
+calendar-event-listing-column-percent-complete =
+ .label = % 完成
+ .tooltiptext = 按完成百分比排序
+calendar-event-listing-column-priority =
+ .label = 优先
+ .tooltiptext = 按优先级排序
+calendar-event-listing-column-start-date =
+ .label = 开始
+ .tooltiptext = 按开始日期排序
+calendar-event-listing-column-status =
+ .label = 状态
+ .tooltiptext = 按状态排序
+calendar-event-listing-column-time-until-due =
+ .label = 期限
+ .tooltiptext = 按剩余时限排序
+calendar-event-listing-column-title =
+ .label = 标题
+ .tooltiptext = 按标题排序
+
+## Interval dropdown options
+
+calendar-event-listing-interval-calendar-month =
+ .label = 本月事件
+calendar-event-listing-interval-current-view =
+ .label = 当前视图中的事件
+calendar-event-listing-interval-next-7-days =
+ .label = 7 天内的事件
+calendar-event-listing-interval-next-14-days =
+ .label = 14 天内的事件
+calendar-event-listing-interval-next-31-days =
+ .label = 31 天内的事件
+calendar-event-listing-interval-next-6-months =
+ .label = 未来 6 个月内的事件
+calendar-event-listing-interval-next-12-months =
+ .label = 未来 12 个月内的事件
+calendar-event-listing-interval-selected-day =
+ .label = 已选日期
+calendar-event-listing-interval-today =
+ .label = 今日活动
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-ics-file-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-ics-file-dialog.ftl
new file mode 100644
index 0000000000..8ddad3feab
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-ics-file-dialog.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-ics-file-window-2 =
+ .title = 导入日历事件和任务
+calendar-ics-file-window-title = 导入日历事件和任务
+calendar-ics-file-dialog-import-event-button-label = 导入事件
+calendar-ics-file-dialog-import-task-button-label = 导入任务
+calendar-ics-file-dialog-2 =
+ .buttonlabelaccept = 全部导入
+calendar-ics-file-accept-button-ok-label = 确定
+calendar-ics-file-cancel-button-close-label = 关闭
+calendar-ics-file-dialog-message-2 = 从文件导入:
+calendar-ics-file-dialog-calendar-menu-label = 导入日历:
+calendar-ics-file-dialog-items-loading-message =
+ .value = 正在加载项目…
+calendar-ics-file-dialog-search-input =
+ .placeholder = 过滤项目…
+calendar-ics-file-dialog-sort-start-ascending =
+ .label = 按开始日期排序(从先到后)
+calendar-ics-file-dialog-sort-start-descending =
+ .label = 按开始日期排序(从后到先)
+# "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 = 按标题排序(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 = 按标题排序(Z > A)
+calendar-ics-file-dialog-progress-message = 正在导入…
+calendar-ics-file-import-success = 成功导入!
+calendar-ics-file-import-error = 发生错误,导入失败。
+calendar-ics-file-import-complete = 导入完成
+# Variables:
+# $duplicatesCount (Number) - Number of items already existing in the target calendar.
+calendar-ics-file-import-duplicates =
+ { $duplicatesCount ->
+ *[other] 有 { $duplicatesCount } 个项目已存在于目标日历,已忽略。
+ }
+# Variables:
+# $errorsCount (Number) - Number of errors while importing ics file.
+calendar-ics-file-import-errors =
+ { $errorsCount ->
+ *[other] 有 { $errorsCount } 个项目导入失败。请到控制台查看错误详情。
+ }
+calendar-ics-file-dialog-no-calendars = 没有可供导入事件或任务的日历。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-invitation-panel.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-invitation-panel.ftl
new file mode 100644
index 0000000000..c376cc1ec0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-invitation-panel.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/.
+
+# Variables:
+# $organizer (String) - The participant that created the original invitation.
+calendar-invitation-panel-intro = { $organizer } 邀请您参加:
+calendar-invitation-panel-status-new = 您已受邀参加此活动。
+calendar-invitation-panel-status-processed = 该事件已经添加到您的日历。
+calendar-invitation-panel-status-updateminor = 此消息包含一个事件更新。
+calendar-invitation-panel-status-updatemajor = 此消息包含对此事件的更新,你应该重新确认是否参与。
+calendar-invitation-panel-status-cancelled = 此消息包含一个事件的取消。
+calendar-invitation-panel-status-cancelled-notfound = 此消息包含取消一个在您的日历中找不到的事件。
+# Variables:
+# $organizer (String) - The participant that cancelled the invitation.
+calendar-invitation-panel-intro-cancel = { $organizer } 已取消:
+# Variables:
+# $summary (String) - A short summary or title of the event.
+calendar-invitation-panel-title = { $summary }
+calendar-invitation-panel-action-button = 保存
+calendar-invitation-panel-view-button = 查看
+calendar-invitation-panel-update-button = 更新
+calendar-invitation-panel-delete-button = 删除
+calendar-invitation-panel-accept-button = 参加
+calendar-invitation-panel-decline-button = 不参加
+calendar-invitation-panel-tentative-button = 也许会参加
+calendar-invitation-panel-reply-status = * 您尚未决定或回复
+calendar-invitation-panel-more-button = 更多
+calendar-invitation-panel-menu-item-save-copy =
+ .label = 保存副本
+calendar-invitation-panel-menu-item-toggle-changes =
+ .label = 显示更改
+calendar-invitation-panel-prop-title-when = 时间:
+calendar-invitation-panel-prop-title-location = 地点:
+# 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 = { $date } { $dayOfWeek }
+# 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 = { $startYear } 年 { $startMonth } { $startDay } 日 - { $endYear } 年 { $endMonth } { $endDay } 日
+# 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 = { $year } 年 { $month } { $startDay } - { $endDay } 日
+# 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 = { $year } 年 { $startMonth } { $startDay } 日 - { $endMonth } { $endDay } 日
+# 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 = 重复:
+calendar-invitation-panel-prop-title-attendees = 参加者:
+calendar-invitation-panel-prop-title-description = 说明:
+# Variables:
+# $count (Number) - The number of attendees with the "ACCEPTED" participation status.
+calendar-invitation-panel-partstat-accepted = { $count } 位接受
+# Variables:
+# $count (Number) - The number of attendees with the "DECLINED" participation status.
+calendar-invitation-panel-partstat-declined = { $count } 位拒接
+# Variables:
+# $count (Number) - The number of attendees with the "TENTATIVE" participation status.
+calendar-invitation-panel-partstat-tentative = { $count } 位暂定接受
+# Variables:
+# $count (Number) - The number of attendees with the "NEEDS-ACTION" participation status.
+calendar-invitation-panel-partstat-needs-action = { $count } 位未回复
+# Variables:
+# $count (Number) - The total number of attendees.
+calendar-invitation-panel-partstat-total = { $count } 位参加者
+calendar-invitation-panel-prop-title-attachments = 附件:
+calendar-invitation-change-indicator-removed = 已移除
+calendar-invitation-change-indicator-added = 新建
+calendar-invitation-change-indicator-modified = 已修改
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-invitations-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-invitations-dialog.ftl
new file mode 100644
index 0000000000..fcf5ccb8bb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 当前已接受
+calendar-invitation-current-participation-status-icon-declined =
+ .alt = 当前已拒绝
+calendar-invitation-current-participation-status-icon-needs-action =
+ .alt = 当前未决定
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-itip-identity-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-itip-identity-dialog.ftl
new file mode 100644
index 0000000000..596334b7ea
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 不请自来?
+calendar-itip-identity-warning = 您还不在来宾名单中。
+calendar-itip-identity-label = 回应为:
+calendar-itip-identity-label-none = 将此事件与下列关联:
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-print.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-print.ftl
new file mode 100644
index 0000000000..593eedf6b4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 布局
+calendar-print-layout-list = 列表
+calendar-print-layout-month-grid = 月表格
+calendar-print-layout-week-planner = 周计划
+calendar-print-filter-label = 打印内容
+calendar-print-filter-events = 事件
+calendar-print-filter-tasks = 任务
+calendar-print-filter-completedtasks = 已完成的任务
+calendar-print-filter-taskswithnoduedate = 未指定完成日期的任务
+calendar-print-range-from = 从
+calendar-print-range-to = 到
+calendar-print-back-button = 上一步
+calendar-print-next-button = 下一步
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-recurrence-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-recurrence-dialog.ftl
new file mode 100644
index 0000000000..d717659089
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 预览
+calendar-recurrence-next = 下一月
+calendar-recurrence-previous = 上一月
+calendar-recurrence-today = 今天
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-summary-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-summary-dialog.ftl
new file mode 100644
index 0000000000..a055833d20
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-summary-dialog.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-summary-dialog-edit-button =
+ .label = 编辑
+ .accesskey = E
+calendar-summary-dialog-edit-menu-button =
+ .label = 编辑
+edit-button-context-menu-this-occurrence =
+ .label = 只编辑此次
+ .accesskey = t
+edit-button-context-menu-all-occurrences =
+ .label = 编辑所有重复事项
+ .accesskey = a
+description-context-menu-copy-link-text =
+ .label = 复制链接文本
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-uri-redirect-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-uri-redirect-dialog.ftl
new file mode 100644
index 0000000000..483809c6b4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 日历 URI 重定向
+calendar-uri-redirect-window-title = 日历 URI 重定向
+calendar-uri-redirect-description =
+ 服务器正在重定向日历“{ $calendarName }”的 URI。
+ 接受重定向并开始为此日历使用新的 URI?
+calendar-uri-redirect-original-uri-label = 当前 URI:
+calendar-uri-redirect-target-uri-label = 重定向到新的 URI:
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-widgets.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/calendar-widgets.ftl
new file mode 100644
index 0000000000..54e8b0a8da
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 当前已禁用所有日历。启用现有日历或添加新日历以创建和编辑事件。
+calendar-deactivated-notification-tasks = 当前已禁用所有日历。启用现有日历或添加新日历以创建和编辑事件。
+calendar-notifications-label = 显示即将到来的事件通知
+calendar-add-notification-button =
+ .label = 新建通知
+
+## Side panel
+
+calendar-list-header = 日历
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-no-reminders-tooltip =
+ .title = 已禁止“{ $calendarName }”日历的通知
+calendar-enable-button = 启用
+# Variables:
+# $calendarName (String) - Calendar name as given by the user
+calendar-list-item-context-button =
+ .title = “{ $calendarName }”日历选项
+calendar-import-new-calendar = 新建日历
+ .title = 创建或订阅新日历
+calendar-refresh-calendars =
+ .title = 重新加载所有日历并同步更改
+calendar-new-event-primary-button = 新建事件
+calendar-new-task-primary-button = 新建任务
+
+## Calendar navigation
+
+calendar-nav-button-prev-tooltip-day =
+ .title = 前一天
+ .accesskey = s
+calendar-nav-button-prev-tooltip-week =
+ .title = 上一周
+ .accesskey = s
+calendar-nav-button-prev-tooltip-multiweek =
+ .title = 上一周
+ .accesskey = s
+calendar-nav-button-prev-tooltip-month =
+ .title = 上一月
+ .accesskey = s
+calendar-nav-button-prev-tooltip-year =
+ .title = 上一年
+ .accesskey = S
+calendar-nav-button-next-tooltip-day =
+ .title = 后一天
+ .accesskey = x
+calendar-nav-button-next-tooltip-week =
+ .title = 下一周
+ .accesskey = x
+calendar-nav-button-next-tooltip-multiweek =
+ .title = 下一周
+ .accesskey = x
+calendar-nav-button-next-tooltip-month =
+ .title = 下一月
+ .accesskey = x
+calendar-nav-button-next-tooltip-year =
+ .title = 下一年
+ .accesskey = X
+calendar-today-button-tooltip =
+ .title = 转至今日
+calendar-view-toggle-day = 日
+ .title = 切换到日视图
+calendar-view-toggle-week = 周
+ .title = 切换到周视图
+calendar-view-toggle-multiweek = 多周
+ .title = 切换到多周视图
+calendar-view-toggle-month = 月
+ .title = 切换到月视图
+
+## Menu on calendar control bar
+
+calendar-control-bar-menu-button =
+ .title = 日历布局选项
+calendar-find-events-menu-option =
+ .label = 查找事件窗格
+calendar-hide-weekends-option =
+ .label = 仅显示工作日
+calendar-define-workweek-option =
+ .label = 选择工作日
+calendar-show-tasks-calendar-option =
+ .label = 在日历上显示任务
+
+## Calendar Context Menu
+
+calendar-context-menu-previous-day =
+ .label = 前一天
+ .accesskey = s
+calendar-context-menu-previous-week =
+ .label = 前一周
+ .accesskey = s
+calendar-context-menu-previous-multiweek =
+ .label = 前一周
+ .accesskey = s
+calendar-context-menu-previous-month =
+ .label = 前一月
+ .accesskey = s
+calendar-context-menu-next-day =
+ .label = 后一天
+ .accesskey = x
+calendar-context-menu-next-week =
+ .label = 后一周
+ .accesskey = x
+calendar-context-menu-next-multiweek =
+ .label = 后一周
+ .accesskey = x
+calendar-context-menu-next-month =
+ .label = 后一月
+ .accesskey = x
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/category-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/category-dialog.ftl
new file mode 100644
index 0000000000..48cb69c1bf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/category-dialog.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+category-name-label = 名称
+category-color-label =
+ .label = 使用颜色
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/preferences.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/preferences.ftl
new file mode 100644
index 0000000000..f9b26a6b67
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/calendar/preferences.ftl
@@ -0,0 +1,192 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+calendar-title = 日历
+calendar-title-reminder = 提醒
+calendar-title-notification = 通知
+calendar-title-category = 分类
+dateformat-label =
+ .value = 日期格式
+ .accesskey = D
+# $date (String) - the formatted example date
+dateformat-long =
+ .label = 长:{ $date }
+# $date (String) - the formatted example date
+dateformat-short =
+ .label = 短:{ $date }
+use-system-timezone-radio-button =
+ .label = 使用系统时区
+set-timezone-manually-radio-button =
+ .label = 手动设置时区
+timezone-label =
+ .value = 时区
+weekstart-label =
+ .value = 周起始日
+ .accesskey = r
+day-1-name =
+ .label = 星期日
+day-2-name =
+ .label = 星期一
+day-3-name =
+ .label = 星期二
+day-4-name =
+ .label = 星期三
+day-5-name =
+ .label = 星期四
+day-6-name =
+ .label = 星期五
+day-7-name =
+ .label = 星期六
+show-weeknumber-label =
+ .label = 在视图和小月历中显示周数
+ .accesskey = w
+workdays-label =
+ .value = 每周工作日:
+day-1-checkbox =
+ .label = 日
+ .accesskey = S
+day-2-checkbox =
+ .label = 一
+ .accesskey = M
+day-3-checkbox =
+ .label = 二
+ .accesskey = T
+day-4-checkbox =
+ .label = 三
+ .accesskey = W
+day-5-checkbox =
+ .label = 四
+ .accesskey = h
+day-6-checkbox =
+ .label = 五
+ .accesskey = F
+day-7-checkbox =
+ .label = 六
+ .accesskey = a
+dayweek-legend = 日周视图
+visible-hours-label =
+ .value = 每次显示
+ .accesskey = o
+visible-hours-end-label =
+ .value = 小时
+day-start-label =
+ .value = 每日开始于
+ .accesskey = D
+day-end-label =
+ .value = 每日结束于
+ .accesskey = y
+midnight-label =
+ .label = 午夜
+noon-label =
+ .label = 中午
+location-checkbox =
+ .label = 显示位置
+ .accesskey = L
+multiweek-legend = 多周视图
+number-of-weeks-label =
+ .value = 默认显示周数(包括前几周)
+ .accesskey = e
+week-0-label =
+ .label = 无
+week-1-label =
+ .label = 1 周
+week-2-label =
+ .label = 2 周
+week-3-label =
+ .label = 3 周
+week-4-label =
+ .label = 4 周
+week-5-label =
+ .label = 5 周
+week-6-label =
+ .label = 6 周
+previous-weeks-label =
+ .value = 显示之前周数
+ .accesskey = P
+todaypane-legend = 今日窗格
+agenda-days =
+ .value = 议程显示
+ .accesskey = g
+event-task-legend = 事件和任务
+default-length-label =
+ .value = 默认事件和任务长度
+ .accesskey = E
+task-start-label =
+ .value = 开始时间:
+task-start-1-label =
+ .label = 无
+task-start-2-label =
+ .label = 开始日期
+task-start-3-label =
+ .label = 结束日期
+task-start-4-label =
+ .label = 明天
+task-start-5-label =
+ .label = 下周
+task-start-6-label =
+ .label = 相对当前时间的关系
+task-start-7-label =
+ .label = 相对开始时间的关系
+task-start-8-label =
+ .label = 相对下个小时的关系
+task-due-label =
+ .value = 截止时间:
+edit-intab-label =
+ .label = 在标签页而非对话框窗口中编辑事件和任务。
+ .accesskey = t
+prompt-delete-label =
+ .label = 删除事件和任务前提示。
+ .accesskey = V
+accessibility-legend = 可用性
+accessibility-colors-label =
+ .label = 为无障碍使用优化颜色
+ .accesskey = c
+reminder-legend = 到达提醒时间时:
+reminder-play-checkbox =
+ .label = 播放声音
+ .accesskey = s
+reminder-play-alarm-button =
+ .label = 播放
+ .accesskey = P
+reminder-default-sound-label =
+ .label = 使用默认声音
+ .accesskey = d
+reminder-custom-sound-label =
+ .label = 使用下列声音文件
+ .accesskey = U
+reminder-browse-sound-label =
+ .label = 浏览…
+ .accesskey = B
+reminder-dialog-label =
+ .label = 显示提醒框
+ .accesskey = x
+missed-reminder-label =
+ .label = 显示可修改日历的已过期提醒
+ .accesskey = m
+reminder-default-legend = 默认提醒设置
+default-snooze-label =
+ .value = 默认推迟时长
+ .accesskey = S
+event-alarm-label =
+ .value = 事件的默认提醒设置
+ .accesskey = e
+alarm-on-label =
+ .label = 开
+alarm-off-label =
+ .label = 关
+task-alarm-label =
+ .value = 任务的默认提醒设置
+ .accesskey = a
+event-alarm-time-label =
+ .value = 在事件触发前默认的提醒时间
+ .accesskey = u
+task-alarm-time-label =
+ .value = 在任务触发前默认的提醒时间
+ .accesskey = o
+calendar-notifications-customize-label = 可到日历的属性窗口自定义各日历的通知设置。
+category-new-label = 新建分类
+category-edit-label = 编辑类别
+category-overwrite-title = 警告: 重复的名称
+category-overwrite = 该名称类别已存在。 您是否希望覆盖该类别?
+category-blank-warning = 您必须输入类别名称。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/chat/matrix.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/chat/matrix.ftl
new file mode 100644
index 0000000000..a24dc3cc21
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/chat/matrix.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/.
+
+
+### Matrix Protocol strings
+
+
+## Conversation names when a room has no user readable name.
+
+room-name-empty = 清空对话
+# Variables:
+# $oldName (String) - The previous name the conversation had before it was
+# removed.
+room-name-empty-had-name = 已清空对话({ $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 = { $participant } 和其他 { $otherParticipantCount } 个人
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/crashreporter/aboutcrashes.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/crashreporter/aboutcrashes.ftl
new file mode 100644
index 0000000000..2518fec170
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/crashreporter/aboutcrashes.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v- 2-0- If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla-org/MPL/2-0/-
+
+
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+crash-reports-title = 崩溃报告
+
+submit-all-button-label = 全部提交
+delete-button-label = 全部清除
+delete-confirm-title = 您确定吗?
+delete-unsubmitted-description = 这将删除所有尚未提交的崩溃报告,这无法撤销。
+delete-submitted-description = 这将删除已提交崩溃报告的列表,但不会删除已提交的数据。此操作无法撤销。
+
+crashes-unsubmitted-label = 未提交的崩溃报告
+id-heading = 报告 ID
+date-crashed-heading = 崩溃时间
+submit-crash-button-label = 提交
+# This text is used to replace the label of the crash submit button
+# if the crash submission fails.
+submit-crash-button-failure-label = 失败
+
+crashes-submitted-label = 已提交的崩溃报告
+date-submitted-heading = 提交时间
+view-crash-button-label = 查看
+
+no-reports-label = 没有提交过崩溃报告。
+no-config-label = 此应用程序尚未配置为显示崩溃报告。必须对首选项 <code>breakpad.reportURL</code> 进行设置。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/aboutdebugging.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/aboutdebugging.ftl
new file mode 100644
index 0000000000..b23ced1aef
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,336 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the about:debugging UI.
+
+
+# Page Title strings
+
+# Page title (ie tab title) for the Setup page
+about-debugging-page-title-setup-page = 调试 - 设置
+# Page title (ie tab title) for the Runtime page
+# Variables:
+# $selectedRuntimeId - ID of the current runtime, such as "this-firefox", "localhost:6080", etc.
+about-debugging-page-title-runtime-page = 调试 - 运行时 / { $selectedRuntimeId }
+
+# Sidebar strings
+
+# Display name of the runtime for the currently running instance of Firefox. Used in the
+# Sidebar and in the Setup page.
+about-debugging-this-firefox-runtime-name = 此 { -brand-shorter-name }
+# Sidebar heading for selecting the currently running instance of Firefox
+# .name is processed by fluent-react / SidebarFixedItem
+about-debugging-sidebar-this-firefox =
+ .name = { about-debugging-this-firefox-runtime-name }
+# Sidebar heading for connecting to some remote source
+# .name is processed by fluent-react / SidebarFixedItem
+about-debugging-sidebar-setup =
+ .name = 设置
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = USB 已启用
+# Text displayed in the about:debugging sidebar when USB devices discovery is disabled
+# (for instance because the mandatory ADB extension is not installed).
+about-debugging-sidebar-usb-disabled = USB 已禁用
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = 已连接
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = 已断开连接
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = 未发现设备
+# Text displayed in buttons found in sidebar items representing remote runtimes.
+# Clicking on the button will attempt to connect to the runtime.
+about-debugging-sidebar-item-connect-button = 连接
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = 正在连接...
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = 连接失败
+# Text displayed in connection warning on sidebar item of the runtime when connecting to
+# the runtime is taking too much time.
+about-debugging-sidebar-item-connect-button-connection-not-responding = 连接仍处于挂起状态,请检查目标浏览器上的消息
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = 连接超时
+# Text displayed in sidebar items for remote devices where a compatible browser (eg
+# Firefox) has not been detected yet. Typically, Android phones connected via USB with
+# USB debugging enabled, but where Firefox is not started.
+about-debugging-sidebar-runtime-item-waiting-for-browser = 正在等待浏览器…
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = 已断开
+# Title for runtime sidebar items that are related to a specific device (USB, WiFi).
+# Variables:
+# $displayName (string) - Displayed name
+# $deviceName (string) - Name of the device
+about-debugging-sidebar-runtime-item-name =
+ .title = { $displayName }({ $deviceName })
+# Title for runtime sidebar items where we cannot get device information (network
+# locations).
+# Variables:
+# $displayName (string) - Displayed name
+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 = 调试技术支持
+# Text to show as the ALT attribute of a help icon that accompanies the help about
+# debugging link in the footer of the sidebar
+about-debugging-sidebar-support-icon =
+ .alt = 帮助图标
+# Text displayed in a sidebar button to refresh the list of USB devices. Clicking on it
+# will attempt to update the list of devices displayed in the sidebar.
+about-debugging-refresh-usb-devices-button = 刷新设备
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = 设置
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = 配置您偏好的连接方法以远程调试您的设备。
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = 使用<a>{ about-debugging-this-firefox-runtime-name }</a> 调试此版本 { -brand-shorter-name } 上的扩展和 Service Worker。
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = 连接设备
+# USB section of the Setup page
+about-debugging-setup-usb-title = USB
+# Explanatory text displayed in the Setup page when USB debugging is disabled
+about-debugging-setup-usb-disabled = 启用此功能将下载并安装所需的 Android USB 调试组件到 { -brand-shorter-name }。
+# Text of the button displayed in the USB section of the setup page when USB debugging is disabled.
+# Clicking on it will download components needed to debug USB Devices remotely.
+about-debugging-setup-usb-enable-button = 启用 USB 设备
+# Text of the button displayed in the USB section of the setup page when USB debugging is enabled.
+about-debugging-setup-usb-disable-button = 禁用 USB 设备
+# Text of the button displayed in the USB section of the setup page while USB debugging
+# components are downloaded and installed.
+about-debugging-setup-usb-updating-button = 正在更新…
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = 已启用
+about-debugging-setup-usb-status-disabled = 已禁用
+about-debugging-setup-usb-status-updating = 正在更新...
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = 在您的 Android 设备上启用“开发者选项”
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = 启用 Android 开发者选项中的“USB 调试”功能
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = 在 Android 设备的 Firefox 中启用“USB 调试”功能。
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = 将 Android 设备连接到您的计算机。
+# Text shown in the USB section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-to-a-remote-device
+about-debugging-setup-usb-troubleshoot = 连接 USB 设备时出现问题? <a>故障排除</a>
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = 网络位置
+# Text shown in the Network section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#connecting-over-the-network
+about-debugging-setup-network-troubleshoot = 通过网络位置连接时出现问题?<a>故障排除</a>
+# Text of a button displayed after the network locations "Host" input.
+# Clicking on it will add the new network location to the list.
+about-debugging-network-locations-add-button = 添加
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = 尚未添加任何网络位置。
+# Text of the label for the text input that allows users to add new network locations in
+# the Connect page. A host is a hostname and a port separated by a colon, as suggested by
+# the input's placeholder "localhost:6080".
+about-debugging-network-locations-host-input-label = 主机
+# Text of a button displayed next to existing network locations in the Connect page.
+# Clicking on it removes the network location from the list.
+about-debugging-network-locations-remove-button = 移除
+# Text used as error message if the format of the input value was invalid in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-invalid = 无效主机“{ $host-value }”。预期格式为“hostname:portnumber”。
+# Text used as error message if the input value was already registered in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-duplicate = 主机“{ $host-value }”已注册
+
+# Runtime Page strings
+
+# Below are the titles for the various categories of debug targets that can be found
+# on "runtime" pages of about:debugging.
+# Title of the temporary extensions category (only available for "This Firefox" runtime).
+# .name is processed by fluent-react / DebugTargetPane
+about-debugging-runtime-temporary-extensions =
+ .name = 临时扩展
+# Title of the extensions category.
+# .name is processed by fluent-react / DebugTargetPane
+about-debugging-runtime-extensions =
+ .name = 扩展
+# Title of the tabs category.
+# .name is processed by fluent-react / DebugTargetPane
+about-debugging-runtime-tabs =
+ .name = 标签页
+# Title of the service workers category.
+# .name is processed by fluent-react / DebugTargetPane
+about-debugging-runtime-service-workers =
+ .name = Service Worker
+# Title of the shared workers category.
+# .name is processed by fluent-react / DebugTargetPane
+about-debugging-runtime-shared-workers =
+ .name = Shared Worker
+# Title of the other workers category.
+# .name is processed by fluent-react / DebugTargetPane
+about-debugging-runtime-other-workers =
+ .name = 其他 Worker
+# Title of the processes category.
+# .name is processed by fluent-react / DebugTargetPane
+about-debugging-runtime-processes =
+ .name = 进程
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = 分析性能
+# This string is displayed in the runtime page if the current configuration of the
+# target runtime is incompatible with service workers. "Learn more" points to:
+# https://firefox-source-docs.mozilla.org/devtools-user/about_colon_debugging/index.html#service-workers-not-compatible
+about-debugging-runtime-service-workers-not-compatible = 您的浏览器配置与 Service Worker 不兼容。<a>详细了解</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 = 已连接的浏览器为旧版本({ $runtimeVersion })。支持的最低版本为({ $minVersion })。不支持的版本可能致使开发者工具运行失败。请更新连接的浏览器。<a>故障排查</a>
+# Dedicated message for a backward compatibility issue that occurs when connecting:
+# from Fx 70+ to the old Firefox for Android (aka Fennec) which uses Fx 68.
+about-debugging-browser-version-too-old-fennec = Firefox 无法调试 Android 版 Firefox(68)。我们建议您在手机上安装 Android 版 Firefox Nightly 进行测试。<a>更多信息</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 =
+ 已连接的浏览器(版本 { $runtimeVersion }、buildID { $runtimeID })比您的 { -brand-shorter-name }({ $localVersion }、buildID { $localID })还新。这个不受支持的设置可能导致开发者工具故障。请更新 Firefox。
+ <a>故障排除</a>
+# Displayed for runtime info in runtime pages.
+# { $name } is brand name such as "Firefox Nightly"
+# { $version } is version such as "64.0a1"
+about-debugging-runtime-name = { $name }({ $version })
+# Text of a button displayed in Runtime pages for remote runtimes.
+# Clicking on the button will close the connection to the runtime.
+about-debugging-runtime-disconnect-button = 断开连接
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is false on the target runtime.
+about-debugging-connection-prompt-enable-button = 启用连接提示
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is true on the target runtime.
+about-debugging-connection-prompt-disable-button = 禁用连接提示
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = 分析器
+# Clicking on the header of a debug target category will expand or collapse the debug
+# target items in the category. This text is used as ’title’ attribute of the header,
+# to describe this feature.
+about-debugging-collapse-expand-debug-targets = 折叠 / 展开
+
+# Debug Targets strings
+
+# Displayed in the categories of "runtime" pages that don't have any debug target to
+# show. Debug targets depend on the category (extensions, tabs, workers...).
+about-debugging-debug-target-list-empty = 空空如也。
+# Text of a button displayed next to debug targets of "runtime" pages. Clicking on this
+# button will open a DevTools toolbox that will allow inspecting the target.
+# A target can be an addon, a tab, a worker...
+about-debugging-debug-target-inspect-button = 检查
+# Text of a button displayed in the "This Firefox" page, in the Temporary Extension
+# section. Clicking on the button will open a file picker to load a temporary extension
+about-debugging-tmp-extension-install-button = 临时加载附加组件…
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = 安装临时附加组件时出错。
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will reload the extension.
+about-debugging-tmp-extension-reload-button = 重载
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will uninstall the extension and remove it from the page.
+about-debugging-tmp-extension-remove-button = 移除
+# 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 = 终止后台脚本
+# Message displayed in the file picker that opens to select a temporary extension to load
+# (triggered by the button using "about-debugging-tmp-extension-install-button")
+# manifest.json .xpi and .zip should not be localized.
+# Note: this message is only displayed in Windows and Linux platforms.
+about-debugging-tmp-extension-install-message = 请选择 manifest.json 文件或 .xpi/.zip 压缩包
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = 此 WebExtension 使用临时 ID。<a>详细了解</a>
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = Manifest URL
+# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid.
+# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429
+about-debugging-extension-uuid =
+ .label = 内部 UUID
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = 位置
+# Text displayed for extensions in "runtime" pages, before displaying the extension's ID.
+# For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}".
+about-debugging-extension-id =
+ .label = 扩展 ID
+# Text displayed for extensions in "runtime" pages, before displaying the status of the
+# extension background script.
+about-debugging-extension-backgroundscript =
+ .label = 后台脚本
+# 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 = 运行中
+# Displayed for extension using a non-persistent background page when is currently stopped.
+about-debugging-extension-backgroundscript-status-stopped = 已停止
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+# Note this relates to the "Push" API, which is normally not localized so it is
+# probably better to not localize it.
+# .disabledTitle is processed by the fluent-react / ActionButton code.
+about-debugging-worker-action-push2 = 推送
+ .disabledTitle = Service Worker “推送”目前在多进程 { -brand-shorter-name } 下禁用
+# This string is displayed as a label of the button that starts a service worker.
+# .disabledTitle is processed by the fluent-react / ActionButton code.
+about-debugging-worker-action-start2 = 启动
+ .disabledTitle = Service Worker “启动”功能目前在多进程 { -brand-shorter-name } 下无法使用
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = 取消注册
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = Fetch
+ .value = 正在监听 fetch 事件
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = Fetch
+ .value = 未在监听 fetch 事件
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = 正在运行
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = 已停止
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = 正在注册
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = 作用域
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = 推送服务
+# Displayed as title of the inspect button when service worker debugging is disabled.
+about-debugging-worker-inspect-action-disabled =
+ .title = Service Worker 检查功能目前在多进程 { -brand-shorter-name } 下暂时无法使用
+# Displayed as title of the inspect button for zombie tabs (e.g. tabs loaded via a session restore).
+about-debugging-zombie-tab-inspect-action-disabled =
+ .title = 由于标签页未完全加载,无法检查
+# Displayed as name for the Main Process debug target in the Processes category. Only for
+# remote runtimes, if `devtools.aboutdebugging.process-debugging` is true.
+about-debugging-multiprocess-toolbox-name = 多进程工具箱
+# Displayed as description for the Main Process debug target in the Processes category.
+# Only for remote browsers, if `devtools.aboutdebugging.process-debugging` is true.
+about-debugging-multiprocess-toolbox-description = 目标浏览器的主进程和内容进程
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = 关闭消息
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = 错误详情
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = 警告详情
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = 详细信息
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/accessibility.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/accessibility.ftl
new file mode 100644
index 0000000000..436c2287b0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/accessibility.ftl
@@ -0,0 +1,95 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Accessibility panel.
+
+accessibility-learn-more = 详细了解
+
+accessibility-text-label-header = 文本标签和名称
+
+accessibility-keyboard-header = 键盘
+
+## Text entries that are used as text alternative for icons that depict accessibility isses.
+
+
+## These strings are used in the overlay displayed when running an audit in the accessibility panel
+
+accessibility-progress-initializing = 正在初始化…
+ .aria-valuetext = 正在初始化…
+
+# 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 } 个节点
+
+accessibility-progress-finishing = 即将完成…
+ .aria-valuetext = 即将完成…
+
+## Text entries that are used as text alternative for icons that depict accessibility issues.
+
+accessibility-warning =
+ .alt = 警告
+
+accessibility-fail =
+ .alt = 错误
+
+accessibility-best-practices =
+ .alt = 最佳实践
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has an accessibility issue
+## with its text label or accessible name.
+
+accessibility-text-label-issue-area = 请使用 <code>alt</code> 属性标注带有 <span>href</span> 属性的 <div>area</div> 元素。<a>详细了解</a>
+
+accessibility-text-label-issue-dialog = 对话框应附有文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-document-title = 文档(Documents)必须要有 <code>title</code>(标题)。<a>详细了解</a>
+
+accessibility-text-label-issue-embed = 嵌入式内容必须附有文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-figure = 带有可选说明文字的数字应该有文本标签。<a>了解详情</a>
+
+accessibility-text-label-issue-fieldset = <code>fieldset</code> 元素必须附有文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-fieldset-legend2 = 使用 <code>legend</code> 元素为 <span>fieldset</span> 提供文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-form = 表单元素必须附有文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-form-visible = 表单元素应该有一个可见的文本标签。<a>了解详情</a>
+
+accessibility-text-label-issue-frame = <code>frame</code>(框架)元素必须附有文本标签。<a>了解详情</a>
+
+accessibility-text-label-issue-glyph = 使用 <code>alt</code> 属性给 <span>mglyph</span> 元素提供文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-heading = 标题(Heading)必须附有文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-heading-content = 标题(Heading)应该有可见的文本内容。<a>详细了解</a>
+
+accessibility-text-label-issue-iframe = 使用 <code>title</code> 属性描述 <span>iframe</span>(框架)的内容。<a>详细了解</a>
+
+accessibility-text-label-issue-image = 包含图像的内容必须附有文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-interactive = 交互式元素必须附有文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-optgroup-label2 = 使用 <code>label</code> 属性为 <span>optgroup</span> 提供文本标签。<a>详细了解</a>
+
+accessibility-text-label-issue-toolbar = 当有超过一个工具栏时,工具栏必须附有文本标签。<a>详细了解</a>
+
+## Text entries for a paragraph used in the accessibility panel sidebar's checks section
+## that describe that currently selected accessible object has a keyboard accessibility
+## issue.
+
+accessibility-keyboard-issue-semantics = 可聚焦元素应有交互式语义。<a>详细了解</a>
+
+accessibility-keyboard-issue-tabindex = 避免使用大于 0 的 <code>tabindex</code> 属性。<a>详细了解</a>
+
+accessibility-keyboard-issue-action = 交互式元素必须可用键盘激活。<a>详细了解</a>
+
+accessibility-keyboard-issue-focusable = 交互式元素必须可被聚焦。<a>详细了解</a>
+
+accessibility-keyboard-issue-focus-visible = 可聚焦元素可能缺少聚焦样式。<a>详细了解</a>
+
+accessibility-keyboard-issue-mouse-only = 可点击元素必须可被聚焦,且应有交互式语义。<a>详细了解</a>
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/application.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/application.ftl
new file mode 100644
index 0000000000..8eb73ae05f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/application.ftl
@@ -0,0 +1,153 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 Worker
+
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = 打开 <a>about:debugging</a> 检查其他域名的 Service Worker
+
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = 取消注册
+
+# Text for the debug link displayed for an already started Service Worker. Clicking on the
+# link opens a new devtools toolbox for this service worker. The title attribute is only
+# displayed when the link is disabled.
+serviceworker-worker-debug = 调试
+ .title = 仅在运行 Service Workers 时可被调试
+
+# Alt text for the image icon displayed inside a debug link for a service worker.
+serviceworker-worker-inspect-icon =
+ .alt = 检查
+
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start3 = 开始
+
+# Text displayed for the updated time of the service worker. The <time> element will
+# display the last update time of the service worker script.
+# Variables:
+# $date (date) - Update date
+serviceworker-worker-updated = 更新于 <time>{ DATETIME($date, month: "long", year: "numeric", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric") }</time>
+
+## Service Worker status strings: all serviceworker-worker-status-* strings are also
+## defined in aboutdebugging.properties and should be synchronized with them.
+
+# Service Worker status. A running service worker is registered, currently executed, can
+# be debugged and stopped.
+serviceworker-worker-status-running = 正在运行
+
+# Service Worker status. A stopped service worker is registered but not currently active.
+serviceworker-worker-status-stopped = 已停止
+
+# Text displayed when no service workers are visible for the current page.
+serviceworker-empty-intro2 = 没有找到 Service Worker
+
+# Link will open https://developer.mozilla.org/docs/Web/API/Service_Worker_API/Using_Service_Workers
+serviceworker-empty-intro-link = 详细了解
+
+# Text displayed when there are no Service Workers to display for the current page,
+# introducing hints to debug Service Worker issues.
+# <a> and <span> are links that will open the webconsole and the debugger, respectively.
+serviceworker-empty-suggestions2 = 若当前页面上本应有 Service Worker,请在<a>控制台</a>中查找错误,或在<span>调试器</span>中按步骤注册 Service Worker。
+
+# 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 = 检查来自其他域名的 Service Worker
+
+# Header for the Manifest page when we have an actual manifest
+manifest-view-header = 应用清单文件
+
+# Header for the Manifest page when there's no manifest to inspect
+manifest-empty-intro2 = 未检测到 Web 应用清单文件
+
+# The link will open https://developer.mozilla.org/en-US/docs/Web/Manifest
+manifest-empty-intro-link = 了解如何添加“清单文件”
+
+# Header for the Errors and Warnings section of Manifest inspection displayed in the application panel.
+manifest-item-warnings = 错误和警告
+
+# Header for the Identity section of Manifest inspection displayed in the application panel.
+manifest-item-identity = 标识
+
+# Header for the Presentation section of Manifest inspection displayed in the application panel.
+manifest-item-presentation = 呈现
+
+# Header for the Icon section of Manifest inspection displayed in the application panel.
+manifest-item-icons = 图标
+
+# Text displayed while we are loading the manifest file
+manifest-loading = 正在加载清单文件…
+
+# Text displayed when the manifest has been successfully loaded
+manifest-loaded-ok = 清单文件加载完毕。
+
+# Text displayed as a caption when there has been an error while trying to
+# load the manifest
+manifest-loaded-error = 加载清单文件时发生错误:
+
+# Text displayed as an error when there has been a Firefox DevTools error while
+# trying to load the manifest
+manifest-loaded-devtools-error = Firefox 开发者工具出错
+
+# Text displayed when the page has no manifest available
+manifest-non-existing = 未找到要检查的清单文件。
+
+# Text displayed when the page has a manifest embedded in a Data URL and
+# thus we cannot link to it.
+manifest-json-link-data-url = 清单文件嵌入在数据 URL 中。
+
+# Text displayed at manifest icons to label their purpose, as declared
+# in the manifest.
+# Variables:
+# $purpose (string) - Manifest purpose
+manifest-icon-purpose = 目的:<code>{ $purpose }</code>
+
+# Text displayed as the alt attribute for <img> tags showing the icons in the
+# manifest.
+manifest-icon-img =
+ .alt = 图标
+
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest.
+# Variables:
+# $sizes (string) - User-dependent string that has been parsed as a
+# space-separated list of `<width>x<height>` sizes or
+# the keyword `any`.
+manifest-icon-img-title = 图标尺寸:{ $sizes }
+
+# Text displayed as the title attribute for <img> tags showing the icons in the
+# manifest, in case there's no icon size specified by the user
+manifest-icon-img-title-no-sizes = 未指定图标大小
+
+# Sidebar navigation item for Manifest sidebar item section
+sidebar-item-manifest = 清单文件
+ .alt = 清单文件图标
+ .title = 清单文件
+
+# Sidebar navigation item for Service Workers sidebar item section
+sidebar-item-service-workers = Service Worker
+ .alt = Service Worker 图标
+ .title = Service Worker
+
+# Text for the ALT and TITLE attributes of the warning icon
+icon-warning =
+ .alt = 警告图标
+ .title = 警告
+
+# Text for the ALT and TITLE attributes of the error icon
+icon-error =
+ .alt = 错误图标
+ .title = 错误
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/compatibility.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/compatibility.ftl
new file mode 100644
index 0000000000..127ff632ed
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/compatibility.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/.
+
+
+## Messages used as headers in the main pane
+
+compatibility-selected-element-header = 所选中元素
+compatibility-all-elements-header = 所有问题
+
+## Message used as labels for the type of issue
+
+compatibility-issue-deprecated = (已弃用)
+compatibility-issue-experimental = (实验性)
+compatibility-issue-prefixneeded = (需加前缀)
+compatibility-issue-deprecated-experimental = (已弃用,实验性)
+compatibility-issue-deprecated-prefixneeded = (已弃用,需加前缀)
+compatibility-issue-experimental-prefixneeded = (实验性,需加前缀)
+compatibility-issue-deprecated-experimental-prefixneeded = (已弃用,实验性,需加前缀)
+
+## Messages used as labels and titles for buttons in the footer
+
+compatibility-settings-button-label = 设置
+compatibility-settings-button-title =
+ .title = 设置
+
+## Messages used as headers in settings pane
+
+compatibility-settings-header = 设置
+compatibility-target-browsers-header = 目标浏览器
+
+##
+
+# Text used as the label for the number of nodes where the issue occurred
+# Variables:
+# $number (Number) - The number of nodes where the issue occurred
+compatibility-issue-occurrences =
+ { $number ->
+ *[other] 遇到 { $number } 个
+ }
+
+compatibility-no-issues-found = 未发现兼容性问题。
+compatibility-close-settings-button =
+ .title = 关闭设置
+
+# 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 =
+ 存在兼容性问题:
+ { $browsers }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/perftools.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/perftools.ftl
new file mode 100644
index 0000000000..57e3441d13
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/perftools.ftl
@@ -0,0 +1,140 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### 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 = 分析器设置
+perftools-intro-description = 记录器将新建标签页打开 profiler.firefox.com。所有数据存储在本地,您到时也可以选择上传以便分享。
+
+## All of the headings for the various sections.
+
+perftools-heading-settings = 完整设置
+perftools-heading-buffer = 缓冲区设置
+perftools-heading-features = 功能
+perftools-heading-features-default = 功能(默认推荐开启)
+perftools-heading-features-disabled = 已禁用的功能
+perftools-heading-features-experimental = 实验性
+perftools-heading-threads = 线程
+perftools-heading-threads-jvm = JVM 线程
+perftools-heading-local-build = 本地构建版本
+
+##
+
+perftools-description-intro = 记录器将新建标签页打开 <a>profiler.firefox.com</a>。所有数据存储在本地,您到时也可以选择上传以便分享。
+perftools-description-local-build = 若您要对本机自行编译的构建版本进行测量,请将其 objdir 路径添加至下方列表,以便查询调试符号信息。
+
+## The controls for the interval at which the profiler samples the code.
+
+perftools-range-interval-label = 采样间隔:
+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 = 缓冲区大小:
+perftools-custom-threads-label = 按名称添加自定义线程:
+perftools-devtools-interval-label = 间隔:
+perftools-devtools-threads-label = 线程:
+perftools-devtools-settings-label = 设置
+
+## Various statuses that affect the current state of profiling, not typically displayed.
+
+perftools-status-recording-stopped-by-another-tool = 已被其他工具停止记录。
+perftools-status-restart-required = 必须重启浏览器才能启用此功能。
+
+## These are shown briefly when the user is waiting for the profiler to respond.
+
+perftools-request-to-stop-profiler = 正在停止记录
+perftools-request-to-get-profile-and-stop-profiler = 正在抓取性能分析
+
+##
+
+perftools-button-start-recording = 开始记录
+perftools-button-capture-recording = 捕获记录
+perftools-button-cancel-recording = 取消记录
+perftools-button-save-settings = 保存设置并返回
+perftools-button-restart = 重新启动
+perftools-button-add-directory = 添加路径
+perftools-button-remove-directory = 移除选中项
+perftools-button-edit-settings = 编辑设置…
+
+## These messages are descriptions of the threads that can be enabled for the profiler.
+
+perftools-thread-gecko-main =
+ .title = 父进程和内容进程等主进程
+perftools-thread-compositor =
+ .title = 将页面中各种绘制完成的元素进行合成
+perftools-thread-dom-worker =
+ .title = 处理 web worker 和 service worker
+perftools-thread-renderer =
+ .title = 启用 WebRender 时,用于执行 OpenGL 调用的线程
+perftools-thread-render-backend =
+ .title = WebRender 的 RenderBackend 线程
+perftools-thread-timer =
+ .title = 线程处理定时器(setTimeout、setInterval、nsITimer)
+perftools-thread-style-thread =
+ .title = 样式计算会拆分在多个线程中进行
+pref-thread-stream-trans =
+ .title = 网络数据流传输
+perftools-thread-socket-thread =
+ .title = 网络相关代码进行任何 socket 阻塞式调用时,将发生在此线程
+perftools-thread-img-decoder =
+ .title = 图像解码线程
+perftools-thread-dns-resolver =
+ .title = DNS 解析会发生在此线程
+perftools-thread-task-controller =
+ .title = TaskController 线程池中的线程
+perftools-thread-jvm-gecko =
+ .title = Gecko JVM 主线程
+perftools-thread-jvm-nimbus =
+ .title = Nimbus 实验 SDK 的主线程
+perftools-thread-jvm-default-dispatcher =
+ .title = Kotlin 协程库的默认调度器
+perftools-thread-jvm-glean =
+ .title = Glean 遥测 SDK 的主线程
+perftools-thread-jvm-arch-disk-io =
+ .title = Kotlin 协程库的 IO 调度器
+perftools-thread-jvm-pool =
+ .title = 创建于未命名线程池的线程
+
+##
+
+perftools-record-all-registered-threads = 忽略上面选择的项目,记录所有注册的线程
+perftools-tools-threads-input-label =
+ .title = 下方列表是要在分析器中测量性能的线程名称(以逗号分隔)。名称须与要测量的线程的名称部分匹配,且对空格敏感。
+
+## 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>新变化</b>:{ -profiler-brand-name } 现已集成于开发者工具。<a>详细了解</a>这个功能强大的新工具。
+perftools-onboarding-close-button =
+ .aria-label = 关闭导览消息
+
+## Profiler presets
+
+
+# Presets and their l10n IDs are defined in the file
+# devtools/client/performance-new/shared/background.jsm.js
+# The same labels and descriptions are also defined in appmenu.ftl.
+
+perftools-presets-web-developer-label = Web 开发者
+perftools-presets-web-developer-description = 适合调试大部分 Web 应用程序,开销较低。
+perftools-presets-firefox-label = { -brand-shorter-name }
+perftools-presets-firefox-description = 适合用来分析 { -brand-shorter-name } 的性能。
+perftools-presets-graphics-label = 图形
+perftools-presets-graphics-description = 排查 { -brand-shorter-name } 图形(显卡、显示)Bug 时使用。
+perftools-presets-media-label = 媒体
+perftools-presets-media-description2 = 排查 { -brand-shorter-name } 音视频 Bug 时使用。
+perftools-presets-networking-label = 网络
+perftools-presets-networking-description = 排查 { -brand-shorter-name } 网络 Bug 时使用。
+# "Power" is used in the sense of energy (electricity used by the computer).
+perftools-presets-power-label = 功耗
+perftools-presets-power-description = 排查 { -brand-shorter-name } 功耗 Bug 时使用,开销较低。
+perftools-presets-custom-label = 自定义
+
+##
+
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/storage.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/storage.ftl
new file mode 100644
index 0000000000..8ebd7a8709
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 选定的主机不存在数据
+
+# 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 = 通过选择主机来查看和编辑 Cookie。<a data-l10n-name="learn-more-link">详细了解</a>
+
+# Hint shown when the local storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-localstorage-hint = 通过选择主机来查看和编辑本地存储。<a data-l10n-name="learn-more-link">详细了解</a>
+
+# Hint shown when the session storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Local_Storage_Session_Storage
+storage-table-type-sessionstorage-hint = 通过选择主机来查看和编辑会话存储。<a data-l10n-name="learn-more-link">详细了解</a>
+
+# Hint shown when the IndexedDB storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/IndexedDB
+storage-table-type-indexeddb-hint = 通过选择数据库来查看和删除 IndexedDB。<a data-l10n-name="learn-more-link">详细了解</a>
+
+# Hint shown when the cache storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Cache_Storage
+storage-table-type-cache-hint = 通过选择存储来查看和删除缓存存储。 <a data-l10n-name="learn-more-link">详细了解</a>
+
+# Hint shown when the extension storage type is selected. Clicking the link will open
+# https://developer.mozilla.org/docs/Tools/Storage_Inspector/Extension_Storage
+storage-table-type-extensionstorage-hint = 通过选择主机来查看和编辑扩展存储。<a data-l10n-name="learn-more-link">详细了解</a>
+
+# Placeholder for the searchbox that allows you to filter the table items
+storage-search-box =
+ .placeholder = 项目过滤器
+
+# Placeholder text in the sidebar search box
+storage-variable-view-search-box =
+ .placeholder = 过滤值
+
+# Add Item button title
+storage-add-button =
+ .title = 添加项目
+
+# Refresh button title
+storage-refresh-button =
+ .title = 刷新项目
+
+# Context menu action to delete all storage items
+storage-context-menu-delete-all =
+ .label = 全部删除
+
+# Context menu action to delete all session cookies
+storage-context-menu-delete-all-session-cookies =
+ .label = 删除所有会话级 Cookie
+
+# Context menu action to copy a storage item
+storage-context-menu-copy =
+ .label = 复制
+
+# Context menu action to delete storage item
+# Variables:
+# $itemName (String) - Name of the storage item that will be deleted
+storage-context-menu-delete =
+ .label = 删除“{ $itemName }”
+
+# Context menu action to add an item
+storage-context-menu-add-item =
+ .label = 添加项目
+
+# 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 = 删除所有来自“{ $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 = 名称
+storage-table-headers-cookies-value = 值
+storage-table-headers-cookies-expires = Expires / Max-Age
+storage-table-headers-cookies-size = 大小
+storage-table-headers-cookies-last-accessed = 最后访问
+storage-table-headers-cookies-creation-time = 创建于
+storage-table-headers-cache-status = 状态
+storage-table-headers-extension-storage-area = 存储区域
+
+## Labels for Storage type groups present in the Storage Tree, like cookies, local storage etc.
+
+storage-tree-labels-cookies = Cookie
+storage-tree-labels-local-storage = 本地存储
+storage-tree-labels-session-storage = 会话存储
+storage-tree-labels-indexed-db = Indexed DB
+storage-tree-labels-cache = 缓存存储
+storage-tree-labels-extension-storage = 扩展存储
+
+##
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is closed.
+storage-expand-pane =
+ .title = 展开窗格
+
+# Tooltip for the button that collapses the right panel in the
+# storage UI when the panel is open.
+storage-collapse-pane =
+ .title = 折叠窗格
+
+# String displayed in the expires column when the cookie is a Session Cookie
+storage-expires-session = 会话
+
+# Heading displayed over the item value in the sidebar
+storage-data = 数据
+
+# Heading displayed over the item parsed value in the sidebar
+storage-parsed-value = 解析的值
+
+# Warning notification when IndexedDB database could not be deleted immediately.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-blocked = 数据库“{ $dbName }”将在所有连接关闭后被删除。
+
+# Error notification when IndexedDB database could not be deleted.
+# Variables:
+# $dbName (String) - Name of the database
+storage-idb-delete-error = 数据库“{ $dbName }”未能删除。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/styleeditor.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/styleeditor.ftl
new file mode 100644
index 0000000000..e1d23e1454
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/styleeditor.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/.
+
+styleeditor-new-button =
+ .tooltiptext = 创建并追加一个新的样式表到该文档
+ .accesskey = N
+styleeditor-import-button =
+ .tooltiptext = 导入并追加一个现有的样式表到该文档
+ .accesskey = I
+styleeditor-filter-input =
+ .placeholder = 过滤样式表
+styleeditor-visibility-toggle =
+ .tooltiptext = 切换样式表可见性
+ .accesskey = S
+styleeditor-visibility-toggle-system =
+ .tooltiptext = 无法禁用系统样式表
+styleeditor-save-button = 保存
+ .tooltiptext = 保存此样式表到文件
+ .accesskey = S
+styleeditor-options-button =
+ .tooltiptext = 样式编辑器选项
+styleeditor-at-rules = @ 规则
+styleeditor-editor-textbox =
+ .data-placeholder = 在这输入 CSS。
+styleeditor-no-stylesheet = 此页面没有样式表。
+styleeditor-no-stylesheet-tip = 也许你想<a data-l10n-name="append-new-stylesheet">追加一个新样式表</a>?
+styleeditor-open-link-new-tab =
+ .label = 新建标签页打开链接
+styleeditor-copy-url =
+ .label = 复制网址
+styleeditor-find =
+ .label = 查找
+ .accesskey = F
+styleeditor-find-again =
+ .label = 查找下一个
+ .accesskey = g
+styleeditor-go-to-line =
+ .label = 跳转到某行…
+ .accesskey = J
+# Label displayed when searching a term that is not found in any stylesheet path
+styleeditor-stylesheet-all-filtered = 找不到匹配的样式表。
+# This string is shown in the style sheets list
+# Variables:
+# $ruleCount (Integer) - The number of rules in the stylesheet.
+styleeditor-stylesheet-rule-count = { $ruleCount } 个规则。
+# Title for the pretty print button in the editor footer.
+styleeditor-pretty-print-button =
+ .title = 美化样式表
+# Title for the pretty print button in the editor footer, when it's disabled
+styleeditor-pretty-print-button-disabled =
+ .title = 只可用于美化 CSS 文件
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/toolbox-options.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/toolbox-options.ftl
new file mode 100644
index 0000000000..a1fcee64a7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/toolbox-options.ftl
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for Developer Tools options
+
+
+## Default Developer Tools section
+
+# The heading
+options-select-default-tools-label = 默认的开发者工具
+
+# The label for the explanation of the * marker on a tool which is currently not supported
+# for the target of the toolbox.
+options-tool-not-supported-label = * 不支持当前的工具箱目标
+
+# The label for the heading of group of checkboxes corresponding to the developer tools
+# added by add-ons. This heading is hidden when there is no developer tool installed by add-ons.
+options-select-additional-tools-label = 附加组件安装的开发者工具
+
+# The label for the heading of group of checkboxes corresponding to the default developer
+# tool buttons.
+options-select-enabled-toolbox-buttons-label = 可用的工具箱按钮
+
+# The label for the heading of the radiobox corresponding to the theme
+options-select-dev-tools-theme-label = 主题
+
+## Inspector section
+
+# The heading
+options-context-inspector = 查看器
+
+# The label for the checkbox option to show user agent styles
+options-show-user-agent-styles-label = 显示浏览器样式
+options-show-user-agent-styles-tooltip =
+ .title = 启用此选项将显示由浏览器加载的默认样式。
+
+# The label for the checkbox option to enable collapse attributes
+options-collapse-attrs-label = 截短 DOM 属性
+options-collapse-attrs-tooltip =
+ .title = 截短查看器中的长属性
+
+# The label for the checkbox option to enable the "drag to update" feature
+options-inspector-draggable-properties-label = 点击并拖动编辑大小值
+options-inspector-draggable-properties-tooltip =
+ .title = 在查看器规则视图中单击并拖动编辑大小值。
+
+# 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 = 通过 prefers-reduced-motion 使用更简明的高亮显示。
+options-inspector-simplified-highlighters-tooltip =
+ .title = 设置 prefers-reduced-motion 首选项启用简化的高亮显示。在突出显示的元素周围绘制线条而不是填充矩形,以避免闪烁效果。
+
+## "Default Color Unit" options for the Inspector
+
+options-default-color-unit-label = 默认颜色单位
+options-default-color-unit-authored = 按原单位
+options-default-color-unit-hex = Hex
+options-default-color-unit-hsl = HSL(A)
+options-default-color-unit-rgb = RGB(A)
+options-default-color-unit-hwb = HWB
+options-default-color-unit-name = 颜色名
+
+## Style Editor section
+
+# The heading
+options-styleeditor-label = 样式编辑器
+
+# The label for the checkbox that toggles autocompletion of css in the Style Editor
+options-stylesheet-autocompletion-label = 自动补全 CSS
+options-stylesheet-autocompletion-tooltip =
+ .title = 在样式编辑器中自动补全您输入的 CSS 属性、值和选择器
+
+## Screenshot section
+
+# The heading
+options-screenshot-label = 截图行为
+
+# Label for the checkbox that toggles screenshot to clipboard feature
+options-screenshot-clipboard-only-label = 截图仅保存到剪贴板
+options-screenshot-clipboard-tooltip2 =
+ .title = 直接将截图保存到剪贴板
+
+# Label for the checkbox that toggles the camera shutter audio for screenshot tool
+options-screenshot-audio-label = 播放相机快门声
+options-screenshot-audio-tooltip =
+ .title = 截图时播放相机快门声
+
+## Editor section
+
+# The heading
+options-sourceeditor-label = 编辑器首选项
+
+options-sourceeditor-detectindentation-tooltip =
+ .title = 基于源内容推测缩进
+options-sourceeditor-detectindentation-label = 检测缩进
+options-sourceeditor-autoclosebrackets-tooltip =
+ .title = 自动插入关闭括号
+options-sourceeditor-autoclosebrackets-label = 自动关闭括号
+options-sourceeditor-expandtab-tooltip =
+ .title = 使用空格而非制表符缩进
+options-sourceeditor-expandtab-label = 使用空格缩进
+options-sourceeditor-tabsize-label = 制表符宽度
+options-sourceeditor-keybinding-label = 按键绑定
+options-sourceeditor-keybinding-default-label = 默认设置
+
+## Advanced section
+
+# The heading (this item is also used in perftools.ftl)
+options-context-advanced-settings = 高级设置
+
+# The label for the checkbox that toggles the HTTP cache on or off
+options-disable-http-cache-label = 禁用 HTTP 缓存(工具箱打开时)
+options-disable-http-cache-tooltip =
+ .title = 开启此选项将对所有已打开工具箱的标签页禁用 HTTP 缓存。Service Worker 不会受此选项影响。
+
+# The label for checkbox that toggles JavaScript on or off
+options-disable-javascript-label = 禁用 JavaScript *
+options-disable-javascript-tooltip =
+ .title = 启用这个选项将对当前标签页禁用 JavaScript。如果关闭了该标签页或者工具箱,则这个设置就不再有效。
+
+# The label for checkbox that toggles chrome debugging, i.e. the devtools.chrome.enabled preference
+options-enable-chrome-label = 启用浏览器界面及附加组件的调试工具箱
+options-enable-chrome-tooltip =
+ .title = 打开此选项将允许您使用在浏览器上下文的开发者工具(通过 工具 > Web 开发者 > 浏览器工具箱)和从“附加组件管理器”调试附加组件
+
+# The label for checkbox that toggles remote debugging, i.e. the devtools.debugger.remote-enabled preference
+options-enable-remote-label = 启用远程调试
+options-enable-remote-tooltip2 =
+ .title = 启用此选项将允许远程调试此浏览器实例
+
+# The label for checkbox that enables F12 as a shortcut to open DevTools
+options-enable-f12-label = 使用 F12 键打开或关闭开发者工具
+options-enable-f12-tooltip =
+ .title = 开启此选项后, 将绑定 F12 键用于打开或关闭开发者工具箱
+
+# The label for checkbox that toggles custom formatters for objects
+options-enable-custom-formatters-label = 启用自定义格式化程序
+options-enable-custom-formatters-tooltip =
+ .title = 打开此选项,将允许网站自行定义 DOM 对象的格式化程序
+
+# The label for checkbox that toggles the service workers testing over HTTP on or off.
+options-enable-service-workers-http-label = 启用 Service Workers over HTTP(在工具箱打开时)
+options-enable-service-workers-http-tooltip =
+ .title = 开启此选项时,将对所有标签页在工具箱打开时启用 Service Workers over HTTP。
+
+# The label for the checkbox that toggles source maps in all tools.
+options-source-maps-label = 启用源映射
+options-source-maps-tooltip =
+ .title = 如果您启用此选项,工具中的源代码将被映射。
+
+# The message shown for settings that trigger page reload
+options-context-triggers-page-refresh = * 仅限当前会话,将重新加载当前页面
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/toolbox.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/toolbox.ftl
new file mode 100644
index 0000000000..180d4144ce
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 停靠于底部
+toolbox-meatball-menu-dock-left-label = 停靠于左侧
+toolbox-meatball-menu-dock-right-label = 停靠于右侧
+toolbox-meatball-menu-dock-separate-window-label = 独立窗口
+
+toolbox-meatball-menu-splitconsole-label = 显示分离式控制台
+toolbox-meatball-menu-hideconsole-label = 隐藏分离式控制台
+
+toolbox-meatball-menu-settings-label = 设置
+toolbox-meatball-menu-documentation-label = 文档…
+toolbox-meatball-menu-community-label = 社区…
+
+# 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 = 不自动隐藏弹窗
+
+toolbox-meatball-menu-pseudo-locale-accented = 启用“重音符号”语言环境
+toolbox-meatball-menu-pseudo-locale-bidi = 启用“双向字符”语言环境
+
+##
+
+
+## These labels are shown in the top-toolbar in the Browser Toolbox and Browser Console
+
+toolbox-mode-browser-toolbox-label = 浏览器工具箱模式
+toolbox-mode-browser-console-label = 浏览器控制台模式
+
+toolbox-mode-everything-label = 多进程
+toolbox-mode-everything-sub-label = (较慢)
+toolbox-mode-everything-container =
+ .title = 调试所有进程中的全部内容
+
+toolbox-mode-parent-process-label = 仅父进程
+toolbox-mode-parent-process-sub-label = (快速)
+toolbox-mode-parent-process-container =
+ .title = 仅聚焦于来自父进程的资源。
+
+toolbox-always-on-top-enabled2 = 禁用“总显示在最前端”
+ .title = 将重启开发者工具
+toolbox-always-on-top-disabled2 = 启用“总显示在最前端”
+ .title = 将重启开发者工具
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.ftl
new file mode 100644
index 0000000000..768d179709
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/client/tooltips.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/.
+
+
+### Localization for Developer Tools tooltips.
+
+learn-more = <span data-l10n-name="link">详细了解</span>
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain why
+## the property is not applied.
+## Variables:
+## $property (string) - A CSS property name e.g. "color".
+## $display (string) - A CSS display value e.g. "inline-block".
+
+inactive-css-not-grid-or-flex-container = 由于不是弹性容器或网格容器,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-grid-or-flex-container-or-multicol-container = 由于不是 Flex 容器、Grid 容器或多栏容器, <strong>{ $property }</strong> 对此元素没有影响。
+inactive-css-not-multicol-container = 由于不是多列容器,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-grid-or-flex-item = 由于不是弹性或网格项目,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-grid-item = 由于不是网格项目,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-grid-container = 由于不是网格容器,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-flex-item = 由于不是弹性项目,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-flex-container = 由于不是弹性容器,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-inline-or-tablecell = 由于不是内联或表格单元格元素,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-first-line-pseudo-element-not-supported = ::first-line 伪元素不支持 <strong>{ $property }</strong>。
+inactive-css-first-letter-pseudo-element-not-supported = ::first-letter 伪元素不支持 <strong>{ $property }</strong>。
+inactive-css-placeholder-pseudo-element-not-supported = ::placeholder 伪元素不支持 <strong>{ $property }</strong>。
+inactive-css-property-because-of-display = 由于其有 <strong>{ $display }</strong> 的 display 属性,<strong>{ $property }</strong> 对此元素没有影响。
+inactive-css-not-display-block-on-floated = 由于是 <strong>floated</strong> 元素,引擎已将 <strong>display</strong> 值更改为 <strong>block</strong>。
+inactive-css-property-is-impossible-to-override-in-visited = 由于 <strong>:visited</strong> 的限制,无法覆盖 <strong>{ $property }</strong>。
+inactive-css-position-property-on-unpositioned-box = 由于不是定位元素,<strong>{ $property }</strong> 对此元素无效。
+inactive-text-overflow-when-no-overflow = 由于未设置 <strong>overflow:hidden</strong>,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-for-internal-table-elements = <strong>{ $property }</strong> 对内部表格元素无影响。
+inactive-css-not-for-internal-table-elements-except-table-cells = <strong>{ $property }</strong> 对内部表格元素(表格单元格除外)无影响。
+inactive-css-not-table = 由于不是表格项目,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-not-table-cell = 由于不是单元格,<strong>{ $property }</strong> 对此元素无效。
+inactive-scroll-padding-when-not-scroll-container = 由于不会滚动,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-border-image = 由于父表格元素的 <strong>border-collapse</strong> 已设为 <strong>collapse</strong>,无法应用至内部表格元素,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-ruby-element = <strong>{ $property }</strong> 对此 ruby 元素无效。此元素大小由 ruby 字体大小决定。
+inactive-css-highlight-pseudo-elements-not-supported = 强调(highlight)目的的伪元素上不支持 <strong>{ $property }</strong>。
+inactive-css-cue-pseudo-element-not-supported = ::cue 伪元素不支持 <strong>{ $property }</strong>。
+# Variables:
+# $lineCount (integer) - The number of lines the element has.
+inactive-css-text-wrap-balance-lines-exceeded = 由于超过 { $lineCount } 行,<strong>{ $property }</strong> 对此元素无效。
+inactive-css-text-wrap-balance-fragmented = <strong>{ $property }</strong> 对此元素没有影响,因为它是分割的,即它的内容分布在多个栏或页中。
+
+## In the Rule View when a CSS property cannot be successfully applied we display
+## an icon. When this icon is hovered this message is displayed to explain how
+## the problem can be solved.
+
+inactive-css-not-grid-or-flex-container-fix = 请尝试添加 <strong>display:grid</ strong> 或 <strong>display:flex</strong>。{ learn-more }
+inactive-css-not-grid-or-flex-container-or-multicol-container-fix = 请尝试加入 <strong>display:grid</strong>、<strong>display:flex</strong> 或 <strong>columns:2</strong>。{ learn-more }
+inactive-css-not-multicol-container-fix = 请尝试添加 <strong>column-count</strong> 或 <strong>column-width</strong>。{ learn-more }
+inactive-css-not-grid-or-flex-item-fix-3 = 请尝试为元素的父元素添加 <strong>display:grid</ strong>、<strong>display:flex</strong>, <strong>display:inline-grid</strong> 或 <strong>display:inline-flex</strong>。{ learn-more }
+inactive-css-not-grid-item-fix-2 = 请尝试为元素的父元素添加 <strong>display:grid</strong> 或 <strong>display:inline-grid</strong>。{ learn-more }
+inactive-css-not-grid-container-fix = 请尝试添加 <strong>display:grid</strong> 或 <strong>display:inline-grid</strong>。{ learn-more }
+inactive-css-not-flex-item-fix-2 = 请尝试为元素的父元素添加 <strong>display:flex</strong> 或 <strong>display:inline-flex</strong>。{ learn-more }
+inactive-css-not-flex-container-fix = 请尝试添加 <strong>display:flex</strong> 或 <strong>display:inline-flex</strong>。{ learn-more }
+inactive-css-not-inline-or-tablecell-fix = 请尝试添加 <strong>display:inline</strong> 或 <strong>display:table-cell</strong>。{ learn-more }
+inactive-css-non-replaced-inline-or-table-row-or-row-group-fix = 请尝试添加 <strong>display:inline-block</strong> 或 <strong>display:block</strong>。{ learn-more }
+inactive-css-non-replaced-inline-or-table-column-or-column-group-fix = 请尝试添加 <strong>display:inline-block</strong>。{ learn-more }
+inactive-css-not-display-block-on-floated-fix = 请尝试移除 <strong>float</strong> 或添加 <strong>display:block</strong>。{ learn-more }
+inactive-css-position-property-on-unpositioned-box-fix = 请尝试将其 <strong>position</strong> 属性设为非 <strong>static</strong> 的值。{ learn-more }
+inactive-text-overflow-when-no-overflow-fix = 请尝试添加 <strong>overflow:hidden</strong>。{ learn-more }
+inactive-css-not-for-internal-table-elements-fix = 请尝试将其 <strong>display</strong> 设为 <strong>table-cell</strong>、<strong>table-column</strong>、<strong>table-row</strong>、<strong>table-column-group</strong>、<strong>table-row-group</strong> 或 <strong>table-footer-group</strong> 以外的值。{ learn-more }
+inactive-css-not-for-internal-table-elements-except-table-cells-fix = 请尝试将其 <strong>display</strong> 设为 <strong>table-column</strong>、<strong>table-row</strong>、<strong>table-column-group</strong>、<strong>table-row-group</strong> 或 <strong>table-footer-group</strong> 以外的值。{ learn-more }
+inactive-css-not-table-fix = 请尝试添加 <strong>display:table</strong> 或 <strong>display:inline-table</strong>。{ learn-more }
+inactive-css-not-table-cell-fix = 请尝试添加<strong>display:table-cell</strong>。{ learn-more }
+inactive-scroll-padding-when-not-scroll-container-fix = 请尝试添加 <strong>overflow:auto</strong>、<strong>overflow:scroll</strong> 或 <strong>overflow:hidden</strong>。{ learn-more }
+inactive-css-border-image-fix = 请在父表格元素上移除该属性,或将 <strong>border-collapse</strong> 的值更改为 <strong>collapse</strong> 以外的值。{ learn-more }
+inactive-css-ruby-element-fix = 请尝试调整 ruby 文本的 <strong>font-size</strong>。{ learn-more }
+inactive-css-text-wrap-balance-lines-exceeded-fix = 请尝试减少行数。{ learn-more }
+inactive-css-text-wrap-balance-fragmented-fix = 避免分割元素的内容,比如移除横栏或使用 <strong>page-break-inside:avoid</strong>。{ learn-more }
+
+## In the Rule View when a CSS property may have compatibility issues with other browsers
+## we display an icon. When this icon is hovered this message is displayed to explain why
+## the property is incompatible and the platforms it is incompatible on.
+## Variables:
+## $property (string) - A CSS declaration name e.g. "-moz-user-select" that can be a platform specific alias.
+## $rootProperty (string) - A raw CSS property name e.g. "user-select" that is not a platform specific alias.
+
+css-compatibility-default-message = 下列浏览器不支持 <strong>{ $property }</strong>:
+css-compatibility-deprecated-experimental-message = <strong>{ $property }</strong> 原为实验性属性,现行 W3C 标准已弃用,下列浏览器已不支持:
+css-compatibility-deprecated-experimental-supported-message = <strong>{ $property }</strong> 原为实验性属性,现行 W3C 标准已弃用。
+css-compatibility-deprecated-message = <strong>{ $property }</strong> 在现行 W3C 标准中已弃用,下列浏览器已不支持:
+css-compatibility-deprecated-supported-message = <strong>{ $property }</strong> 在 W3C 标准中已弃用。
+css-compatibility-experimental-message = <strong>{ $property }</strong> 为实验性属性,在下列浏览器中已不支持:
+css-compatibility-experimental-supported-message = <strong>{ $property }</strong> 为实验性属性。
+css-compatibility-learn-more-message = <span data-l10n-name="link">详细了解</span>“<strong>{ $rootProperty }</strong>”
+
+## In the Rule View when a rule selector can causes issues, we display an icon.
+## When this icon is hovered one or more of those messages are displayed to explain what
+## the issue are.
+
+# :has() should not be translated
+css-selector-warning-unconstrained-has = 此选择器使用了不受约束的 <strong>:has()</strong>,可能拖慢速度
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/debugger-paused-reasons.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/debugger-paused-reasons.ftl
new file mode 100644
index 0000000000..f5372835dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 在 debugger 语句上暂停
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a breakpoint
+whypaused-breakpoint = 在断点上暂停
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event breakpoint.
+whypaused-event-breakpoint = 在事件断点上暂停
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an exception
+whypaused-exception = 在异常上暂停
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a DOM mutation breakpoint
+whypaused-mutation-breakpoint = 在 DOM 变动上暂停
+
+# The text that is displayed to describe an added node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-added = 已添加:
+
+# The text that is displayed to describe a removed node which triggers a subtree
+# modification
+whypaused-mutation-breakpoint-removed = 已移除:
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused at a JS execution
+whypaused-interrupted = 在异常处暂停
+
+# 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 = 单步调试时暂停
+
+# 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 = 在事件监听器上暂停
+
+# The text that is displayed in an info block when evaluating a conditional
+# breakpoint throws an error
+whypaused-breakpoint-condition-thrown = 条件断点有错误
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an xml http request
+whypaused-xhr = 在 XMLHttpRequest 上暂停
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a promise rejection
+whypaused-promise-rejection = 在 promise 拒绝上暂停
+
+# 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 = 在属性访问上暂停
+
+# 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 = 暂停于属性设置时
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an assert
+whypaused-assert = 在断言上暂停
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on a debugger statement
+whypaused-debug-command = 在被调试函数上暂停
+
+# The text that is displayed in a info block explaining how the debugger is
+# currently paused on an event listener breakpoint set
+whypaused-other = 调试器已暂停
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/highlighters.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/highlighters.ftl
new file mode 100644
index 0000000000..3d174537f2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 行 { $row } / 列 { $column }
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid container.
+gridtype-container = Grid 容器
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a grid item.
+gridtype-item = Grid 项目
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a grid container and a grid item.
+gridtype-dual = Grid 容器/项目
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex container.
+flextype-container = Flex 容器
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is a flex item.
+flextype-item = Flex 项目
+
+# The layout type of an element shown in the infobar when hovering over a DOM element and
+# it is both a flex container and a flex item.
+flextype-dual = Flex 容器/项目
+
+# 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 = 已启用开发者工具 - 节点选取器。{ $action }
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on desktop
+remote-node-picker-notice-action-desktop = 点击元素即可在查看器中选择
+
+# Text displayed in `remote-node-picker-notice`, when the remote page is on Android
+remote-node-picker-notice-action-touch = 点按元素即可在查看器中选择
+
+# 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 = 隐藏
+
+# 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 = 当启用 prefers-reduced-motion 时,可以在设置面板中启用更简单的高亮显示,可以避免颜色闪烁。
+
+# Text displayed in a button inside the "simple-highlighters-message" toolbox
+# notification. "Settings" here refers to the DevTools settings panel.
+simple-highlighters-settings-button = 打开设置
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/webconsole-commands.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/webconsole-commands.ftl
new file mode 100644
index 0000000000..9ffbed197a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/shared/webconsole-commands.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/.
+
+
+# These strings are used inside the Web Console commands
+# which can be executed in the Developer Tools, available in the
+# Browser Tools sub-menu -> 'Web Developer Tools'
+
+# Usage string for :block command
+webconsole-commands-usage-block =
+ :block URL_STRING
+
+ 开始拦截网络请求
+
+ 仅接受一个 URLSTRING 参数(一个不含引号的字符串),将用于拦截所有对包含此字符串的网址的请求
+
+ 使用 :unblock 或网络监视器中的请求拦截侧栏来撤销。
+# Usage string for :unblock command
+webconsole-commands-usage-unblock =
+ :unblock URL_STRING
+
+ 停止拦截网络请求
+
+ 仅接受一个参数(需与之前传递给 :block 的字符串相同)
+# Usage string for :trace command
+webconsole-commands-usage-trace =
+ :trace
+
+ 切换 JavaScript 跟踪器
+
+ 它支持下列参数
+ --logMethod:设置为 ‘console’ 记录到 Web 控制台(默认值)或设置为 ‘stdout’ 记录到标准输出。
+ --prefix:可选字符串,会被添加到所有跟踪日志的前面。
+ --help 或 --usage:显示此消息。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/startup/key-shortcuts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/devtools/startup/key-shortcuts.ftl
new file mode 100644
index 0000000000..bbc2c7ca1e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/dom/XMLPrettyPrint.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/dom/XMLPrettyPrint.ftl
new file mode 100644
index 0000000000..b13fe97292
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 该 XML 文件并未包含任何关联的样式信息。文档树显示如下。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/dom/media.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/dom/media.ftl
new file mode 100644
index 0000000000..3f43e2d2ca
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 默认音频输出设备
+mediastatus-fallback-title = { -brand-short-name } 正在播放媒体
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/locales-preview/aboutTranslations.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/locales-preview/aboutTranslations.ftl
new file mode 100644
index 0000000000..68e9d8aafd
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/messenger/about3Pane.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/about3Pane.ftl
new file mode 100644
index 0000000000..9cdcdbdd29
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/about3Pane.ftl
@@ -0,0 +1,401 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = 开启快速筛选栏
+quick-filter-button-label = 快速筛选
+thread-pane-header-display-button =
+ .title = 消息列表选项
+# Variables:
+# $count (Number) - The number of messages in this folder.
+thread-pane-folder-message-count = { $count } 条消息
+# Variables:
+# $count (Number) - The number of messages currently selected.
+thread-pane-folder-selected-count = 已选择 { $count } 个消息
+thread-pane-header-context-table-view =
+ .label = 表格视图
+thread-pane-header-context-cards-view =
+ .label = 卡片视图
+thread-pane-header-context-hide =
+ .label = 隐藏消息标题
+
+## 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 = 切换文件夹时保留过滤条件
+# The tooltip for the filter button that replaces the quick filter buttons with
+# a dropdown menu.
+quick-filter-bar-dropdown =
+ .title = 快速筛选菜单
+quick-filter-bar-dropdown-unread =
+ .label = 未读
+quick-filter-bar-dropdown-starred =
+ .label = 星标
+quick-filter-bar-dropdown-inaddrbook =
+ .label = 联系人
+quick-filter-bar-dropdown-tags =
+ .label = 标签
+quick-filter-bar-dropdown-attachment =
+ .label = 附件
+# The tooltip for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread =
+ .title = 仅显示未读消息
+# The label for the filter button that causes us to filter results to only
+# include unread messages.
+quick-filter-bar-unread-label = 未读
+# 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 = 仅显示星标消息
+# 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 = 已加星标
+# 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 = 仅显示来自通讯录中联系人的消息
+# 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 = 联系人
+# 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 = 仅显示已加标签消息
+# 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 = 标签
+# The tooltip for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment =
+ .title = 仅显示带附件的消息
+# The label for the filter button that causes us to filter results to only
+# include messages with attachments.
+quick-filter-bar-attachment-label = 附件
+# 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 = 没有结果
+# 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 } 条消息
+# 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 = 过滤符合条件的消息 <{ quick-filter-bar-textbox-shortcut }>
+quick-filter-bar-search =
+ .label = 过滤消息:
+# Keyboard shortcut for the text search box.
+# This should match quick-filter-bar-show in messenger.ftl.
+quick-filter-bar-search-shortcut =
+ { PLATFORM() ->
+ [macos] <kbd>⇧</kbd> <kbd>⌘</kbd> <kbd>K</kbd>
+ *[other] <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd>
+ }
+# This is the empty text for the text search box.
+# The goal is to convey to the user that typing in the box will filter the
+# messages and that there is a hotkey they can press to get to the box faster.
+quick-filter-bar-search-placeholder-with-key = 过滤消息… { quick-filter-bar-search-shortcut }
+# Label of the search button in the quick filter bar text box. Clicking it will
+# launch a global search.
+quick-filter-bar-search-button =
+ .alt = 搜索全局
+# Tooltip of the Any-of/All-of tagging mode selector.
+quick-filter-bar-boolean-mode =
+ .title = 标签筛选模式
+# The Any-of tagging mode.
+quick-filter-bar-boolean-mode-any =
+ .label = 任何
+ .title = 匹配任一选定的标签标准
+# The All-of tagging mode.
+quick-filter-bar-boolean-mode-all =
+ .label = 完全
+ .title = 完全匹配选定的标签标准
+# 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 = 过滤消息:
+# The button label that toggles whether the text filter searches the message
+# sender for the string.
+quick-filter-bar-text-filter-sender = 发件人
+# The button label that toggles whether the text filter searches the message
+# recipients (to, cc) for the string.
+quick-filter-bar-text-filter-recipients = 收件人
+# The button label that toggles whether the text filter searches the message
+# subject for the string.
+quick-filter-bar-text-filter-subject = 主题
+# The button label that toggles whether the text filter searches the message
+# body for the string.
+quick-filter-bar-text-filter-body = 消息体
+# The first line of the panel popup that tells the user we found no matches
+# but we can convert to a global search for them.
+quick-filter-bar-gloda-upsell-line1 = 在所有文件夹中继续进行搜索
+# 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 = 请再次按“回车” 键继续搜索:{ $text }
+
+## Folder pane
+
+folder-pane-get-messages-button =
+ .title = 获取消息
+folder-pane-get-all-messages-menuitem =
+ .label = 获取所有新消息
+ .accesskey = G
+folder-pane-write-message-button = 写消息
+ .title = 撰写新消息
+folder-pane-more-menu-button =
+ .title = 文件夹窗格选项
+# Context menu item to show/hide different folder types in the folder pane
+folder-pane-header-folder-modes =
+ .label = 文件夹模式
+# Context menu item to toggle display of "Get messages" button in folder pane header
+folder-pane-header-context-toggle-get-messages =
+ .label = 显示“获取消息”
+# Context menu item to toggle display of "New Message" button in folder pane header
+folder-pane-header-context-toggle-new-message =
+ .label = 显示“新建消息”
+folder-pane-header-context-hide =
+ .label = 隐藏文件夹窗格标题
+folder-pane-show-total-toggle =
+ .label = 显示总消息数
+# Context menu item to show or hide folder sizes
+folder-pane-header-toggle-folder-size =
+ .label = 显示文件夹大小
+folder-pane-header-hide-local-folders =
+ .label = 隐藏本地文件夹
+folder-pane-mode-context-button =
+ .title = 文件夹模式选项
+folder-pane-mode-context-toggle-compact-mode =
+ .label = 紧凑模式
+ .accesskey = C
+folder-pane-mode-move-up =
+ .label = 上移
+folder-pane-mode-move-down =
+ .label = 下移
+# Variables:
+# $count (Number) - Number of unread messages.
+folder-pane-unread-aria-label = { $count } 条未读消息
+# Variables:
+# $count (Number) - Number of total messages.
+folder-pane-total-aria-label = 总共 { $count } 条消息
+
+## Message thread pane
+
+threadpane-column-header-select =
+ .title = 切换选择所有消息
+threadpane-column-header-select-all =
+ .title = 选择所有消息
+threadpane-column-header-deselect-all =
+ .title = 取消选择所有消息
+threadpane-column-label-select =
+ .label = 选择消息
+threadpane-cell-select =
+ .aria-label = 选择消息
+threadpane-column-header-thread =
+ .title = 切换消息主题
+threadpane-column-label-thread =
+ .label = 话题
+threadpane-cell-thread =
+ .aria-label = 话题状态
+threadpane-column-header-flagged =
+ .title = 按星标排序
+threadpane-column-label-flagged =
+ .label = 已加星标
+threadpane-cell-flagged =
+ .aria-label = 星标
+threadpane-flagged-cell-label = 已加星标
+threadpane-column-header-attachments =
+ .title = 按附件排序
+threadpane-column-label-attachments =
+ .label = 附件
+threadpane-cell-attachments =
+ .aria-label = 附件
+threadpane-attachments-cell-label = 附件
+threadpane-column-header-spam =
+ .title = 按垃圾状态排序
+threadpane-column-label-spam =
+ .label = 垃圾
+threadpane-cell-spam =
+ .aria-label = 垃圾状态
+threadpane-spam-cell-label = 垃圾
+threadpane-column-header-unread-button =
+ .title = 按阅读状态排序
+threadpane-column-label-unread-button =
+ .label = 阅读状态
+threadpane-cell-read-status =
+ .aria-label = 阅读状态
+threadpane-read-cell-label = 已读
+threadpane-unread-cell-label = 未读
+threadpane-column-header-sender = 来自
+ .title = 按来自排序
+threadpane-column-label-sender =
+ .label = 来自
+threadpane-cell-sender =
+ .aria-label = 发件人
+threadpane-column-header-recipient = 收件人
+ .title = 按收件人排序
+threadpane-column-label-recipient =
+ .label = 收件人
+threadpane-cell-recipient =
+ .aria-label = 收件人
+threadpane-column-header-correspondents = 通信者
+ .title = 按通信者排序
+threadpane-column-label-correspondents =
+ .label = 通信者
+threadpane-cell-correspondents =
+ .aria-label = 联系人
+threadpane-column-header-subject = 主题
+ .title = 按主题排序
+threadpane-column-label-subject =
+ .label = 主题
+threadpane-cell-subject =
+ .aria-label = 主题
+threadpane-column-header-date = 日期
+ .title = 按日期排序
+threadpane-column-label-date =
+ .label = 日期
+threadpane-cell-date =
+ .aria-label = 日期
+threadpane-column-header-received = 接收时间
+ .title = 按接收日期排序
+threadpane-column-label-received =
+ .label = 接收时间
+threadpane-cell-received =
+ .aria-label = 接收日期
+threadpane-column-header-status = 状态
+ .title = 按状态排序
+threadpane-column-label-status =
+ .label = 状态
+threadpane-cell-status =
+ .aria-label = 状态
+threadpane-column-header-size = 大小
+ .title = 按大小排序
+threadpane-column-label-size =
+ .label = 大小
+threadpane-cell-size =
+ .aria-label = 大小
+threadpane-column-header-tags = 标签
+ .title = 按标签排序
+threadpane-column-label-tags =
+ .label = 标签
+threadpane-cell-tags =
+ .aria-label = 标签
+threadpane-column-header-account = 账户
+ .title = 按账户排序
+threadpane-column-label-account =
+ .label = 账户
+threadpane-cell-account =
+ .aria-label = 账户
+threadpane-column-header-priority = 优先级
+ .title = 按优先级排序
+threadpane-column-label-priority =
+ .label = 优先级
+threadpane-cell-priority =
+ .aria-label = 优先级
+threadpane-column-header-unread = 未读
+ .title = 话题中未读的消息数
+threadpane-column-label-unread =
+ .label = 未读
+threadpane-cell-unread =
+ .aria-label = 未读消息数
+threadpane-column-header-total = 总计
+ .title = 话题中消息的总数
+threadpane-column-label-total =
+ .label = 总计
+threadpane-cell-total =
+ .aria-label = 消息总数
+threadpane-column-header-location = 位置
+ .title = 按位置排序
+threadpane-column-label-location =
+ .label = 位置
+threadpane-cell-location =
+ .aria-label = 位置
+threadpane-column-header-id = 接收顺序
+ .title = 按接收顺序排序
+threadpane-column-label-id =
+ .label = 接收顺序
+threadpane-cell-id =
+ .aria-label = 接收顺序
+threadpane-column-header-delete =
+ .title = 删除消息
+threadpane-column-label-delete =
+ .label = 删除
+threadpane-cell-delete =
+ .aria-label = 删除
+
+## Message state variations
+
+threadpane-message-new =
+ .alt = 新消息标记
+ .title = 新消息
+threadpane-message-replied =
+ .alt = 已回复标记
+ .title = 已回复
+threadpane-message-redirected =
+ .alt = 已重定向标记
+ .title = 消息已重定向
+threadpane-message-forwarded =
+ .alt = 已转发标记
+ .title = 已转发
+threadpane-message-replied-forwarded =
+ .alt = 已回复并转发标记
+ .title = 已回复并转发
+threadpane-message-replied-redirected =
+ .alt = 已回复并重定向标记
+ .title = 已回复并重定向
+threadpane-message-forwarded-redirected =
+ .alt = 已转发并重定向标记
+ .title = 已转发并重定向
+threadpane-message-replied-forwarded-redirected =
+ .alt = 已回复、转发和重定向标记
+ .title = 已回复、转发和重定向
+apply-columns-to-menu =
+ .label = 将列设定应用至…
+apply-current-view-to-menu =
+ .label = 将当前视图应用到…
+apply-current-view-to-folder =
+ .label = 文件夹…
+apply-current-view-to-folder-children =
+ .label = 文件夹及其子项目…
+
+## Apply columns confirmation dialog
+
+apply-changes-to-folder-title = 应用更改?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-message = 将本文件夹的列设定应用至 { $name } 吗?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-columns-to-folder-with-children-message = 将本文件夹的列设置应用至 { $name } 以及其子文件夹吗?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-message = 要将当前文件夹的视图应用到 { $name } 吗?
+# Variables:
+# $name (String): The name of the folder to apply to.
+apply-current-view-to-folder-with-children-message = 要将当前文件夹的视图应用于 { $name } 及其子文件夹吗?
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutAddonsExtra.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutAddonsExtra.ftl
new file mode 100644
index 0000000000..5814fa2e30
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutAddonsExtra.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+add-on-options-button =
+ .title = 附加组件选项
+
+add-on-search-alternative-button-label = 寻找替代附加组件
+
+atn-addons-heading-search-input =
+ .placeholder = 在 addons.thunderbird.net 上搜索
+
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutDialog.ftl
new file mode 100644
index 0000000000..ab65a9d613
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutDialog.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-update-whats-new = 新版变化
+about-dialog-title = 关于 { -brand-full-name }
+release-notes-link = 发行说明
+update-internal-error = 发生内部错误,无法检查更新。可访问 <a data-l10n-name="manual-link"/> 手动下载更新。
+update-check-for-updates-button = 检查更新
+ .accesskey = C
+update-update-button = 重启 { -brand-shorter-name } 以完成更新
+ .accesskey = R
+update-checking-for-updates = 正在检查更新…
+update-downloading-message = 正在下载更新 — <span data-l10n-name="download-status"></span>
+update-applying = 正在应用更新…
+update-downloading = <img data-l10n-name="icon"/>正在下载更新 — <span data-l10n-name="download-status"></hspan>
+update-failed = 更新失败。 <a data-l10n-name="failed-link">下载最新版本</a>
+update-admin-disabled = 更新已被您的系统管理员禁用
+update-no-updates-found = { -brand-short-name } 已是最新
+update-other-instance-handling-updates = { -brand-short-name } 正在由其他实例更新
+update-manual = <a data-l10n-name="manual-link"/> 有可用更新
+update-unsupported = 您不能在这个系统上进行进一步的更新。<a data-l10n-name="unsupported-link">详细了解</a>
+update-restarting = 正在重启客户端…
+# Variables:
+# $channel (String): description of the update channel (e.g. "release", "beta", "nightly" etc.)
+channel-description = 您目前处在 <span data-l10n-name="current-channel">{ $channel }</span> 更新通道。
+warning-desc-version = { -brand-short-name } 是实验性的版本,可能不稳定。
+warning-desc-telemetry = 它会自动回传有关性能、硬件、使用及定制情况的信息到 { -vendor-short-name } 以帮助改善 { -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 } 位)
+# 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 } 位)
+aboutdialog-update-checking-failed = 检查更新失败。
+community-experimental = <a data-l10n-name="community-exp-mozilla-link">{ -vendor-short-name }</a>是一个<a data-l10n-name="community-exp-credits-link">全球社区</a>,致力于让互联网保持开放、公开且人人可用。
+community-desc = { -brand-short-name } 诞生于 <a data-l10n-name="community-mozilla-link">{ -vendor-short-name }</a>。我们是一个<a data-l10n-name="community-credits-link">全球社区</a>,致力于让互联网保持开放、公开且人人可用。
+about-donation = 想支持我们吗?<a data-l10n-name="helpus-donate-link">向我们捐款</a>或<a data-l10n-name="helpus-get-involved-link">参与进来!</a>
+bottom-links-license = 许可信息
+bottom-links-rights = 最终用户权利
+bottom-links-privacy = 隐私权政策
+cmd-close-mac-command-key =
+ .key = w
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutImport.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutImport.ftl
new file mode 100644
index 0000000000..86a26e1501
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutImport.ftl
@@ -0,0 +1,178 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+import-page-title = 导入
+export-page-title = 导出
+
+## Header
+
+import-start = 导入工具
+import-start-title = 从应用程序或文件导入设置或数据。
+import-start-description = 选择要导入的源。稍后将要求您选择需要导入的数据。
+import-from-app = 从应用程序导入
+import-file = 从文件导入
+import-file-title = 选择文件以导入其内容。
+import-file-description = 选择导入以前备份的配置文件、通讯录或日历。
+import-address-book-title = 导入通讯录文件
+import-calendar-title = 导入日历文件
+export-profile = 导出
+
+## Buttons
+
+button-back = 上一步
+button-continue = 继续
+button-export = 导出
+button-finish = 完成
+
+## Import from app steps
+
+app-name-thunderbird = Thunderbird
+app-name-seamonkey = SeaMonkey
+app-name-outlook = Outlook
+app-name-becky = Becky! Internet Mail
+app-name-apple-mail = Apple 邮件
+source-thunderbird = 从另一个 { app-name-thunderbird } 安装导入
+source-thunderbird-description = 从 { app-name-thunderbird } 配置文件导入设置、过滤器、消息和其他数据。
+source-seamonkey = 从已安装的 { app-name-seamonkey } 导入
+source-seamonkey-description = 从 { app-name-seamonkey } 配置文件导入设置、过滤器、消息和其他数据。
+source-outlook = 从 { app-name-outlook } 导入
+source-outlook-description = 从 { app-name-outlook } 导入账户、通讯录和消息。
+source-becky = 从 { app-name-becky } 导入
+source-becky-description = 从 { app-name-becky }导入通讯录和消息。
+source-apple-mail = 从 { app-name-apple-mail } 导入
+source-apple-mail-description = 从 { app-name-apple-mail } 导入消息。
+source-file2 = 从文件导入
+source-file-description = 请选择文件导入通讯录、日历或配置文件备份(ZIP 文件)。
+
+## Import from file selections
+
+file-profile2 = 导入备份配置文件
+file-profile-description = 选择以前备份的 Thunderbird 配置文件 (.zip)
+file-calendar = 导入日历
+file-calendar-description = 请选择包含导出日历或事件(.ics)的文件
+file-addressbook = 导入通讯录
+file-addressbook-description = 选择包含导出的通讯簿和联系人文件
+
+## Import from app profile steps
+
+from-app-thunderbird = 从 { app-name-thunderbird } 配置文件导入
+from-app-seamonkey = 从 { app-name-seamonkey } 配置文件导入
+from-app-outlook = 从 { app-name-outlook } 导入
+from-app-becky = 从 { app-name-becky } 导入
+from-app-apple-mail = 从 { app-name-apple-mail } 导入
+profiles-pane-title-thunderbird = 从 { app-name-thunderbird } 配置文件导入设置和数据。
+profiles-pane-title-seamonkey = 从 { app-name-seamonkey } 配置文件导入设置和数据。
+profiles-pane-title-outlook = 从 { app-name-outlook } 导入数据。
+profiles-pane-title-becky = 从 { app-name-becky } 导入数据。
+profiles-pane-title-apple-mail = 从 { app-name-apple-mail } 导入消息。
+profile-source = 从配置文件导入
+# $profileName (string) - name of the profile
+profile-source-named = 从配置文件 <strong>"{ $profileName }"</strong> 导入
+profile-file-picker-directory = 选择配置文件目录
+profile-file-picker-archive = 选择 <strong>ZIP</strong> 文件
+profile-file-picker-archive-description = ZIP 文件必须小于 2GB。
+profile-file-picker-archive-title = 选择 ZIP 文件(小于 2GB)
+items-pane-title2 = 选择要导入的内容:
+items-pane-directory = 目录:
+items-pane-profile-name = 配置文件名称:
+items-pane-checkbox-accounts = 账户和设置
+items-pane-checkbox-address-books = 通讯录
+items-pane-checkbox-calendars = 日历
+items-pane-checkbox-mail-messages = 邮件消息
+items-pane-override = 任何现有或相同的数据都不会被覆盖。
+
+## Import from address book file steps
+
+import-from-addr-book-file-description = 选择包含您的通讯簿数据的文件格式。
+addr-book-csv-file = Tab 键或逗号分隔文件(.csv、.tsv)
+addr-book-ldif-file = LDIF 文件(.ldif)
+addr-book-vcard-file = vCard 文件(.vcf、.vcard)
+addr-book-sqlite-file = SQLite 数据库文件(.sqlite)
+addr-book-mab-file = Mork 数据库文件(.mab)
+addr-book-file-picker = 选择通讯录文件
+addr-book-csv-field-map-title = 匹配字段名称
+addr-book-csv-field-map-desc = 选择与来源字段对应的通讯录字段,可取消勾选不想导入的字段。
+addr-book-directories-title = 选择导入所选数据的位置
+addr-book-directories-pane-source = 源文件:
+# $addressBookName (string) - name of the new address book that would be created.
+addr-book-import-into-new-directory2 = 创建一个名为 <strong>"{ $addressBookName }"</strong> 的新目录
+# $addressBookName (string) - name of the address book to import into
+addr-book-summary-title = 将所选数据导入“{ $addressBookName }”目录
+# $addressBookName (string) - name of the address book that will be created.
+addr-book-summary-description = 将创建一个名为“{ $addressBookName }”的新通讯录。
+
+## Import from calendar file steps
+
+import-from-calendar-file-desc = 选择您要导入的 iCalendar(.ics)文件。
+calendar-items-title = 选择要导入的项目。
+calendar-items-loading = 正在加载项目…
+calendar-items-filter-input =
+ .placeholder = 过滤项目…
+calendar-select-all-items = 全选
+calendar-deselect-all-items = 取消全选
+calendar-target-title = 选择导入所选项目的位置。
+# $targetCalendar (string) - name of the new calendar that would be created
+calendar-import-into-new-calendar2 = 创建一个名为 <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 ->
+ *[other] 将 { $itemCount } 项导入“{ $targetCalendar }”日历
+ }
+# $targetCalendar (string) - name of the calendar that will be created
+calendar-summary-description = 将创建名为“{ $targetCalendar }”的新日历。
+
+## Import dialog
+
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-importing2 = 导入中... { $progressPercent }
+# $progressPercent (string) - percent formatted progress (for example "10%")
+progress-pane-exporting2 = 导出中… { $progressPercent }
+progress-pane-finished-desc2 = 完成。
+error-pane-title = 错误
+error-message-zip-file-too-big2 = 选择的 ZIP 文件大于 2GB。请先解压缩,然后从提取的文件夹中导入。
+error-message-extract-zip-file-failed2 = 无法解压 ZIP 文件。请手动解压,然后从解压后的文件夹中导入。
+error-message-failed = 导入意外失败,错误控制台中可能提供有更多信息。
+error-failed-to-parse-ics-file = 文件中未找到可导入项目。
+error-export-failed = 导入意外失败,错误控制台中可能提供更多信息。
+error-message-no-profile = 找不到配置文件。
+
+## <csv-field-map> element
+
+csv-first-row-contains-headers = 第一行包含字段名称
+csv-source-field = 来源字段
+csv-source-first-record = 第一条记录
+csv-source-second-record = 第二条记录
+csv-target-field = 通讯录字段
+
+## Export tab
+
+export-profile-title = 将账户、消息、通讯录和设置导出为 ZIP 文件。
+export-profile-description = 若您当前的配置文件超过 2GB,建议手动备份。
+export-open-profile-folder = 打开配置文件夹
+export-file-picker2 = 导出为 ZIP 文件
+export-brand-name = { -brand-product-name }
+
+## Summary pane
+
+summary-pane-title = 要导入的数据
+summary-pane-start = 开始导入
+summary-pane-warning = 导入完成后需重启 { -brand-product-name }。
+summary-pane-start-over = 重启导入工具
+
+## Footer area
+
+footer-help = 需要帮助?
+footer-import-documentation = 导入文档
+footer-export-documentation = 导出文档
+footer-support-forum = 技术支持论坛
+
+## Step navigation on top of the wizard pages
+
+step-list =
+ .aria-label = 导入步骤
+step-confirm = 确认
+# Variables:
+# $number (number) - step number
+step-count = { $number }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutProfilesExtra.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutProfilesExtra.ftl
new file mode 100644
index 0000000000..472d103d77
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutProfilesExtra.ftl
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiles-launch-profile-plain = 启动配置文件
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutRights.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutRights.ftl
new file mode 100644
index 0000000000..654b4f69dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutRights.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rights-title = 关于您的权利
+rights-intro = { -brand-full-name } 是一款自由开源软件,由来自世界各地成千上万的社区志愿者共同完成。以下几点您应该了解:
+rights-intro-point-1 = { -brand-short-name } 提供给您时依照的条款为 <a data-l10n-name="mozilla-public-license-link">Mozilla 公共许可证(MPL)</a>。这表示您可以使用、复制和向他人分发 { -brand-short-name }。我们也非常欢迎您按自己的需要修改 { -brand-short-name } 的源代码。Mozilla 公共许可证还授予您分发您自己修改过的软件版本的权利。
+rights-intro-point-2 = 您没有被授予 Mozilla 基金会或任何一方的任何商标权或许可证,包括但不限于 Thunderbird 的名称或徽标。在<a data-l10n-name="mozilla-trademarks-link">此处</a>可找到有关商标的其他信息。
+rights-intro-point-3 = { -brand-short-name } 的一些功能(例如崩溃报告器)使您可以向 { -vendor-short-name } 提供反馈。提交反馈的同时,您授权 { -vendor-short-name } 使用反馈信息改进产品、在其网站上发布反馈信息,以及分发反馈内容。
+rights-intro-point-4 = 关于我们如何使用您通过 { -brand-short-name } 提交给 { -vendor-short-name } 的个人信息和反馈,请参见 <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name } 隐私权政策</a>。
+rights-intro-point-4-unbranded = 任何适用于此产品的隐私条款都应被列于此处。
+rights-intro-point-5 = { -brand-short-name } 的一些功能使用了基于网络的服务信息,然而,我们无法保证它们 100% 正确且无差错。包括如何禁用这些服务功能的详细信息,请参见<a data-l10n-name="mozilla-service-terms-link">服务条款</a>。
+rights-intro-point-5-unbranded = 如果此产品结合了网站服务,任何适用的服务条款都应链接至<a data-l10n-name="mozilla-website-services-link">网站服务</a>章节提供链接。
+rights-intro-point-6 = 为了能够播放某些类型的视频内容,{ -brand-short-name } 会下载一些来自第三方的内容解密模块。
+rights-webservices-header = { -brand-full-name } 基于网络的信息服务
+rights-webservices2 = { -brand-full-name } 依照下列条款,为该二进制版本 { -brand-short-name } 的用户使用基于网络的信息服务(以下简称“服务”)提供某些功能。如果您不想使用其中的一项或者多项服务,或者不接受下述条款,您可以停用相应功能或服务。停用特定功能或服务的说明信息请参见<a data-l10n-name="mozilla-disable-service-link">这里</a>。其他特性和服务可以在本应用程序的设置中禁用。
+rights-locationawarebrowsing = <strong>位置感知浏览:</strong>是否启用的选择权永远在您的手中。未经您的许可不会有位置信息被发送。如果您想完全禁用此功能,请按照下列步骤操作:
+rights-locationawarebrowsing-term-1 = 在地址栏中,输入 <code>about:config</code>
+rights-locationawarebrowsing-term-2 = 输入 geo.enabled
+rights-locationawarebrowsing-term-3 = 双击 geo.enabled 项目
+rights-locationawarebrowsing-term-4 = 位置感知现在已禁用
+rights-webservices-unbranded = 在此处应当概述此产品所使用的网站服务,并介绍如何禁用它们的(如果有)。
+rights-webservices-term-unbranded = 任何适用于此产品的服务条款都应列于此处。
+rights-webservices-term-1 = { -vendor-short-name } 和它的贡献者、许可者以及合作伙伴一起致力于提供最精确和最新的服务。然而,我们并不保证信息是全面且毫无错误的。例如我们的安全浏览服务可能还不能识别出部分危险的网站,甚至还可能出错而误判一些安全的网站,以及由我们的位置感知服务商提供的位置也仅仅是一个大概的位置,我们和我们的服务提供商都不为该位置信息的准确性提供保证。
+rights-webservices-term-2 = { -vendor-short-name } 保留可以中止或修改本服务的自由裁量权。
+rights-webservices-term-3 = 欢迎使用各个版本 { -brand-short-name } 中附带的服务,{ -vendor-short-name } 授权您使用它们。{ -vendor-short-name } 和它们的许可人保留这些服务的其他所有权利。这些条款无意限制开放源代码应用程序许可赋予 { -brand-short-name } 的任何权利,并且与 { -brand-short-name } 的源代码版本相适应。
+rights-webservices-term-4 = <strong>本服务“按其现状”提供。{ -vendor-short-name } 及其贡献者、授权者、分发者不提供任何明示或暗示的担保,这些担保包括但不限于本服务适合使用,及适用于特定目的。您须承担为您的目的而选择本服务的一切风险,包括本服务的质量与性能。某些司法管辖区不允许排除或限制默示担保,因此本免责声明可能对您不适用。</strong>
+rights-webservices-term-5 = <strong>除法律规定,{ -vendor-short-name } 其贡献者、授权者和分发者将不承担以任何方式由使用 { -brand-short-name } 和服务而引起的任何间接、特殊、偶然、必然、惩罚或象征性的损害造成的损失。集体责任相关的赔偿额度也不得超过500美元。某些司法管辖区不允许排除或限制某些损害,所以此声明和限制可能对您不适用。</strong>
+rights-webservices-term-6 = { -vendor-short-name } 可在必要时更新这些条款。不得在未得到 { -vendor-short-name } 书面协议的前提下修改或取消这些条款。
+rights-webservices-term-7 = 这些条款均受美国加利福尼亚州法律的管辖,排除与法律冲突的部分。若这些条款的任何部分被裁定为无效或不可执行,其余部分仍将完全保留其有效性。若这些条款的翻译版本与英文版本发生冲突,以英文版本为准。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportCalendar.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportCalendar.ftl
new file mode 100644
index 0000000000..cf82bc6611
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 日历设置
+calendars-table-heading-property = 名称
+calendars-table-heading-value = 值
+calendars-table-name = 名称
+calendars-table-type = 类型
+calendars-table-disabled = 禁用
+calendars-table-username = 用户名
+calendars-table-uri = URI
+calendars-table-refreshinterval = 刷新间隔
+calendars-table-readonly = 只读
+calendars-table-suppressalarms = 关闭警示
+calendars-table-cache-enabled = 已启用缓存
+calendars-table-imip-identity = iMIP 身份
+calendars-table-imip-identity-disabled = 已禁用 iMIP
+calendars-table-imip-identity-account = iMIP 账户
+calendars-table-organizerid = 组织者 ID
+calendars-table-forceemailscheduling = 强制邮件安排
+calendars-table-capabilities-alarms-popup-supported = 支持弹出式警示
+calendars-table-capabilities-alarms-oninviations-supported = 支持在收到邀请时警示
+calendars-table-capabilities-alarms-maxcount = 单一事件的最大警示数
+calendars-table-capabilities-attachments-supported = 支持附件
+calendars-table-capabilities-categories-maxcount = 最大分类数
+calendars-table-capabilities-privacy-supported = 支持隐私状态
+calendars-table-capabilities-priority-supported = 支持优先级
+calendars-table-capabilities-events-supported = 支持事件
+calendars-table-capabilities-tasks-supported = 支持任务
+calendars-table-capabilities-timezones-floating-supported = 支持本地时间
+calendars-table-capabilities-timezones-utc-supported = 支持 UTC / GMT 时区
+calendars-table-capabilities-autoschedule-supported = 支持自动安排
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportChat.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportChat.ftl
new file mode 100644
index 0000000000..aa34deaa94
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportChat.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chat-title = 聊天账户
+chat-table-heading-account = ID
+chat-table-heading-protocol = 协议
+chat-table-heading-name = 名称
+chat-table-heading-actions = 操作
+chat-table-copy-debug-log = 复制调试日志
+ .title = 复制来自此聊天账户的错误和其他日志到剪贴板。可能会包含聊天消息等个人信息。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportMail.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportMail.ftl
new file mode 100644
index 0000000000..0c4b477434
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/aboutSupportMail.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+accounts-title = 邮件和新闻账户
+show-private-data-main-text = 包括账户名称
+show-private-data-explanation-text = (可能是身份信息)
+accounts-ID = ID
+accounts-name = 名称
+accounts-incoming-server = 收件服务器
+accounts-outgoing-servers = 发件服务器
+accounts-server-name = 名称
+accounts-conn-security = 连接安全性
+accounts-auth-method = 验证方式
+accounts-default = 默认值?
+identity-name = 身份
+send-via-email = 通过电子邮件发送
+app-basics-telemetry = 遥测数据
+app-basics-cache-use = 缓存占用
+mail-libs-title = 库
+libs-table-heading-library = 库
+libs-table-heading-expected-version = 可用的最低版本
+libs-table-heading-loaded-version = 目前使用的版本
+libs-table-heading-path = 路径
+libs-table-heading-status = 状态
+libs-rnp-status-ok = 确定
+libs-rnp-status-load-failed = 加载失败。 OpenPGP 将无法工作。
+libs-rnp-status-incompatible = 版本不兼容。 OpenPGP 将无法工作。
+libs-rnp-status-unofficial = 非官方版本。 OpenPGP 可能无法按预期工作。
+libs-otr-status-ok = 确定
+libs-otr-status-error = 加载失败。OTR 聊天加密将无法工作。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountCentral.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountCentral.ftl
new file mode 100644
index 0000000000..cc6e5ff282
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountCentral.ftl
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+account-central-title = 欢迎使用 { -brand-full-name }
+account-settings = 账户设置
+
+# $accounts (Number) - the number of configured accounts
+setup-title = 选择要设置的账户
+about-title = 关于 { -brand-full-name }
+resources-title = 资源
+
+release-notes =
+ .title = 关于 { -brand-full-name }
+
+email-label = 电子邮件
+ .aria-label = 连接现有的电子邮件账户
+email-description = { -brand-short-name } 可让您连接现有的电子邮件账户,高效便捷地收发邮件。
+
+calendar-label = 日历
+ .aria-label = 创建新的日历
+calendar-description = { -brand-short-name } 可让您轻松管理日历。若连接远程日历,则可将所有活动同步至所有设备。
+
+chat-label = 聊天
+ .aria-label = 连接到您的聊天账户
+chat-description = { -brand-short-name } 可让您连接不同平台的多个即时通信账户。
+
+filelink-label = 文件快传
+ .aria-label = 设置文件快传
+filelink-description = { -brand-short-name } 可让您设置方便易用的文件快传云账户,轻松发送大型附件。
+
+addressbook-label = 通讯录
+ .aria-label = 创建新通讯录
+addressbook-description = { -brand-short-name } 可让您在通讯录中管理所有联系人信息。您也可以连接到远程通讯录同步所有联系人数据。
+
+feeds-label = 收取点
+ .aria-label = 连接收取点
+feeds-description = { -brand-short-name } 可让您连接到 RSS/Atom 收取点,获取各地的即时消息与新闻。
+
+newsgroups-label = 新闻组
+ .aria-label = 连接到新闻组
+newsgroups-description = { -brand-short-name } 可让您连接到任何新闻组。
+
+import-title = 从其他程序导入…
+import-paragraph2 = { -brand-short-name } 可让您从其他程序导入邮件消息、通讯录条目、收取点订阅、设置以及来自其他邮件程序的过滤规则与常见格式的通讯录。
+
+import-label = 导入
+ .aria-label = 从其他程序导入数据
+
+about-paragraph = Thunderbird 是领先的开源、跨平台电子邮件和日历客户端,免费供企业和个人使用。我们希望它保持安全和变得更好。通过捐款,您可帮助我们聘请更多工程师、支付基础设施费用,并不断改进。
+
+about-paragraph-consider-donation = <b>Thunderbird 依赖着像您一样的用户来资助。如有能力,请考虑捐款。</b>确保 Thunderbird 维持运作的最佳方式是<a data-l10n-name="donation-link">向我们捐款</a>
+
+explore-link = 探索功能
+support-link = 用户支持
+involved-link = 参与进来
+developer-link = 开发者文档
+
+read = 阅读消息
+compose = 编写新消息
+search = 搜索消息
+filter = 管理消息过滤器
+nntp-subscription = 管理新闻组订阅
+rss-subscription = 管理收取点订阅
+e2e = 端到端加密
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountManager.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountManager.ftl
new file mode 100644
index 0000000000..a71c93ba1d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountManager.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+open-preferences-sidebar-button2 = { -brand-short-name } 设置
+
+open-addons-sidebar-button = 扩展和主题
+
+account-action-add-newsgroup-account =
+ .label = 新建新闻组账户...
+ .accesskey = N
+
+server-change-restart-required = 需要重启客户端才能应用服务器名称或用户名更改。
+
+edit-vcard-dialog-accept-button = 保存
+ .accesskey = S
+edit-vcard-dialog-cancel-button = 取消
+ .accesskey = C
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountProvisioner.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountProvisioner.ftl
new file mode 100644
index 0000000000..e22328a3ff
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountProvisioner.ftl
@@ -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/.
+
+account-provisioner-tab-title = 从服务商注册新邮箱
+
+provisioner-searching-icon =
+ .alt = 正在搜索…
+
+account-provisioner-title = 创建新的邮箱地址
+
+account-provisioner-description = 由我们的可靠合作伙伴,为您提供隐私又安全的邮箱。
+
+account-provisioner-start-help = 搜索词将发送至 { -vendor-short-name }(<a data-l10n-name="mozilla-privacy-link">隐私政策</a>)及第三方邮件服务商 <strong>mailfence.com</strong>(<a data-l10n-name="mailfence-privacy-link">隐私政策</a>、<a data-l10n-name="mailfence-tou-link">使用条款</a>)及 <strong>gandi.net</strong>(<a data-l10n-name="gandi-privacy-link">隐私政策</a>、<a data-l10n-name="gandi-tou-link">使用条款</a>)以寻找可用邮箱账户。
+
+account-provisioner-mail-account-title = 购买新邮箱
+
+account-provisioner-mail-account-description = Thunderbird 与 <a data-l10n-name="mailfence-home-link">Mailfence</a> 合作,为您提供私密且安全的电子邮件服务。我们相信,每个人都应该拥有一个安全的邮箱。
+
+account-provisioner-domain-title = 购买邮箱和专属域名
+
+account-provisioner-domain-description = Thunderbird 与 <a data-l10n-name="gandi-home-link">Gandi</a> 合作,让您可以使用自定义域名创建任何邮箱账户。
+
+## Forms
+
+account-provisioner-mail-input =
+ .placeholder = 您的名字、昵称或其他搜索词
+
+account-provisioner-domain-input =
+ .placeholder = 您的名字、昵称或其他搜索词
+
+account-provisioner-search-button = 搜索
+
+account-provisioner-button-cancel = 取消
+
+account-provisioner-button-existing = 使用现有的邮箱账户
+
+account-provisioner-button-back = 返回
+
+## Notifications
+
+account-provisioner-fetching-provisioners = 正在向服务商检索…
+
+account-provisioner-connection-issues = 无法与我们的注册服务器通信,请检查您的网络连接。
+
+account-provisioner-searching-email = 正在搜索可用的邮箱账户…
+
+account-provisioner-searching-domain = 正在搜索可用的域名…
+
+account-provisioner-searching-error = 找不到可建议您使用的账户,请尝试其他搜索词。
+
+## Illustrations
+
+account-provisioner-step1-image =
+ .title = 选择要创建的账户
+
+## Search results
+
+# Variables:
+# $count (Number) - The number of domains found during search.
+account-provisioner-results-title =
+ { $count ->
+ *[other] 找到 { $count } 个可用域名:
+ }
+
+account-provisioner-mail-results-caption = 您可以尝试搜索昵称或其他词以找到更多邮箱账户。
+
+account-provisioner-domain-results-caption = 您可以尝试搜索昵称或其他词以找到更多域名。
+
+account-provisioner-free-account = 免费
+
+account-provision-price-per-year = 每年 { $price }
+
+account-provisioner-all-results-button = 显示所有结果
+
+account-provisioner-open-in-tab-img =
+ .title = 新建标签页打开
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl
new file mode 100644
index 0000000000..5d5855c5c3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountHub.ftl
@@ -0,0 +1,83 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Account Hub
+### Account hub is where user can setup new accounts in Thunderbird.
+
+
+## Header
+
+account-hub-brand = { -brand-full-name }
+account-hub-welcome-line = 欢迎使用 <span data-l10n-name="brand-name">{ -brand-full-name }</span>
+account-hub-title = 账户中心
+
+## Footer
+
+account-hub-release-notes = 发行说明
+account-hub-support = 支持
+account-hub-donate = 捐赠
+
+## Initial setup page
+
+account-hub-email-setup-button = 邮箱账户
+ .title = 设置邮箱账户
+account-hub-calendar-setup-button = 日历
+ .title = 设置本地或远程日历
+account-hub-address-book-setup-button = 通讯录
+ .title = 设置本地或远程通讯录
+account-hub-chat-setup-button = 聊天
+ .title = 设置聊天账户
+account-hub-feed-setup-button = RSS 订阅
+ .title = 设置 RSS 订阅账户
+account-hub-newsgroup-setup-button = 新闻组
+ .title = 设置新闻组账户
+account-hub-import-setup-button = 导入
+ .title = 导入备份配置文件
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+account-hub-sync-button = 登录以同步…
+
+## Email page
+
+account-hub-email-title = 设置您的电子邮件账户
+account-hub-add-email-title = 添加您的账户
+account-hub-manually-configure-email-title = 设置账户配置
+account-hub-email-cancel-button = 取消
+account-hub-email-stop-button = 停用
+account-hub-email-back-button = 后退
+account-hub-email-retest-button = 重新测试
+account-hub-email-finish-button = 完成
+account-hub-email-manually-configure-button = 手动配置
+account-hub-email-continue-button = 继续
+account-hub-email-confirm-button = 确认
+account-hub-incoming-server-legend = 收件服务器
+account-hub-outgoing-server-legend = 发件服务器
+account-hub-protocol-label = 协议
+account-hub-hostname-label = 主机名
+account-hub-port-label = 端口
+ .title = 设置端口号为 0 表示自动检测
+account-hub-auto-description = { -brand-short-name } 将尝试自动检测留白的字段。
+account-hub-ssl-label = 连接安全性
+
+## Incoming/Outgoing SSL Authentication options
+
+account-hub-ssl-autodetect-option =
+ .label = 自动检测
+account-hub-ssl-no-authentication-option =
+ .label = 无须验证
+account-hub-ssl-cleartext-password-option =
+ .label = 普通密码
+account-hub-ssl-encrypted-password-option =
+ .label = 加密密码
+
+## Incoming/Outgoing SSL options
+
+account-hub-ssl-noencryption-option =
+ .label = 无
+account-hub-auth-label = 验证方式
+account-hub-username-label = 用户名
+account-hub-adding-account-title = 正在添加账户
+account-hub-adding-account-subheader = 正在重新测试账户配置
+account-hub-account-added-title = 账户已添加
+account-hub-find-settings-failed = { -brand-full-name } 未能找到您的邮件账户设置。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountSetup.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountSetup.ftl
new file mode 100644
index 0000000000..279bd58fbc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/accountcreation/accountSetup.ftl
@@ -0,0 +1,291 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = 账户设置
+
+## Header
+
+account-setup-title = 设置现有的电子邮件地址
+account-setup-description = 若要使用您现有的电子邮件地址,请填写您的凭据。
+account-setup-secondary-description = { -brand-product-name } 将自动搜索可用的和推荐的服务器配置。
+account-setup-success-title = 成功创建账户!
+account-setup-success-description = 您可以在 { -brand-short-name } 使用此账户了。
+account-setup-success-secondary-description = 您可以连接相关服务并配置账户高级选项来提升使用体验。
+
+## Form fields
+
+account-setup-name-label = 您的全名
+ .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 = 李四
+account-setup-name-info-icon =
+ .title = 您的名字,显示给其他人
+account-setup-name-warning-icon =
+ .title = 请输入您的名字
+account-setup-email-label = 电子邮件地址
+ .accesskey = E
+account-setup-email-input =
+ .placeholder = john.doe@example.com
+account-setup-email-info-icon =
+ .title = 您现有的电子邮件地址
+account-setup-email-warning-icon =
+ .title = 无效的电子邮件地址
+account-setup-password-label = 密码
+ .accesskey = P
+ .title = 可选,仅用于验证用户名
+account-provisioner-button = 注册新的电子邮件地址…
+ .accesskey = G
+account-setup-password-toggle-show =
+ .title = 以明文形式显示密码
+account-setup-password-toggle-hide =
+ .title = 隐藏密码
+account-setup-remember-password = 记住密码
+ .accesskey = m
+account-setup-exchange-label = 您的登录信息
+ .accesskey = l
+# YOURDOMAIN refers to the Windows domain in ActiveDirectory. yourusername refers to the user's account name in Windows.
+account-setup-exchange-input =
+ .placeholder = 您的域﹨您的用户名
+# 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 = 域登录
+
+## Action buttons
+
+account-setup-button-cancel = 取消
+ .accesskey = a
+account-setup-button-manual-config = 手动配置
+ .accesskey = m
+account-setup-button-stop = 停止
+ .accesskey = S
+account-setup-button-retest = 重新测试
+ .accesskey = t
+account-setup-button-continue = 继续
+ .accesskey = C
+account-setup-button-done = 完成
+ .accesskey = D
+
+## Notifications
+
+account-setup-looking-up-settings = 正在查询配置…
+account-setup-looking-up-settings-guess = 正在查询配置:正在尝试常用的服务器名称…
+account-setup-looking-up-settings-half-manual = 正在查询配置:正在探测服务器…
+account-setup-looking-up-disk = 正在查询配置:{ -brand-short-name } 安装…
+account-setup-looking-up-isp = 正在查询配置:电子邮件服务商...
+# 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 = 正在查询配置:Mozilla ISP 数据库…
+account-setup-looking-up-mx = 正在查询配置:收件域名…
+account-setup-looking-up-exchange = 正在查询配置:Exchange 服务器…
+account-setup-checking-password = 正在验证密码…
+account-setup-installing-addon = 正在下载安装附加组件…
+account-setup-success-half-manual = 探测指定服务器找到下列配置:
+account-setup-success-guess = 尝试常用服务器名称找到配置。
+account-setup-success-guess-offline = 您已离线。我们已推测一些设置,但您需要输入正确的设置。
+account-setup-success-password = 密码正确
+account-setup-success-addon = 已成功安装附加组件
+# 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 = 从 Mozilla ISP 数据库中找到配置。
+account-setup-success-settings-disk = 在 { -brand-short-name } 安装找到配置。
+account-setup-success-settings-isp = 从电子邮件服务商找到配置。
+# Note: Microsoft Exchange is a product name.
+account-setup-success-settings-exchange = 找到 Microsoft Exchange 服务器的配置。
+
+## Illustrations
+
+account-setup-step1-image =
+ .title = 初始设置
+account-setup-step2-image =
+ .title = 正在加载…
+account-setup-step3-image =
+ .title = 找到配置
+account-setup-step4-image =
+ .title = 连接错误
+account-setup-step5-image =
+ .title = 已创建账户
+account-setup-privacy-footnote2 = 您的登录凭据只会存储在您的计算机本地。
+account-setup-selection-help = 不确定要怎么选?
+account-setup-selection-error = 需要帮助?
+account-setup-success-help = 不确定接下来做什么吗?
+account-setup-documentation-help = 设置文档
+account-setup-forum-help = 支持论坛
+account-setup-privacy-help = 隐私政策
+account-setup-getting-started = 开始使用
+
+## Results area
+
+# Variables:
+# $count (Number) - Number of available protocols.
+account-setup-results-area-title =
+ { $count ->
+ *[other] 可用配置
+ }
+account-setup-result-imap-description = 与您的服务器同步各文件夹与邮件
+account-setup-result-pop-description = 将您服务器上的各文件夹与邮件下载到本地
+# Note: Exchange, Office365 are the name of products.
+account-setup-result-exchange2-description = 使用 Microsoft Exchange 服务器或 Office365 云服务
+account-setup-incoming-title = 收件
+account-setup-outgoing-title = 发件
+account-setup-username-title = 用户名
+account-setup-exchange-title = 服务器
+account-setup-result-no-encryption = 未加密
+account-setup-result-ssl = SSL/TLS
+account-setup-result-starttls = STARTTLS
+account-setup-result-outgoing-existing = 使用已有的发件 SMTP 服务器
+# Variables:
+# $incoming (String): The email/username used to log into the incoming server
+# $outgoing (String): The email/username used to log into the outgoing server
+account-setup-result-username-different = 收件:{ $incoming },发件:{ $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 = 验证失败。可能是您输入的凭据不正确,或需要使用单独的用户名登录。此用户名通常是 Windows 的域登录用户名,可以包含也可以不包含域(如:janedoe 或 AD\\janedoe)。
+account-setup-credentials-wrong = 验证失败。请检查用户名和密码
+account-setup-find-settings-failed = { -brand-short-name } 未能找到你的邮件账户设置
+account-setup-exchange-config-unverifiable = 无法验证配置。如果您的用户名和密码确认无误,则可能是服务器管理员已禁用了您为账户所选的配置。请尝试选择其他协议。
+account-setup-provisioner-error = 设置 { -brand-short-name } 新账户时出错,请尝试使用您的登录信息手动设置。
+
+## Manual configuration area
+
+account-setup-manual-config-title = 服务器设置
+account-setup-incoming-server-legend = 收件服务器
+account-setup-protocol-label = 协议:
+account-setup-hostname-label = 主机名:
+account-setup-port-label = 端口:
+ .title = 端口设为 0,则为自动检测
+account-setup-auto-description = { -brand-short-name } 将尝试自动检测留白的字段。
+account-setup-ssl-label = 连接安全性:
+account-setup-outgoing-server-legend = 发件服务器
+
+## Incoming/Outgoing SSL Authentication options
+
+ssl-autodetect-option = 自动检测
+ssl-no-authentication-option = 无须验证
+ssl-cleartext-password-option = 普通密码
+ssl-encrypted-password-option = 加密过的密码
+
+## Incoming/Outgoing SSL options
+
+ssl-noencryption-option = 无
+account-setup-auth-label = 验证方式:
+account-setup-username-label = 用户名:
+account-setup-advanced-setup-button = 高级配置
+ .accesskey = A
+
+## Warning insecure server dialog
+
+account-setup-insecure-title = 警告!
+account-setup-insecure-incoming-title = 收件设置:
+account-setup-insecure-outgoing-title = 发件设置:
+# 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> 未加密连接。
+account-setup-warning-cleartext-details = 不安全的邮件服务器不使用加密连接以保护您的密码及个人信息。连接到这样的邮件服务器有可能会泄露您的密码和个人信息。
+account-setup-insecure-server-checkbox = 我已了解相关风险。
+ .accesskey = u
+account-setup-insecure-description = { -brand-short-name } 可以让您通过使用提供的配置信息来收取邮件。但是,对于这些不正确的连接,您应该联系您的管理员或者电子邮件提供商,更详细的信息请参见 <a data-l10n-name="thunderbird-faq-link">Thunderbird 常见问题解答</a>。
+insecure-dialog-cancel-button = 更改设置
+ .accesskey = S
+insecure-dialog-confirm-button = 确认
+ .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 } 在 { $domain } 上找到了您的账户设置信息,您要继续并提交凭据吗?
+exchange-dialog-confirm-button = 登录
+exchange-dialog-cancel-button = 取消
+
+## Dismiss account creation dialog
+
+exit-dialog-title = 未配置电子邮件账户
+exit-dialog-description = 您确定要取消设置过程吗?无电子邮件账户仍可使用 { -brand-short-name },但会缺少许多功能。
+account-setup-no-account-checkbox = 无电子邮件账户使用 { -brand-short-name }
+ .accesskey = U
+exit-dialog-cancel-button = 继续设置
+ .accesskey = C
+exit-dialog-confirm-button = 退出设置
+ .accesskey = E
+
+## Alert dialogs
+
+account-setup-creation-error-title = 创建账户时出错
+account-setup-error-server-exists = 收件服务器已存在。
+account-setup-confirm-advanced-title = 确认高级配置
+account-setup-confirm-advanced-description = 此对话框将关闭,即使配置不正确,也会使用当前设置来创建账户。您确定要继续吗?
+
+## Addon installation section
+
+account-setup-addon-install-title = 安装
+account-setup-addon-install-intro = 安装第三方附加组件后,可让您访问此服务器上的邮件账户:
+account-setup-addon-no-protocol = 此邮件服务器不支持开放式协议。{ account-setup-addon-install-intro }
+
+## Success view
+
+account-setup-settings-button = 账户设置
+account-setup-encryption-button = 端到端加密
+account-setup-signature-button = 添加签名
+account-setup-dictionaries-button = 下载字典
+account-setup-address-book-carddav-button = 连接 CardDAV 通讯录
+account-setup-address-book-ldap-button = 连接 LDAP 通讯录
+account-setup-calendar-button = 连接远程日历
+account-setup-linked-services-title = 绑定您的在线服务
+account-setup-linked-services-description = { -brand-short-name } 检测到您的邮件账户可连接其他服务。
+account-setup-no-linked-description = 设置其他服务,体验 { -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 } 检测到有一份通讯录与您的邮件账户连接。
+ *[other] { -brand-short-name } 检测到有 { $count } 份通讯录与您的邮件账户连接。
+ }
+# Variables:
+# $count (Number) - The number of calendars found during autoconfig.
+account-setup-found-calendars-description =
+ { $count ->
+ [one] { -brand-short-name } 检测到有一份日历与您的邮件账户连接。
+ *[other] { -brand-short-name } 检测到有 { $count } 份日历与您的邮件账户连接。
+ }
+account-setup-button-finish = 完成
+ .accesskey = F
+account-setup-looking-up-address-books = 正在查找通讯录…
+account-setup-looking-up-calendars = 正在查找日历…
+account-setup-address-books-button = 通讯录
+account-setup-calendars-button = 日历
+account-setup-connect-link = 连接
+account-setup-existing-address-book = 已连接
+ .title = 已连接该通讯录
+account-setup-existing-calendar = 已连接
+ .title = 已连接该日历
+account-setup-connect-all-calendars = 连接所有日历
+account-setup-connect-all-address-books = 连接所有通讯录
+
+## Calendar synchronization dialog
+
+calendar-dialog-title = 连接日历
+calendar-dialog-cancel-button = 取消
+ .accesskey = C
+calendar-dialog-confirm-button = 连接
+ .accesskey = n
+account-setup-calendar-name-label = 名称
+account-setup-calendar-name-input =
+ .placeholder = 我的日历
+account-setup-calendar-color-label = 颜色
+account-setup-calendar-refresh-label = 刷新
+account-setup-calendar-refresh-manual = 手动
+# Variables:
+# $count (Number) - Number of minutes in the calendar refresh interval.
+account-setup-calendar-refresh-interval =
+ { $count ->
+ [one] 每分钟
+ *[other] 每 { $count } 分钟
+ }
+account-setup-calendar-read-only = 只读
+ .accesskey = R
+account-setup-calendar-show-reminders = 显示提醒
+ .accesskey = S
+account-setup-calendar-offline-support = 离线支持
+ .accesskey = O
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addonNotifications.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addonNotifications.ftl
new file mode 100644
index 0000000000..e2585a1dd3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addonNotifications.ftl
@@ -0,0 +1,110 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+xpinstall-prompt = { -brand-short-name } 已阻止此网站在您的计算机上安装软件的请求。
+
+## Variables:
+## $host (String): The hostname of the site the add-on is being installed from.
+
+xpinstall-prompt-header = 要允许 { $host } 安装附加组件吗?
+xpinstall-prompt-message = 您正尝试从 { $host } 安装附加组件。继续之前请确保您信任此站点。
+
+##
+
+xpinstall-prompt-header-unknown = 要允许未知站点安装附加组件吗?
+xpinstall-prompt-message-unknown = 您正尝试从未知站点安装附加组件。继续之前请确保您信任此站点。
+xpinstall-prompt-dont-allow =
+ .label = 不允许
+ .accesskey = D
+xpinstall-prompt-never-allow =
+ .label = 永不允许
+ .accesskey = N
+# Long text in this context make the dropdown menu extend awkwardly to the left,
+# avoid a localization that's significantly longer than the English version.
+xpinstall-prompt-never-allow-and-report =
+ .label = 报告可疑网站
+ .accesskey = R
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See https://website-archive.mozilla.org/www.mozilla.org/access/access/keyboard/ for details
+xpinstall-prompt-install =
+ .label = 继续安装
+ .accesskey = C
+
+# These messages are shown when a website invokes navigator.requestMIDIAccess.
+
+site-permission-install-first-prompt-midi-header = 此网站请求访问您的 MIDI(乐器数字接口)设备,安装附加组件后可实现访问。
+site-permission-install-first-prompt-midi-message = 此访问不一定安全,请仅在您信任此网站时才继续。
+
+##
+
+xpinstall-disabled-locked = 软件安装已被您的系统管理员禁用。
+xpinstall-disabled = 软件安装已被禁用。单击“启用”并重试。
+xpinstall-disabled-button =
+ .label = 启用
+ .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 })已被系统管理员禁用。
+# This message is shown when the installation of add-ons from a domain is blocked by enterprise policy.
+addon-domain-blocked-by-policy = 您的系统管理员已阻止此网站在您的计算机上安装软件的请求。
+addon-install-full-screen-blocked = 在全屏模式下或在进入全屏模式时,不允许安装附加组件。
+# Variables:
+# $addonName (String): the localized name of the sideloaded add-on.
+webext-perms-sideload-menu-item = “{ $addonName }”已添加到 { -brand-short-name }
+# Variables:
+# $addonName (String): the localized name of the extension which has been updated.
+webext-perms-update-menu-item = “{ $addonName }”需要新的权限
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = 要移除 { $name } 吗?
+# Variables:
+# $name (String): the name of the extension which is about to be removed.
+addon-removal-message = 要从 { -brand-shorter-name } 中移除 { $name } 吗?
+addon-removal-button = 移除
+addon-removal-abuse-report-checkbox = 向 { -vendor-short-name } 举报此扩展
+# Variables:
+# $addonCount (Number): the number of add-ons being downloaded
+addon-downloading-and-verifying = 正在下载并验证 { $addonCount } 个附加组件…
+addon-download-verifying = 正在验证
+addon-install-cancel-button =
+ .label = 取消
+ .accesskey = C
+addon-install-accept-button =
+ .label = 添加
+ .accesskey = A
+
+## Variables:
+## $addonCount (Number): the number of add-ons being installed
+
+addon-confirm-install-message = 此网站想让您在 { -brand-short-name } 中安装 { $addonCount } 个附加组件:
+addon-confirm-install-unsigned-message = 注意:此网站想在 { -brand-short-name } 中安装 { $addonCount } 个未通过验证的附加组件。请谨慎决定。
+# Variables:
+# $addonCount (Number): the number of add-ons being installed (at least 2)
+addon-confirm-install-some-unsigned-message = 注意:此网站想在 { -brand-short-name } 中安装 { $addonCount } 个附加组件,其中一些未通过验证。请谨慎决定。
+
+## Add-on install errors
+## Variables:
+## $addonName (String): the add-on name.
+
+addon-install-error-network-failure = 因为连接失败,未能下载此附加组件。
+addon-install-error-incorrect-hash = 此附加组件未能安装,它不匹配预期的附加组件 { -brand-short-name }。
+addon-install-error-corrupt-file = 从此网站下载的这个附加组件文件损坏了,无法安装。
+addon-install-error-file-access = “{ $addonName }”未能安装,{ -brand-short-name } 无法修改所需的文件。
+addon-install-error-not-signed = { -brand-short-name } 已阻止此网站安装未通过验证的附加组件。
+addon-install-error-invalid-domain = 无法从此位置安装附加组件“{ $addonName }”。
+addon-local-install-error-network-failure = 因为文件系统错误,无法安装该附加组件。
+addon-local-install-error-incorrect-hash = 所下载的不是本要安装附加组件 { -brand-short-name },无法安装。
+addon-local-install-error-corrupt-file = 从此网站下载的这个附加组件文件损坏了,无法安装。
+addon-local-install-error-file-access = “{ $addonName }”未能安装,因为 { -brand-short-name } 无法修改所需的文件。
+addon-local-install-error-not-signed = 此附加组件无法安装,因为它未通过验证。
+# Variables:
+# $appVersion (String): the application version.
+addon-install-error-incompatible = “{ $addonName }”未能安装,因为它与 { -brand-short-name } { $appVersion } 不兼容。
+addon-install-error-blocklisted = “{ $addonName }”未能安装,因为它很可能引发稳定性或安全性问题。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/abCardDAVDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/abCardDAVDialog.ftl
new file mode 100644
index 0000000000..85f423a609
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 新建 CardDAV 通讯录
+
+carddav-dialog =
+ .buttonlabelaccept = 继续
+ .buttonaccesskeyaccept = C
+
+carddav-username-label =
+ .value = 用户名:
+ .accesskey = U
+carddav-location-label =
+ .value = 地址:
+ .accesskey = L
+carddav-location =
+ .default-placeholder = 通讯录服务器的 URL 或主机名
+
+carddav-loading = 正在查询配置…
+carddav-known-incompatible = { $url } 与 { -brand-short-name } 确不兼容。
+carddav-connection-error = 连接失败。
+carddav-none-found = 找不到指定账户中可以添加的通讯录。
+carddav-already-added = 已添加指定账户的所有通讯录。
+
+carddav-available-books = 可用的通讯录:
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/abCardDAVProperties.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/abCardDAVProperties.ftl
new file mode 100644
index 0000000000..4109a2a507
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/abCardDAVProperties.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+carddav-url-label =
+ .value = CardDAV URL:
+ .accesskey = V
+
+carddav-refreshinterval-label =
+ .label = 同步:
+ .accesskey = S
+
+# Variables:
+# $minutes (integer) - Number of minutes between address book synchronizations
+carddav-refreshinterval-minutes-value =
+ .label =
+ { $minutes ->
+ [one] 每分钟
+ *[other] 每 { $minutes } 分钟
+ }
+
+# Variables:
+# $hours (integer) - Number of hours between address book synchronizations
+carddav-refreshinterval-hours-value =
+ .label =
+ { $hours ->
+ [one] 每小时
+ *[other] 每 { $hours } 小时
+ }
+
+carddav-readonly-label =
+ .label = 只读
+ .accesskey = R
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/aboutAddressBook.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/aboutAddressBook.ftl
new file mode 100644
index 0000000000..ffa724c90e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/aboutAddressBook.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/.
+
+about-addressbook-title = 通讯录
+
+## Toolbar
+
+about-addressbook-toolbar-new-address-book =
+ .label = 新建通讯录
+about-addressbook-toolbar-add-carddav-address-book =
+ .label = 添加 CardDAV 通讯录
+about-addressbook-toolbar-add-ldap-address-book =
+ .label = 添加 LDAP 通讯录
+about-addressbook-toolbar-new-contact =
+ .label = 新建联系人
+about-addressbook-toolbar-new-list =
+ .label = 新建列表
+about-addressbook-toolbar-import =
+ .label = 导入
+
+## Books
+
+all-address-books-row =
+ .title = 所有通讯录
+all-address-books = 所有通讯录
+# Variables:
+# $name (String) - The name of the selected book/list.
+# $count (Number) - The number of contacts in the selected book/list.
+about-addressbook-card-count = { $name } 的联系人总数:{ $count }
+# Variables:
+# $count (Number) - The number of contacts in all address books.
+about-addressbook-card-count-all = 所有通讯录中的联系人总数:{ $count }
+about-addressbook-books-context-properties =
+ .label = 属性
+about-addressbook-books-context-edit-list =
+ .label = 编辑列表
+about-addressbook-books-context-synchronize =
+ .label = 同步
+about-addressbook-books-context-edit =
+ .label = 编辑
+about-addressbook-books-context-print =
+ .label = 打印…
+about-addressbook-books-context-export =
+ .label = 导出…
+about-addressbook-books-context-delete =
+ .label = 删除
+about-addressbook-books-context-remove =
+ .label = 移除
+about-addressbook-books-context-startup-default =
+ .label = 默认启动目录
+about-addressbook-confirm-delete-book-title = 删除通讯录
+# Variables:
+# $name (String) - Name of the address book to be deleted.
+about-addressbook-confirm-delete-book = 您确定要删除 { $name } 及当中的所有联系人吗?
+about-addressbook-confirm-remove-remote-book-title = 移除通讯录
+# Variables:
+# $name (String) - Name of the remote address book to be removed.
+about-addressbook-confirm-remove-remote-book = 您确定要删除 { $name } 吗?
+
+## Cards
+
+# Variables:
+# $name (String) - Name of the address book that will be searched.
+about-addressbook-search =
+ .placeholder = 搜索 { $name }
+about-addressbook-search-all =
+ .placeholder = 搜索所有通讯录
+about-addressbook-sort-button2 =
+ .title = 列表显示选项
+about-addressbook-name-format-display =
+ .label = 显示名称
+about-addressbook-name-format-firstlast =
+ .label = 名前姓后
+about-addressbook-name-format-lastfirst =
+ .label = 姓前名后
+about-addressbook-sort-name-ascending =
+ .label = 按名称排序(A > Z)
+about-addressbook-sort-name-descending =
+ .label = 按名称排序(Z > A)
+about-addressbook-sort-email-ascending =
+ .label = 按电子邮件地址排序(A > Z)
+about-addressbook-sort-email-descending =
+ .label = 按电子邮件地址排序(Z > A)
+about-addressbook-horizontal-layout =
+ .label = 切换为水平布局
+about-addressbook-vertical-layout =
+ .label = 切换为垂直布局
+about-addressbook-table-layout =
+ .label = 表格视图
+
+## Card column headers
+## Each string is listed here twice, and the values should match.
+
+about-addressbook-column-header-generatedname = 名称
+about-addressbook-column-label-generatedname =
+ .label = { about-addressbook-column-header-generatedname }
+about-addressbook-column-header-emailaddresses = 电子邮件地址
+about-addressbook-column-label-emailaddresses =
+ .label = { about-addressbook-column-header-emailaddresses }
+about-addressbook-column-header-phonenumbers = 手机号码
+about-addressbook-column-label-phonenumbers =
+ .label = { about-addressbook-column-header-phonenumbers }
+about-addressbook-column-header-addresses = 地址
+about-addressbook-column-label-addresses =
+ .label = { about-addressbook-column-header-addresses }
+about-addressbook-column-header-title = 职位
+about-addressbook-column-label-title =
+ .label = { about-addressbook-column-header-title }
+about-addressbook-column-header-department = 部门
+about-addressbook-column-label-department =
+ .label = { about-addressbook-column-header-department }
+about-addressbook-column-header-organization = 公司
+about-addressbook-column-label-organization =
+ .label = { about-addressbook-column-header-organization }
+about-addressbook-column-header-addrbook = 通讯录
+about-addressbook-column-label-addrbook =
+ .label = { about-addressbook-column-header-addrbook }
+about-addressbook-column-header-generatedname2 = 名称
+ .title = 按名称排序
+about-addressbook-column-label-generatedname2 =
+ .label = 姓名
+about-addressbook-column-header-emailaddresses2 = 电子邮件地址
+ .title = 按电子邮件地址排序
+about-addressbook-column-label-emailaddresses2 =
+ .label = 电子邮件地址
+about-addressbook-column-header-nickname2 = 昵称
+ .title = 按昵称排序
+about-addressbook-column-label-nickname2 =
+ .label = 昵称
+about-addressbook-column-header-phonenumbers2 = 电话号码
+ .title = 按电话号码排序
+about-addressbook-column-label-phonenumbers2 =
+ .label = 电话号码
+about-addressbook-column-header-addresses2 = 地址
+ .title = 按地址排序
+about-addressbook-column-label-addresses2 =
+ .label = 地址
+about-addressbook-column-header-title2 = 标题
+ .title = 按标题排序
+about-addressbook-column-label-title2 =
+ .label = 标题
+about-addressbook-column-header-department2 = 部门
+ .title = 按部门排序
+about-addressbook-column-label-department2 =
+ .label = 部门
+about-addressbook-column-header-organization2 = 组织
+ .title = 按组织排序
+about-addressbook-column-label-organization2 =
+ .label = 组织
+about-addressbook-column-header-addrbook2 = 通讯录
+ .title = 按通讯录排序
+about-addressbook-column-label-addrbook2 =
+ .label = 通讯录
+about-addressbook-cards-context-write =
+ .label = 写邮件
+about-addressbook-confirm-delete-mixed-title = 删除联系人和列表
+# Variables:
+# $count (Number) - The number of contacts and lists to be deleted. Always greater than 1.
+about-addressbook-confirm-delete-mixed = 您确定要删除这 { $count } 位联系人和列表?
+# Variables:
+# $count (Number) - The number of lists to be deleted.
+about-addressbook-confirm-delete-lists-title =
+ { $count ->
+ *[other] 删除列表
+ }
+# 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] 您确定要删除 { $name } 列表吗?
+ *[other] 您确定要删除这 { $count } 个列表吗?
+ }
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+about-addressbook-confirm-remove-contacts-title =
+ { $count ->
+ *[other] 移除联系人
+ }
+# 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] 您确定要从 { $list } 删除联系人 { $name } 吗?
+ *[other] 您确定要从 { $list } 列表删除 { $count } 位联系人吗?
+ }
+# Variables:
+# $name (String) - The name of the contact to be removed.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts-single = 您确定要从“{ $list }”中删除“{ $name }”吗?
+# Variables:
+# $count (Number) - The number of contacts to be removed.
+# $list (String) - The name of the list that contacts will be removed from.
+about-addressbook-confirm-remove-contacts-multi = 您确定要从“{ $list }”列表删除 { $count } 位联系人吗?
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-title =
+ { $count ->
+ *[other] 删除联系人
+ }
+# 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] 您确定要删除联系人 { $name } 吗?
+ *[other] 您确定要删除下列 { $count } 位联系人吗?
+ }
+# Variables:
+# $name (String) - The name of the contact to be deleted.
+about-addressbook-confirm-delete-contacts-single = 您确定要删除联系人“{ $name }”吗?
+# Variables:
+# $count (Number) - The number of contacts to be deleted.
+about-addressbook-confirm-delete-contacts-multi = 您确定要删除这 { $count } 位联系人吗?
+
+## Card list placeholder
+## Shown when there are no cards in the list
+
+about-addressbook-placeholder-empty-book = 无联系人
+about-addressbook-placeholder-new-contact = 新建联系人
+about-addressbook-placeholder-search-only = 进行搜索后才会显示此通讯录的联系人
+about-addressbook-placeholder-searching = 正在搜索…
+about-addressbook-placeholder-no-search-results = 找不到联系人
+
+## Details
+
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than two)
+about-addressbook-selection-mixed-header = { $count } 个选定的联系人和列表
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header = { $count } 位选定的联系人
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header = { $count } 个选定的列表
+# Variables:
+# $count (Number) - The number of selected items (will never be fewer than 2).
+about-addressbook-selection-mixed-header2 = 已选 { $count } 位联系人
+# Variables:
+# $count (Number) - The number of selected contacts
+about-addressbook-selection-contacts-header2 = 已选 { $count } 位联系人
+# Variables:
+# $count (Number) - The number of selected lists
+about-addressbook-selection-lists-header2 = 已选 { $count } 个列表
+about-addressbook-details-edit-photo =
+ .title = 编辑联系人照片
+about-addressbook-new-contact-header = 新建联系人
+about-addressbook-prefer-display-name = 在邮件标题上方显示姓名
+about-addressbook-write-action-button = 写邮件
+about-addressbook-event-action-button = 事件
+about-addressbook-search-action-button = 搜索
+about-addressbook-new-list-action-button = 新建列表
+about-addressbook-begin-edit-contact-button = 编辑
+about-addressbook-delete-edit-contact-button = 删除
+about-addressbook-cancel-edit-contact-button = 取消
+about-addressbook-save-edit-contact-button = 保存
+about-addressbook-add-contact-to = 添加到:
+about-addressbook-details-email-addresses-header = 电子邮件地址
+about-addressbook-details-phone-numbers-header = 手机号码
+about-addressbook-details-addresses-header = 地址
+about-addressbook-details-notes-header = 备注
+about-addressbook-details-impp-header = 即时通讯
+about-addressbook-details-websites-header = 网站
+about-addressbook-details-other-info-header = 其他信息
+about-addressbook-entry-type-work = 工作
+about-addressbook-entry-type-home = 住址
+about-addressbook-entry-type-fax = 传真
+# Or "Mobile"
+about-addressbook-entry-type-cell = 手机
+about-addressbook-entry-type-pager = 传呼机
+about-addressbook-entry-name-birthday = 生日
+about-addressbook-entry-name-anniversary = 周年纪念
+about-addressbook-entry-name-title = 职位
+about-addressbook-entry-name-role = 角色
+about-addressbook-entry-name-organization = 公司
+about-addressbook-entry-name-website = 网站
+about-addressbook-entry-name-time-zone = 时区
+about-addressbook-entry-name-custom1 = 自定义 1
+about-addressbook-entry-name-custom2 = 自定义 2
+about-addressbook-entry-name-custom3 = 自定义 3
+about-addressbook-entry-name-custom4 = 自定义 4
+about-addressbook-unsaved-changes-prompt-title = 未保存更改
+about-addressbook-unsaved-changes-prompt = 您想要在离开编辑视图前保存更改吗?
+
+# Photo dialog
+
+about-addressbook-photo-drop-target = 拖放或粘贴照片至此处,或点此选择文件。
+about-addressbook-photo-drop-loading = 正在加载照片…
+about-addressbook-photo-drop-error = 照片加载失败。
+about-addressbook-photo-filepicker-title = 选择图片
+about-addressbook-photo-discard = 丢弃现有照片
+about-addressbook-photo-cancel = 取消
+about-addressbook-photo-save = 保存
+
+# Keyboard shortcuts
+
+about-addressbook-new-contact-key = N
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/fieldMapImport.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/fieldMapImport.ftl
new file mode 100644
index 0000000000..45b0b02b08
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 从文本文件导入通讯录
+
+# $recordNumber (Number) - The current record number of the preview data.
+import-ab-csv-preview-record-number = 第 { $recordNumber } 份数据的导入预览
+
+import-ab-csv-dialog =
+ .buttonlabelaccept = 导入
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/vcard.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/addressbook/vcard.ftl
new file mode 100644
index 0000000000..54d4ec4f65
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 显示名称
+vcard-displayname-placeholder =
+ .placeholder = { vcard-displayname }
+
+# Type selection
+
+vcard-entry-type-label = 类型
+vcard-entry-type-home = 住址
+vcard-entry-type-work = 工作
+vcard-entry-type-none = 无
+vcard-entry-type-custom = 自定义
+
+# N vCard field
+
+vcard-name-header = 姓名
+vcard-n-prefix = 前缀
+vcard-n-add-prefix =
+ .title = 添加前缀
+vcard-n-firstname = 名字
+vcard-n-add-firstname =
+ .title = 添加名字
+vcard-n-middlename = 中间名
+vcard-n-add-middlename =
+ .title = 添加中间名
+vcard-n-lastname = 姓氏
+vcard-n-add-lastname =
+ .title = 添加姓氏
+vcard-n-suffix = 后缀
+vcard-n-add-suffix =
+ .title = 添加后缀
+
+# Nickname
+
+vcard-nickname = 呢称
+
+# Email vCard field
+
+vcard-email-header = 电子邮件地址
+vcard-email-add = 添加电子邮件地址
+vcard-email-label = 电子邮件地址
+vcard-primary-email-label = 默认
+
+# URL vCard field
+
+vcard-url-header = 网站
+vcard-url-add = 添加网站
+vcard-url-label = 网站
+
+# Tel vCard field
+
+vcard-tel-header = 手机号码
+vcard-tel-add = 添加手机号码
+vcard-tel-label = 手机号码
+# Or "Mobile"
+vcard-entry-type-cell = 手机
+vcard-entry-type-fax = 传真
+vcard-entry-type-pager = 传呼机
+
+# TZ vCard field
+
+vcard-tz-header = 时区
+vcard-tz-add = 添加时区
+
+# IMPP vCard field
+
+vcard-impp2-header = 即时通讯
+vcard-impp-add = 添加聊天账户
+vcard-impp-label = 聊天账户
+vcard-impp-select = 协议
+vcard-impp-option-other = 其他
+vcard-impp-input-label = URI
+vcard-impp-input-title = 即时通讯 URI
+
+# BDAY and ANNIVERSARY vCard field
+
+vcard-bday-anniversary-header = 特殊日期
+vcard-bday-anniversary-add = 添加特殊日期
+vcard-bday-label = 生日
+vcard-anniversary-label = 周年纪念
+vcard-date-day = 日
+vcard-date-month = 月
+vcard-date-year = 年
+
+# ADR vCard field
+
+vcard-adr-header = 地址
+vcard-adr-add = 添加地址
+vcard-adr-label = 地址
+vcard-adr-delivery-label = 邮寄标签
+vcard-adr-street = 街道地址
+# Or "Locality"
+vcard-adr-locality = 城市
+# Or "Region"
+vcard-adr-region = 省/自治区/直辖市
+# The term "ZIP code" only applies in USA. Most locales should use "Postal code" only.
+vcard-adr-code = 邮政编码
+vcard-adr-country = 国家/地区
+
+# NOTE vCard field
+
+vcard-note-header = 备注
+vcard-note-add = 添加备注
+
+# TITLE, ROLE and ORGANIZATION vCard fields
+
+vcard-org-header = 组织属性
+vcard-org-add = 添加组织属性
+vcard-org-title = 职位
+vcard-org-title-input =
+ .title = 职位或工作
+ .placeholder = 职务
+vcard-org-role = 角色
+vcard-org-role-input =
+ .title = 在特定情景下的职能或组成
+ .placeholder = 项目中的角色
+vcard-org-org = 组织
+vcard-org-org-input =
+ .title = 组织名称
+ .placeholder = 公司名称
+vcard-org-org-unit = 部门
+vcard-org-org-unit-input =
+ .title = 组织单位名称
+ .placeholder = 部门
+
+# Custom properties
+
+vcard-custom-header = 自定义属性
+vcard-custom-add = 添加自定义属性
+vcard-remove-button-title =
+ .title = 移除
+vcard-remove-button = 移除
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/appmenu.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/appmenu.ftl
new file mode 100644
index 0000000000..3c0dcc4894
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/appmenu.ftl
@@ -0,0 +1,210 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Sync
+
+appmenu-sync-panel-title =
+ .title = 同步
+appmenu-signin-panel =
+ .label = 登录以同步
+ .accesskey = I
+appmenu-sync-sync =
+ .value = 账户同步
+ .accesskey = A
+appmenu-sync-manage =
+ .value = 管理账户
+ .accesskey = M
+appmenu-sync-account =
+ .value = example@example.com
+appmenu-sync-now =
+ .label = 立即同步
+ .accesskey = N
+appmenu-sync-settings =
+ .label = 同步设置
+ .accesskey = S
+appmenu-sync-sign-out =
+ .label = 退出…
+ .accesskey = O
+
+## New Account
+
+appmenu-new-account-panel-title =
+ .title = 添加账户
+appmenu-new-account-panel =
+ .label = 添加账户
+ .accesskey = N
+appmenu-create-new-mail-account =
+ .label = 注册新邮箱
+ .accesskey = G
+appmenu-new-mail-account =
+ .label = 现有电子邮箱
+ .accesskey = E
+appmenu-new-calendar =
+ .label = 日历
+ .accesskey = C
+appmenu-new-chat-account =
+ .label = 聊天
+ .accesskey = h
+appmenu-new-feed =
+ .label = 收取点
+ .accesskey = F
+appmenu-new-newsgroup =
+ .label = 新闻组
+ .accesskey = N
+
+## New Account / Address Book
+
+appmenu-newab-panel-title =
+ .title = 新建通讯录
+appmenu-newab-panel =
+ .label = 新建通讯录
+ .accesskey = A
+appmenu-new-addressbook =
+ .label = 本地通讯录
+ .accesskey = A
+appmenu-new-carddav =
+ .label = CardDAV 通讯录
+ .accesskey = C
+appmenu-new-ldap =
+ .label = LDAP 通讯录
+ .accesskey = L
+
+## Create
+
+appmenu-create-panel-title =
+ .title = 创建
+appmenu-create-panel =
+ .label = 创建
+ .accesskey = C
+appmenu-create-message =
+ .label = 消息
+ .accesskey = M
+appmenu-create-event =
+ .label = 事件
+ .accesskey = E
+appmenu-create-task =
+ .label = 任务
+ .accesskey = T
+appmenu-create-contact =
+ .label = 联系人
+ .accesskey = C
+
+## Open
+
+appmenu-open-file-panel =
+ .label = 打开文件
+ .accesskey = O
+appmenu-open-file-panel-title =
+ .title = 打开文件
+appmenu-open-message =
+ .label = 消息…
+ .accesskey = M
+appmenu-open-calendar =
+ .label = 日历…
+ .accesskey = C
+
+## View / Layout
+
+appmenu-view-panel-title =
+ .title = 查看
+appmenu-view-panel =
+ .label = 查看
+ .accesskey = V
+appmenuitem-toggle-thread-pane-header =
+ .label = 消息标题
+appmenu-font-size-value = 字号
+appmenu-mail-uidensity-value = 密度
+appmenu-uidensity-compact =
+ .tooltiptext = 紧凑
+appmenu-uidensity-default =
+ .tooltiptext = 默认
+appmenu-uidensity-relaxed =
+ .tooltiptext = 宽松
+appmenuitem-font-size-enlarge =
+ .tooltiptext = 增大字号
+appmenuitem-font-size-reduce =
+ .tooltiptext = 减小字号
+# Variables:
+# $size (String) - The current font size.
+appmenuitem-font-size-reset =
+ .label = { $size }px
+ .tooltiptext = 重置字号
+
+## Tools
+
+appmenu-tools-panel-title =
+ .title = 工具
+appmenu-tools-panel =
+ .label = 工具
+ .accesskey = T
+appmenu-tools-import =
+ .label = 导入
+ .accesskey = I
+appmenu-tools-export =
+ .label = 导出
+ .accesskey = E
+appmenu-tools-message-search =
+ .label = 搜索消息
+ .accesskey = S
+appmenu-tools-message-filters =
+ .label = 消息过滤器
+ .accesskey = F
+appmenu-tools-download-manager =
+ .label = 下载管理器
+ .accesskey = D
+appmenu-tools-activity-manager =
+ .label = 活动管理器
+ .accesskey = A
+appmenu-tools-dev-tools =
+ .label = 开发者工具
+ .accesskey = T
+
+## Help
+
+appmenu-help-panel-title =
+ .title = 帮助
+appmenu-help-get-help =
+ .label = 获取帮助
+ .accesskey = H
+appmenu-help-explore-features =
+ .label = 探索功能
+ .accesskey = F
+appmenu-help-shortcuts =
+ .label = 键盘快捷键
+ .accesskey = K
+appmenu-help-get-involved =
+ .label = 参与进来
+ .accesskey = G
+appmenu-help-donation =
+ .label = 向我们捐款
+ .accesskey = D
+appmenu-help-share-feedback =
+ .label = 分享想法和反馈
+ .accesskey = S
+appmenu-help-enter-troubleshoot-mode2 =
+ .label = 排障模式…
+ .accesskey = T
+appmenu-help-exit-troubleshoot-mode2 =
+ .label = 关闭故障排除模式
+ .accesskey = O
+appmenu-help-troubleshooting-info =
+ .label = 排障信息
+ .accesskey = I
+appmenu-help-about-product =
+ .label = 关于 { -brand-short-name }
+ .accesskey = A
+
+## Application Update
+
+appmenuitem-banner-update-downloading =
+ .label = 正在下载 { -brand-shorter-name } 更新
+appmenuitem-banner-update-available =
+ .label = 有可用更新 - 立即下载
+appmenuitem-banner-update-manual =
+ .label = 有可用更新 - 立即下载
+appmenuitem-banner-update-unsupported =
+ .label = 无法更新 - 系统不兼容
+appmenuitem-banner-update-restart =
+ .label = 有可用更新 - 立即重启
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/chat-verifySession.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/chat-verifySession.ftl
new file mode 100644
index 0000000000..74c3cb80df
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 验证身份
+
+# Variables:
+# $subject (String) - a human readable identifier for the other side of the verification flow.
+verify-window-subject-title = 验证 { $subject } 的身份
+
+verify-dialog =
+ .buttonlabelaccept = 相符
+ .buttonaccesskeyaccept = M
+ .buttonlabelextra2 = 不相符
+ .buttonaccesskeyextra2 = D
+
+challenge-label = 请确认显示的字符串,与对方的显示相同。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/chat.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/chat.ftl
new file mode 100644
index 0000000000..dce4bf8970
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 加入聊天
+
+chat-left-chat-icon2 =
+ .alt = 退出聊天
+
+chat-participant-owner-role-icon2 =
+ .alt = 所有者
+
+chat-participant-administrator-role-icon2 =
+ .alt = 管理员
+
+chat-participant-moderator-role-icon2 =
+ .alt = 主持人
+
+chat-participant-voiced-role-icon2 =
+ .alt = 参与者可以发消息
+
+chat-verify-identity =
+ .label = 验证身份
+ .accesskey = I
+
+chat-identity-verified =
+ .label = 身份已验证
+
+chat-buddy-identity-status = 加密可信度
+chat-buddy-identity-status-verified = 已验证
+chat-buddy-identity-status-unverified = 未验证
+
+## Conversation invite notification box
+
+# This string appears in a notification bar at the top of the Contacts window
+# when someone invited the user to a multi user chat conversation, to request
+# the user to confirm they want to join the chat.
+# Variables:
+# $conversation (String) - Name of the conversation the user is invited to.
+chat-conv-invite-label = 您已被邀请加入 { $conversation } 的聊天
+chat-conv-invite-accept =
+ .label = 接受
+ .accesskey = A
+chat-conv-invite-deny =
+ .label = 拒绝
+ .accesskey = R
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl
new file mode 100644
index 0000000000..bf7ece90a9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/compactFoldersDialog.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+compact-dialog-window-title =
+ .title = 压缩邮件夹
+compact-folders-dialog-title = 压缩邮件夹
+compact-dialog =
+ .buttonlabelaccept = 立即压缩
+ .buttonaccesskeyaccept = C
+ .buttonlabelcancel = 以后再提醒我
+ .buttonaccesskeycancel = R
+ .buttonlabelextra1 = 详细了解…
+ .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 } 需要定期压缩您的邮件夹,以提升性能。此操作可释放出 { $data } 磁盘空间,且不会影响邮件内容。若要让 { -brand-short-name } 未来自动进行压缩而不再询问,请勾选“{ compact-dialog.buttonlabelaccept }”旁的选择框。
+compact-dialog-never-ask-checkbox =
+ .label = 未来自动压缩邮件夹
+ .accesskey = a
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/exportDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/exportDialog.ftl
new file mode 100644
index 0000000000..aeb6f2cb99
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/exportDialog.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+export-dialog-brand-name = { -brand-product-name }
+
+export-dialog-title = 导出
+
+export-dialog =
+ .buttonlabelaccept = 下一步
+
+export-dialog-button-finish = 完成
+
+export-dialog-file-picker = 导出为 ZIP 文件
+
+export-dialog-description1 = 将邮件账户、消息、通讯录、设置导出为 ZIP 文件。
+
+export-dialog-desc2 = 需要时,您可以重新导入 ZIP 文件恢复配置文件。
+
+export-dialog-exporting = 正在导出…
+
+export-dialog-exported = 已导出!
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensionPermissions.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensionPermissions.ftl
new file mode 100644
index 0000000000..821fba5a61
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensionPermissions.ftl
@@ -0,0 +1,27 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Extension permission description keys are derived from permission names.
+## Permissions for which the message has been changed and the key updated
+## must have a corresponding entry in the `PERMISSION_L10N_ID_OVERRIDES` map.
+
+webext-perms-description-accountsFolders = 创建、重命名或删除您的邮件账户文件夹
+webext-perms-description-accountsIdentities = 创建、修改或删除您的邮件账户身份
+webext-perms-description-accountsRead = 查看您的邮件账户、身份及邮件夹
+webext-perms-description-addressBooks = 读取和修改您的通讯录与联系人
+webext-perms-description-compose = 在撰写和发送电子邮件时阅读和修改您的电子邮件
+webext-perms-description-compose-send = 代您发送撰写的电子邮件
+webext-perms-description-compose-save = 将撰写的电子邮件另存为草稿或模板
+webext-perms-description-experiment = 对 { -brand-short-name } 和的您计算机拥有不受限制的完全访问权
+webext-perms-description-messagesImport = 将消息导入 Thunderbird
+webext-perms-description-messagesModify = 阅读并修改向您显示的电子邮件
+webext-perms-description-messagesMove = 复制或移动您的邮件消息(包含将消息移动到垃圾箱)
+webext-perms-description-messagesDelete = 永久删除您的邮件消息
+webext-perms-description-messagesRead = 阅读您的邮件消息,并给其做标记或添加标签
+webext-perms-description-messagesRead2 = 读取邮件
+webext-perms-description-messagesUpdate = 更改邮件的属性和标签
+webext-perms-description-messagesTags = 创建、修改或删除消息标签
+webext-perms-description-messagesTagsList = 列出消息标签
+webext-perms-description-sensitiveDataUpload = 将敏感的用户数据(如果已获得访问权限)传输到远程服务器以供进一步处理
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensions/popup.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensions/popup.ftl
new file mode 100644
index 0000000000..cf521cd8b8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/messenger/extensionsUI.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensionsUI.ftl
new file mode 100644
index 0000000000..cd0dd859f7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/extensionsUI.ftl
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+webext-experiment-warning = 恶意的附加组件可能会窃取您的私密信息或损坏您的计算机。请仅在信任此附加组件的来源时才安装。
+webext-perms-learn-more = 详细了解
+# Variables:
+# $addonName (String): localized named of the extension that was just installed.
+addon-post-install-message = “{ $addonName }”已添加。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/firefoxAccounts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/firefoxAccounts.ftl
new file mode 100644
index 0000000000..66e21bc593
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/firefoxAccounts.ftl
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+# “Account” can be localized, “Firefox” must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name =
+ { $capitalization ->
+ [sentence] Firefox 账户
+ *[title] Firefox 账户
+ }
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+fxa-verification-sent-title = 已发出验证邮件
+# Variables:
+# $userEmail (String) - Email address of user's Firefox Account.
+fxa-verification-sent-body = 验证链接已发送到 { $userEmail }。
+fxa-verification-not-sent-title = 无法发送验证邮件
+fxa-verification-not-sent-body = 我们目前无法发送验证邮件,请稍后再试。
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+fxa-signout-dialog-title = 要退出 { -fxaccount-brand-name(capitalization: "sentence") } 吗?
+fxa-signout-dialog-body = 已同步的数据将保留在您的账户中。
+fxa-signout-dialog-button = 退出
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = 要断开连接吗?
+sync-disconnect-dialog-body = { -brand-product-name } 将停止同步,但不会删除此设备上的任何数据。
+sync-disconnect-dialog-button = 断开连接
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/flatpak.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/flatpak.ftl
new file mode 100644
index 0000000000..5722395139
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/flatpak.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These messages are used by the Thunderbird Linux Flatpak "desktop" file.
+### An end user will see them associated with the application launcher icon
+
+# This is the label on the icon
+flatpak-desktop-name = { -brand-short-name }
+# Appears as a tooltip when hovering over application menu entry
+flatpak-desktop-comment = 使用 { -brand-product-name } 收发邮件
+# A generic description of Thunderbird
+flatpak-desktop-generic-name = 邮件客户端
+
+## Actions Section
+## These are alternative ways of starting Thunderbird, such as open the compose
+## window to write a message. Visible in a context menu after right clicking a
+## Thunderbird taskbar icon, possibly other places depending on the environment.
+
+flatpak-desktop-action-compose = 撰写新邮件
+flatpak-desktop-action-addressbook = 打开通讯录
+flatpak-desktop-action-calendar = 打开日历
+flatpak-desktop-action-keymanager = 打开 OpenPGP 密钥管理器
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/folderprops.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/folderprops.ftl
new file mode 100644
index 0000000000..bdcf1ac8bf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 }% 已使用
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/importDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/importDialog.ftl
new file mode 100644
index 0000000000..24c84c99b5
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 从 Thunderbird 配置文件夹目录导入邮件。
+
+import-from-thunderbird-zip =
+ .label = Thunderbird(导出的配置文件备份;小于 2GB 的 ZIP 文件)
+ .accesskey = Z
+
+import-from-thunderbird-dir =
+ .label = Thunderbird(配置文件夹)
+ .accesskey = T
+
+import-select-profile-zip = 选择压缩过的配置文件目录
+
+import-select-profile-dir = 选择配置文件目录
+
+zip-file-too-big-title = ZIP 文件太大
+
+zip-file-too-big-message = 所选的 ZIP 文件大于 2GB。请先解压缩,然后从解压缩的文件夹中导入。
+
+wizardpage-failed =
+ .label = 导入失败
+
+wizardpage-failed-message = 导入意外失败,错误控制台中可能提供更多信息。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/mailWidgets.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/mailWidgets.ftl
new file mode 100644
index 0000000000..81a2ff4650
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/mailWidgets.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/.
+
+apply-current-view-to-menu =
+ .label = 将当前视图应用到…
+threadpane-apply-changes-prompt-title = 应用更改?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-no-children-text = 要将当前文件夹的视图应用到 { $name } 吗?
+# Variables:
+# $name (String): The name of the folder to apply to.
+threadpane-apply-changes-prompt-with-children-text = 要将当前文件夹的视图应用到 { $name } 及其子项目吗?
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/menubar.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/menubar.ftl
new file mode 100644
index 0000000000..1da800b3c0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/menubar.ftl
@@ -0,0 +1,144 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolbar-context-menu-menu-bar =
+ .toolbarname = 菜单栏
+ .accesskey = M
+
+## Tools Menu
+
+menu-tools-settings =
+ .label = 设置
+ .accesskey = e
+menu-addons-and-themes =
+ .label = 扩展和主题
+ .accesskey = A
+
+## Help Menu
+
+menu-help-help-title =
+ .label = 帮助
+ .accesskey = H
+menu-help-get-help =
+ .label = 获取帮助
+ .accesskey = H
+menu-help-explore-features =
+ .label = 探索功能
+ .accesskey = F
+menu-help-shortcuts =
+ .label = 键盘快捷键
+ .accesskey = K
+menu-help-get-involved =
+ .label = 参与进来
+ .accesskey = G
+menu-help-donation =
+ .label = 向我们捐款
+ .accesskey = D
+menu-help-share-feedback =
+ .label = 分享想法和反馈
+ .accesskey = S
+menu-help-enter-troubleshoot-mode =
+ .label = 排障模式…
+ .accesskey = T
+menu-help-exit-troubleshoot-mode =
+ .label = 关闭排障模式
+ .accesskey = O
+menu-help-more-troubleshooting-info =
+ .label = 更多排障信息
+ .accesskey = M
+menu-help-troubleshooting-info =
+ .label = 排障信息
+ .accesskey = I
+menu-help-about-product =
+ .label = 关于 { -brand-short-name }
+ .accesskey = A
+# These menu-quit strings are only used on Windows and Linux.
+menu-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] 退出
+ *[other] 退出
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] x
+ *[other] Q
+ }
+# This menu-quit-mac string is only used on macOS.
+menu-quit-mac =
+ .label = 退出 { -brand-shorter-name }
+quit-app-shortcut =
+ .key = Q
+
+## Mail Toolbar
+
+toolbar-junk-button =
+ .label = 垃圾邮件
+ .tooltiptext = 将选择的消息标记为垃圾邮件
+toolbar-not-junk-button =
+ .label = 非垃圾邮件
+ .tooltiptext = 将选择的消息标记为非垃圾邮件
+toolbar-delete-button =
+ .label = 删除
+ .tooltiptext = 删除选择的消息或文件夹
+toolbar-undelete-button =
+ .label = 恢复
+ .tooltiptext = 恢复选择的消息或文件夹
+
+## View
+
+menu-view-repair-text-encoding =
+ .label = 修复文字编码
+ .accesskey = c
+
+## View / Folders
+
+menu-view-folders-toggle-header =
+ .label = 文件夹窗格标题
+ .accesskey = F
+
+## View / Layout
+
+menu-view-toggle-thread-pane-header =
+ .label = 消息标题
+ .accesskey = H
+menu-font-size-label =
+ .label = 字号
+ .accesskey = o
+menuitem-font-size-enlarge =
+ .label = 增大字号
+ .accesskey = I
+menuitem-font-size-reduce =
+ .label = 减小字号
+ .accesskey = D
+menuitem-font-size-reset =
+ .label = 重置字号
+ .accesskey = R
+mail-uidensity-label =
+ .label = 密度
+ .accesskey = D
+mail-uidensity-compact =
+ .label = 紧凑
+ .accesskey = C
+mail-uidensity-normal =
+ .label = 普通
+ .accesskey = N
+mail-uidensity-touch =
+ .label = 触控
+ .accesskey = T
+mail-uidensity-default =
+ .label = 默认
+ .accesskey = D
+mail-uidensity-relaxed =
+ .label = 宽松
+ .accesskey = R
+menu-spaces-toolbar-button =
+ .label = 空间工具栏
+ .accesskey = S
+
+## File
+
+file-new-newsgroup-account =
+ .label = 新闻组账户…
+ .accesskey = N
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messageheader/headerFields.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messageheader/headerFields.ftl
new file mode 100644
index 0000000000..dddaabca07
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messageheader/headerFields.ftl
@@ -0,0 +1,49 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Header lists
+
+message-header-to-list-name = 收件人
+message-header-from-list-name = 发件人
+message-header-sender-list-name = 发件人
+message-header-reply-to-list-name = 回复给
+message-header-cc-list-name = 抄送
+message-header-bcc-list-name = 密送
+message-header-newsgroups-list-name = 新闻组
+message-header-followup-to-list-name = 回复到
+message-header-tags-list-name = 标签
+
+## Other message headers.
+## The field-separator is for screen readers to separate the field name from the field value.
+
+message-header-author-field = 作者<span data-l10n-name="field-separator">:</span>
+message-header-organization-field = 组织<span data-l10n-name="field-separator">:</span>
+message-header-subject-field = 主题<span data-l10n-name="field-separator">:</span>
+message-header-followup-to-field = 跟进发送至<span data-l10n-name="field-separator">:</span>
+message-header-date-field = 日期<span data-l10n-name="field-separator">:</span>
+message-header-user-agent-field = 用户代理<span data-l10n-name="field-separator">:</span>
+message-header-references-field = 参考<span data-l10n-name="field-separator">:</span>
+message-header-message-id-field = 消息 ID<span data-l10n-name="field-separator">:</span>
+message-header-in-reply-to-field = 回复<span data-l10n-name="field-separator">:</span>
+message-header-website-field = 网站<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 = 在通讯录中
+message-header-address-not-in-address-book-icon2 =
+ .alt = 不在通讯录中
+message-header-address-not-in-address-book-button =
+ .title = 将此邮箱地址保存到通讯录
+message-header-address-in-address-book-button =
+ .title = 编辑联系人
+message-header-field-show-more = 更多
+ .title = 显示全部收件人
+message-ids-field-show-all = 显示全部
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messenger.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messenger.ftl
new file mode 100644
index 0000000000..d7a979b014
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messenger.ftl
@@ -0,0 +1,404 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = 最小化
+messenger-window-maximize-button =
+ .tooltiptext = 最大化
+messenger-window-restore-down-button =
+ .tooltiptext = 向下还原
+messenger-window-close-button =
+ .tooltiptext = 关闭
+# Variables:
+# $count (Number) - Number of unread messages.
+unread-messages-os-tooltip =
+ { $count ->
+ *[other] { $count } 条未读消息
+ }
+about-rights-notification-text = { -brand-short-name } 是一款自由且开源的软件,由来自世界各地数千位成员组成的社区所构建。
+
+## Content tabs
+
+content-tab-page-loading-icon =
+ .alt = 页面加载中
+content-tab-security-high-icon =
+ .alt = 连接是安全的
+content-tab-security-broken-icon =
+ .alt = 连接不安全
+
+# Back
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Back command.
+content-tab-menu-back =
+ .tooltiptext = 返回上一页({ $shortcut })
+ .aria-label = 返回
+ .accesskey = B
+# This menuitem is only visible on macOS
+content-tab-menu-back-mac =
+ .label = 返回
+ .accesskey = B
+
+# Forward
+
+# Variables
+# $shortcut (String) - A keyboard shortcut for the Go Forward command.
+content-tab-menu-forward =
+ .tooltiptext = 转到下一页({ $shortcut })
+ .aria-label = 下一页
+ .accesskey = F
+# This menuitem is only visible on macOS
+content-tab-menu-forward-mac =
+ .label = 下一页
+ .accesskey = F
+
+# Reload
+
+content-tab-menu-reload =
+ .tooltiptext = 重新加载页面
+ .aria-label = 重新加载
+ .accesskey = R
+# This menuitem is only visible on macOS
+content-tab-menu-reload-mac =
+ .tooltiptext = 重新加载页面
+ .label = 重新加载
+ .accesskey = R
+
+# Stop
+
+content-tab-menu-stop =
+ .tooltiptext = 停止页面加载
+ .aria-label = 停止
+ .accesskey = S
+# This menuitem is only visible on macOS
+content-tab-menu-stop-mac =
+ .tooltiptext = 停止页面加载
+ .label = 停止
+ .accesskey = S
+
+## Toolbar
+
+addons-and-themes-toolbarbutton =
+ .label = 扩展和主题
+ .tooltiptext = 管理您的附加组件
+quick-filter-toolbarbutton =
+ .label = 快速筛选
+ .tooltiptext = 筛选消息
+redirect-msg-button =
+ .label = 重定向
+ .tooltiptext = 将选择的消息重定向
+
+## Folder Pane
+
+folder-pane-toolbar =
+ .toolbarname = 文件夹窗格工具栏
+ .accesskey = F
+folder-pane-toolbar-options-button =
+ .tooltiptext = 文件夹窗格选项
+folder-pane-header-label = 文件夹
+
+## Folder Toolbar Header Popup
+
+folder-toolbar-hide-toolbar-toolbarbutton =
+ .label = 隐藏工具栏
+ .accesskey = H
+show-all-folders-label =
+ .label = 全部文件夹
+ .accesskey = A
+show-unread-folders-label =
+ .label = 未读文件夹
+ .accesskey = n
+show-favorite-folders-label =
+ .label = 收藏夹
+ .accesskey = F
+show-smart-folders-label =
+ .label = 综合文件夹
+ .accesskey = U
+show-recent-folders-label =
+ .label = 最近文件夹
+ .accesskey = R
+show-tags-folders-label =
+ .label = 标签
+ .accesskey = T
+folder-toolbar-toggle-folder-compact-view =
+ .label = 紧凑模式
+ .accesskey = C
+
+## File Menu
+
+menu-file-save-as-file =
+ .label = 文件…
+ .accesskey = F
+
+## Edit Menu
+
+menu-edit-delete-folder =
+ .label = 删除文件夹
+ .accesskey = D
+menu-edit-unsubscribe-newsgroup =
+ .label = 退订新闻组
+ .accesskey = b
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-delete-messages =
+ .label =
+ { $count ->
+ [one] 删除消息
+ *[other] 删除选定的消息
+ }
+ .accesskey = D
+# Variables:
+# $count (Number) - Number of selected messages.
+menu-edit-undelete-messages =
+ .label =
+ { $count ->
+ [one] 恢复已删除的消息
+ *[other] 恢复所选的消息
+ }
+ .accesskey = d
+menu-edit-properties =
+ .label = 属性
+ .accesskey = o
+menu-edit-folder-properties =
+ .label = 文件夹属性
+ .accesskey = o
+menu-edit-newsgroup-properties =
+ .label = 新闻组属性
+ .accesskey = o
+
+## Message Menu
+
+redirect-msg-menuitem =
+ .label = 重定向
+ .accesskey = D
+
+## AppMenu
+
+appmenu-save-as-file =
+ .label = 文件…
+appmenu-settings =
+ .label = 设置
+appmenu-addons-and-themes =
+ .label = 扩展和主题
+
+## Context menu
+
+context-menu-redirect-msg =
+ .label = 重定向
+# This menu item is for canceling an NNTP message
+context-menu-cancel-msg =
+ .label = 取消消息
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-delete-messages =
+ .label =
+ { $count ->
+ *[other] 删除所选消息
+ }
+# Variables:
+# $count (Number) - Number of selected messages.
+mail-context-undelete-messages =
+ .label =
+ { $count ->
+ [one] 恢复已删除的消息
+ *[other] 恢复所选的消息
+ }
+context-menu-decrypt-to-folder2 =
+ .label = 创建解密副本
+ .accesskey = Y
+
+## Message header pane
+
+other-action-redirect-msg =
+ .label = 重定向
+message-header-msg-flagged =
+ .title = 已加星标
+ .aria-label = 已加星标
+# Variables:
+# $address (String) - The email address of the recipient this picture belongs to.
+message-header-recipient-avatar =
+ .alt = { $address } 的头像。
+
+## Message header cutomize panel
+
+message-header-customize-panel-title = 消息标题栏设置
+message-header-customize-button-style =
+ .value = 按钮样式
+ .accesskey = B
+message-header-button-style-default =
+ .label = 图标和文本
+message-header-button-style-text =
+ .label = 文本
+message-header-button-style-icons =
+ .label = 图标
+message-header-show-sender-full-address =
+ .label = 始终显示发件人的完整地址
+ .accesskey = f
+message-header-show-sender-full-address-description = 电子邮件地址将显示在显示名称的下面。
+message-header-show-recipient-avatar =
+ .label = 显示发件人头像
+ .accesskey = p
+message-header-show-big-avatar =
+ .label = 更大的个人资料图片
+ .accesskey = g
+message-header-hide-label-column =
+ .label = 隐藏标签列
+ .accesskey = I
+message-header-large-subject =
+ .label = 放大主题
+ .accesskey = s
+message-header-all-headers =
+ .label = 显示所有消息头
+ .accesskey = A
+
+## Action Button Context Menu
+
+toolbar-context-menu-manage-extension =
+ .label = 管理扩展
+ .accesskey = E
+toolbar-context-menu-remove-extension =
+ .label = 移除扩展
+ .accesskey = v
+
+## Add-on removal warning
+
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-title = 要移除 { $name } 吗?
+addon-removal-confirmation-button = 移除
+# Variables:
+# $name (String): The name of the add-on that will be removed.
+addon-removal-confirmation-message = 要从 { -brand-short-name } 中移除 { $name } 及其配置和数据吗?
+caret-browsing-prompt-title = 光标浏览
+caret-browsing-prompt-text = 按 F7 来启用或禁用光标浏览。此功能将在某些内容中放置一个可移动的光标,以便您能使用键盘选择文本。您想要启用光标浏览吗?
+caret-browsing-prompt-check-text = 不再询问。
+repair-text-encoding-button =
+ .label = 修复文字编码
+ .tooltiptext = 根据消息内容猜测正确的文字编码
+
+## no-reply handling
+
+no-reply-title = 不支持回复
+# Variables:
+# $email (String) - Email address the reply will be sent to. Example: "noreply@example.com"
+no-reply-message = 邮件的回复地址({ $email })看起来不像是有人会收件的地址。发送到此地址的邮件,不大可能被人阅读。
+no-reply-reply-anyway-button = 仍然回复
+
+## error messages
+
+# Variables:
+# $failures (Number) - Number of messages that could not be decrypted.
+# $total (Number) - Total number of messages that were attempted to be decrypted.
+decrypt-and-copy-failures-multiple = 共计 { $total } 条消息,其中 { $failures } 条因解密失败而未被复制。
+
+## Spaces toolbar
+
+spaces-toolbar-element =
+ .toolbarname = 空间工具栏
+ .aria-label = 空间工具栏
+ .aria-description = 用于切换各种功能的垂直工具栏(支持方向键)。
+spaces-toolbar-button-mail2 =
+ .title = 邮件
+spaces-toolbar-button-address-book2 =
+ .title = 通讯录
+spaces-toolbar-button-calendar2 =
+ .title = 日历
+spaces-toolbar-button-tasks2 =
+ .title = 任务
+spaces-toolbar-button-chat2 =
+ .title = 聊天
+spaces-toolbar-button-overflow =
+ .title = 更多按钮…
+spaces-toolbar-button-settings2 =
+ .title = 设置
+spaces-toolbar-button-hide =
+ .title = 隐藏空间工具栏
+spaces-toolbar-button-show =
+ .title = 显示空间工具栏
+spaces-context-new-tab-item =
+ .label = 新建标签页打开
+spaces-context-new-window-item =
+ .label = 新建窗口打开
+# Variables:
+# $tabName (String) - The name of the tab this item will switch to.
+spaces-context-switch-tab-item =
+ .label = 切换到{ $tabName }
+settings-context-open-settings-item2 =
+ .label = 设置
+settings-context-open-account-settings-item2 =
+ .label = 账户设置
+settings-context-open-addons-item2 =
+ .label = 扩展和主题
+
+## Spaces toolbar pinned tab menupopup
+
+spaces-toolbar-pinned-tab-button =
+ .tooltiptext = 打开空间菜单
+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 ->
+ *[other] { $count } 条未读消息
+ }
+
+## Spaces toolbar customize panel
+
+menuitem-customize-label =
+ .label = 定制…
+spaces-customize-panel-title = 空间工具栏设置
+spaces-customize-background-color = 背景颜色
+spaces-customize-icon-color = 按钮颜色
+# The background color used on the buttons of the spaces toolbar when they are
+# `current`, meaning the related space/tab is active and visible.
+spaces-customize-accent-background-color = 选定按钮的背景颜色
+# 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 = 选定按钮的颜色
+spaces-customize-button-restore = 恢复默认设置
+ .accesskey = R
+customize-panel-button-save = 完成
+ .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 = 快速筛选栏
+ .accesskey = Q
+# This is the key used to show the quick filter bar.
+# This should match quick-filter-bar-textbox-shortcut in about3Pane.ftl.
+quick-filter-bar-show =
+ .key = k
+
+## OpenPGP
+
+openpgp-forget = 忘记 OpenPGP 密码
+
+## Quota panel.
+
+# Variables:
+# $percent (Number) - Usage percentage of the assigned IMAP quota.
+# $usage (String) - Current quota usage (may include unit)
+# $limit (String) - Current quota limit (may include unit)
+quota-panel-percent-used = { $percent }% 已使用
+ .title = IMAP 容量:已用 { $usage }/总共 { $limit }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messengercompose/messengercompose.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messengercompose/messengercompose.ftl
new file mode 100644
index 0000000000..dfa5dce4d9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/messengercompose/messengercompose.ftl
@@ -0,0 +1,406 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = 发送格式
+ .accesskey = F
+compose-send-auto-menu-item =
+ .label = 自动
+ .accesskey = A
+compose-send-both-menu-item =
+ .label = HTML 和纯文本
+ .accesskey = B
+compose-send-html-menu-item =
+ .label = 仅 HTML
+ .accesskey = H
+compose-send-plain-menu-item =
+ .label = 仅纯文本
+ .accesskey = P
+
+## Addressing widget
+
+# $type (String) - the type of the addressing row
+remove-address-row-button =
+ .title = 移除 { $type } 栏
+# $type (String) - the type of the addressing row
+# $count (Number) - the number of address pills currently present in the addressing row
+address-input-type-aria-label =
+ { $count ->
+ [0] { $type }
+ *[other] { $type } 有 { $count } 个地址,按左方向键(←)进行聚焦。
+ }
+# $email (String) - the email address
+# $count (Number) - the number of address pills currently present in the addressing row
+pill-aria-label =
+ { $count ->
+ [one] { $email }:按 Enter 编辑、按 Delete 删除。
+ *[other] { $email },第 1 个,共 { $count } 个:按 Enter 编辑、按 Delete 删除。
+ }
+# $email (String) - the email address
+pill-tooltip-invalid-address = { $email } 不是有效的电子邮件地址
+# $email (String) - the email address
+pill-tooltip-not-in-address-book = { $email } 不在您的通讯录中
+pill-action-edit =
+ .label = 编辑地址
+ .accesskey = e
+# $type (String) - the type of the addressing row, e.g. Cc, Bcc, etc.
+pill-action-select-all-sibling-pills =
+ .label = 选择所有{ $type }地址
+ .accesskey = A
+pill-action-select-all-pills =
+ .label = 选择所有地址
+ .accesskey = S
+pill-action-move-to =
+ .label = 移动到“收件人”
+ .accesskey = t
+pill-action-move-cc =
+ .label = 移动到“抄送”
+ .accesskey = c
+pill-action-move-bcc =
+ .label = 移动到“密送”
+ .accesskey = b
+pill-action-expand-list =
+ .label = 展开列表
+ .accesskey = x
+
+## Attachment widget
+
+ctrl-cmd-shift-pretty-prefix =
+ { PLATFORM() ->
+ [macos] ⇧ ⌘{ " " }
+ *[other] Ctrl+Shift+
+ }
+trigger-attachment-picker-key = A
+toggle-attachment-pane-key = M
+menuitem-toggle-attachment-pane =
+ .label = 附件窗格
+ .accesskey = m
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key }
+toolbar-button-add-attachment =
+ .label = 附件
+ .tooltiptext = 添加附件({ ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key })
+add-attachment-notification-reminder2 =
+ .label = 添加附件…
+ .accesskey = A
+ .tooltiptext = { toolbar-button-add-attachment.tooltiptext }
+menuitem-attach-files =
+ .label = 文件…
+ .accesskey = F
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+context-menuitem-attach-files =
+ .label = 附件…
+ .accesskey = F
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ trigger-attachment-picker-key }
+# Note: Do not translate the term 'vCard'.
+context-menuitem-attach-vcard =
+ .label = 我的 vCard
+ .accesskey = C
+context-menuitem-attach-openpgp-key =
+ .label = 我的 OpenPGP 公钥
+ .accesskey = K
+# $count (Number) - the number of attachments in the attachment bucket
+attachment-bucket-count-value =
+ { $count ->
+ [1] { $count } 个附件
+ *[other] { $count } 个附件
+ }
+attachment-area-show =
+ .title = 显示附件窗格({ ctrl-cmd-shift-pretty-prefix }{ toggle-attachment-pane-key })
+attachment-area-hide =
+ .title = 隐藏附件窗格({ 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 ->
+ *[other] 添加为附件
+ }
+drop-file-label-inline =
+ { $count ->
+ *[other] 行内追加
+ }
+
+## Reorder Attachment Panel
+
+move-attachment-first-panel-button =
+ .label = 移到首位
+move-attachment-left-panel-button =
+ .label = 向左移动
+move-attachment-right-panel-button =
+ .label = 向右移动
+move-attachment-last-panel-button =
+ .label = 移到末位
+button-return-receipt =
+ .label = 回执
+ .tooltiptext = 要求对方收件后发送回执
+
+## Encryption
+
+encryption-menu =
+ .label = 安全性
+ .accesskey = c
+encryption-toggle =
+ .label = 加密
+ .tooltiptext = 端到端加密此消息
+encryption-options-openpgp =
+ .label = OpenPGP
+ .tooltiptext = 查看或更改 OpenPGP 加密设置
+encryption-options-smime =
+ .label = S/MIME
+ .tooltiptext = 查看或更改 S/MIME 加密设置
+signing-toggle =
+ .label = 签名
+ .tooltiptext = 对消息进行数字签名
+menu-openpgp =
+ .label = OpenPGP
+ .accesskey = O
+menu-smime =
+ .label = S/MIME
+ .accesskey = S
+menu-encrypt =
+ .label = 加密
+ .accesskey = E
+menu-encrypt-subject =
+ .label = 加密主题
+ .accesskey = B
+menu-sign =
+ .label = 数字签名
+ .accesskey = i
+menu-manage-keys =
+ .label = 密钥助手
+ .accesskey = A
+menu-view-certificates =
+ .label = 查看收件人证书
+ .accesskey = V
+menu-open-key-manager =
+ .label = 密钥管理器
+ .accesskey = M
+openpgp-key-issue-notification-one = 端到端加密功能需解决 { $addr } 的密钥问题。
+openpgp-key-issue-notification-many = 端到端加密功能需解决 { $count } 位收件人的密钥问题。
+smime-cert-issue-notification-one = 端到端加密功能需解决 { $addr } 的证书问题。
+smime-cert-issue-notification-many = 端到端加密功能需解决 { $count } 位收件人的证书问题。
+# Variables:
+# $addr (String) - Email address (which related to the currently selected
+# from address) which isn't set up to end-to-end encryption.
+openpgp-key-issue-notification-from = 您未设置为从 { $addr } 发送端到端的加密消息。
+# Variables:
+# $addr (String) - Email address with key issues.
+openpgp-key-issue-notification-single = 端到端加密需要 { $addr } 的密钥。
+# Variables:
+# $count (Number) - Number of recipients with key issues.
+openpgp-key-issue-notification-multi = 端到端加密功能需要 { $count } 位收件人的密钥。
+# Variables:
+# $addr (String) - mail address with certificate issues.
+smime-cert-issue-notification-single = 端到端加密功能需要 { $addr } 的证书。
+# Variables:
+# $count (Number) - Number of recipients with certificate issues.
+smime-cert-issue-notification-multi = 端到端加密功能需要 { $count } 位收件人的证书。
+key-notification-disable-encryption =
+ .label = 不加密
+ .accesskey = D
+ .tooltiptext = 禁用端到端加密
+key-notification-resolve =
+ .label = 解决…
+ .accesskey = R
+ .tooltiptext = 打开 OpenPGP 密钥助手
+can-encrypt-smime-notification = S/MIME 端到端加密可用。
+can-encrypt-openpgp-notification = OpenPGP 端到端加密可用。
+can-e2e-encrypt-button =
+ .label = 加密
+ .accesskey = E
+
+## Addressing Area
+
+to-address-row-label =
+ .value = 收件人
+# $key (String) - the shortcut key for this field
+show-to-row-main-menuitem =
+ .label = 收件人栏
+ .accesskey = T
+ .acceltext = { ctrl-cmd-shift-pretty-prefix }{ $key }
+# No acceltext should be shown.
+# The label should match the show-to-row-button text.
+show-to-row-extra-menuitem =
+ .label = 收件人
+ .accesskey = T
+# $key (String) - the shortcut key for this field
+show-to-row-button = 收件人
+ .title = 显示收件人栏({ ctrl-cmd-shift-pretty-prefix }{ $key })
+cc-address-row-label =
+ .value = 抄送
+# $key (String) - the shortcut key for this field
+show-cc-row-main-menuitem =
+ .label = 抄送栏
+ .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 = 抄送
+ .accesskey = C
+# $key (String) - the shortcut key for this field
+show-cc-row-button = 抄送
+ .title = 显示抄送栏({ ctrl-cmd-shift-pretty-prefix }{ $key })
+bcc-address-row-label =
+ .value = 密送
+# $key (String) - the shortcut key for this field
+show-bcc-row-main-menuitem =
+ .label = 密送栏
+ .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 = 密送
+ .accesskey = B
+# $key (String) - the shortcut key for this field
+show-bcc-row-button = 密送
+ .title = 显示密送栏({ ctrl-cmd-shift-pretty-prefix }{ $key })
+extra-address-rows-menu-button =
+ .title = 显示其他收件人相关栏
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+many-public-recipients-notice =
+ { $count ->
+ *[other] “收件人(To)”与“抄送(Cc)”共有 { $count } 位,他们可以看到彼此的邮箱地址。您可以改用“密送”来避免泄露收件人信息。
+ }
+public-recipients-notice-single = 您的消息的收件人公开可见。改用密送可避免泄露收件人。
+# Variables:
+# $count (Number) - the count of addresses in the "To" and "Cc" fields.
+public-recipients-notice-multi = 共有 { $count } 位 “收件人(To)”与“抄送人(Cc)”,他们可以看到彼此的邮箱地址。您可以改用“密送”来避免泄露收件人信息。
+many-public-recipients-bcc =
+ .label = 改用密送
+ .accesskey = U
+many-public-recipients-ignore =
+ .label = 保持收件人公开
+ .accesskey = K
+many-public-recipients-prompt-title = 太多公开收件人
+# $count (Number) - the count of addresses in the public recipients fields.
+many-public-recipients-prompt-msg =
+ { $count ->
+ [one] 您的消息包含公开的收件人,可能会造成隐私顾虑。可以将它们改为“密件”以避免泄露收件人信息。
+ *[other] 您的消息中有 { $count } 位公开的收件人,他们都能看到彼此的邮箱,可能会造成隐私顾虑。可以将它们改为“密送”以避免泄露收件人信息。
+ }
+many-public-recipients-prompt-cancel = 取消发送
+many-public-recipients-prompt-send = 仍要发送
+
+## Notifications
+
+# Variables:
+# $identity (string) - The name of the used identity, most likely an email address.
+compose-missing-identity-warning = 找不到匹配发件人(From)地址的唯一身份。该邮件将使用当前 From 字段和 { $identity } 身份的设置发送。
+encrypted-bcc-warning = 发送加密邮件时,并未完全隐藏密送的收件者。所有收件者都可能识别出他们。
+encrypted-bcc-ignore-button = 好的
+auto-disable-e2ee-warning = 已自动禁用此消息的端到端加密。
+
+## Editing
+
+
+# Tools
+
+compose-tool-button-remove-text-styling =
+ .tooltiptext = 移除文本样式
+
+## Filelink
+
+# A text used in a tooltip of Filelink attachments, whose account has been
+# removed or is unknown.
+cloud-file-unknown-account-tooltip = 上传至未知的文件快传账户。
+
+# Placeholder file
+
+# Title for the html placeholder file.
+# $filename - name of the file
+cloud-file-placeholder-title = { $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 = 文件 { $filename } 已上传至文件快传,可从下方链接下载。
+
+# 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 ->
+ *[other] 我已将 { $count } 个文件的链接附至此邮件:
+ }
+# 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 = 详细了解 { $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 = 详细了解 { $firstLinks } 和 { $lastLink }。
+# Tooltip for an icon, indicating that the link is protected by a password.
+cloud-file-tooltip-password-protected-link = 密码保护链接
+# Used in a list of stats about a specific file
+# Service - the used service provider to host the file (Filelink Service: BOX.com)
+# Size - the size of the file (Size: 4.2 MB)
+# Link - the link to the file (Link: https://some.provider.com)
+# Expiry Date - stating the date the link will expire (Expiry Date: 12.12.2022)
+# Download Limit - stating the maximum allowed downloads, before the link becomes invalid
+# (Download Limit: 6)
+cloud-file-template-service-name = 文件快传服务:
+cloud-file-template-size = 大小:
+cloud-file-template-link = 链接:
+cloud-file-template-password-protected-link = 密码保护链接:
+cloud-file-template-expiry-date = 有效期至:
+cloud-file-template-download-limit = 下载限制:
+
+# Messages
+
+cloud-file-connection-error-title = 连接错误
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-connection-error = { -brand-short-name } 已离线,无法连接至 { $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 = 上传 { $filename } 到 { $provider } 失败
+cloud-file-rename-error-title = 重命名错误
+# 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 = 在 { $provider } 重命名 { $filename } 时出错。
+# 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 = 在 { $provider } 重命名 { $filename } 失败
+# Variables:
+# $provider (string) - name of the online storage service that reported the error
+cloud-file-rename-not-supported = { $provider } 不支持重命名已上传的文件。
+cloud-file-attachment-error-title = 文件快传附件出错
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-attachment-error = 由于本地文件移动或删除,文件快传附件 { $filename } 未能更新。
+cloud-file-account-error-title = 文件快传账户错误
+# Variables:
+# $filename (string) - name of the file that was renamed and caused the error
+cloud-file-account-error = 由于文件快传已被删除,文件快传附件 { $filename } 未能更新。
+
+## Link Preview
+
+link-preview-title = 链接预览
+link-preview-description = { -brand-short-name } 可以在粘贴链接时嵌入预览。
+link-preview-autoadd = 可用时,自动添加链接预览
+link-preview-replace-now = 为此链接添加链接预览?
+link-preview-yes-replace = 好的
+
+## Dictionary selection popup
+
+spell-add-dictionaries =
+ .label = 添加字典…
+ .accesskey = A
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/migration.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/migration.ftl
new file mode 100644
index 0000000000..52dfbbfde8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 正在准备 { -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 = 测试快速变动
+migration-task-test-slow = 测试缓速变动
+migration-task-test-progress = 测试进度条
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/multimessageview.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/multimessageview.ftl
new file mode 100644
index 0000000000..12dd591aae
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 消息摘要
+selected-messages-label =
+ .label = 已选中消息
+multi-message-archive-button =
+ .label = 归档
+ .tooltiptext = 归档
+multi-message-delete-button =
+ .label = 删除
+ .tooltiptext = 删除
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/backupKeyPassword.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/backupKeyPassword.ftl
new file mode 100644
index 0000000000..6b29ec4849
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 输入用于保护 OpenPGP 密钥的密码
+set-password-window-title = 输入用于保护 OpenPGP 密钥的密码
+set-password-legend = 设置密码
+set-password-message = 此处设置的密码可保护您要创建的 OpenPGP 密钥备份文件。您必须设置此密码才能备份。
+set-password-backup-pw =
+ .value = 密钥备份密码:
+set-password-repeat-backup-pw =
+ .value = 密钥备份密码(再次输入):
+set-password-backup-pw-label = 密钥备份密码:
+set-password-backup-pw2-label = 密钥备份密码(再次输入):
+set-password-reminder = <b>重要!</b>如果您忘记了密钥备份密码,此后将无法恢复此备份。请将它记在一个安全的地方。
+password-quality-meter = 密码强度
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/changeExpiryDlg.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/changeExpiryDlg.ftl
new file mode 100644
index 0000000000..a92bac501f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 更改密钥有效期
+openpgp-change-expiry-title = 更改密钥有效期
+info-will-expire = 该密钥当前配置为在 { $date } 到期。
+info-already-expired = 该密钥已过期。
+info-does-not-expire = 该密钥当前配置为永不过期。
+info-explanation-1 = <b>密钥过期后</b>,将无法再用于加密或数字签名。
+info-explanation-2 = 要长时间使用此密钥,请更改到期日,然后再次将公钥与您的通信伙伴共享。
+expire-dont-change =
+ .label = 不要更改到期日
+expire-never-label =
+ .label = 密钥永不过期
+expire-in-label =
+ .label = 密钥将到期于:
+expire-in-months = 月
+expire-no-change-label = 不要更改到期日
+expire-in-time-label = 密钥将到期于:
+expire-never-expire-label = 密钥永不过期
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/composeKeyStatus.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/composeKeyStatus.ftl
new file mode 100644
index 0000000000..84217986d4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/composeKeyStatus.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/.
+
+openpgp-compose-key-status-intro-need-keys = 若要发送端到端加密消息,必须取得并接受每一位收件人的公钥。
+openpgp-compose-key-status-keys-heading = OpenPGP 密钥可用性:
+openpgp-compose-key-status-title =
+ .title = OpenPGP 消息安全
+openpgp-compose-key-status-recipient =
+ .label = 收件人
+openpgp-compose-key-status-status =
+ .label = 状态
+openpgp-compose-key-status-open-details = 管理选中的收件人的密钥…
+openpgp-recip-good = 确定
+openpgp-recip-missing = 无可用密钥
+openpgp-recip-none-accepted = 无可接受的密钥
+openpgp-compose-general-info-alias = { -brand-short-name } 通常会要求收件者的公钥中包含与电子邮件地址相同的用户 ID。此行为可通过更改 OpenPGP 收件者别名规则来调整。
+openpgp-compose-general-info-alias-learn-more = 详细了解
+openpgp-compose-alias-status-direct =
+ { $count ->
+ *[other] 对应到 { $count } 把别名密钥
+ }
+openpgp-compose-alias-status-error = 不可用 / 不存在的别名密钥
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyAssistant.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyAssistant.ftl
new file mode 100644
index 0000000000..5a739661cf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyAssistant.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/.
+
+openpgp-key-assistant-title = OpenPGP 密钥助手
+openpgp-key-assistant-rogue-warning = 避免接受伪造的密钥。为确保您获得了正确的密钥,您应该对其进行验证。 <a data-l10n-name="openpgp-link">详细了解…</a>
+
+## Encryption status
+
+openpgp-key-assistant-recipients-issue-header = 无法加密
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-issue-description =
+ { $count ->
+ *[other] 如需加密,您必须先获取并接受 { $count } 位收件人的可用密钥。 <a data-l10n-name="openpgp-link">详细了解…</a>
+ }
+openpgp-key-assistant-info-alias = { -brand-short-name } 通常会要求收件者的公钥中包含与电子邮件地址相同的用户 ID。此行为可通过更改 OpenPGP 收件者别名规则来调整。 <a data-l10n-name="openpgp-link">详细了解…</a>
+# Variables:
+# $count (Number) - The number of recipients that need attention.
+openpgp-key-assistant-recipients-description =
+ { $count ->
+ *[other] 您已拥有 { $count } 位收件人可用且已接受的密钥。
+ }
+openpgp-key-assistant-recipients-description-no-issues = 你拥有所有收件人可用且已接收的密钥,可加密此消息。
+
+## 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 ->
+ *[other] { -brand-short-name } 为 { $recipient } 找到了以下密钥。
+ }
+openpgp-key-assistant-valid-description = 请选择您要接受的密钥
+# Variables:
+# $numKeys (Number) - The number of available keys.
+openpgp-key-assistant-invalid-title =
+ { $numKeys ->
+ *[other] 在更新下列密钥前,您无法使用下列密钥。
+ }
+openpgp-key-assistant-no-key-available = 无可用密钥。
+openpgp-key-assistant-multiple-keys = 多个密钥可用。
+# Variables:
+# $count (Number) - The number of unaccepted keys.
+openpgp-key-assistant-key-unaccepted =
+ { $count ->
+ [one] 有一个可用密钥,但您尚未接受过。
+ *[other] 有多个可用密钥,但您尚未接受过任何一个。
+ }
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-accepted-expired = 一个接受的密钥已于 { $date } 过期。
+openpgp-key-assistant-keys-accepted-expired = 多个接受的密钥已过期。
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-this-key-accepted-expired = 之前接受过此密钥,但已于 { $date } 过期。
+# Variables:
+# $date (String) - The expiration date of the key.
+openpgp-key-assistant-key-unaccepted-expired-one = 密钥已于 { $date } 过期。
+openpgp-key-assistant-key-unaccepted-expired-many = 多个密钥已过期。
+openpgp-key-assistant-key-fingerprint = 指纹
+# Variables:
+# $count (Number) - Number of key sources.
+openpgp-key-assistant-key-source =
+ { $count ->
+ *[other] 来源
+ }
+openpgp-key-assistant-key-collected-attachment = 邮件附件
+# Autocrypt is the name of a standard.
+openpgp-key-assistant-key-collected-autocrypt = 自动加密头
+openpgp-key-assistant-key-collected-keyserver = 密钥服务器
+# Web Key Directory (WKD) is a concept.
+openpgp-key-assistant-key-collected-wkd = Web 密钥目录
+# Do not translate GnuPG, it's a name of other software.
+openpgp-key-assistant-key-collected-gnupg = GnuPG 钥匙串
+# Variables:
+# $count (Number) - Number of found keys.
+openpgp-key-assistant-keys-has-collected =
+ { $count ->
+ [one] 找到一个密钥,但您尚未接受过。
+ *[other] 找到多个密钥,但您尚未接受过任何一个。
+ }
+openpgp-key-assistant-key-rejected = 此密钥先前已被拒绝。
+openpgp-key-assistant-key-accepted-other = 先前已接受此密钥用于其他电子邮件地址
+# Variables:
+# $recipient (String) - The email address of the recipient needing resolution.
+openpgp-key-assistant-resolve-discover-info = 在网络上寻找 { $recipient } 的其他或更新的密钥,或从文件中导入。
+
+## Discovery section
+
+openpgp-key-assistant-discover-title = 正在网络上寻找。
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-discover-keys = 正在寻找 { $recipient } 的密钥…
+# Variables:
+# $recipient (String) - The email address which we're discovering keys.
+openpgp-key-assistant-expired-key-update =
+ 发现 { $recipient } 以前接受过的其中一个密钥有更新。
+ 由于已经不再过期,现在起可以使用了。
+
+## Dialog buttons
+
+openpgp-key-assistant-discover-online-button = 在网上寻找公钥…
+openpgp-key-assistant-import-keys-button = 从文件导入公钥…
+openpgp-key-assistant-issue-resolve-button = 解决…
+openpgp-key-assistant-view-key-button = 查看密钥…
+openpgp-key-assistant-recipients-show-button = 显示
+openpgp-key-assistant-recipients-hide-button = 隐藏
+openpgp-key-assistant-cancel-button = 取消
+openpgp-key-assistant-back-button = 上一步
+openpgp-key-assistant-accept-button = 接受
+openpgp-key-assistant-close-button = 关闭
+openpgp-key-assistant-disable-button = 禁用加密
+openpgp-key-assistant-confirm-button = 加密发送
+# Variables:
+# $date (String) - The key creation date.
+openpgp-key-assistant-key-created = 创建于 { $date }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyWizard.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyWizard.ftl
new file mode 100644
index 0000000000..3d1a8e1641
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/keyWizard.ftl
@@ -0,0 +1,139 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# $identity (String) - the email address of the currently selected identity
+key-wizard-dialog-window =
+ .title = 为 { $identity } 新建 OpenPGP 个人密钥
+key-wizard-button =
+ .buttonlabelaccept = 继续
+ .buttonlabelhelp = 返回
+key-wizard-dialog =
+ .buttonlabelaccept = 继续
+ .buttonlabelextra1 = 返回
+key-wizard-warning = <b>若您已有此邮箱的个人密钥</b>,应该直接导入该密钥,否则将无法再访问先前加密过的邮件,以及其他人使用您现有密钥加密发送给您的邮件。
+key-wizard-learn-more = 详细了解
+radio-create-key =
+ .label = 新建 OpenPGP 密钥
+ .accesskey = C
+radio-import-key =
+ .label = 导入现有的 OpenPGP 密钥
+ .accesskey = I
+radio-gnupg-key =
+ .label = 通过 GnuPG 使用您的外部密钥(例如:智能卡)
+ .accesskey = U
+
+## Generate key section
+
+openpgp-generate-key-title = 生成 OpenPGP 密钥
+openpgp-keygen-secret-protection = 密钥保护
+radio-keygen-no-protection =
+ .label = 未受保护
+radio-keygen-protect-primary-pass =
+ .label = 使用主密码保护
+radio-keygen-passphrase-protection =
+ .label = 使用密码保护:
+openpgp-passphrase-repeat = 确认密码:
+openpgp-generate-key-info = <b>密钥生成可能需要几分才能完成。</b>密钥生成过程中,请不要关闭应用程序。主动浏览上网,或进行频繁读写磁盘操作,可补充“随机数池”以加速密钥生成。完成后将提示您密钥已生成。
+openpgp-keygen-expiry-title = 密钥到期日
+openpgp-keygen-expiry-description = 设定您新生成的密钥的到期时间,之后可根据需要进行延期。
+radio-keygen-expiry =
+ .label = 密钥过期时间
+ .accesskey = e
+radio-keygen-no-expiry =
+ .label = 密钥永不过期
+ .accesskey = d
+openpgp-keygen-days-label =
+ .label = 天
+openpgp-keygen-months-label =
+ .label = 月
+openpgp-keygen-years-label =
+ .label = 年
+openpgp-keygen-advanced-title = 高级设置
+openpgp-keygen-advanced-description = 控制您 OpenPGP 密钥的高级设置。
+openpgp-keygen-keytype =
+ .value = 密钥类型:
+ .accesskey = t
+openpgp-keygen-keysize =
+ .value = 密钥大小:
+ .accesskey = s
+openpgp-keygen-type-rsa =
+ .label = RSA
+openpgp-keygen-type-ecc =
+ .label = ECC(椭圆曲线)
+openpgp-keygen-button = 生成密钥
+openpgp-keygen-progress-title = 生成新的 OpenPGP 密钥…
+openpgp-keygen-import-progress-title = 导入您的 OpenPGP 密钥…
+openpgp-import-success = 已成功导入 OpenPGP 密钥!
+openpgp-import-success-title = 完成导入过程
+openpgp-import-success-description = 若要使用您方才导入的 OpenPGP 密钥来加密邮件,请关闭此对话框,并到账户设置中选择该密钥。
+openpgp-keygen-confirm =
+ .label = 确认
+openpgp-keygen-dismiss =
+ .label = 取消
+openpgp-keygen-cancel =
+ .label = 取消生成密钥…
+openpgp-keygen-import-complete =
+ .label = 关闭
+ .accesskey = C
+openpgp-keygen-missing-username = 尚未指定当前账户的名称。请在账户设置中的“您的名字”栏输入姓名。
+openpgp-keygen-long-expiry = 无法创建有效期超过 100 年的密钥。
+openpgp-keygen-short-expiry = 您的密钥有效期不能少于 1 天。
+openpgp-keygen-ongoing = 已在生成密钥中!
+openpgp-keygen-error-core = 无法初始化 OpenPGP 核心服务
+openpgp-keygen-error-failed = OpenPGP 密钥生成意外失败
+# $key (String) - the ID of the newly generated OpenPGP key
+openpgp-keygen-error-revocation = 已成功生成 OpenPGP 密钥,但密钥 { $key } 的吊销信息获取失败
+openpgp-keygen-abort-title = 要中止生成密钥吗?
+openpgp-keygen-abort = 当前正在生成 OpenPGP密钥,您确定要取消吗?
+# $identity (String) - the name and email address of the currently selected identity
+openpgp-key-confirm = 确定要生成 { $identity } 的公钥与私钥吗?
+
+## Import Key section
+
+openpgp-import-key-title = 导入现有的 OpenPGP 个人密钥
+openpgp-import-key-legend = 选择先前备份的文件。
+openpgp-import-key-description = 您可以导入其他 OpenPGP 软件创建的个人密钥。
+openpgp-import-key-info = 在其他软件中,可能会将个人密钥称为“您的密钥”、“私钥”、“密钥”或“密钥对”。
+# $count (Number) - the number of keys found in the selected files
+openpgp-import-key-list-amount-2 =
+ { $count ->
+ *[other] { -brand-short-name } 找到 { $count } 个可以导入的密钥。
+ }
+openpgp-import-key-list-description = 请确认哪些密钥是您的个人密钥。应该只将您自己创建,且显示您个人身份的密钥视为个人密钥。您可以稍后到“密钥属性”对话框更改此选项。
+openpgp-import-key-list-caption = 标记为“个人密钥”的密钥,将列于“端到端加密”项中。其他密钥则列出于“密钥管理器”。
+openpgp-import-keep-passphrases =
+ .label = 对导入的密钥进行密码保护
+openpgp-passphrase-prompt-title = 请输入密语
+# $identity (String) - the id of the key being imported
+openpgp-passphrase-prompt = 请输入用于解密下列密钥的密语:{ $key }
+openpgp-import-key-button =
+ .label = 选择要导入的文件…
+ .accesskey = S
+import-key-file = 导入 OpenPGP 密钥文件
+import-key-personal-checkbox =
+ .label = 将此密钥视为个人密钥
+gnupg-file = GnuPG 文件
+import-error-file-size = <b>出错!</b>不支持大于 5MB 的文件。
+# $error (String) - the reported error from the failed key import method
+import-error-failed = <b>出错!</b>导入文件失败。{ $error }
+# $error (String) - the reported error from the failed key import method
+openpgp-import-keys-failed = <b>出错!</b>导入密钥失败。{ $error }
+openpgp-import-identity-label = 身份标识
+openpgp-import-fingerprint-label = 指纹
+openpgp-import-created-label = 创建于
+openpgp-import-bits-label = 位
+openpgp-import-key-props =
+ .label = 密钥属性
+ .accesskey = K
+
+## External Key section
+
+openpgp-external-key-title = 外部 GnuPG 密钥
+openpgp-external-key-description = 输入密钥 ID 配置外部 GnuPG 密钥
+openpgp-external-key-info = 此外,必须使用“密钥管理器”来导入并接受对应的公钥。
+openpgp-external-key-warning = <b>您只能配置 1 个外部 GnuPG 密钥。</b>先前的条目将被替换。
+openpgp-save-external-button = 保存密钥 ID
+openpgp-external-key-label = 密钥 ID:
+openpgp-external-key-input =
+ .placeholder = 123456789341298340
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/msgReadStatus.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/msgReadStatus.ftl
new file mode 100644
index 0000000000..a3e350f88d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/msgReadStatus.ftl
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Message Header Encryption Button
+
+message-header-show-security-info-key = S
+# $type (String) - the shortcut key defined in the message-header-show-security-info-key
+message-security-button =
+ .title =
+ { PLATFORM() ->
+ [macos] 显示消息安全性信息(⌘ ⌥ { message-header-show-security-info-key })
+ *[other] 显示消息安全性信息(Ctrl+Alt+{ message-header-show-security-info-key })
+ }
+openpgp-view-signer-key =
+ .label = 查看签名者密钥
+openpgp-view-your-encryption-key =
+ .label = 查看您的解密密钥
+openpgp-openpgp = OpenPGP
+openpgp-no-sig = 无数字签名
+openpgp-no-sig-info = 此消息中没有包含发送者的数字签名。缺少数字签名表明此消息可能是某个伪装拥有此邮件地址的人发送的。也有可能此消息在传送过程中已经被更改。
+openpgp-uncertain-sig = 无法确认的数字签名
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-uncertain-sig-with-date = 无法确认的数字签名 - 签署于 { $date }
+openpgp-invalid-sig = 无效的数字签名
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-invalid-sig-with-date = 无效的数字签名 - 签署于 { $date }
+openpgp-bad-date-sig = 签名日期不匹配
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-bad-date-sig-with-date = 签名日期不匹配 - 签名日期:{ $date }
+openpgp-good-sig = 正确的数字签名
+# Variables:
+# $date (String) - Date with time the signature was made in a short format.
+openpgp-good-sig-with-date = 正确的数字签名 - 签署于 { $date }
+openpgp-sig-uncertain-no-key = 此消息包含数字签名 ,但无法确认签名是否正确。若要验证签名,需取得收件人公钥的副本。
+openpgp-sig-uncertain-uid-mismatch = 此消息包含数字签名,但与已知的签名不匹配。消息是由与发件人公钥不符的电子邮件地址发出的。
+openpgp-sig-uncertain-not-accepted = 此消息包含数字签名,但您尚未决定是否接受发件人的密钥。
+openpgp-sig-invalid-rejected = 此消息包含数字签名,但您先前已决定要拒绝签名者的密钥。
+openpgp-sig-invalid-technical-problem = 此消息包含数字签名,但检测到技术错误。可能已损坏或遭人窜改。
+openpgp-sig-invalid-date-mismatch = 此消息包含数字签名,但签名时间与邮件发送时间不一致。这可能是有人试图利用错误上下文中的内容(例如,另一适时的上下文中撰写的内容,或是本应发送给另一人的内容)来欺骗您。
+openpgp-sig-valid-unverified = 此消息包含您先前接受过的密钥所生成的有效数字签名。但您还未验证过密钥是否确属于该发件人。
+openpgp-sig-valid-verified = 此消息包含由已验证的密钥所生成的有效数字签名。
+openpgp-sig-valid-own-key = 此消息包含由您的个人密钥所生成的有效数字签名。
+# Variables:
+# $key (String) - The ID of the OpenPGP key used to create the signature.
+openpgp-sig-key-id = 签名者密钥 ID:{ $key }
+# Variables:
+# $key (String) - The primary ID of the OpenPGP key used to create the signature.
+# $subkey (String) - A subkey of the primary key was used to create the signature, and this is the ID of that subkey.
+openpgp-sig-key-id-with-subkey-id = 签名者密钥 ID:{ $key }(子密钥 ID:{ $subkey })
+# Variables:
+# $key (String) - The ID of the user's OpenPGP key used to decrypt the message.
+openpgp-enc-key-id = 您的解密密钥 ID:{ $key }
+# Variables:
+# $key (String) - The primary ID of the user's OpenPGP key used to decrypt the message.
+# $subkey (String) - A subkey of the primary key was used to decrypt the message, and this is the ID of that subkey.
+openpgp-enc-key-with-subkey-id = 您的解密密钥 ID:{ $key }(子密钥 ID:{ $subkey })
+openpgp-enc-none = 消息未加密
+openpgp-enc-none-label = 此消息发送前未被加密。未经加密的信息在互联网的传输过程中可能被他人窥探其内容。
+openpgp-enc-invalid-label = 无法解密消息
+openpgp-enc-invalid = 此消息发送给你之前已被加密,但是无法解密。
+openpgp-enc-clueless = 处理此消息时发生未知问题。
+openpgp-enc-valid-label = 消息已加密
+openpgp-enc-valid = 此消息在发送给您之前已进行加密。通过加密,可确保消息只被该收到的收件人阅读。
+openpgp-unknown-key-id = 未知密钥
+openpgp-other-enc-additional-key-ids = 此外,消息已由下列密钥的拥有者加密:
+openpgp-other-enc-all-key-ids = 消息已由下列密钥的拥有者加密:
+openpgp-message-header-encrypted-ok-icon =
+ .alt = 解密成功
+openpgp-message-header-encrypted-notok-icon =
+ .alt = 解密失败
+openpgp-message-header-signed-ok-icon =
+ .alt = 签名正确
+# Mismatch icon is used for notok state as well
+openpgp-message-header-signed-mismatch-icon =
+ .alt = 签名错误
+openpgp-message-header-signed-unknown-icon =
+ .alt = 未知签名状态
+openpgp-message-header-signed-verified-icon =
+ .alt = 签名已验证
+openpgp-message-header-signed-unverified-icon =
+ .alt = 签名未验证
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/oneRecipientStatus.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/oneRecipientStatus.ftl
new file mode 100644
index 0000000000..f9e9f90d0f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/oneRecipientStatus.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+openpgp-one-recipient-status-title =
+ .title = OpenPGP 消息安全
+openpgp-one-recipient-status-status =
+ .label = 状态
+openpgp-one-recipient-status-key-id =
+ .label = 密钥 ID
+openpgp-one-recipient-status-created-date =
+ .label = 创建于
+openpgp-one-recipient-status-expires-date =
+ .label = 到期于
+openpgp-one-recipient-status-open-details =
+ .label = 打开详细信息,并编辑接受度…
+openpgp-one-recipient-status-discover =
+ .label = 寻找新的密钥,或是否有密钥更新
+
+openpgp-one-recipient-status-instruction1 = 若要向收件人发送端到端加密消息,需先取得对方的 OpenPGP 公钥,并标记为已接受。
+openpgp-one-recipient-status-instruction2 = 要取得对方的公钥,请从他们发送的邮件中导入。或者您也可以尝试在网络目录中寻找。
+
+openpgp-key-own = 接受(个人密钥)
+openpgp-key-secret-not-personal = 不可用
+openpgp-key-verified = 接受(已验证)
+openpgp-key-unverified = 接受(未验证)
+openpgp-key-undecided = 不接受(未决定)
+openpgp-key-rejected = 不接受(已拒绝)
+openpgp-key-expired = 已过期
+
+openpgp-intro = { $key } 可用的公钥
+
+openpgp-pubkey-import-id = ID: { $kid }
+openpgp-pubkey-import-fpr = 指纹{ $fpr }
+
+openpgp-pubkey-import-intro =
+ { $num ->
+ *[other] 文件包含下列 { $num } 个公钥:
+ }
+
+openpgp-pubkey-import-accept =
+ { $num ->
+ *[other] 您要接受将此密钥用于验证下列所有电子邮件地址的数字签名与加密消息吗?
+ }
+
+pubkey-import-button =
+ .buttonlabelaccept = 导入
+ .buttonaccesskeyaccept = I
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp-frontend.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp-frontend.ftl
new file mode 100644
index 0000000000..ff0374d6d1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp-frontend.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/.
+
+openpgp-manage-keys-openpgp-cmd =
+ .label = OpenPGP 密钥管理器
+ .accesskey = O
+openpgp-ctx-decrypt-open =
+ .label = 解密并打开
+ .accesskey = D
+openpgp-ctx-decrypt-save =
+ .label = 解密并另存为...
+ .accesskey = C
+openpgp-ctx-import-key =
+ .label = 导入 OpenPGP 密钥
+ .accesskey = I
+openpgp-ctx-verify-att =
+ .label = 验证签名
+ .accesskey = V
+openpgp-has-sender-key = 此消息声称包含发件人的 OpenPGP 公钥。
+# Variables:
+# $email (String) - Email address with the problematic public key.
+openpgp-be-careful-new-key = 警告:此消息中的 OpenPGP 新公钥不同与您先前接受的 { $email } 公钥。
+openpgp-import-sender-key =
+ .label = 导入…
+openpgp-search-keys-openpgp =
+ .label = 寻找 OpenPGP 密钥
+openpgp-missing-signature-key = 此消息是用您没有的密钥所签名的。
+openpgp-search-signature-key =
+ .label = 寻找…
+# Don't translate the terms "OpenPGP" and "MS-Exchange"
+openpgp-broken-exchange-opened = 这是一则被 MS-Exchange 损坏的 OpenPGP 消息,由于是用本地文件的方式打开,无法修复。请尝试将消息复制到邮件文件夹,进行自动修复。
+openpgp-broken-exchange-info = 这是一则被 MS Exchange 损坏的 OpenPGP 消息。若消息内容不正确,可以尝试进行自动修复。
+openpgp-broken-exchange-repair =
+ .label = 修复消息
+openpgp-broken-exchange-wait = 请稍候…
+openpgp-has-nested-encrypted-parts = 此消息包含其他加密过的部分。
+openpgp-show-encrypted-parts = 解密并显示
+openpgp-cannot-decrypt-because-mdc = 这是一则使用了过时且易受攻击的机制所加密的信息。此消息可能在传输过程中已遭窜改,内容已泄露。为避免风险,将不显示此内容。
+openpgp-cannot-decrypt-because-missing-key = 用于解密此消息的私钥不存在。
+openpgp-partially-signed = 此消息中只有一部分使用 OpenPGP 进行数字签名。当您点击验证按钮后,将隐藏未保护的部分,并显示数字签名状态。
+openpgp-partially-encrypted = 此消息中只有一部分使用 OpenPGP 进行数字签名。消息中已显示可以阅读的部分并未加密。当您点击解密按钮后,将显示加密部分的内容。
+openpgp-reminder-partial-display = 提醒:下方显示的消息只是原始消息的一部分。
+openpgp-partial-verify-button = 验证
+openpgp-partial-decrypt-button = 解密
+openpgp-unexpected-key-for-you = 警告:此消息包含一个声称属于您的电子邮件地址的未知 OpenPGP 密钥。如果此密钥不属于您,则代表可能有人试图欺骗其他联系人。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl
new file mode 100644
index 0000000000..0714cf490f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/openpgp/openpgp.ftl
@@ -0,0 +1,723 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+e2e-intro-description = 若要发送经加密或数字签名的消息,需配置 OpenPGP 或 S/MIME 加密技术。
+e2e-intro-description-more = 请选择您要用于 OpenPGP 的个人密钥,或用于 S/MIME 的个人证书。无论是个人密钥或是证书,您都会有对应的私钥。
+e2e-signing-description = 数字签名可让收件人确认消息是您本人发送的,且内容未经窜改。加密消息默认启用数字签名。
+e2e-sign-message =
+ .label = 签名未加密消息
+ .accesskey = u
+e2e-disable-enc =
+ .label = 为新消息禁用加密
+ .accesskey = D
+e2e-enable-enc =
+ .label = 为新消息启用加密
+ .accesskey = n
+e2e-enable-description = 您仍可禁用特定消息的加密。
+e2e-advanced-section = 高级设置
+e2e-attach-key =
+ .label = 添加 OpenPGP 数字签名时也附加我的公钥
+ .accesskey = p
+e2e-encrypt-subject =
+ .label = 加密 OpenPGP 邮件主题
+ .accesskey = b
+e2e-encrypt-drafts =
+ .label = 以加密格式存储邮件草稿
+ .accesskey = r
+# Do not translate "Autocrypt", it's the name of a standard.
+e2e-autocrypt-headers =
+ .label = 在发送邮件头中包含 OpenPGP 公钥,以与 Autocrypt 功能兼容
+ .accesskey = t
+openpgp-key-created-label =
+ .label = 创建于
+openpgp-key-expiry-label =
+ .label = 到期日
+openpgp-key-id-label =
+ .label = 密钥 ID
+openpgp-cannot-change-expiry = 该密钥结构复杂,不支持更改到期日。
+openpgp-key-man-title =
+ .title = OpenPGP 密钥管理器
+openpgp-key-man-dialog-title = OpenPGP 密钥管理器
+openpgp-key-man-generate =
+ .label = 生成新密钥对
+ .accesskey = K
+openpgp-key-man-gen-revoke =
+ .label = 吊销证书
+ .accesskey = R
+openpgp-key-man-ctx-gen-revoke-label =
+ .label = 生成并保存吊销证书
+openpgp-key-man-file-menu =
+ .label = 文件
+ .accesskey = F
+openpgp-key-man-edit-menu =
+ .label = 编辑
+ .accesskey = E
+openpgp-key-man-view-menu =
+ .label = 查看
+ .accesskey = V
+openpgp-key-man-generate-menu =
+ .label = 生成
+ .accesskey = G
+openpgp-key-man-keyserver-menu =
+ .label = 密钥服务器
+ .accesskey = K
+openpgp-key-man-import-public-from-file =
+ .label = 从文件导入公钥
+ .accesskey = I
+openpgp-key-man-import-secret-from-file =
+ .label = 从文件导入私钥
+openpgp-key-man-import-sig-from-file =
+ .label = 从文件导入证书吊销信息
+openpgp-key-man-import-from-clipbrd =
+ .label = 从剪贴板导入密钥
+ .accesskey = I
+openpgp-key-man-import-from-url =
+ .label = 从 URL 导入密钥
+ .accesskey = U
+openpgp-key-man-export-to-file =
+ .label = 将公钥导出为文件
+ .accesskey = E
+openpgp-key-man-send-keys =
+ .label = 通过电子邮件发送公钥
+ .accesskey = S
+openpgp-key-man-backup-secret-keys =
+ .label = 备份私钥为文件
+ .accesskey = B
+openpgp-key-man-discover-cmd =
+ .label = 在网上寻找密钥
+ .accesskey = D
+openpgp-key-man-publish-cmd =
+ .label = 发布
+ .accesskey = P
+openpgp-key-publish = 发布
+openpgp-key-man-discover-prompt = 若要在网上寻找 OpenPGP 密钥、密钥服务器或使用 WKD 通信协议,请输入电子邮件地址或密钥 ID。
+openpgp-key-man-discover-progress = 正在搜索…
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-ok = 公钥已发送到“{ $keyserver }”。
+# Variables:
+# $keyserver (String) - The address of a server that contains a directory of OpenPGP public keys
+openpgp-key-publish-fail = 无法将您的公钥发送到“{ $keyserver }”。
+openpgp-key-copy-key =
+ .label = 复制公钥
+ .accesskey = C
+openpgp-key-export-key =
+ .label = 将公钥导出为文件
+ .accesskey = E
+openpgp-key-backup-key =
+ .label = 备份私钥为文件
+ .accesskey = B
+openpgp-key-send-key =
+ .label = 通过电子邮件发送公钥
+ .accesskey = S
+# Variables:
+# $count (Number) - Number of keys ids to copy.
+openpgp-key-man-copy-key-ids =
+ .label =
+ { $count ->
+ *[other] 复制密钥 ID 至剪贴板
+ }
+ .accesskey = K
+# Variables:
+# $count (Number) - Number of fingerprints to copy.
+openpgp-key-man-copy-fprs =
+ .label =
+ { $count ->
+ *[other] 复制指纹至剪贴板
+ }
+ .accesskey = F
+# Variables:
+# $count (Number) - Number of public keys to copy.
+openpgp-key-man-copy-to-clipboard =
+ .label =
+ { $count ->
+ *[other] 复制公钥至剪贴板
+ }
+ .accesskey = P
+openpgp-key-man-ctx-expor-to-file-label =
+ .label = 将密钥导出为文件
+openpgp-key-man-ctx-copy =
+ .label = 复制
+ .accesskey = C
+# Variables:
+# $count (Number) - Number of fingerprints.
+openpgp-key-man-ctx-copy-fprs =
+ .label =
+ { $count ->
+ *[other] 指纹
+ }
+ .accesskey = F
+# Variables:
+# $count (Number) - Number of key ids.
+openpgp-key-man-ctx-copy-key-ids =
+ .label =
+ { $count ->
+ *[other] 密钥 ID
+ }
+ .accesskey = K
+# Variables:
+# $count (Number) - Number of public keys.
+openpgp-key-man-ctx-copy-public-keys =
+ .label =
+ { $count ->
+ *[other] 公钥
+ }
+ .accesskey = P
+openpgp-key-man-close =
+ .label = 关闭
+openpgp-key-man-reload =
+ .label = 重载密钥缓存
+ .accesskey = R
+openpgp-key-man-change-expiry =
+ .label = 更改到期日
+ .accesskey = E
+openpgp-key-man-refresh-online =
+ .label = 在线刷新
+ .accesskey = R
+openpgp-key-man-ignored-ids =
+ .label = 电子邮件地址
+openpgp-key-man-del-key =
+ .label = 删除密钥
+ .accesskey = D
+openpgp-delete-key =
+ .label = 删除密钥
+ .accesskey = D
+openpgp-key-man-revoke-key =
+ .label = 吊销密钥
+ .accesskey = R
+openpgp-key-man-key-props =
+ .label = 密钥属性
+ .accesskey = K
+openpgp-key-man-key-more =
+ .label = 更多
+ .accesskey = M
+openpgp-key-man-view-photo =
+ .label = 免冠照
+ .accesskey = P
+openpgp-key-man-ctx-view-photo-label =
+ .label = 查看免冠照
+openpgp-key-man-show-invalid-keys =
+ .label = 显示无效的密钥
+ .accesskey = D
+openpgp-key-man-show-others-keys =
+ .label = 显示来自其他人的密钥
+ .accesskey = O
+openpgp-key-man-user-id-label =
+ .label = 名称
+openpgp-key-man-fingerprint-label =
+ .label = 指纹
+openpgp-key-man-select-all =
+ .label = 选择所有密钥
+ .accesskey = A
+openpgp-key-man-empty-tree-tooltip =
+ .label = 在上方框内输入所搜索条目
+openpgp-key-man-nothing-found-tooltip =
+ .label = 没有与搜索条件匹配的密钥
+openpgp-key-man-please-wait-tooltip =
+ .label = 正在加载密钥,请稍候…
+openpgp-key-man-filter-label =
+ .placeholder = 搜索密钥
+openpgp-key-man-select-all-key =
+ .key = A
+openpgp-key-man-key-details-key =
+ .key = I
+openpgp-ign-addr-intro = 您接受将此密钥用于验证下列选择的电子邮件地址:
+openpgp-key-details-doc-title = 密钥属性
+openpgp-key-details-signatures-tab =
+ .label = 证书
+openpgp-key-details-structure-tab =
+ .label = 结构
+openpgp-key-details-uid-certified-col =
+ .label = 用户 ID / 颁发者
+openpgp-key-details-key-id-label = 密钥 ID
+openpgp-key-details-user-id3-label = 声称的密钥所有者
+openpgp-key-details-id-label =
+ .label = ID
+openpgp-key-details-key-type-label = 类型
+openpgp-key-details-key-part-label =
+ .label = 密钥部分
+openpgp-key-details-attr-ignored = 警告:此密钥可能无法正常使用,因为它的某些属性不安全并且可能会被忽略。
+openpgp-key-details-attr-upgrade-sec = 您应该升级不安全的属性。
+openpgp-key-details-attr-upgrade-pub = 您应该请求此密钥的所有者将不安全的属性升级。
+openpgp-key-details-upgrade-unsafe =
+ .label = 升级不安全属性
+ .accesskey = P
+openpgp-key-details-upgrade-ok = 密钥升级成功。请与您的联系人共享升级后的公钥。
+openpgp-key-details-algorithm-label =
+ .label = 算法
+openpgp-key-details-size-label =
+ .label = 大小
+openpgp-key-details-created-label =
+ .label = 创建于
+openpgp-key-details-created-header = 创建于
+openpgp-key-details-expiry-label =
+ .label = 到期日
+openpgp-key-details-expiry-header = 到期日
+openpgp-key-details-usage-label =
+ .label = 用途
+openpgp-key-details-fingerprint-label = 指纹
+openpgp-key-details-legend-secret-missing = 标有 (!) 的密钥,其私钥不可用。
+openpgp-key-details-sel-action =
+ .label = 选择操作…
+ .accesskey = S
+openpgp-card-details-close-window-label =
+ .buttonlabelaccept = 关闭
+openpgp-acceptance-label =
+ .label = 您是否要接受
+openpgp-acceptance-rejected-label =
+ .label = 不接受,拒绝此密钥。
+openpgp-acceptance-undecided-label =
+ .label = 还没决定,之后再说。
+openpgp-acceptance-unverified-label =
+ .label = 接受,但我还未验证过是否为正确密钥。
+openpgp-acceptance-verified-label =
+ .label = 接受,我已验证这的确是正确的指纹。
+key-accept-personal = 您有此密钥的公钥与私钥部分,可以将其用作个人密钥。若此密钥是由别人提供给您的,则请勿将其用作个人密钥。
+openpgp-personal-no-label =
+ .label = 不,请勿将其用作我的个人密钥。
+openpgp-personal-yes-label =
+ .label = 是,将此密钥视为个人密钥。
+openpgp-passphrase-protection =
+ .label = 密码保护
+openpgp-passphrase-status-unprotected = 未受保护
+openpgp-passphrase-status-primary-password = 受 { -brand-short-name } 的主密码保护
+openpgp-passphrase-status-user-passphrase = 受密码保护
+openpgp-passphrase-instruction-unprotected = 设置密码以保护此密钥
+openpgp-passphrase-instruction-primary-password = 或者使用单独的密码保护此密钥
+openpgp-passphrase-instruction-user-passphrase = 解锁此密钥以更改其保护。
+openpgp-passphrase-unlock = 解锁
+openpgp-passphrase-unlocked = 钥匙成功解锁。
+openpgp-remove-protection = 删除密码保护
+openpgp-use-primary-password = 删除密码并使用主密码进行保护
+openpgp-passphrase-new = 新密码
+openpgp-passphrase-new-repeat = 确认新密码
+openpgp-passphrase-set = 设置密码
+openpgp-passphrase-change = 更改密码
+openpgp-copy-cmd-label =
+ .label = 复制
+
+## e2e encryption settings
+
+# $identity (String) - the email address of the currently selected identity
+openpgp-description-no-key = { -brand-short-name } 没有 <b>{ $identity }</b> 的个人 OpenPGP 密钥
+# $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 ->
+ *[other] { -brand-short-name } 找到 { $count } 个与 <b>{ $identity }</b> 关联的 OpenPGP 个人密钥
+ }
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-have-key = 您当前配置使用 ID 为 <b>{ $key }</b> 的密钥
+# $key (String) - the currently selected OpenPGP key
+openpgp-selection-status-error = 您当前配置使用密钥 <b>{ $key }</b>,已经过期。
+openpgp-add-key-button =
+ .label = 添加密钥...
+ .accesskey = A
+e2e-learn-more = 详细了解
+openpgp-keygen-success = 已成功创建 OpenPGP 密钥!
+openpgp-keygen-import-success = 已成功导入 OpenPGP 密钥!
+openpgp-keygen-external-success = 已保存外部 GnuPG 密钥 ID!
+
+## OpenPGP Key selection area
+
+openpgp-radio-none =
+ .label = 无
+openpgp-radio-none-desc = 不要为此身份使用 OpenPGP。
+openpgp-radio-key-not-usable = 由于缺少私钥,无法将此密钥用作个人密钥!
+openpgp-radio-key-not-accepted = 若要使用此密钥,您须先将其设为个人密钥!
+openpgp-radio-key-not-found = 找不到此密钥!若您想要使用此密钥,请先导入至 { -brand-short-name }。
+# $date (String) - the future expiration date of when the OpenPGP key will expire
+openpgp-radio-key-expires = 到期于:{ $date }
+# $date (String) - the past expiration date of when the OpenPGP key expired
+openpgp-radio-key-expired = 过期于:{ $date }
+openpgp-key-expires-within-6-months-icon =
+ .title = 密钥将在 6 个月内到期
+openpgp-key-has-expired-icon =
+ .title = 密钥已过期
+openpgp-suggest-publishing-key = 在密钥服务器上发布公钥,允许其他人发现它。
+openpgp-key-expand-section =
+ .tooltiptext = 更多信息
+openpgp-key-revoke-title = 吊销密钥
+openpgp-key-edit-title = 更改 OpenPGP 密钥
+openpgp-key-edit-date-title = 延长有效期
+openpgp-manager-description = 使用 OpenPGP 密钥管理器可以查看往来通信者的公钥,以及所有上方未列出的密钥。
+openpgp-manager-button =
+ .label = OpenPGP 密钥管理器
+ .accesskey = K
+openpgp-key-remove-external =
+ .label = 移除外部密钥 ID
+ .accesskey = E
+key-external-label = 外部 GnuPG 密钥
+
+## Strings in keyDetailsDlg.xhtml
+
+key-type-public = 公钥
+key-type-primary = 主密钥
+key-type-subkey = 子密钥
+key-type-pair = 密钥对(私钥与公钥)
+key-expiry-never = 永不
+key-usage-encrypt = 加密
+key-usage-sign = 签名
+key-usage-certify = 认证
+key-usage-authentication = 验证
+key-does-not-expire = 密钥永不过期
+# Variables:
+# $keyExpiry (String) - Date the key expired on.
+key-expired-date = 密钥已于 { $keyExpiry } 过期
+key-expired-simple = 密钥已过期
+key-revoked-simple = 密钥已被吊销
+key-do-you-accept = 您要接受将此密钥用于验证数字签名与加密消息吗?
+# Variables:
+# $addr (String) - Email address the key claims it belongs to.
+key-verification = 请使用电子邮件以外的安全通信方式验证密钥指纹,以保证其确为 { $addr } 的密钥。
+
+## Strings enigmailMsgComposeOverlay.js
+
+# Variables:
+# $problem (String) - Error message from key usability check.
+cannot-use-own-key-because = 您的个人密钥有问题,无法发送消息。{ $problem }
+window-locked = 邮件撰写窗口已锁定;取消发送
+
+## Strings in keyserver.jsm
+
+keyserver-error-aborted = 已中止
+keyserver-error-unknown = 发生未知错误
+keyserver-error-server-error = 密钥服务器报告错误。
+keyserver-error-import-error = 无法导入下载的密钥。
+keyserver-error-unavailable = 密钥服务器不可用。
+keyserver-error-security-error = 密钥服务器不支持加密访问。
+keyserver-error-certificate-error = 密钥服务器的证书无效。
+keyserver-error-unsupported = 不支持此密钥服务器。
+
+## Strings in mimeWkdHandler.jsm
+
+wkd-message-body-req = 您的邮件服务商处理了您要将公钥上传到网上 OpenPGP 密钥库的请求。请确认公钥是否已经完成发布。
+wkd-message-body-process = 这是一封关于自动将公钥上传到网上 OpenPGP 密钥库的邮件。您暂时不必进行任何操作。
+
+## Strings in persistentCrypto.jsm
+
+# Variables:
+# $subject (String) - Subject of the message.
+converter-decrypt-body-failed = 无法解密主题为 { $subject } 的消息。您想要使用不同密语再试一次,或是跳过此消息?
+
+## Strings filters.jsm
+
+filter-folder-required = 必须选择一个目标文件夹。
+filter-decrypt-move-warn-experimental = 警告:过滤器操作“永久解密”可能会损坏消息。我们强烈建议您先行使用“创建解密副本”过滤器,仔细测试结果,确认无误后再使用此过滤器。
+filter-term-pgpencrypted-label = OpenPGP 加密
+filter-key-required = 必须选择一个接收人密钥。
+# Variables:
+# $desc (String) - Email address to look for a key of.
+filter-key-not-found = 找不到“{ $desc }”的加密密钥。
+# Variables:
+# $desc (String) - The ID of a secret key that is required to read the email after the user executes the current action.
+filter-warn-key-not-secret = 警告:过滤器操作“使用密钥加密”会替换收件人。若您没有“{ $desc }”的私钥,将无法阅读邮件。
+
+## Strings filtersWrapper.jsm
+
+filter-decrypt-move-label = 永久解密(OpenPGP)
+filter-decrypt-copy-label = 创建解密的副本(OpenPGP)
+filter-encrypt-label = 使用密钥加密(OpenPGP)
+
+## Strings in enigmailKeyImportInfo.js
+
+import-info-title =
+ .title = 成功!已导入密钥
+import-info-bits = 位
+import-info-created = 创建于
+import-info-fpr = 指纹
+import-info-details = 查看详细信息并管理密钥接受度
+import-info-no-keys = 未导入密钥。
+
+## Strings in enigmailKeyManager.js
+
+import-from-clip = 您想要从剪贴板导入一些密钥吗?
+import-from-url = 请从下列 URL 下载公钥:
+copy-to-clipbrd-failed = 无法将选中的密钥复制到剪贴板。
+copy-to-clipbrd-ok = 已将密钥复制到剪贴板
+# Variables:
+# $userId (String) - User id of the key.
+delete-secret-key = 警告:即将删除私钥!删除私钥后,将无法再解密使用该密钥加密的消息,也无法吊销该密钥。您确定要删除“{ $userId }”的公钥与私钥吗?
+delete-mix = 警告:即将删除私钥!删除私钥后,将无法再解密使用该密钥加密的消息。您确定要删除“{ $userId }”的公钥与私钥吗?
+# Variables:
+# $userId (String) - User id of the key.
+delete-pub-key = 您确定要删除公钥“{ $userId }”吗?
+delete-selected-pub-key = 您确定要删除公钥吗?
+refresh-all-question = 您没有选择任何密钥。要刷新所有密钥吗?
+key-man-button-export-sec-key = 导出私钥(&S)
+key-man-button-export-pub-key = 只导出公钥(&P)
+key-man-button-refresh-all = 刷新所有密钥(&R)
+key-man-loading-keys = 正在加载密钥,请稍候...
+ascii-armor-file = ASCII 格式文件(*.asc)
+no-key-selected = 您需至少选择一个密钥,才能执行所选操作
+export-to-file = 将公钥导出为文件
+export-keypair-to-file = 将私钥和公钥导出为文件
+export-secret-key = 您要将私钥也包含在保存的 OpenPGP 密钥文件中吗?
+save-keys-ok = 成功保存密钥
+save-keys-failed = 密钥保存失败
+default-pub-key-filename = 导出的公钥
+default-pub-sec-key-filename = 私钥备份
+refresh-key-warn = 警告:视密钥数量与网络速度而定,刷新所有密钥耗时可能非常漫长!
+preview-failed = 无法读取公钥文件。
+# Variables:
+# $reason (String) - Error description.
+general-error = 错误:{ $reason }
+dlg-button-delete = 删除(&D)
+
+## Account settings export output
+
+openpgp-export-public-success = <b>成功导出公钥!</b>
+openpgp-export-public-fail = <b>无法导出选中的公钥!</b>
+openpgp-export-secret-success = <b>成功导出私钥!</b>
+openpgp-export-secret-fail = <b>无法导出选中的私钥!</b>
+
+## Strings in keyObj.jsm
+## Variables:
+## $userId (String) - The name and/or email address that is mentioned in the key's information.
+## $keyId (String) - Key id for the key entry.
+
+key-ring-pub-key-revoked = 密钥 { $userId }(密钥 ID { $keyId })已吊销。
+key-ring-pub-key-expired = 密钥 { $userId }(密钥 ID { $keyId })已过期。
+key-ring-no-secret-key = 您的密钥环中似乎没有 { $userId }(密钥 ID { $keyId })的私钥。无法使用该密钥进行签名。
+key-ring-pub-key-not-for-signing = 密钥 { $userId }(密钥 ID { $keyId })无法用于签名。
+key-ring-pub-key-not-for-encryption = 密钥 { $userId }(密钥 ID { $keyId })无法用于加密。
+key-ring-sign-sub-keys-revoked = 密钥 { $userId }(密钥 ID { $keyId })的所有签名用子密钥已被吊销。
+key-ring-sign-sub-keys-expired = 密钥 { $userId }(密钥 ID { $keyId })的所有签名用子密钥已过期。
+key-ring-enc-sub-keys-revoked = 密钥 { $userId }(密钥 ID { $keyId })的所有加密用子密钥已被吊销。
+key-ring-enc-sub-keys-expired = 密钥 { $userId }(密钥 ID { $keyId })的所有加密用子密钥已过期。
+
+## Strings in gnupg-keylist.jsm
+
+keyring-photo = 照片
+user-att-photo = 用户属性(JPEG 图像)
+
+## Strings in key.jsm
+
+already-revoked = 该密钥已被吊销。
+# $identity (String) - the id and associated user identity of the key being revoked
+revoke-key-question = 即将吊销密钥“{ $identity }”。吊销后,将无法再使用此密钥进行签名。且在公布后,其他人也将无法再使用该密钥进行加密。您还是可以此密钥来解密旧消息。确定要继续吗?
+# $keyId (String) - the id of the key being revoked
+revoke-key-not-present = 您没有与此吊销证书匹配的密钥(0x{ $keyId })!若您弄丢密钥,则须重新导入密钥(例如从密钥服务器)才能导入吊销证书!
+# $keyId (String) - the id of the key being revoked
+revoke-key-already-revoked = 密钥 0x{ $keyId } 已被吊销。
+key-man-button-revoke-key = 吊销密钥(&R)
+openpgp-key-revoke-success = 已成功吊销密钥。
+after-revoke-info = 此密钥已被吊销。请使用电子邮件再次分享公钥,或是上传到密钥服务器,让其他人知道您已吊销此密钥。当其他人使用的软件知道密钥已吊销后,就不会再使用您的旧密钥。若您在相同邮箱使用新的密钥,并将新的公钥附在您发送的邮件中,那么旧密钥已被吊销的信息也会自动包含在内。
+
+## Strings in keyRing.jsm & decryption.jsm
+
+key-man-button-import = 导入(&I)
+delete-key-title = 删除 OpenPGP 密钥
+delete-external-key-title = 移除外部 GnuPG 密钥
+delete-external-key-description = 您要移除该 GnuPG 密钥 ID 吗?
+key-in-use-title = OpenPGP 密钥正在使用中
+delete-key-in-use-description = 无法继续!您选择要删除的密钥目前正由此身份使用中。请选择其他密钥或取消选择并重试。
+revoke-key-in-use-description = 无法继续!您选择要吊销的密钥目前正由此身份使用中。请选择其他密钥或取消选择并重试。
+
+## Strings used in errorHandling.jsm
+
+# Variables:
+# $keySpec (String) - Email address.
+key-error-key-spec-not-found = 电子邮件地址“{ $keySpec }”无法与您密钥环上的密钥匹配。
+# $keySpec (String) - Key id.
+key-error-key-id-not-found = 未在您的密钥环找到配置的密钥 ID “{ $keySpec }”。
+# $keySpec (String) - Key id.
+key-error-not-accepted-as-personal = 您并未确认 ID 为“{ $keySpec }”的密钥是您的个人密钥。
+
+## Strings used in enigmailKeyManager.js & windows.jsm
+
+need-online = 您选择的功能无法离线使用。请联网后再试。
+
+## Strings used in keyRing.jsm & keyLookupHelper.jsm
+
+no-key-found2 = 找不到任何符合搜索条件的密钥。
+no-update-found = 您已经拥有网络上找到的密钥。
+
+## Strings used in keyRing.jsm & GnuPGCryptoAPI.jsm
+
+fail-key-extract = 错误 - 密钥提取命令运行失败
+
+## Strings used in keyRing.jsm
+
+fail-cancel = 错误 - 用户取消接收密钥
+not-first-block = 错误 - 第一个 OpenPGP 块不是公钥块
+import-key-confirm = 要导入消息中嵌入的公钥吗?
+fail-key-import = 错误 - 密钥导入失败
+# Variables:
+# $output (String) - File that writing was attempted to.
+file-write-failed = 写入到文件 { $output } 失败
+no-pgp-block = 错误 - 找不到有效的 armored 格式 OpenPGP 数据块
+confirm-permissive-import = 导入失败。您试图导入的密钥可能已损坏或使用了未知的属性。您想要尝试导入其中正确的部分吗?可能会导入不完整且无法使用的密钥。
+
+## Strings used in trust.jsm
+
+key-valid-unknown = 未知
+key-valid-invalid = 无效
+key-valid-disabled = 已禁用
+key-valid-revoked = 已吊销
+key-valid-expired = 已过期
+key-trust-untrusted = 不受信任
+key-trust-marginal = 间接信任
+key-trust-full = 可信
+key-trust-ultimate = 完全信任
+key-trust-group = (群组)
+
+## Strings used in commonWorkflows.js
+
+import-key-file = 导入 OpenPGP 密钥文件
+import-rev-file = 导入 OpenPGP 吊销文件
+gnupg-file = GnuPG 文件
+import-keys-failed = 导入密钥失败
+# Variables:
+# $key (String) - Key id to unlock.
+# $date (String) - The date on which the key was created
+# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key.
+passphrase-prompt2 = 输入密码以解锁 ID 为 { $key } 的密钥,创建时间为 { $date },{ $username_and_email }
+# Variables:
+# $subkey (String) - Key id to unlock, which is a subkey.
+# $key (String) - This is the main key, to which the subkey belongs.
+# $date (String) - The date on which the key was created
+# $username_and_email (String) - The user name, and/or the email address which the key owner has set for the key.
+passphrase-prompt2-sub = 输入密码以解锁 ID 为 { $subkey } 的密钥,它是密钥 ID { $key } 的子密钥,创建于 { $date },{ $username_and_email }
+file-to-big-to-import = 文件太大。请不要一次导入大量密钥。
+
+## Strings used in enigmailKeygen.js
+
+save-revoke-cert-as = 创建并保存吊销证书
+revoke-cert-ok = 已成功创建吊销证书。您可以用它来吊销公钥(以防弄丢私钥)。
+revoke-cert-failed = 无法创建吊销证书。
+gen-going = 已在生成密钥中!
+keygen-missing-user-name = 尚未指定选择的账户/身份名称。请在账户设置中的“您的名字”栏输入姓名。
+expiry-too-short = 您的密钥有效期不能少于 1 天。
+expiry-too-long = 无法创建有效期超过 100 年的密钥。
+# Variables:
+# $id (String) - Name and/or email address to generate keys for.
+key-confirm = 确定要生成“{ $id }”的公钥与私钥吗?
+key-man-button-generate-key = 生成密钥(&G)
+key-abort = 要中止生成密钥吗?
+key-man-button-generate-key-abort = 中止生成密钥(&A)
+key-man-button-generate-key-continue = 继续生成密钥(&C)
+
+## Strings used in enigmailMessengerOverlay.js
+
+failed-decrypt = 错误 - 解密失败
+fix-broken-exchange-msg-failed = 消息修复失败。
+# Variables:
+# $attachment (String) - File name of the signature file.
+attachment-no-match-from-signature = 无法将签名文件“{ $attachment }”与附件匹配
+# Variables:
+# $attachment (String) - File name of the attachment.
+attachment-no-match-to-signature = 无法将附件“{ $attachment }”与签名文件匹配
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verified-ok = 附件 { $attachment } 的签名验证成功
+# Variables:
+# $attachment (String) - File name of the attachment
+signature-verify-failed = 附件 { $attachment } 的签名验证失败
+decrypt-ok-no-sig = 警告:解密成功,但无法正确验证签名
+msg-ovl-button-cont-anyway = 仍然继续(&C)
+enig-content-note = *此消息的附件尚未签名或加密*
+
+## Strings used in enigmailMsgComposeOverlay.js
+
+msg-compose-button-send = 发送邮件(&S)
+msg-compose-details-button-label = 详细信息…
+msg-compose-details-button-access-key = D
+send-aborted = 发送操作已中止。
+# Variables:
+# $key (String) - Key id.
+key-not-trusted = 对密钥“{ $key }”的信任度不足
+# Variables:
+# $key (String) - Key id.
+key-not-found = 找不到密钥“{ $key }”
+# Variables:
+# $key (String) - Key id.
+key-revoked = 密钥“{ $key }”已吊销
+# Variables:
+# $key (String) - Key id.
+key-expired = 密钥“{ $key }”已过期
+msg-compose-internal-error = 发生内部错误。
+keys-to-export = 选择要插入的 OpenPGP 密钥
+msg-compose-partially-encrypted-inlinePGP = 您回复的消息当中包含了未加密与有加密的部分。若发件人原本就无法解密消息中的某些部分,可能会造成该部分当中的机密信息被泄露出去。请考虑将回复给发件人的消息中,所有的引用文本删除。
+msg-compose-cannot-save-draft = 保存草稿时出错
+msg-compose-partially-encrypted-short = 当心泄露敏感信息 - 这封邮件仅有部分加密。
+quoted-printable-warn = 您选择使用“quoted-printable”编码方式来发送邮件,可能会造成消息的解密或验证不正确。您要关闭使用“quoted-printable”编码方式吗?
+# Variables:
+# $width (Number) - Number of characters per line.
+minimal-line-wrapping = 您将换行长度设为 { $width } 个字符。若需正确进行加密或签名,此长度须至少为 68。您现在要将换行长度改为 68 个字符吗?
+sending-news = 加密发送操作中断。因为有新闻组收件人,无法加密此消息。请解除加密再重新发送。
+send-to-news-warning = 警告:您即将发送加密的邮件到新闻组中。不鼓励这样做,因为只有在群组中的所有成员都能够解密消息时才能阅读(也就是说,必须使用群组中的所有成员的密钥加密消息)。请只在您确切知道自己在做什么时才发送。确定要继续吗?
+save-attachment-header = 保存解密附件
+possibly-pgp-mime = 可能是 PGP/MIME 加密或签名过的消息,请使用“解密 / 验证”功能来验证
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-sig-because-no-own-key = 由于您还没有配置<{ $key }>的端到端加密,无法数字签名此消息
+# Variables:
+# $key (String) - Sender email address.
+cannot-send-enc-because-no-own-key = 由于您还没有配置<{ $key }>的端到端加密,无法发送此消息
+
+## Strings used in decryption.jsm
+
+# Variables:
+# $key (String) - Newline separated list of a tab character then name and/or email address mentioned in the key followed by the key id in parenthesis.
+do-import-multiple = 要导入下列密钥吗?{ $key }
+# Variables:
+# $name (String) - Name and/or email address mentioned in the key.
+# $id (String) - Key id of the key.
+do-import-one = 要导入 { $name }({ $id })吗?
+cant-import = 导入公钥时出错
+unverified-reply = 缩进的消息部分(回复引用内容)可能已被修改
+key-in-message-body = 在消息内容中发现密钥,请点击“导入密钥”以导入该密钥
+sig-mismatch = 错误 - 签名不匹配
+invalid-email = 错误 - 电子邮件地址无效
+# Variables:
+# $name (String) - File name of the attachment.
+attachment-pgp-key = 您正要打开的附件“{ $name }”似乎是 OpenPGP 密钥文件。请点击“导入”以导入密钥,或点击“查看”以在浏览器窗口中查看文件内容。
+dlg-button-view = 查看(&V)
+
+## Strings used in enigmailMsgHdrViewOverlay.js
+
+decrypted-msg-with-format-error = 解密消息(从可能是由旧版 Exchange 服务器损坏的 PGP 邮件格式恢复,结果可能不易阅读)
+
+## Strings used in encryption.jsm
+
+not-required = 错误 - 未要求加密
+
+## Strings used in windows.jsm
+
+no-photo-available = 没有可用的照片
+# Variables:
+# $photo (String) - Path of the photo in the key.
+error-photo-path-not-readable = 照片路径“{ $photo }”无法读取
+debug-log-title = OpenPGP 调试日志
+
+## Strings used in dialog.jsm
+
+# This string is followed by either repeat-suffix-singular if $count is 1 or else
+# by repeat-suffix-plural.
+# Variables:
+# $count (Number) - Number of times the alert will repeat.
+repeat-prefix = 此警报将重复 { $count }
+repeat-suffix-singular = 次。
+repeat-suffix-plural = 次。
+no-repeat = 将不再显示该警报。
+dlg-keep-setting = 记住我的答案,不要再问我
+dlg-button-ok = 确定(&O)
+dlg-button-close = 关闭(&C)
+dlg-button-cancel = 取消(&C)
+dlg-no-prompt = 不再显示此对话框。
+enig-prompt = OpenPGP 提示
+enig-confirm = OpenPGP 确认
+enig-alert = OpenPGP 警报
+enig-info = OpenPGP 信息
+
+## Strings used in persistentCrypto.jsm
+
+dlg-button-retry = 重试(&R)
+dlg-button-skip = 跳过(&S)
+
+## Strings used in enigmailMsgBox.js
+
+enig-alert-title =
+ .title = OpenPGP 警报
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/add-finger.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/add-finger.ftl
new file mode 100644
index 0000000000..ea72728a57
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 添加 OTR 密钥指纹
+
+# Variables:
+# $name (String) - name of a chat contact person
+# Do not translate 'OTR' (name of an encryption protocol)
+otr-add-finger-description = 输入 { $name } 的 OTR 密钥指纹。
+
+otr-add-finger-fingerprint = 指纹:
+otr-add-finger-tooltip-error = 输入的字符无效。只可使用字母 ABCDEF 和数字
+
+otr-add-finger-input =
+ .placeholder = 40 个字符长的 OTR 密钥指纹
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/am-im-otr.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/am-im-otr.ftl
new file mode 100644
index 0000000000..1176d7f36d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/am-im-otr.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-encryption =
+ .label = 端到端加密
+account-otr-label = 非记录通信(OTR)
+account-otr-description2 = { -brand-short-name } 支持基于 OTR 的私人对话端到端加密。如此可以防止第三方窃听对话内容。仅可在对方也使用支持 OTR 的软件时才能进行此类加密。
+otr-encryption-title = 已验证的加密
+otr-encryption-caption = 为了使其他人能够在 OTR 聊天中验证您的身份,请使用 OTR 以外的可靠通信渠道共享自己的 OTR 指纹。
+otr-fingerprint-label = 您的指纹:
+view-fingerprint-button =
+ .label = 管理联系人的指纹
+ .accesskey = F
+otr-settings-title = OTR 设置
+otr-require-encryption =
+ .label = 要求私人对话中进行端到端加密
+otr-require-encryption-info = 要求必须进行端到端加密时,若一对一消息当中的对话无法被加密,就不会发出。收到的消息若未加密,也不会被记录或出现于对话中。
+otr-verify-nudge =
+ .label = 始终提醒我验证未验证的联系人
+
+otr-not-yet-available = 尚不可用
+
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/auth.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/auth.ftl
new file mode 100644
index 0000000000..40c36bf980
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/auth.ftl
@@ -0,0 +1,60 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+otr-auth =
+ .title = 验证联系人的身份
+ .buttonlabelaccept = 验证
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+auth-title = 验证 { $name } 的身份
+
+# Variables:
+# $own_name (String) - the user's own screen name
+auth-your-fp-value = 您的指纹,{ $own_name }:
+
+# Variables:
+# $their_name (String) - the screen name of a chat contact
+auth-their-fp-value = { $their_name } 的指纹:
+
+auth-help = 验证联系人的身份有助于确保对话是真正私密的,从而使第三方很难窃听或操纵对话。
+
+auth-help-title = 验证帮助
+
+auth-question-received = 这是您的联系人提出的问题:
+
+auth-yes =
+ .label = 是
+
+auth-no =
+ .label = 否
+
+auth-verified = 我已验证这的确是正确的指纹。
+
+auth-manual-verification = 手动验证指纹
+auth-question-and-answer = 通过问答验证
+auth-shared-secret = 通过共享的密语验证
+
+auth-manual-verification-label =
+ .label = { auth-manual-verification }
+
+auth-question-and-answer-label =
+ .label = { auth-question-and-answer }
+
+auth-shared-secret-label =
+ .label = { auth-shared-secret }
+
+auth-manual-instruction = 请通过其他可信的渠道(例如 OpenPGP 签名的电子邮件或拨打电话),与您要进行通信的另一方联系。你们应该互相告诉对方自己的指纹。(“指纹”用于标识加密密钥的校验和。)若指纹匹配,就在下方的对话框中指出双方已验证过指纹。
+
+auth-how = 您想如何验证联系人的身份?
+
+auth-qa-instruction = 想一个只有您和要联系的人知道答案的问题。输入问题与答案,然后等待对方回答。若答案不正确,则代表你们之间的通信渠道可能正被监听。
+
+auth-secret-instruction = 想一个只有您和要联系的人知道的密语。但不要使用相同的网络连接来交换该秘密。您先输入秘密,然后等待对方也输入该密语。若密语不匹配,则你们之间的通信渠道可能正被监听。
+
+auth-question = 请输入问题:
+
+auth-answer = 请输入答案(区分大小写):
+
+auth-secret = 请输入密语:
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/chat.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/chat.ftl
new file mode 100644
index 0000000000..dcec413e48
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/chat.ftl
@@ -0,0 +1,19 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+state-label = 加密状态:
+
+start-text = 开始加密对话
+
+start-label =
+ .label = { start-text }
+
+start-tooltip =
+ .tooltiptext = { start-text }
+
+end-label =
+ .label = 结束加密对话
+
+auth-label =
+ .label = 验证联系人的身份
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/finger-sync.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/finger-sync.ftl
new file mode 100644
index 0000000000..2ed5d32959
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 已验证
+finger-no = 未验证
+
+finger-subset-title = 移除指纹
+finger-subset-message = 由于至少有一个指纹对应的密钥还在对话中使用,当前无法移除。
+
+finger-remove-all-title = 移除所有指纹
+finger-remove-all-message = 您确定要删除所有先前看过的指纹吗?所有先前进行的 OTR 身份验证都将失效。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/finger.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/finger.ftl
new file mode 100644
index 0000000000..4dbc0893e8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 先前看过的 OTR 密钥指纹
+
+finger-intro = 来自先前的端到端加密对话的 OTR 密钥指纹。
+
+finger-screen-name =
+ .label = 联系人
+finger-verified =
+ .label = 验证状态
+finger-fingerprint =
+ .label = 指纹
+
+finger-remove =
+ .label = 移除选中项
+
+finger-remove-all =
+ .label = 全部移除
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/otr.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/otr.ftl
new file mode 100644
index 0000000000..7d57de2d90
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 您试图将未加密的消息发送给 { $name }。根据政策,不允许发送未加密的消息。
+
+msgevent-encryption-required-part2 = 尝试进行私人对话。将在私人对话开始后重发您的消息。
+msgevent-encryption-error = 加密消息时出错,消息未发送。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-connection-ended = { $name } 已关闭与您的加密连接。为避免意外发送未加密的消息,你的消息并未发送。请结束或重新开始您的加密对话。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-setup-error = 与 { $name } 建立私人对话时出错。
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-msg-reflected = 您正在接收自己的 OTR 消息。要么您正在自言自语,要么有人正在复读您的消息。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-msg-resent = 已重发最后一条给 { $name } 的消息。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-not-private = 由于您与 { $name } 当前未在私人对话,无法读取接收到的加密消息。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unreadable = 您收到一条来自 { $name } 的无法读取的加密消息。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-malformed = 您收到一条来自 { $name } 的数据格式错误的消息。
+
+# A Heartbeat is a technical message used to keep a connection alive.
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-log-heartbeat-rcvd = 从 { $name } 收到心跳。
+
+# A Heartbeat is a technical message used to keep a connection alive.
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-log-heartbeat-sent = 已发送心跳至 { $name }。
+
+# Do not translate 'OTR' (name of an encryption protocol)
+msgevent-rcvdmsg-general-err = 尝试使用 OTR 保护您的对话时发生意外错误。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+# $msg (string) - the message that was received.
+msgevent-rcvdmsg-unencrypted = 收到来自 { $name } 以下消息未加密:{ $msg }
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-unrecognized = 您收到来自 { $name } 的 OTR 消息无法识别。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+msgevent-rcvdmsg-for-other-instance = { $name } 在另一会话发送了消息。若您同时在多个设备登录,那么其他会话可能已收到该消息。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-private = 已开始与 { $name } 的私人对话。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-gone-secure-unverified = 已开始与 { $name } 有加密,但未经验证的对话。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+context-still-secure = 成功刷新与 { $name } 的加密对话。
+
+error-enc = 加密消息时出错。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+error-not-priv = 您发送了加密数据给 { $name },但对方并未如预期收到。
+
+error-unreadable = 您发出了无法读取的加密消息。
+error-malformed = 您发出了数据格式错误的消息。
+
+resent = [重发]
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+tlv-disconnected = { $name } 已结束与您的加密对话;您也应该中断对话。
+
+# 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 } 请求进行非记录(OTR)加密对话,但您没有支持该功能的插件。若需更多信息,请参见 https://en.wikipedia.org/wiki/Off-the-Record_Messaging 。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/otrUI.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/otr/otrUI.ftl
new file mode 100644
index 0000000000..2a77dd4566
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 开始加密对话
+refresh-label = 刷新加密对话
+auth-label = 验证联系人的身份
+reauth-label = 重新验证联系人的身份
+
+auth-cancel = 取消
+auth-cancel-access-key = C
+
+auth-error = 验证联系人身份时出错。
+auth-success = 已成功验证联系人的身份。
+auth-success-them = 您的联系人已成功验证您的身份。您可能也想问他们问题,来验证其身份。
+auth-fail = 无法验证联系人的身份。
+auth-waiting = 等待联系人完成验证…
+
+finger-verify = 验证
+finger-verify-access-key = V
+
+finger-ignore = 忽略
+finger-ignore-access-key = I
+
+# Do not translate 'OTR' (name of an encryption protocol)
+buddycontextmenu-label = 添加 OTR 指纹
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-start = 尝试与 { $name } 开始加密对话。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-refresh = 正在尝试刷新与 { $name } 的加密对话。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+alert-gone-insecure = 已结束与 { $name } 的加密对话。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-unseen = 保{ $name } 的身份尚未验证。尽管偶然的窃听不太可能,但为万无一失。请验证此联系人的身份来避免受到监控。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+finger-seen = { $name } 使用未识别的计算机与您联系。尽管偶然的窃听不太可能,但为保万无一失。请验证此联系人的身份来避免受到监控。
+
+state-not-private = 当前的对话不是私人对话。
+state-generic-not-private = 当前的对话不是私人对话。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-unverified = 由于 { $name } 的身份尚未验证,当前对话已加密但并不隐私。
+
+state-generic-unverified = 由于尚未验证某些人的身份,当前对话虽已加密,但并不能确保隐私。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-private = { $name }的身份已验证。当前对话已加密且能保证隐私。
+
+state-generic-private = 当前的对话已加密,且可确保隐私。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+state-finished = { $name } 已结束与您的加密对话;您也应该中断对话。
+
+state-not-private-label = 不安全
+state-unverified-label = 未验证
+state-private-label = 私人
+state-finished-label = 已完成
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+verify-request = { $name } 请求验证您的身份。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-private = 您已验证 { $name } 的身份。
+
+# Variables:
+# $name (String) - the screen name of a chat contact person
+afterauth-unverified = { $name } 的身份尚未验证。
+
+# Do not translate 'OTR' (name of an encryption protocol)
+# Variables:
+# $error (String) - contains an error message that describes the cause of the failure
+otr-genkey-failed = 生成 OTR 私钥失败:{ $error }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/policies/aboutPolicies.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/policies/aboutPolicies.ftl
new file mode 100644
index 0000000000..f123857f65
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/policies/aboutPolicies.ftl
@@ -0,0 +1,17 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-policies-title = 企业策略
+
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = 激活
+errors-tab = 错误
+documentation-tab = 文档
+
+no-specified-policies-message = 企业策略服务已激活,但未启用任何策略。
+inactive-message = 企业策略服务处于未激活状态。
+
+policy-name = 策略名
+policy-value = 策略值
+policy-errors = 策略错误
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/policies/policies-descriptions.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/policies/policies-descriptions.ftl
new file mode 100644
index 0000000000..149be5cead
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 设置 WebExtension 可通过 chrome.storage.managed 存取的策略。
+
+policy-AppAutoUpdate = 启用或禁用应用程序自动更新。
+
+policy-AppUpdatePin = 阻止 { -brand-short-name } 更新超过特定版本。
+
+policy-AppUpdateURL = 设置自定义的应用程序更新网址。
+
+policy-Authentication = 为支持的网站配置集成身份验证。
+
+policy-BackgroundAppUpdate2 = 启用或禁用后台更新程序。
+
+policy-BlockAboutAddons = 阻止访问附加组件管理器(about:addons)。
+
+policy-BlockAboutConfig = 阻止访问 about:config 页面。
+
+policy-BlockAboutProfiles = 阻止访问 about:profiles 页面。
+
+policy-BlockAboutSupport = 阻止访问 about:support 页面。
+
+policy-CaptivePortal = 启用或禁用强制门户支持。
+
+policy-CertificatesDescription = 添加证书或使用内置的证书。
+
+policy-Cookies = 允许或拒绝网站设置 Cookie。
+
+policy-DisableBuiltinPDFViewer = 禁用 { -brand-short-name } 内置的 PDF 阅读器 PDF.js。
+
+policy-DisabledCiphers = 禁用加密算法。
+
+policy-DefaultDownloadDirectory = 设置默认下载目录。
+
+policy-DisableAppUpdate = 阻止 { -brand-short-name } 更新。
+
+policy-DisableDefaultClientAgent = 阻止默认客户端用户代理执行任何操作。仅适用于 Windows,其他平台没有用户代理可用。
+
+policy-DisableDeveloperTools = 阻止访问开发者工具。
+
+policy-DisableFeedbackCommands = 禁用“帮助”菜单中的“发送反馈”命令(提交反馈和举报诈骗网站)。
+
+policy-DisableForgetButton = 阻止使用“忘记”功能。
+
+policy-DisableFormHistory = 不要记住搜索和表单的历史记录。
+
+policy-DisableMasterPasswordCreation = 若为 true,将无法创建主密码。
+
+policy-DisablePasswordReveal = 阻止密码在列表中明文显示
+
+policy-DisableProfileImport = 禁用自其他应用程序导入数据的菜单命令。
+
+policy-DisableSafeMode = 禁用以安全模式重新启动的功能。注意:仅可在 Windows 上使用组策略禁用按住 Shift 键进入安全模式。
+
+policy-DisableSecurityBypass = 阻止用户绕过某些安全性警告。
+
+policy-DisableSystemAddonUpdate = 阻止 { -brand-short-name } 安装或更新“系统附加组件”。
+
+policy-DisableTelemetry = 关闭“遥测”组件。
+
+policy-DisplayMenuBar = 默认显示菜单栏。
+
+policy-DNSOverHTTPS = 配置基于 HTTPS 的 DNS。
+
+policy-DontCheckDefaultClient = 禁用启动时的默认浏览器检查。
+
+policy-DownloadDirectory = 设置并锁定下载目录。
+
+# “lock” means that the user won’t be able to change this setting
+policy-EnableTrackingProtection = 启用或禁用内容拦截,并可选择锁定该功能。
+
+# “lock” means that the user won’t be able to change this setting
+policy-EncryptedMediaExtensions = 启用或禁用“加密媒体扩展(EME)”,并可选择锁定该功能。
+
+# 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 = 安装,移除或锁定扩展。安装选项可将网址或路径作为参数。移除和锁定选项则需要扩展 ID 作为参数。
+
+policy-ExtensionSettings = 管理扩展安装的所有方面。
+
+policy-ExtensionUpdate = 启用或禁用扩展自动更新。
+
+policy-Handlers = 配置默认应用程序处理方式。
+
+policy-HardwareAcceleration = 若为 false,将会关闭硬件加速。
+
+policy-InstallAddonsPermission = 允许特定网站安装附加组件。
+
+policy-LegacyProfiles = 禁用要求每个安装实例有不同用户配置文件的功能。
+
+## Do not translate "SameSite", it's the name of a cookie attribute.
+
+policy-LegacySameSiteCookieBehaviorEnabled = 启用默认旧有 SameSite cookie 行为设置。
+
+policy-LegacySameSiteCookieBehaviorEnabledForDomainList = 对指定的网站恢复旧有 SameSite cookie 行为。
+
+##
+
+policy-LocalFileLinks = 允许特定网站链接到本地文件。
+
+policy-ManualAppUpdateOnly = 只允许手动更新,并且不通知用户有可用更新。
+
+policy-NetworkPrediction = 启用或禁用网络预测(DNS 预读取)功能。
+
+policy-OfferToSaveLogins = 强制启用或禁用 { -brand-short-name } 的登录账号与密码保存功能。接受 true 或 false。
+
+policy-OfferToSaveLoginsDefault = 允许 { -brand-short-name } 提供登录账号与密码保存功能。接受 true 或 false。
+
+policy-OverrideFirstRunPage = 覆盖首次运行页面。如果您想禁用首次运行页面,将此策略设为空白。
+
+policy-OverridePostUpdatePage = 覆盖更新后的“新版变化”页面。如果您想禁用更新后页面,将此策略设为空白。
+
+policy-PasswordManagerEnabled = 启用密码管理器的密码保存功能。
+
+# PDF.js and PDF should not be translated
+policy-PDFjs = 禁用或配置 { -brand-short-name } 内置的 PDF 阅读器 PDF.js。
+
+policy-Permissions2 = 配置摄像头、麦克风、位置、通知和自动播放的权限。
+
+policy-Preferences = 设置并锁定若干首选项的值。
+
+policy-PrimaryPassword = 要求或禁止使用主密码。
+
+policy-PromptForDownloadLocation = 下载前询问文件保存位置。
+
+policy-Proxy = 配置代理设置
+
+policy-RequestedLocales = 设置应用程序表明语言区域偏好的语言区域请求列表。
+
+policy-SanitizeOnShutdown2 = 关机时,清除上网数据。
+
+policy-SearchEngines = 配置搜索引擎设置。此策略仅适用于延长支持版(ESR)。
+
+policy-SearchSuggestEnabled = 启用或禁用搜索建议。
+
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = 安装 PKCS #11 模块。
+
+policy-SSLVersionMax = 设置最高 SSL 版本。
+
+policy-SSLVersionMin = 设置最低 SSL 版本。
+
+policy-SupportMenu = 向帮助菜单自选添加技术支持项目。
+
+policy-UserMessaging = 不向用户显示某些消息。
+
+# “format” refers to the format used for the value of this policy.
+policy-WebsiteFilter = 阻止访问某些网站。参阅文档了解该格式的更多详情。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/am-copies.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/am-copies.ftl
new file mode 100644
index 0000000000..dc44c1c199
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 将收件地址栏留空,以在写新邮件时总是显示邮箱地址行。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/am-im.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/am-im.ftl
new file mode 100644
index 0000000000..bcb2fc6d03
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 验证设置
+account-channel-title = 默认频道
+
+chat-autologin =
+ .label = 启动时登录
+
+chat-encryption-generic = 常规
+chat-encryption-log =
+ .label = 在对话日志中包含端到端加密消息
+chat-encryption-label = 原生端到端加密
+chat-encryption-description = { $protocol } 为聊天消息提供端到端加密保护,如此便可防止第三方窃听对话内容。要使加密功能正常启用,可能需在下方进行更多设置。
+chat-encryption-status = 加密状态
+chat-encryption-placeholder = 加密机制尚未初始化。
+chat-encryption-sessions = 会话
+chat-encryption-sessions-description = 要使端到端加密功能正常工作,您必须信任当前登录您账户的其他会话。需与其他客户端进行交互以验证会话,验证会话后,可能导致 { -brand-short-name } 信任在该会话中信任的所有会话。
+chat-encryption-session-verify = 验证
+ .title = 验证此会话中的身份
+chat-encryption-session-trusted = 受信任
+ .title = 已验证此会话中的身份
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/application-manager.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/application-manager.ftl
new file mode 100644
index 0000000000..880037dc97
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 应用程序详细信息
+app-manager-dialog-title = 应用程序详细信息
+remove-app-button =
+ .label = 移除
+ .accesskey = R
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/attachment-reminder.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/attachment-reminder.ftl
new file mode 100644
index 0000000000..d9dfc5e9b0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/attachment-reminder.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+attachment-reminder-window =
+ .title = 一些附件提醒的关键词
+attachment-reminder-dialog-title = 一些附件提醒的关键词
+attachment-reminder-label = 如果您要发送的邮件中包含了此类关键词,{ -brand-short-name } 会自动提醒您漏掉了附件。
+keyword-new-button =
+ .label = 新建…
+ .accesskey = N
+keyword-edit-button =
+ .label = 编辑…
+ .accesskey = E
+keyword-remove-button =
+ .label = 删除
+ .accesskey = D
+new-keyword-title = 新建关键词
+new-keyword-label = 关键词:
+edit-keyword-title = 编辑关键词
+edit-keyword-label = 关键词:
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/colors.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/colors.ftl
new file mode 100644
index 0000000000..0e04fc93c9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 颜色
+colors-dialog-title = 颜色
+colors-dialog-legend = 文字和背景
+text-color-label =
+ .value = 文字
+ .accesskey = T
+background-color-label =
+ .value = 背景
+ .accesskey = B
+use-system-colors =
+ .label = 使用系统颜色
+ .accesskey = s
+colors-link-legend = 链接颜色
+link-color-label =
+ .value = 未访问的链接
+ .accesskey = L
+visited-link-color-label =
+ .value = 已访问的链接
+ .accesskey = V
+underline-link-checkbox =
+ .label = 为链接添加下划线
+ .accesskey = U
+override-color-label =
+ .value = 使用我在上面选择的颜色覆盖内容指定的颜色
+ .accesskey = O
+override-color-always =
+ .label = 一律
+override-color-auto =
+ .label = 仅在使用高对比度主题时
+override-color-never =
+ .label = 总不
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/connection.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/connection.ftl
new file mode 100644
index 0000000000..c11cf1c6a3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 选用提供商
+ .accesskey = r
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name }(默认值)
+ .tooltiptext = 使用默认 URL 完成基于 HTTPS 的 DNS 解析
+connection-dns-over-https-url-custom =
+ .label = 自定义
+ .accesskey = C
+ .tooltiptext = 输入您偏好的 URL,用来完成基于 HTTPS 的 DNS 解析
+connection-dns-over-https-custom-label = 自定义
+connection-dialog-window2 =
+ .title = 连接设置
+connection-dialog-title = 连接设置
+disable-extension-button = 禁用扩展
+# 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 = 扩展 <img data-l10n-name="extension-icon" alt="" /> { $name } 正在控制 { -brand-short-name } 如何连接互联网。
+connection-proxy-legend = 配置访问互联网的代理
+proxy-type-no =
+ .label = 不使用代理
+ .accesskey = y
+proxy-type-wpad =
+ .label = 自动检测此网络的代理设置
+ .accesskey = w
+proxy-type-system =
+ .label = 使用系统代理设置
+ .accesskey = U
+proxy-type-manual =
+ .label = 手动配置代理
+ .accesskey = M
+proxy-http-label =
+ .value = HTTP 代理:
+ .accesskey = H
+http-port-label =
+ .value = 端口:
+ .accesskey = P
+proxy-http-sharing =
+ .label = 也将此代理用于 HTTPS
+ .accesskey = x
+proxy-https-label =
+ .value = HTTPS Proxy:
+ .accesskey = S
+ssl-port-label =
+ .value = 端口:
+ .accesskey = o
+proxy-socks-label =
+ .value = SOCKS 主机:
+ .accesskey = C
+socks-port-label =
+ .value = 端口:
+ .accesskey = t
+proxy-socks4-label =
+ .label = SOCKS v4
+ .accesskey = K
+proxy-socks5-label =
+ .label = SOCKS v5
+ .accesskey = v
+proxy-type-auto =
+ .label = 自动代理配置 URL
+ .accesskey = A
+proxy-reload-label =
+ .label = 重新加载
+ .accesskey = l
+no-proxy-label =
+ .value = 不使用代理
+ .accesskey = N
+no-proxy-example = 例如: .mozilla.org.cn, .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 = 与 localhost、127.0.0.1/8 和 ::1 的连接永不经过代理。
+proxy-password-prompt =
+ .label = 如果密码已保存,不提示身份验证
+ .accesskey = i
+ .tooltiptext = 如果选中此选项,当您已保存身份凭据时,将会自动验证身份。如果身份验证失败,仍将向您询问身份凭据。
+proxy-remote-dns =
+ .label = 使用 SOCKS v5 时 DNS 经过代理
+ .accesskey = d
+proxy-enable-doh =
+ .label = 启用基于 HTTPS 的 DNS
+ .accesskey = b
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/cookies.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/cookies.ftl
new file mode 100644
index 0000000000..14d620e4ed
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/cookies.ftl
@@ -0,0 +1,44 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+cookies-window-dialog2 =
+ .title = Cookie
+cookies-dialog-title = Cookie
+window-close-key =
+ .key = w
+window-focus-search-key =
+ .key = f
+window-focus-search-alt-key =
+ .key = k
+filter-search-label =
+ .value = 搜索
+ .accesskey = S
+cookies-on-system-label = 以下是在您的计算机上存储的 Cookie:
+treecol-site-header =
+ .label = 站点
+treecol-name-header =
+ .label = Cookie 名称
+props-name-label =
+ .value = 名称:
+props-value-label =
+ .value = 内容:
+props-domain-label =
+ .value = 主机:
+props-path-label =
+ .value = 路径:
+props-secure-label =
+ .value = 发送,为:
+props-expires-label =
+ .value = 过期时间:
+props-container-label =
+ .value = 容器:
+remove-cookie-button =
+ .label = 移除 Cookie
+ .accesskey = R
+remove-all-cookies-button =
+ .label = 移除所有 Cookie
+ .accesskey = A
+cookie-close-button =
+ .label = 关闭
+ .accesskey = C
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/dock-options.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/dock-options.ftl
new file mode 100644
index 0000000000..87d2caec78
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 应用程序图标选项
+dock-options-dialog-title = 应用图标选项
+dock-options-show-badge =
+ .label = 显示角标
+ .accesskey = b
+bounce-system-dock-icon =
+ .label = 有新消息时在应用图标上显示动画
+ .accesskey = i
+dock-icon-legend = 应用程序角标
+dock-icon-show-label =
+ .value = 在应用程序图标上显示下列角标:
+count-unread-messages-radio =
+ .label = 未读消息数量
+ .accesskey = u
+count-new-messages-radio =
+ .label = 新消息数量
+ .accesskey = n
+notification-settings-info2 = 您可以在系统设置的“通知”窗格中禁用角标。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/fonts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/fonts.ftl
new file mode 100644
index 0000000000..b4a5268615
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/fonts.ftl
@@ -0,0 +1,132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fonts-dialog-title = 字体
+fonts-window-close =
+ .key = w
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = 默认({ $name })
+fonts-label-default-unnamed =
+ .label = 默认
+fonts-language-legend =
+ .value = 文字系统
+ .accesskey = t
+fonts-proportional-label =
+ .value = 比例字体
+ .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 = 拉丁字母
+font-language-group-japanese =
+ .label = 日文
+font-language-group-trad-chinese =
+ .label = 繁体中文(台湾)
+font-language-group-simpl-chinese =
+ .label = 简体中文
+font-language-group-trad-chinese-hk =
+ .label = 繁体中文(香港特别行政区)
+font-language-group-korean =
+ .label = 朝鲜文
+font-language-group-cyrillic =
+ .label = 西里尔字母
+font-language-group-el =
+ .label = 希腊文
+font-language-group-other =
+ .label = 其他文字系统
+font-language-group-thai =
+ .label = 泰文
+font-language-group-hebrew =
+ .label = 希伯来文
+font-language-group-arabic =
+ .label = 阿拉伯字母
+font-language-group-devanagari =
+ .label = 梵文
+font-language-group-tamil =
+ .label = 泰米尔文
+font-language-group-armenian =
+ .label = 亚美尼亚文
+font-language-group-bengali =
+ .label = 孟加拉文
+font-language-group-canadian =
+ .label = 加拿大原住民音节文字
+font-language-group-ethiopic =
+ .label = 埃塞俄比亚文
+font-language-group-georgian =
+ .label = 乔治亚文
+font-language-group-gujarati =
+ .label = 古吉拉特文
+font-language-group-gurmukhi =
+ .label = 果鲁穆奇文
+font-language-group-khmer =
+ .label = 高棉文
+font-language-group-malayalam =
+ .label = 马拉雅拉姆文
+font-language-group-math =
+ .label = 数学
+font-language-group-odia =
+ .label = 奥里亚文
+font-language-group-telugu =
+ .label = 泰卢固文
+font-language-group-kannada =
+ .label = 卡纳达文
+font-language-group-sinhala =
+ .label = 僧伽罗文
+font-language-group-tibetan =
+ .label = 藏文
+
+## Default font type
+
+default-font-serif =
+ .label = 衬线字体
+default-font-sans-serif =
+ .label = 无衬线字体
+font-size-proportional-label =
+ .value = 字号
+ .accesskey = e
+font-size-monospace-label =
+ .value = 字号
+ .accesskey = i
+font-serif-label =
+ .value = 衬线字体
+ .accesskey = S
+font-sans-serif-label =
+ .value = 无衬线字体
+ .accesskey = n
+font-monospace-label =
+ .value = 等宽字体
+ .accesskey = M
+font-min-size-label =
+ .value = 最小字号
+ .accesskey = z
+min-size-none =
+ .label = 无
+
+## Fonts in message
+
+font-control-legend = 字体控制
+use-document-fonts-checkbox =
+ .label = 允许消息使用其他字体
+ .accesskey = o
+use-fixed-width-plain-checkbox =
+ .label = 用等宽字体显示纯文本信息
+ .accesskey = x
+
+## Language settings
+
+text-encoding-legend = 文字编码
+text-encoding-description = 设置发送和接收邮件时的默认文字编码
+font-outgoing-email-label =
+ .value = 发送邮件
+ .accesskey = u
+font-incoming-email-label =
+ .value = 接收邮件
+ .accesskey = I
+default-font-reply-checkbox =
+ .label = 尽可能使用默认的文字编码进行回复
+ .accesskey = h
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/languages.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/languages.ftl
new file mode 100644
index 0000000000..c39c047ad9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 上移
+ .accesskey = U
+languages-customize-movedown =
+ .label = 下移
+ .accesskey = D
+languages-customize-remove =
+ .label = 移除
+ .accesskey = R
+languages-customize-select-language =
+ .placeholder = 选择要添加的语言...
+languages-customize-add =
+ .label = 添加
+ .accesskey = A
+messenger-languages-window2 =
+ .title = { -brand-short-name } 语言设置
+messenger-languages-dialog-title = { -brand-short-name } 语言设置
+messenger-languages-description = { -brand-short-name } 将第一个语言作为您的默认显示语言,并在必要时按语言的顺序以备用语言显示。
+messenger-languages-search = 搜索更多语言…
+messenger-languages-searching =
+ .label = 正在搜索语言…
+messenger-languages-downloading =
+ .label = 正在下载…
+messenger-languages-select-language =
+ .label = 选择要添加的语言…
+ .placeholder = 选择要添加的语言…
+messenger-languages-installed-label = 已安装的语言
+messenger-languages-available-label = 可用的语言
+messenger-languages-error = { -brand-short-name } 目前无法更新您的语言。请检查您是否已连接到互联网,然后重试。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/new-tag.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/new-tag.ftl
new file mode 100644
index 0000000000..5686faa063
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 新建标签
+tag-dialog-title = 新标签
+tag-name-label =
+ .value = 标签名称:
+ .accesskey = T
+tag-color-label =
+ .value = 颜色:
+ .accesskey = C
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/notifications.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/notifications.ftl
new file mode 100644
index 0000000000..f6fb96424c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 自定义新邮件提醒
+notifications-dialog-title = 自定义新邮件提醒
+customize-alert-description = 选择在提示通知中要显示的字段:
+preview-text-checkbox =
+ .label = 消息预览文本
+ .accesskey = M
+subject-checkbox =
+ .label = 主题
+ .accesskey = S
+sender-checkbox =
+ .label = 发件人
+ .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 = 显示新邮件提示:
+ .accesskey = N
+open-time-label-after =
+ .value = 秒
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/offline.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/offline.ftl
new file mode 100644
index 0000000000..f4d0671941
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/offline.ftl
@@ -0,0 +1,43 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+offline-dialog-window =
+ .title = 脱机设置
+offline-dialog-title = 脱机设置
+autodetect-online-label =
+ .label = 自动使用检测到的联机状态
+ .accesskey = d
+offline-preference-startup-label = 启动时手动指定状态:
+status-radio-remember =
+ .label = 记住上次的联机状态
+ .accesskey = R
+status-radio-ask =
+ .label = 向我询问联机状态
+ .accesskey = k
+status-radio-always-online =
+ .label = 联机
+ .accesskey = l
+status-radio-always-offline =
+ .label = 脱机
+ .accesskey = f
+going-online-label = 联机时发送未发送的消息吗?
+going-online-auto =
+ .label = 是
+ .accesskey = Y
+going-online-not =
+ .label = 否
+ .accesskey = N
+going-online-ask =
+ .label = 询问我
+ .accesskey = s
+going-offline-label = 切换至脱机状态时下载消息以供脱机使用吗?
+going-offline-auto =
+ .label = 是
+ .accesskey = e
+going-offline-not =
+ .label = 否
+ .accesskey = o
+going-offline-ask =
+ .label = 询问我
+ .accesskey = A
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/passwordManager.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/passwordManager.ftl
new file mode 100644
index 0000000000..51c6bff4a4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/passwordManager.ftl
@@ -0,0 +1,83 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+saved-logins =
+ .title = 已保存的登录信息
+saved-logins-title = 保存的登录信息
+window-close =
+ .key = w
+focus-search-primary-shortcut =
+ .key = f
+focus-search-alt-shortcut =
+ .key = k
+copy-provider-url-cmd =
+ .label = 复制网址
+ .accesskey = y
+copy-username-cmd =
+ .label = 复制用户名
+ .accesskey = U
+edit-username-cmd =
+ .label = 编辑用户名
+ .accesskey = d
+copy-password-cmd =
+ .label = 复制密码
+ .accesskey = C
+edit-password-cmd =
+ .label = 编辑密码
+ .accesskey = E
+search-filter =
+ .accesskey = S
+ .placeholder = 搜索
+column-heading-provider =
+ .label = 服务商
+column-heading-username =
+ .label = 用户名
+column-heading-password =
+ .label = 密码
+column-heading-time-created =
+ .label = 首次使用
+column-heading-time-last-used =
+ .label = 上次使用
+column-heading-time-password-changed =
+ .label = 上次更改
+column-heading-times-used =
+ .label = 使用次数
+remove =
+ .label = 移除
+ .accesskey = R
+import =
+ .label = 导入…
+ .accesskey = I
+password-close-button =
+ .label = 关闭
+ .accesskey = C
+show-passwords =
+ .label = 显示密码
+ .accesskey = P
+hide-passwords =
+ .label = 隐藏密码
+ .accesskey = P
+logins-description-all = 您的计算机上存储了下列服务商的登录信息
+logins-description-filtered = 下列登录信息符合您的搜索条件:
+remove-all =
+ .label = 全部移除
+ .accesskey = A
+remove-all-shown =
+ .label = 移除全部显示项目
+ .accesskey = A
+remove-all-passwords-prompt = 您确定要移除所有密码吗?
+remove-all-passwords-title = 移除所有密码
+no-master-password-prompt = 您确定要显示密码吗?
+
+## OS Authentication dialog
+
+# This message can be seen by trying to show or copy the passwords.
+password-os-auth-dialog-message = 验证您的身份以显示保存的密码。
+# This message can be seen by trying to show or copy the passwords.
+# The macOS strings are preceded by the operating system with "Thunderbird is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+password-os-auth-dialog-message-macosx = 显示保存的密码
+# Don't change this label.
+password-os-auth-dialog-caption = { -brand-full-name }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/permissions.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/permissions.ftl
new file mode 100644
index 0000000000..9b4cc7f887
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 例外
+permissions-dialog-title = 例外
+permission-preferences-close-window =
+ .key = w
+website-address-label =
+ .value = 站点地址
+ .accesskey = d
+block-button =
+ .label = 阻止
+ .accesskey = B
+allow-session-button =
+ .label = 在当前会话中允许
+ .accesskey = n
+allow-button =
+ .label = 允许
+ .accesskey = A
+treehead-sitename-label =
+ .label = 站点
+treehead-status-label =
+ .label = 状态
+remove-site-button =
+ .label = 移除站点
+ .accesskey = R
+remove-all-site-button =
+ .label = 移除全部站点
+ .accesskey = e
+cancel-button =
+ .label = 取消
+ .accesskey = C
+save-button =
+ .label = 保存更改
+ .accesskey = S
+permission-can-label = 允许
+permission-can-access-first-party-label = 仅允许第一方
+permission-can-session-label = 在当前会话中允许
+permission-cannot-label = 阻止
+invalid-uri-message = 请输入合法的主机名
+invalid-uri-title = 输入了非法的主机名
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/preferences.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/preferences.ftl
new file mode 100644
index 0000000000..337c637008
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/preferences.ftl
@@ -0,0 +1,791 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+close-button =
+ .aria-label = 关闭
+preferences-doc-title2 = 设置
+category-list =
+ .aria-label = 分类
+pane-general-title = 常规
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-compose-title = 编写
+category-compose =
+ .tooltiptext = 编写
+pane-privacy-title = 隐私与安全
+category-privacy =
+ .tooltiptext = 隐私与安全
+pane-chat-title = 聊天
+category-chat =
+ .tooltiptext = 聊天
+pane-calendar-title = 日历
+category-calendar =
+ .tooltiptext = 日历
+pane-sync-title = 同步
+category-sync =
+ .tooltiptext = 同步
+general-language-and-appearance-header = 语言与外观
+general-incoming-mail-header = 接收邮件
+general-files-and-attachment-header = 文件与附件
+general-tags-header = 标签
+general-reading-and-display-header = 阅读与显示
+general-updates-header = 更新
+general-network-and-diskspace-header = 网络与磁盘空间
+general-indexing-label = 索引
+composition-category-header = 编写
+composition-attachments-header = 附件
+composition-spelling-title = 拼写检查
+compose-html-style-title = HTML 样式
+composition-addressing-header = 地址
+privacy-main-header = 隐私
+privacy-passwords-header = 密码
+privacy-junk-header = 垃圾邮件
+collection-header = { -brand-short-name } 数据收集与使用
+collection-description = 我们力图为您提供选择权,并保证只收集我们为众人提供和改进 { -brand-short-name } 所需的信息。我们仅在征得您的同意后接收个人信息。
+collection-privacy-notice = 隐私声明
+collection-health-report-telemetry-disabled = 您不再允许 { -vendor-short-name } 捕获技术和交互数据。过去收集的所有数据将在 30 天内删除。
+collection-health-report-telemetry-disabled-link = 详细了解
+collection-health-report =
+ .label = 允许 { -brand-short-name } 向 { -vendor-short-name } 发送技术信息及交互数据
+ .accesskey = r
+collection-health-report-link = 详细了解
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = 在此构建配置下数据反馈被禁用
+collection-backlogged-crash-reports =
+ .label = 允许 { -brand-short-name } 代您发送积压的崩溃报告
+ .accesskey = c
+collection-backlogged-crash-reports-link = 详细了解
+privacy-security-header = 安全
+privacy-scam-detection-title = 诈骗检测
+privacy-anti-virus-title = 防病毒
+privacy-certificates-title = 证书
+chat-pane-header = 聊天
+chat-status-title = 状态
+chat-notifications-title = 通知
+chat-pane-styling-header = 样式
+choose-messenger-language-description = 选择用于显示 { -brand-short-name } 菜单,消息和通知的语言。
+manage-messenger-languages-button =
+ .label = 设置备用语言…
+ .accesskey = I
+confirm-messenger-language-change-description = 重启 { -brand-short-name } 以应用这些更改
+confirm-messenger-language-change-button = 应用并重启客户端
+update-setting-write-failure-title = 保存“更新”首选项时出错
+# Variables:
+# $path (String) - Path to the configuration file
+# The newlines between the main text and the line containing the path is
+# intentional so the path is easier to identify.
+update-setting-write-failure-message =
+ { -brand-short-name } 遇到错误,未能保存此更改。请注意,设置此更新首选项需要写入下列文件的权限。您或系统管理员可以通过授予用户组对此文件的完全控制权来解决此错误。
+
+ 无法写入文件:{ $path }
+update-in-progress-title = 正在更新
+update-in-progress-message = 您要继续 { -brand-short-name } 的此次更新吗?
+update-in-progress-ok-button = 放弃(&D)
+# 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 = 继续(&C)
+account-button = 账户设置
+open-addons-sidebar-button = 扩展和主题
+
+## OS Authentication dialog
+
+# This message can be seen by trying to add a Primary Password.
+primary-password-os-auth-dialog-message-win = 请输入 Windows 登录凭据,以创建主密码。这有助于保护您的账户安全。
+# This message can be seen by trying to add a Primary Password.
+# The macOS strings are preceded by the operating system with "Thunderbird is trying to "
+# and includes subtitle of "Enter password for the user "xxx" to allow this." These
+# notes are only valid for English. Please test in your locale.
+primary-password-os-auth-dialog-message-macosx = 创建主密码
+# Don't change this label.
+master-password-os-auth-dialog-caption = { -brand-full-name }
+
+## General Tab
+
+focus-search-shortcut =
+ .key = f
+focus-search-shortcut-alt =
+ .key = k
+general-legend = { -brand-short-name } 起始页
+start-page-label =
+ .label = { -brand-short-name } 启动时在消息区域显示起始页
+ .accesskey = W
+location-label =
+ .value = 地址
+ .accesskey = o
+restore-default-label =
+ .label = 恢复默认
+ .accesskey = R
+default-search-engine = 默认搜索引擎
+add-web-search-engine =
+ .label = 添加…
+ .accesskey = A
+remove-search-engine =
+ .label = 移除
+ .accesskey = v
+add-opensearch-provider-title = 添加 OpenSearch 搜索引擎
+add-opensearch-provider-text = 请输入要添加的 OpenSearch 搜索引擎网址。OpenSearch 描述文件的网址,或是可被自动发现的网址。
+adding-opensearch-provider-failed-title = 添加 OpenSearch 搜索引擎失败
+# Variables:
+# $url (String) - URL an OpenSearch provider was requested for.
+adding-opensearch-provider-failed-text = 无法添加 { $url } 的 OpenSearch 搜索引擎。
+minimize-to-tray-label =
+ .label = 最小化 { -brand-short-name } 到系统托盘
+ .accesskey = m
+new-message-arrival = 当有新消息时:
+mail-play-sound-label =
+ .label =
+ { PLATFORM() ->
+ [macos] 播放下列声音文件:
+ *[other] 播放声音
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] d
+ *[other] d
+ }
+mail-play-button =
+ .label = 播放
+ .accesskey = P
+change-dock-icon = 更改应用图标首选项
+app-icon-options =
+ .label = 应用图标选项…
+ .accesskey = n
+notification-settings2 = 可在系统设置的“通知”窗格中禁用提醒和默认声音。
+animated-alert-label =
+ .label = 显示提示
+ .accesskey = S
+customize-alert-label =
+ .label = 自定义…
+ .accesskey = C
+biff-use-system-alert =
+ .label = 使用系统通知
+tray-icon-unread-label =
+ .label = 显示未读消息的托盘图标
+ .accesskey = t
+tray-icon-unread-description = 推荐在使用小任务栏按钮时启用
+mail-system-sound-label =
+ .label = 系统默认新邮件提示音
+ .accesskey = D
+mail-custom-sound-label =
+ .label = 使用下列声音文件
+ .accesskey = U
+mail-browse-sound-button =
+ .label = 浏览…
+ .accesskey = B
+enable-gloda-search-label =
+ .label = 启用全局搜索以及索引
+ .accesskey = E
+datetime-formatting-legend = 日期和时间格式
+language-selector-legend = 语言
+allow-hw-accel =
+ .label = 自动启用硬件加速
+ .accesskey = h
+store-type-label =
+ .value = 新账户的消息存储类型:
+ .accesskey = T
+mbox-store-label =
+ .label = 每个文件夹一个文件(mbox)
+maildir-store-label =
+ .label = 为每条消息新建文件(maildir)
+scrolling-legend = 滚动
+autoscroll-label =
+ .label = 使用自动滚屏
+ .accesskey = U
+smooth-scrolling-label =
+ .label = 使用平滑滚动
+ .accesskey = m
+browsing-gtk-use-non-overlay-scrollbars =
+ .label = 总是显示滚动条
+ .accesskey = c
+window-layout-legend = 窗口布局
+draw-in-titlebar-label =
+ .label = 隐藏系统窗口标题栏
+ .accesskey = H
+auto-hide-tabbar-label =
+ .label = 自动隐藏标签页栏
+ .accesskey = A
+auto-hide-tabbar-description = 在只打开一个标签页时隐藏标签页栏
+system-integration-legend = 系统集成
+always-check-default =
+ .label = 启动时检查 { -brand-short-name } 是否为默认邮件客户端
+ .accesskey = A
+check-default-button =
+ .label = 立即检查…
+ .accesskey = N
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+search-engine-name =
+ { PLATFORM() ->
+ [macos] 聚焦
+ [windows] Windows 搜索
+ *[other] { "" }
+ }
+search-integration-label =
+ .label = 允许“{ search-engine-name }”搜索邮件
+ .accesskey = S
+config-editor-button =
+ .label = 配置编辑器…
+ .accesskey = C
+return-receipts-description = 指定 { -brand-short-name } 如何处理回执
+return-receipts-button =
+ .label = 回执…
+ .accesskey = R
+update-app-legend = { -brand-short-name } 更新
+# Variables:
+# $version (String): version of Thunderbird, e.g. 68.0.1
+update-app-version = 版本:{ $version }
+allow-description = 允许 { -brand-short-name }:
+automatic-updates-label =
+ .label = 自动安装更新(推荐,可提升安全性)
+ .accesskey = A
+check-updates-label =
+ .label = 检查更新,但是让我选择是否安装
+ .accesskey = C
+update-history-button =
+ .label = 显示更新历史
+ .accesskey = p
+use-service =
+ .label = 使用后台服务来安装更新
+ .accesskey = b
+cross-user-udpate-warning = 此设置将影响使用这份 { -brand-short-name } 程序的所有 Windows 账户及 { -brand-short-name } 配置文件。
+networking-legend = 连接
+proxy-config-description = 配置 { -brand-short-name } 如何连接至国际互联网
+network-settings-button =
+ .label = 设置…
+ .accesskey = S
+offline-legend = 脱机
+offline-settings = 配置脱机设置
+offline-settings-button =
+ .label = 脱机…
+ .accesskey = O
+diskspace-legend = 磁盘空间
+offline-compact-folder =
+ .label = 需要节省空间时压缩全部文件夹
+ .accesskey = a
+offline-compact-folder-automatically =
+ .label = 每次压缩前先询问我
+ .accesskey = b
+compact-folder-size =
+ .value = MB 合计
+
+## Note: The entities use-cache-before and use-cache-after appear on a single
+## line in preferences as follows:
+## use-cache-before [ textbox for cache size in MB ] use-cache-after
+
+use-cache-before =
+ .value = 最多使用
+ .accesskey = U
+use-cache-after = MB 磁盘空间作为缓存
+
+##
+
+smart-cache-label =
+ .label = 覆盖自动缓存管理
+ .accesskey = v
+clear-cache-button =
+ .label = 立即清理
+ .accesskey = C
+clear-cache-shutdown-label =
+ .label = 关闭应用后清除缓存
+ .accesskey = S
+fonts-legend = 字体和颜色
+default-font-label =
+ .value = 默认字体
+ .accesskey = D
+default-size-label =
+ .value = 大小
+ .accesskey = S
+font-options-button =
+ .label = 高级
+ .accesskey = A
+color-options-button =
+ .label = 颜色…
+ .accesskey = C
+display-width-legend = 纯文本消息
+# Note : convert-emoticons-label 'Emoticons' are also known as 'Smileys', e.g. :-)
+convert-emoticons-label =
+ .label = 以图形显示颜文字
+ .accesskey = e
+display-text-label = 显示引用的纯文本消息时:
+style-label =
+ .value = 样式
+ .accesskey = y
+regular-style-item =
+ .label = 常规
+bold-style-item =
+ .label = 粗体
+italic-style-item =
+ .label = 斜体
+bold-italic-style-item =
+ .label = 粗斜体
+size-label =
+ .value = 大小
+ .accesskey = z
+regular-size-item =
+ .label = 常规
+bigger-size-item =
+ .label = 较大
+smaller-size-item =
+ .label = 较小
+quoted-text-color =
+ .label = 颜色
+ .accesskey = o
+search-handler-table =
+ .placeholder = 过滤内容类型和操作
+type-column-header = 内容类型
+action-column-header = 操作
+save-to-label =
+ .label = 保存文件至
+ .accesskey = S
+choose-folder-label =
+ .label =
+ { PLATFORM() ->
+ [macos] 选择…
+ *[other] 浏览…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] B
+ }
+always-ask-label =
+ .label = 每次都询问保存文件的位置
+ .accesskey = A
+display-tags-text = 标签用于对消息进行分类或区分优先级。
+new-tag-button =
+ .label = 新建…
+ .accesskey = N
+edit-tag-button =
+ .label = 编辑…
+ .accesskey = E
+delete-tag-button =
+ .label = 删除
+ .accesskey = D
+auto-mark-as-read =
+ .label = 自动将消息标记为已读
+ .accesskey = A
+mark-read-no-delay =
+ .label = 显示时立即
+ .accesskey = o
+view-attachments-inline =
+ .label = 查看内联附件
+ .accesskey = V
+
+## Note: This will concatenate to "After displaying for [___] seconds",
+## using (mark-read-delay) and a number (seconds-label).
+
+mark-read-delay =
+ .label = 显示
+ .accesskey = d
+seconds-label = 秒之后
+
+##
+
+open-msg-label =
+ .value = 打开消息于:
+open-msg-tab =
+ .label = 在新标签页
+ .accesskey = t
+open-msg-window =
+ .label = 新窗口
+ .accesskey = n
+open-msg-ex-window =
+ .label = 在现有的窗口
+ .accesskey = e
+close-move-delete =
+ .label = 移动或删除后关闭消息窗口/标签页
+ .accesskey = C
+display-name-label =
+ .value = 显示名称
+condensed-addresses-label =
+ .label = 只显示我的通讯录中的显示名称
+ .accesskey = S
+
+## Compose Tab
+
+forward-label =
+ .value = 转发消息
+ .accesskey = F
+inline-label =
+ .label = 内联
+as-attachment-label =
+ .label = 作为附件
+extension-label =
+ .label = 添加扩展名至文件名
+ .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 = 自动保存间隔
+ .accesskey = A
+auto-save-end = 分钟
+
+##
+
+warn-on-send-accel-key =
+ .label = 当使用键盘快捷键发送消息时需确认
+ .accesskey = C
+add-link-previews =
+ .label = 粘贴 URL 时添加链接预览
+ .accesskey = l
+spellcheck-label =
+ .label = 发送前进行拼写检查
+ .accesskey = C
+spellcheck-inline-label =
+ .label = 启用即时拼写检查
+ .accesskey = k
+language-popup-label =
+ .value = 语言
+ .accesskey = L
+download-dictionaries-link = 下载更多字典
+font-label =
+ .value = 字体
+ .accesskey = n
+font-size-label =
+ .value = 字号
+ .accesskey = z
+default-colors-label =
+ .label = 使用阅读器的默认颜色
+ .accesskey = d
+font-color-label =
+ .value = 文本颜色
+ .accesskey = T
+bg-color-label =
+ .value = 背景色
+ .accesskey = B
+restore-html-label =
+ .label = 恢复默认
+ .accesskey = R
+default-format-label =
+ .label = 默认使用段落而非正文文本格式
+ .accesskey = P
+compose-send-format-title = 发送格式
+compose-send-automatic-option =
+ .label = 自动
+compose-send-automatic-description = 如果消息中未使用样式则发送纯文本,否则同时发送 HTML 和纯文本,在无法显示 HTML 时换用纯文本进行显示。
+compose-send-both-option =
+ .label = HTML 和纯文本
+compose-send-both-description = 由收件人的电子邮件应用程序决定显示哪个版本。
+compose-send-html-option =
+ .label = 仅 HTML
+compose-send-html-description = 如果不同时发送纯文本作为备用,部分收件人可能无法阅读邮件。
+compose-send-plain-option =
+ .label = 仅纯文本
+compose-send-plain-description = 部分样式将被转换为替代的纯文本,而其他样式将被禁用。
+autocomplete-description = 对消息进行地址查找时,在下列位置搜索:
+ab-label =
+ .label = 本地通讯录
+ .accesskey = L
+directories-label =
+ .label = 目录服务器
+ .accesskey = D
+directories-none-label =
+ .none = 无
+edit-directories-label =
+ .label = 编辑目录…
+ .accesskey = E
+email-picker-label =
+ .label = 自动将发送邮件地址添加至
+ .accesskey = A
+default-directory-label =
+ .value = 通讯录窗口中的默认启动目录
+ .accesskey = S
+default-last-label =
+ .none = 最后使用目录
+attachment-label =
+ .label = 检查缺失的附件
+ .accesskey = m
+attachment-options-label =
+ .label = 关键词…
+ .accesskey = K
+enable-cloud-share =
+ .label = 大于此数值的文件提议分享:
+cloud-share-size =
+ .value = MB
+add-cloud-account =
+ .label = 添加…
+ .accesskey = A
+ .defaultlabel = 添加…
+remove-cloud-account =
+ .label = 移除
+ .accesskey = R
+find-cloud-providers =
+ .value = 寻找更多提供商...
+cloud-account-description = 添加一个新的“文件链接”存储服务
+
+## Privacy Tab
+
+mail-content = 邮件内容
+remote-content-label =
+ .label = 允许消息中的远程内容
+ .accesskey = m
+exceptions-button =
+ .label = 例外…
+ .accesskey = E
+remote-content-info =
+ .value = 详细了解有关远程内容的隐私问题
+web-content = 网络内容
+history-label =
+ .label = 记住我访问过的网站和链接
+ .accesskey = R
+cookies-label =
+ .label = 接受站点的 Cookie
+ .accesskey = A
+third-party-label =
+ .value = 接受第三方 Cookie:
+ .accesskey = C
+third-party-always =
+ .label = 一律
+third-party-never =
+ .label = 总不
+third-party-visited =
+ .label = 仅访问过的域
+keep-label =
+ .value = 保存直至
+ .accesskey = K
+keep-expire =
+ .label = 它们过期
+keep-close =
+ .label = 我退出 { -brand-short-name }
+keep-ask =
+ .label = 每次均询问
+cookies-button =
+ .label = 显示 Cookie…
+ .accesskey = S
+do-not-track-label =
+ .label = 向网站发出“请勿跟踪”信号,示明您不想被跟踪
+ .accesskey = n
+learn-button =
+ .label = 详细了解
+dnt-learn-more-button =
+ .value = 详细了解
+passwords-description = { -brand-short-name } 能记住您所有账户的密码信息,因此您不必在每次登录时重复输入密码。
+passwords-button =
+ .label = 已保存密码…
+ .accesskey = S
+primary-password-description = 设置主密码可以保护您所有的密码 - 但是您必须对每次会话输入一次主密码。
+primary-password-label =
+ .label = 使用主密码
+ .accesskey = U
+primary-password-button =
+ .label = 更改主密码…
+ .accesskey = C
+forms-primary-pw-fips-title = 您正处于 FIPS 模式。该模式需要一个非空的主密码。
+forms-master-pw-fips-desc = 密码更改失败
+junk-description =
+ 设定您默认的垃圾邮件设置。
+ 可以在“账户设置”中设定特定于账户的垃圾邮件设置。
+junk-label =
+ .label = 当我将消息标记为垃圾邮件时
+ .accesskey = W
+junk-move-label =
+ .label = 将它们移动至账户的“垃圾”文件夹
+ .accesskey = o
+junk-delete-label =
+ .label = 删除它们
+ .accesskey = D
+junk-read-label =
+ .label = 将垃圾消息自动标记为已读
+ .accesskey = M
+junk-log-label =
+ .label = 启用自适应垃圾邮件过滤日志
+ .accesskey = E
+junk-log-button =
+ .label = 显示日志
+ .accesskey = S
+reset-junk-button =
+ .label = 重置训练数据
+ .accesskey = R
+phishing-description = { -brand-short-name } 可以识别一些常见欺诈伎俩,分析检测是否为欺诈邮件。
+phishing-label =
+ .label = 告诉我正在阅读的消息是否是欺诈邮件
+ .accesskey = T
+antivirus-description = { -brand-short-name } 可以让防病毒软件更容易在传入的邮件被本地保存之前扫描病毒。
+antivirus-label =
+ .label = 允许防病毒软件隔离个别传入的邮件
+ .accesskey = A
+certificate-description = 当某个服务器索取我的个人证书时
+certificate-auto =
+ .label = 自动选择
+ .accesskey = S
+certificate-ask =
+ .label = 每次均询问
+ .accesskey = A
+ocsp-label =
+ .label = 查询 OCSP 响应服务器以确认证书的当前有效性
+ .accesskey = Q
+certificate-button =
+ .label = 管理证书…
+ .accesskey = M
+security-devices-button =
+ .label = 安全设备…
+ .accesskey = D
+email-e2ee-header = 电子邮件端到端加密
+account-settings = 账户设置
+email-e2ee-enable-info = 在账户设置中为端到端加密设置电子邮件账户和身份。
+email-e2ee-automatism = 自动使用加密
+email-e2ee-automatism-pre =
+ { -brand-short-name } 可以通过在撰写电子邮件时自动启用或禁用加密来提供帮助。
+ 自动启用/禁用加密基于联系人密钥或证书已被接受并且有效。
+email-e2ee-auto-on =
+ .label = 尽可能自动启用加密
+email-e2ee-auto-off =
+ .label = 当收件人更改且无法再加密时自动禁用加密
+email-e2ee-auto-off-notify =
+ .label = 每当自动禁用加密时显示通知
+email-e2ee-automatism-post =
+ 在撰写消息时,可以通过手动启用或禁用加密来覆盖自动决策。
+ 注意:回复加密消息时,加密始终自动启用。
+
+## Chat Tab
+
+startup-label =
+ .value = 启动 { -brand-short-name } 时
+ .accesskey = s
+offline-label =
+ .label = 保持我的聊天账户离线
+auto-connect-label =
+ .label = 自动连接我的聊天账户
+
+## Note: idle-label is displayed first, then there's a field where the user
+## can enter a number, and itemTime is displayed at the end of the line.
+## The translations of the idle-label and idle-time-label parts don't have
+## to mean the exact same thing as in English; please try instead to
+## translate the whole sentence.
+
+idle-label =
+ .label = 当我闲置超过
+ .accesskey = I
+idle-time-label = 分钟时,让我的联系人获知
+
+##
+
+away-message-label =
+ .label = 同时设置我的状态为离开,并添加此状态信息
+ .accesskey = A
+send-typing-label =
+ .label = 在对话时发送正在输入通知
+ .accesskey = t
+notification-label = 当有直接发送给您的消息时:
+show-notification-label =
+ .label = 显示通知
+ .accesskey = c
+notification-all =
+ .label = 包含发件人名称和消息预览
+notification-name =
+ .label = 仅带有发送者的名称
+notification-empty =
+ .label = 不带有任何信息
+notification-type-label =
+ .label =
+ { PLATFORM() ->
+ [macos] 动画 Dock 图标
+ *[other] 刷新任务栏项目
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] o
+ *[other] F
+ }
+chat-play-sound-label =
+ .label = 播放声音
+ .accesskey = d
+chat-play-button =
+ .label = 播放
+ .accesskey = P
+chat-system-sound-label =
+ .label = 默认的系统新邮件提示声
+ .accesskey = D
+chat-custom-sound-label =
+ .label = 使用下列声音文件
+ .accesskey = U
+chat-browse-sound-button =
+ .label = 浏览…
+ .accesskey = B
+theme-label =
+ .value = 主题
+ .accesskey = T
+style-mail =
+ .label = { -brand-short-name }
+style-bubbles =
+ .label = 气泡
+style-dark =
+ .label = 黑夜
+style-paper =
+ .label = 纸张
+style-simple =
+ .label = 简朴
+preview-label = 预览:
+no-preview-label = 没有预览可用
+no-preview-description = 此主题无效或目前不可用(原因例如:已被禁用、处在安全模式,……)。
+chat-variant-label =
+ .value = 配色
+ .accesskey = 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 = 查找设置
+
+## Settings UI Search Results
+
+search-results-header = 搜索结果
+# `<span data-l10n-name="query"></span>` will be replaced by the search term.
+search-results-empty-message2 =
+ { PLATFORM() ->
+ [windows] 抱歉!未找到与“<span data-l10n-name="query"></span>”有关的选项。
+ *[other] 抱歉!未找到与“<span data-l10n-name="query"></span>”有关的设置。
+ }
+search-results-help-link = 需要帮助?访问 <a data-l10n-name="url">{ -brand-short-name } 技术支持</a>
+
+## Sync Tab
+
+sync-signedout-caption = 让您个性化的网络体验随身相伴
+sync-signedout-description = 在您的各种设备间同步您的账户、通讯录、日历、附加组件与设置。
+# Note: "Sync" represents the Firefox Sync product so it shouldn't be translated.
+sync-signedout-account-signin-btn = 登录以同步…
+sync-pane-header = 同步
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-pane-email-not-verified = “{ $userEmail }”未验证。
+# Variables:
+# $userEmail (String) - The email logged into Sync.
+sync-signedin-login-failure = 请登录以重新绑定“{ $userEmail }”
+sync-pane-resend-verification = 重发验证邮件
+sync-pane-sign-in = 登录
+sync-pane-remove-account = 移除账户
+sync-pane-edit-photo =
+ .title = 更改头像
+sync-pane-manage-account = 管理账户
+sync-pane-sign-out = 退出…
+sync-pane-device-name-title = 设备名称
+sync-pane-change-device-name = 更改设备名称
+sync-pane-cancel = 取消
+sync-pane-save = 保存
+sync-pane-show-synced-header-on = 同步已开启
+sync-pane-show-synced-header-off = 同步已关闭
+sync-pane-sync-now = 立即同步
+sync-panel-sync-now-syncing = 正在同步…
+show-synced-list-heading = 您当前正在同步以下项目:
+show-synced-learn-more = 详细了解…
+show-synced-item-account = 电子邮件账户
+show-synced-item-address = 通讯录
+show-synced-item-calendar = 日历
+show-synced-item-identity = 身份
+show-synced-item-passwords = 密码
+show-synced-change = 更改…
+synced-acount-item-server-config = 服务器配置
+synced-acount-item-filters = 过滤器
+synced-acount-item-keys = OpenPGP - S/MIME
+sync-disconnected-text = 在您所有设备中同步您的电子邮件账户、通讯录、日历和身份。
+sync-disconnected-turn-on-sync = 开启同步...
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/receipts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/receipts.ftl
new file mode 100644
index 0000000000..b6ebccb6bf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 返回回执
+receipts-dialog-title = 回执
+return-receipt-checkbox-control =
+ .label = 发送消息时,一律要求得到邮件回执
+ .accesskey = W
+receipt-arrive-label = 当收到邮件回执时:
+receipt-leave-radio-control =
+ .label = 留在“收件箱”中
+ .accesskey = i
+receipt-move-radio-control =
+ .label = 移到“已发送邮件”文件夹中
+ .accesskey = m
+receipt-request-label = 当我收到索取邮件回执的请求时:
+receipt-return-never-radio-control =
+ .label = 永不发送邮件回执
+ .accesskey = n
+receipt-return-some-radio-control =
+ .label = 允许对某些消息返回邮件回执
+ .accesskey = r
+receipt-not-to-cc-label =
+ .value = 如果我不在此消息的“收件人”或“抄送”列表中
+ .accesskey = f
+receipt-send-never-label =
+ .label = 永不发送
+receipt-send-always-label =
+ .label = 一律发送
+receipt-send-ask-label =
+ .label = 询问我
+sender-outside-domain-label =
+ .value = 如果发件人不在我的域中
+ .accesskey = t
+other-cases-text-label =
+ .value = 其他情况
+ .accesskey = a
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/sync-dialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/sync-dialog.ftl
new file mode 100644
index 0000000000..429fa63ada
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 选择要同步的项目
+sync-dialog =
+ .buttonlabelaccept = 保存修改
+ .buttonaccesskeyaccept = S
+ .buttonlabelextra2 = 断开链接...
+ .buttonaccesskeyextra2 = D
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl
new file mode 100644
index 0000000000..ecdcba820c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/preferences/system-integration.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+system-integration-title =
+ .title = 系统集成
+system-integration-dialog-title = 系统集成
+system-integration-dialog =
+ .buttonlabelaccept = 设为默认值
+ .buttonlabelcancel = 跳过整合
+ .buttonlabelcancel2 = 取消
+default-client-intro = 使用 { -brand-short-name } 作为下列应用的默认客户端:
+unset-default-tooltip = 无法在 { -brand-short-name } 中取消 { -brand-short-name } 的默认程序设置,要将另一个应用程序设置为默认,你必须使用它自己的“设置为默认”对话框。
+checkbox-email-label =
+ .label = 电子邮件
+ .tooltiptext = { unset-default-tooltip }
+checkbox-newsgroups-label =
+ .label = 新闻组
+ .tooltiptext = { unset-default-tooltip }
+checkbox-feeds-label =
+ .label = 收取点
+ .tooltiptext = { unset-default-tooltip }
+checkbox-calendar-label =
+ .label = 日历
+ .tooltiptext = { unset-default-tooltip }
+# Note: This is the search engine name for all the different platforms.
+# Platforms that don't support it should be left blank.
+system-search-engine-name =
+ { PLATFORM() ->
+ [macos] 聚焦
+ [windows] Windows 搜索
+ *[other] { "" }
+ }
+system-search-integration-label =
+ .label = 允许“{ system-search-engine-name }”搜索邮件
+ .accesskey = s
+check-on-startup-label =
+ .label = 每次启动 { -brand-short-name } 时都进行此项检查
+ .accesskey = A
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/shortcuts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/shortcuts.ftl
new file mode 100644
index 0000000000..abb99d4bb8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/messenger/syncAccounts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/syncAccounts.ftl
new file mode 100644
index 0000000000..19f0c6aad1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/syncAccounts.ftl
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, you can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# The strings in this file relate to the configuration of Mozilla accounts for sync.
+
+
+## These strings are shown in a desktop notification after the user requests we resend a verification email.
+
+sync-verification-sent-title = 已发出验证邮件
+# Variables:
+# $userEmail (String) - Email address of the account used for sync.
+sync-verification-sent-body = 验证链接已发送到 { $userEmail }。
+sync-verification-not-sent-title = 无法发送验证邮件
+sync-verification-not-sent-body = 我们目前无法发送验证邮件,请稍后再试。
+
+## These strings are shown in a confirmation dialog when the user chooses to sign out.
+
+sync-signout-dialog-title = 确定要退出账户吗?
+sync-signout-dialog-body = 已同步的数据将保留在您的账户中。
+sync-signout-dialog-button = 退出
+
+## These strings are shown in a confirmation dialog when the user chooses to stop syncing.
+
+sync-disconnect-dialog-title = 要断开连接吗?
+sync-disconnect-dialog-body = { -brand-product-name } 将停止同步,但不会删除此设备上的任何数据。
+sync-disconnect-dialog-button = 断开连接
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/treeView.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/treeView.ftl
new file mode 100644
index 0000000000..9b8a839bdf
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/treeView.ftl
@@ -0,0 +1,65 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Table
+
+tree-list-view-row-select =
+ .alt = 切换选中当前行的复选框
+ .title = 选中当前行
+tree-list-view-row-deselect =
+ .alt = 切换选中当前行的复选框
+ .title = 取消选中当前行
+tree-list-view-row-delete =
+ .title = 删除当前行
+tree-list-view-row-restore =
+ .title = 恢复当前行
+tree-list-view-column-picker =
+ .title = 选择要显示的列
+tree-list-view-column-picker-restore =
+ .label = 恢复列顺序
+tree-list-view-row-thread-icon =
+ .alt = 话题消息标记
+ .title = 这是一条话题消息
+tree-list-view-row-thread-button =
+ .title = 这是一条话题消息
+tree-list-view-row-ignored-thread = 话题已忽略
+tree-list-view-row-ignored-thread-icon =
+ .alt = 话题消息标记
+ .title = 此话题消息已忽略
+tree-list-view-row-ignored-thread-button =
+ .title = 此话题消息已忽略
+tree-list-view-row-ignored-subthread = 子话题已忽略
+tree-list-view-row-ignored-subthread-icon =
+ .alt = 话题消息标记
+ .title = 此子话题已忽略
+tree-list-view-row-ignored-subthread-button =
+ .title = 此子话题已忽略
+tree-list-view-row-watched-thread = 已跟踪此话题
+tree-list-view-row-watched-thread-icon =
+ .alt = 话题消息标记
+ .title = 已跟踪此话题消息
+tree-list-view-row-watched-thread-button =
+ .title = 已跟踪此话题消息
+tree-list-view-row-flagged =
+ .alt = 星标消息标记
+ .title = 星标消息
+tree-list-view-row-flag =
+ .alt = 星标消息标记
+ .title = 未星标消息
+tree-list-view-row-attach =
+ .alt = 附件标记
+ .title = 包含附件的消息
+tree-list-view-row-spam =
+ .alt = 垃圾状态标记
+ .title = 标记为垃圾的消息
+tree-list-view-row-not-spam =
+ .alt = 垃圾状态标记
+ .title = 未标记为垃圾的消息
+tree-list-view-row-read =
+ .alt = 已读状态标记
+ .title = 已读消息状态
+tree-list-view-row-not-read =
+ .alt = 未读状态标记
+ .title = 未读消息状态
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/troubleshootMode.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/troubleshootMode.ftl
new file mode 100644
index 0000000000..9988474d78
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/troubleshootMode.ftl
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+troubleshoot-mode-window =
+ .title = { -brand-short-name } 排障模式
+ .style = width: 37em;
+troubleshoot-mode-dialog-title = { -brand-short-name } 排障模式
+troubleshoot-mode-description = 使用 { -brand-short-name } 的排障模式来诊断问题。您的附加组件和自定义设置将被暂时禁用。
+troubleshoot-mode-description2 = 您可以将这些更改部分或全部保存:
+troubleshoot-mode-disable-addons =
+ .label = 禁用全部附加组件
+ .accesskey = D
+troubleshoot-mode-reset-toolbars =
+ .label = 重置工具栏以及控件
+ .accesskey = R
+troubleshoot-mode-change-and-restart =
+ .label = 保存更改并重启客户端
+ .accesskey = M
+troubleshoot-mode-continue =
+ .label = 以排障模式继续
+ .accesskey = C
+troubleshoot-mode-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] 退出
+ *[other] 退出
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] x
+ *[other] Q
+ }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbar.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbar.ftl
new file mode 100644
index 0000000000..e7bf061287
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbar.ftl
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Unified Toolbar strings
+
+
+## Search bar
+
+search-bar-button =
+ .alt = 搜索
+search-bar-item =
+ .label = 搜索:
+search-bar-placeholder = 搜索…
+# 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 = 自定义…
+
+# Unified toolbar get messages button context menu
+
+toolbar-get-all-messages-menuitem =
+ .label = 获取所有新消息
+ .accesskey = G
+
+## Unified Toolbar customization
+
+customize-title = 定制工具栏…
+customize-space-tab-mail = 邮件
+ .title = 邮件
+customize-space-tab-addressbook = 通讯录
+ .title = 通讯录
+customize-space-tab-calendar = 日历
+ .title = 日历
+customize-space-tab-tasks = 任务
+ .title = 任务
+customize-space-tab-chat = 聊天
+ .title = 聊天
+customize-space-tab-settings = 设置
+ .title = 设置
+customize-restore-default = 恢复默认设置
+customize-change-appearance = 更改外观…
+customize-button-style-label = 按钮样式:
+customize-button-style-icons-beside-text-option = 在图标旁显示文字
+customize-button-style-icons-above-text-option = 在图标下方显示文字
+customize-button-style-icons-only-option = 仅图标
+customize-button-style-text-only-option = 仅文本
+customize-cancel = 取消
+customize-save = 保存
+customize-unsaved-changes = 其他空间中有未保存的更改
+customize-search-bar =
+ .label = 搜索工具栏按钮…
+customize-spaces-tabs =
+ .aria-label = 空间
+customize-main-toolbar-target =
+ .aria-label = 主工具栏
+customize-palette-generic-title = 适用于所有空间
+customize-palette-mail-specific-title = 仅适用于邮件空间
+customize-palette-addressbook-specific-title = 仅适用于通讯录空间
+customize-palette-calendar-specific-title = 仅适用于日历空间
+customize-palette-tasks-specific-title = 仅适用于任务空间
+customize-palette-chat-specific-title = 仅适用于聊天空间
+customize-palette-settings-specific-title = 仅适用于设置空间
+customize-palette-extension-specific-title = 仅适用于此空间
+
+## Unified toolbar customization palette context menu
+
+# Variables:
+# $target (String) - Name of the target the item should be added to.
+customize-palette-add-to =
+ .label = 加入 { $target }
+customize-palette-add-everywhere =
+ .label = 添加到全部工具栏
+
+## Unified toolbar customization target context menu
+
+customize-target-forward =
+ .label = 向前移动
+customize-target-backward =
+ .label = 向后移动
+customize-target-remove =
+ .label = 移除
+customize-target-remove-everywhere =
+ .label = 从所有工具栏中移除
+customize-target-add-everywhere =
+ .label = 添加到全部工具栏
+customize-target-start =
+ .label = 移动到开头
+customize-target-end =
+ .label = 移动到末尾
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbarItems.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbarItems.ftl
new file mode 100644
index 0000000000..7ce398b71e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/unifiedToolbarItems.ftl
@@ -0,0 +1,165 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Unified Toolbar Item Label strings
+
+spacer-label = 弹性空白
+search-bar-label = 搜索
+toolbar-write-message-label = 新建消息
+toolbar-write-message =
+ .title = 创建新消息
+toolbar-move-to-label = 移动到
+toolbar-move-to =
+ .title = 移动选中的消息
+toolbar-unifinder-label = 查找事件
+toolbar-unifinder =
+ .title = 切换查找事件窗格
+toolbar-folder-location-label = 文件夹地址
+toolbar-folder-location =
+ .title = 切换到文件夹
+toolbar-edit-event-label = 编辑
+toolbar-edit-event =
+ .title = 编辑选中的事件或任务
+toolbar-get-messages-label = 获取消息
+toolbar-get-messages =
+ .title = 收取所有账户的新消息
+toolbar-reply-label = 回复
+toolbar-reply =
+ .title = 回复消息
+toolbar-reply-all-label = 全部回复
+toolbar-reply-all =
+ .title = 回复发件人和所有收件人
+toolbar-reply-to-list-label = 回复至列表
+toolbar-reply-to-list =
+ .title = 回复至邮件列表
+toolbar-redirect-label = 重定向
+toolbar-redirect =
+ .title = 将选择的消息重定向
+toolbar-archive-label = 归档
+toolbar-archive =
+ .title = 归档选中的消息
+toolbar-conversation-label = 对话
+toolbar-conversation =
+ .title = 显示选定消息的对话
+toolbar-previous-unread-label = 上一条未读
+toolbar-previous-unread =
+ .title = 转到上一条未读消息
+toolbar-previous-label = 上一个
+toolbar-previous =
+ .title = 移动到上一条信息
+toolbar-next-unread-label = 下一条未读
+toolbar-next-unread =
+ .title = 转至下一条未读消息
+toolbar-next-label = 下一个
+toolbar-next =
+ .title = 移动到下一条信息
+toolbar-junk-label = 是垃圾邮件
+toolbar-junk =
+ .title = 将选择的消息标记为垃圾邮件
+toolbar-delete-label = 删除
+toolbar-delete-title =
+ .title = 删除选定的消息
+toolbar-undelete-label = 撤消删除
+toolbar-undelete =
+ .title = 撤销删除选定的消息
+toolbar-compact-label = 压缩
+toolbar-compact =
+ .title = 从选中文件夹移除已删除消息
+toolbar-add-as-event-label = 作为事件添加
+toolbar-add-as-event =
+ .title = 从消息中提取日历信息并作为事件添加到你的日历中
+toolbar-add-as-task-label = 作为任务添加
+toolbar-add-as-task =
+ .title = 从消息中提取日历信息并作为任务添加到你的日历中
+toolbar-tag-message-label = 标签
+toolbar-tag-message =
+ .title = 为消息添加标签
+toolbar-forward-inline-label = 转发
+toolbar-forward-inline =
+ .title = 作为内联文本转发选中的消息
+toolbar-forward-attachment-label = 作为附件转发
+toolbar-forward-attachment =
+ .title = 作为附件转发选中的消息
+toolbar-mark-as-label = 标记
+toolbar-mark-as =
+ .title = 标记消息
+toolbar-view-picker-label = 视图
+toolbar-view-picker =
+ .title = 自定义当前文件夹的显示方式
+toolbar-address-book-label = 通讯录
+toolbar-address-book =
+ .title = 转到通讯录
+toolbar-chat-label = 聊天
+toolbar-chat =
+ .title = 显示聊天页
+toolbar-add-ons-and-themes-label = 扩展和主题
+toolbar-add-ons-and-themes =
+ .title = 管理您的附加组件
+toolbar-calendar-label = 日历
+toolbar-calendar =
+ .title = 切换到日历选项卡
+toolbar-tasks-label = 任务
+toolbar-tasks =
+ .title = 切换到任务选项卡
+toolbar-mail-label = 邮件
+toolbar-mail =
+ .title = 切换到邮件标签页
+toolbar-print-label = 打印
+toolbar-print =
+ .title = 打印此消息
+toolbar-quick-filter-bar-label = 快速筛选
+toolbar-quick-filter-bar =
+ .title = 筛选消息
+toolbar-synchronize-label = 同步
+toolbar-synchronize =
+ .title = 重新加载日历并同步变更
+toolbar-delete-event-label = 删除
+toolbar-delete-event =
+ .title = 删除选中的事件或任务
+toolbar-go-to-today-label = 转至今日
+toolbar-go-to-today =
+ .title = 转至今天
+toolbar-print-event-label = 打印
+toolbar-print-event =
+ .title = 打印事件或任务
+toolbar-new-event-label = 事件
+toolbar-new-event =
+ .title = 创建新事件
+toolbar-new-task-label = 任务
+toolbar-new-task =
+ .title = 创建新任务
+toolbar-go-back-label = 后退
+toolbar-go-back =
+ .title = 后退至上一条消息
+toolbar-go-forward-label = 前进
+toolbar-go-forward =
+ .title = 前进至下一条消息
+toolbar-stop-label = 停止
+toolbar-stop =
+ .title = 停止当前的传输
+toolbar-throbber-label = 活动指示器
+toolbar-throbber =
+ .title = 活动指示器
+toolbar-create-contact-label = 新联系人
+toolbar-create-contact =
+ .title = 新建联系人
+toolbar-create-address-book-label = 新通讯录
+toolbar-create-address-book =
+ .title = 新建通讯录
+toolbar-create-list-label = 新列表
+toolbar-create-list =
+ .title = 新建邮件列表
+toolbar-import-contacts-label = 导入
+toolbar-import-contacts =
+ .title = 从文件导入联系人
+
+## New Address Book popup items
+
+toolbar-new-address-book-popup-add-js-address-book =
+ .label = 添加本地通讯录
+toolbar-new-address-book-popup-add-carddav-address-book =
+ .label = 添加 CardDAV 通讯录
+toolbar-new-address-book-popup-add-ldap-address-book =
+ .label = 添加 LDAP 通讯录
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/viewSource.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/messenger/viewSource.ftl
new file mode 100644
index 0000000000..268a80ae6f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 查找
+ .accesskey = F
+
+context-text-action-find-again =
+ .label = 查找下一个
+ .accesskey = g
+
+text-action-find =
+ .label = 查找
+ .accesskey = F
+
+text-action-find-again =
+ .label = 查找下一个
+ .accesskey = g
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/security/certificates/certManager.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/security/certificates/certManager.ftl
new file mode 100644
index 0000000000..7358f39ce2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/security/certificates/certManager.ftl
@@ -0,0 +1,228 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+certmgr-title =
+ .title = 证书管理器
+
+certmgr-tab-mine =
+ .label = 您的证书
+
+certmgr-tab-remembered =
+ .label = 认证决策
+
+certmgr-tab-people =
+ .label = 个人
+
+certmgr-tab-servers =
+ .label = 服务器
+
+certmgr-tab-ca =
+ .label = 证书颁发机构
+
+certmgr-mine = 您有下列组织的证书可以识别您自己
+certmgr-remembered = 下列证书可用于向网站识别您的身份
+certmgr-people = 您有用来识别这些人的证书文件
+certmgr-server = 下列是服务器证书例外项目
+certmgr-ca = 您有用来识别这些证书颁发机构的证书文件
+
+certmgr-edit-ca-cert2 =
+ .title = 编辑证书颁发机构信任关系设置
+ .style = min-width: 48em;
+
+certmgr-edit-cert-edit-trust = 编辑信任设置:
+
+certmgr-edit-cert-trust-ssl =
+ .label = 此证书可以标识网站。
+
+certmgr-edit-cert-trust-email =
+ .label = 此证书可以标识电子邮件用户。
+
+certmgr-delete-cert2 =
+ .title = 删除证书
+ .style = min-width: 48em; min-height: 24em;
+
+certmgr-cert-host =
+ .label = 主机
+
+certmgr-cert-name =
+ .label = 证书名称
+
+certmgr-cert-server =
+ .label = 服务器
+
+certmgr-token-name =
+ .label = 安全设备
+
+certmgr-begins-label =
+ .label = 起始时间
+
+certmgr-expires-label =
+ .label = 过期时间
+
+certmgr-email =
+ .label = 电子邮件地址
+
+certmgr-serial =
+ .label = 序列号
+
+certmgr-fingerprint-sha-256 =
+ .label = SHA-256 指纹
+
+certmgr-view =
+ .label = 查看…
+ .accesskey = V
+
+certmgr-edit =
+ .label = 编辑信任…
+ .accesskey = E
+
+certmgr-export =
+ .label = 导出…
+ .accesskey = x
+
+certmgr-delete =
+ .label = 删除…
+ .accesskey = D
+
+certmgr-delete-builtin =
+ .label = 删除或不信任…
+ .accesskey = D
+
+certmgr-backup =
+ .label = 备份…
+ .accesskey = B
+
+certmgr-backup-all =
+ .label = 全部备份…
+ .accesskey = k
+
+certmgr-restore =
+ .label = 导入…
+ .accesskey = m
+
+certmgr-add-exception =
+ .label = 添加例外…
+ .accesskey = x
+
+exception-mgr =
+ .title = 添加安全例外
+
+exception-mgr-extra-button =
+ .label = 确认安全例外
+ .accesskey = C
+
+exception-mgr-supplemental-warning = 合法的银行、电商以及其他公共网站不会要求您这么做。
+
+exception-mgr-cert-location-url =
+ .value = 地址:
+
+exception-mgr-cert-location-download =
+ .label = 获取证书
+ .accesskey = G
+
+exception-mgr-cert-status-view-cert =
+ .label = 查看…
+ .accesskey = V
+
+exception-mgr-permanent =
+ .label = 永久保存此例外
+ .accesskey = P
+
+pk11-bad-password = 输入的密码不正确。
+pkcs12-decode-err = 解码该文件失败。它可能不是 PKCS #12 格式,或已经损坏,或您输入的密码不正确。
+pkcs12-unknown-err-restore = 恢复 PKCS #12 文件失败,原因未知。
+pkcs12-unknown-err-backup = 创建 PKCS #12 备份文件失败,原因未知。
+pkcs12-unknown-err = PKCS #12 操作失败,原因未知。
+pkcs12-info-no-smartcard-backup = 不可能备份硬件安全设备(如智能卡)中的证书。
+pkcs12-dup-data = 证书和私钥已经存在于此安全设备中了。
+
+## PKCS#12 file dialogs
+
+choose-p12-backup-file-dialog = 要备份的文件名
+file-browse-pkcs12-spec = PKCS12 文件
+choose-p12-restore-file-dialog = 要导入的证书文件
+
+## Import certificate(s) file dialog
+
+file-browse-certificate-spec = 证书文件
+import-ca-certs-prompt = 请选择要导入的包含 CA 证书的文件
+import-email-cert-prompt = 请选择包含要导入的包含某人邮件证书的文件
+
+## For editing certificates trust
+
+# Variables:
+# $certName: the name of certificate
+edit-trust-ca = 此证书“{ $certName }”代表了一个数字证书颁发机构(CA)。
+
+## For Deleting Certificates
+
+delete-user-cert-title =
+ .title = 删除您的证书
+delete-user-cert-confirm = 确定要删除这些证书吗?
+delete-user-cert-impact = 如果您删除了某个您自己的证书,您将无法使用它来标识你自己。
+
+
+delete-ssl-override-title =
+ .title = 删除服务器证书例外
+delete-ssl-override-confirm = 您确定要删除此服务器例外吗?
+delete-ssl-override-impact = 如果您删除一个服务器例外,下次您再访问该服务器时会恢复要求该网站使用有效的证书,您可能又会收到服务器证书无效的提示。
+
+delete-ca-cert-title =
+ .title = 删除或不信任 CA 证书
+delete-ca-cert-confirm = 您已请求删除这些 CA 证书。内置的证书将被取消所有信任使操作达到同样的效果。您确认要删除或取消信任吗?
+delete-ca-cert-impact = 如果您删除或不信任证书一个颁发机构(CA)证书,本应用程序将不再信任由该 CA 颁发的任何证书.
+
+
+delete-email-cert-title =
+ .title = 删除电子邮件证书
+delete-email-cert-confirm = 您确定要删除这些人的电子邮件证书吗?
+delete-email-cert-impact = 如果您删除了某人的电子邮件证书,您将不能再向此人发送加密电子邮件。
+
+# Used for semi-uniquely representing a cert.
+#
+# Variables:
+# $serialNumber : the serial number of the cert in AA:BB:CC hex format.
+cert-with-serial =
+ .value = 证书序列号:{ $serialNumber }
+
+# Used to indicate that the user chose not to send a client authentication certificate to a server that requested one in a TLS handshake.
+send-no-client-certificate = 不发送客户端证书
+
+# Used when no cert is stored for an override
+no-cert-stored-for-override = (未存储)
+
+# When a certificate is unavailable (for example, it has been deleted or the token it exists on has been removed).
+certificate-not-available = (不可用)
+
+## Used to show whether an override is temporary or permanent
+
+permanent-override = 永久
+temporary-override = 临时
+
+## Add Security Exception dialog
+
+add-exception-branded-warning = 您将指定 { -brand-short-name } 如何来标识此站点。
+add-exception-invalid-header = 此站点尝试使用无效的信息来标识自身。
+add-exception-domain-mismatch-short = 错误的站点
+add-exception-domain-mismatch-long = 证书属于其他网站,有可能是某人想要冒充此网站。
+add-exception-expired-short = 过时的信息
+add-exception-expired-long = 该证书目前无效。它可能已被失窃或遗失,并可能被某人用于冒充此网站。
+add-exception-unverified-or-bad-signature-short = 未知标识
+add-exception-unverified-or-bad-signature-long = 无法核实此证书是否由受信任的颁发机构以安全方式签署,因此不能信任此证书。
+add-exception-valid-short = 有效的证书
+add-exception-valid-long = 此站点提供了有效、已验证的标识。因此无添加例外的必要。
+add-exception-checking-short = 正在检查信息
+add-exception-checking-long = 正在尝试识别此站点…
+add-exception-no-cert-short = 无可用信息
+add-exception-no-cert-long = 无法取得指定站点的标识及状态信息。
+
+## Certificate export "Save as" and error dialogs
+
+save-cert-as = 保存证书至文件
+cert-format-base64 = X.509 证书 (PEM)
+cert-format-base64-chain = X.509 含链证书 (PEM)
+cert-format-der = X.509 证书 (DER)
+cert-format-pkcs7 = X.509 证书 (PKCS#7)
+cert-format-pkcs7-chain = X.509 含链证书 (PKCS#7)
+write-file-failure = 文件错误
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/security/certificates/deviceManager.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/security/certificates/deviceManager.ftl
new file mode 100644
index 0000000000..82e159cab4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 设备管理器
+ .style = min-width: 67em; min-height: 32em;
+
+devmgr-devlist =
+ .label = 安全模块和设备
+
+devmgr-header-details =
+ .label = 细节
+
+devmgr-header-value =
+ .label = 值
+
+devmgr-button-login =
+ .label = 登录
+ .accesskey = n
+
+devmgr-button-logout =
+ .label = 退出
+ .accesskey = O
+
+devmgr-button-changepw =
+ .label = 修改密码
+ .accesskey = P
+
+devmgr-button-load =
+ .label = 加载
+ .accesskey = L
+
+devmgr-button-unload =
+ .label = 卸载
+ .accesskey = U
+
+devmgr-button-enable-fips =
+ .label = 启用FIPS
+ .accesskey = F
+
+devmgr-button-disable-fips =
+ .label = 禁用FIPS
+ .accesskey = F
+
+## Strings used for load device
+
+load-device =
+ .title = 加载 PKCS#11 设备驱动程序
+
+load-device-info = 输入您要添加的模块的信息。
+
+load-device-modname =
+ .value = 模块名称
+ .accesskey = M
+
+load-device-modname-default =
+ .value = 新建PKCS#11模块
+
+load-device-filename =
+ .value = 模块文件名
+ .accesskey = f
+
+load-device-browse =
+ .label = 浏览…
+ .accesskey = B
+
+## Token Manager
+
+devinfo-status =
+ .label = 状态
+
+devinfo-status-disabled =
+ .label = 已禁用
+
+devinfo-status-not-present =
+ .label = 暂无
+
+devinfo-status-uninitialized =
+ .label = 未初始化
+
+devinfo-status-not-logged-in =
+ .label = 未登录
+
+devinfo-status-logged-in =
+ .label = 已登录
+
+devinfo-status-ready =
+ .label = 可以使用
+
+devinfo-desc =
+ .label = 描述
+
+devinfo-man-id =
+ .label = 制造商
+
+devinfo-hwversion =
+ .label = HW版本
+devinfo-fwversion =
+ .label = FW版本
+
+devinfo-modname =
+ .label = 模块
+
+devinfo-modpath =
+ .label = 路径
+
+login-failed = 登录失败
+
+devinfo-label =
+ .label = 标签
+
+devinfo-serialnum =
+ .label = 序列号
+
+fips-nonempty-primary-password-required = FIPS 需要您为各个安全设备设置一个主密码。请在启用 FIPS 模式之前设置主密码。
+unable-to-toggle-fips = 无法更换该安全设备的 FIPS 模式。建议您退出并重启本应用程序。
+load-pk11-module-file-picker-title = 选择要加载的 PKCS#11 设备驱动程序
+
+# Load Module Dialog
+load-module-help-empty-module-name =
+ .value = 模块名称不能为空。
+
+# Do not translate 'Root Certs'
+load-module-help-root-certs-module-name =
+ .value = ”Root Certs“已被保留,不能用作模块名称。
+
+add-module-failure = 无法添加模块
+del-module-warning = 您确定要删除此安全模块吗?
+del-module-error = 无法删除模块
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/security/pippki/pippki.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/security/pippki/pippki.ftl
new file mode 100644
index 0000000000..c702d74456
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/security/pippki/pippki.ftl
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+password-quality-meter = 密码强度
+
+## Change Password dialog
+
+change-device-password-window =
+ .title = 更改密码
+# Variables:
+# $tokenName (String) - Security device of the change password dialog
+change-password-token = 安全设备: { $tokenName }
+change-password-old = 当前密码:
+change-password-new = 新密码:
+change-password-reenter = 新密码(重复):
+pippki-failed-pw-change = 无法更改密码。
+pippki-incorrect-pw = 您未输入正确的主密码,请重试。
+pippki-pw-change-ok = 密码更改成功。
+pippki-pw-empty-warning = 您存储的密码和私钥将不再受保护。
+pippki-pw-erased-ok = 警告!您已经删除了您的主密码。 { pippki-pw-empty-warning }
+pippki-pw-not-wanted = 警告!您决定了不使用主密码。{ pippki-pw-empty-warning }
+pippki-pw-change2empty-in-fips-mode = 您正处于 FIPS 模式。该模式需要一个非空的主密码。
+
+## Reset Primary Password dialog
+
+reset-primary-password-window2 =
+ .title = 重置主密码
+ .style = min-width: 40em
+reset-password-button-label =
+ .label = 重置
+reset-primary-password-text = 如果您重置您的主密码,您存储的所有网站和电子邮箱密码、表单数据、个人证书以及私钥,都将被丢弃。您确实要重置主密码吗?
+pippki-reset-password-confirmation-title = 重置主密码
+pippki-reset-password-confirmation-message = 您的主密码已重置。
+
+## Downloading cert dialog
+
+download-cert-window2 =
+ .title = 下载证书
+ .style = min-width: 46em
+download-cert-message = 您被要求信任一个新的数字证书认证机构(CA)。
+download-cert-trust-ssl =
+ .label = 信任由此证书颁发机构来标识网站。
+download-cert-trust-email =
+ .label = 信任由此证书颁发机构来标识电子邮件用户。
+download-cert-message-desc = 在信任此证书颁发机构之前,您应该检查它的证书、策略和它的手续(如果有的话)。
+download-cert-view-cert =
+ .label = 查看
+download-cert-view-text = 检查CA证书
+
+## Client Authorization Ask dialog
+
+
+## Client Authentication Ask dialog
+
+client-auth-window =
+ .title = 使用确认请求
+client-auth-site-description = 此站点请求您用证书来标识您自己:
+client-auth-choose-cert = 选择一个证书作为标识:
+client-auth-send-no-certificate =
+ .label = 不发送证书
+# Variables:
+# $hostname (String) - The domain name of the site requesting the client authentication certificate
+client-auth-site-identification = “{ $hostname }”请求您用证书来标识您自己:
+client-auth-cert-details = 所选证书细节:
+# Variables:
+# $issuedTo (String) - The subject common name of the currently-selected client authentication certificate
+client-auth-cert-details-issued-to = 颁发给:{ $issuedTo }
+# Variables:
+# $serialNumber (String) - The serial number of the certificate (hexadecimal of the form "AA:BB:...")
+client-auth-cert-details-serial-number = 序列号:{ $serialNumber }
+# Variables:
+# $notBefore (String) - The date before which the certificate is not valid (e.g. Apr 21, 2023, 1:47:53 PM UTC)
+# $notAfter (String) - The date after which the certificate is not valid
+client-auth-cert-details-validity-period = 有效期从 { $notBefore } 至 { $notAfter }
+# Variables:
+# $keyUsages (String) - A list of already-localized key usages for which the certificate may be used
+client-auth-cert-details-key-usages = 密钥用途:{ $keyUsages }
+# Variables:
+# $emailAddresses (String) - A list of email addresses present in the certificate
+client-auth-cert-details-email-addresses = 电子邮件地址:{ $emailAddresses }
+# Variables:
+# $issuedBy (String) - The issuer common name of the certificate
+client-auth-cert-details-issued-by = 颁发者:{ $issuedBy }
+# Variables:
+# $storedOn (String) - The name of the token holding the certificate (for example, "OS Client Cert Token (Modern)")
+client-auth-cert-details-stored-on = 存储于:{ $storedOn }
+client-auth-cert-remember-box =
+ .label = 记住此决定
+
+## Set password (p12) dialog
+
+set-password-window =
+ .title = 输入证书备份密码
+set-password-message = 证书备份密码是用来保护您即将创建的证书备份文件。您必须设置此密码才能备份。
+set-password-backup-pw =
+ .value = 证书备份密码:
+set-password-repeat-backup-pw =
+ .value = 证书备份密码(重复):
+set-password-reminder = 重要:如果您忘记了您的证书备份密码,您此后将无法恢复此备份。请将它记在一个安全的地方。
+
+## Protected authentication alert
+
+# Variables:
+# $tokenName (String) - The name of the token to authenticate to (for example, "OS Client Cert Token (Modern)")
+protected-auth-alert = 请对令牌“{ $tokenName }”进行身份验证。如何操作取决于令牌(例如,按压指纹识别器或键入代码)。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/services/accounts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/services/accounts.ftl
new file mode 100644
index 0000000000..969ae81a68
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/services/accounts.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $user (String): the user name (e.g. "Ed")
+# $system (String): the operating system (e.g. "Android")
+account-client-name = { $user } 在 { $system } 上使用的 { -brand-short-name }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAbout.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAbout.ftl
new file mode 100644
index 0000000000..cf2454e012
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAbout.ftl
@@ -0,0 +1,6 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-about-title = 关于 about
+about-about-note = 这是为方便您查询而设置的“about”页。<br/>其中某些容易混淆,某些仅用于诊断目的。<br/>还有一些因为必须指定查询字符串才能查看,故而省略了。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAddons.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAddons.ftl
new file mode 100644
index 0000000000..d7aea16174
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutAddons.ftl
@@ -0,0 +1,484 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+addons-page-title = 附加组件管理器
+search-header =
+ .placeholder = 在 addons.mozilla.org 搜索
+ .searchbuttonlabel = 搜索
+
+## Variables
+## $domain - Domain name where add-ons are available (e.g. addons.mozilla.org)
+
+list-empty-get-extensions-message = 到 <a data-l10n-name="get-extensions">{ $domain }</a> 安装扩展和主题。
+list-empty-get-dictionaries-message = 到 <a data-l10n-name="get-extensions">{ $domain }</a> 安装字典
+list-empty-get-language-packs-message = 到 <a data-l10n-name="get-extensions">{ $domain }</a> 安装语言包
+
+##
+
+list-empty-installed =
+ .value = 您没有安装任何此类型的附加组件
+list-empty-available-updates =
+ .value = 没有找到可用的更新
+list-empty-recent-updates =
+ .value = 您最近没有更新任何附加组件
+list-empty-find-updates =
+ .label = 检查更新
+list-empty-button =
+ .label = 进一步了解附加组件
+help-button = 附加组件帮助
+sidebar-help-button-title =
+ .title = 附加组件帮助
+addons-settings-button = { -brand-short-name } 设置
+sidebar-settings-button-title =
+ .title = { -brand-short-name } 设置
+show-unsigned-extensions-button =
+ .label = 一些扩展未通过验证
+show-all-extensions-button =
+ .label = 显示所有扩展
+detail-version =
+ .label = 版本
+detail-last-updated =
+ .label = 上次更新
+addon-detail-description-expand = 显示更多
+addon-detail-description-collapse = 折叠
+detail-contributions-description = 此附加组件的开发者希望通过您的小额捐款,帮助支持其持续开发。
+detail-contributions-button = 捐助
+ .title = 捐助此附加组件的开发
+ .accesskey = C
+detail-update-type =
+ .value = 自动更新
+detail-update-default =
+ .label = 默认
+ .tooltiptext = 仅对有默认设置者自动安装更新
+detail-update-automatic =
+ .label = 开
+ .tooltiptext = 自动安装更新
+detail-update-manual =
+ .label = 关
+ .tooltiptext = 不要自动安装更新
+# Used as a description for the option to allow or block an add-on in private windows.
+detail-private-browsing-label = 在隐私窗口中运行
+# Some add-ons may elect to not run in private windows by setting incognito: not_allowed in the manifest. This
+# cannot be overridden by the user.
+detail-private-disallowed-label = 不支持隐私窗口
+detail-private-disallowed-description2 = 隐私浏览时不会运行此扩展。<a data-l10n-name="learn-more">详细了解</a>
+# Some special add-ons are privileged, run in private windows automatically, and this permission can't be revoked
+detail-private-required-label = 会自动于隐私浏览窗口中运作
+detail-private-required-description2 = 此扩展可以获知您在隐私浏览窗口中的上网情况。<a data-l10n-name="learn-more">详细了解</a>
+detail-private-browsing-on =
+ .label = 允许
+ .tooltiptext = 在隐私浏览模式中启用
+detail-private-browsing-off =
+ .label = 不允许
+ .tooltiptext = 在隐私浏览模式中禁用
+detail-home =
+ .label = 主页
+detail-home-value =
+ .value = { detail-home.label }
+detail-repository =
+ .label = 附加组件配置文件
+detail-repository-value =
+ .value = { detail-repository.label }
+detail-check-for-updates =
+ .label = 检查更新
+ .accesskey = f
+ .tooltiptext = 检查此附加组件的更新
+detail-show-preferences =
+ .label =
+ { PLATFORM() ->
+ [windows] 选项
+ *[other] 首选项
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] O
+ *[other] P
+ }
+ .tooltiptext =
+ { PLATFORM() ->
+ [windows] 更改此附加组件的选项
+ *[other] 更改此附加组件的首选项
+ }
+detail-rating =
+ .value = 评分
+addon-restart-now =
+ .label = 立即重启浏览器
+disabled-unsigned-heading =
+ .value = 一些附加组件已被禁用
+disabled-unsigned-description = 下列附加组件未通过针对是否适用于 { -brand-short-name } 的验证。您可以<label data-l10n-name="find-addons">找找有无替代品</label>或者请开发者申请验证。
+disabled-unsigned-learn-more = 了解我们为保障您的网上安全做了哪些努力。
+disabled-unsigned-devinfo = 想要自己的附加组件获得验证的开发者可继续阅读我们的<label data-l10n-name="learn-more">相关手册</label>。
+plugin-deprecation-description = 少了些东西?{ -brand-short-name } 不再支持某些插件了。 <label data-l10n-name="learn-more">详细了解。</label>
+legacy-warning-show-legacy = 显示旧式扩展
+legacy-extensions =
+ .value = 旧式扩展
+legacy-extensions-description = 这些扩展不符合现今的 { -brand-short-name } 标准,因此已被停用。 <label data-l10n-name="legacy-learn-more">了解附加组件的变化</label>
+private-browsing-description2 =
+ 扩展在 { -brand-short-name } 隐私浏览模式中的运行权限有所调整。默认情况下,任何新添加至 { -brand-short-name } 的扩展均不会在隐私窗口中运行。除非您在设置中明确允许,否则扩展将在隐私浏览模式中停止运行,也无法获知您的在线活动。这项调整旨在确保您的隐私浏览足够私密。
+ <label data-l10n-name="private-browsing-learn-more">了解如何管理扩展设置。</label>
+addon-category-discover = 推荐
+addon-category-discover-title =
+ .title = 推荐
+addon-category-extension = 扩展
+addon-category-extension-title =
+ .title = 扩展
+addon-category-theme = 主题
+addon-category-theme-title =
+ .title = 主题
+addon-category-plugin = 插件
+addon-category-plugin-title =
+ .title = 插件
+addon-category-dictionary = 字典
+addon-category-dictionary-title =
+ .title = 字典
+addon-category-locale = 语言
+addon-category-locale-title =
+ .title = 语言
+addon-category-available-updates = 可用更新
+addon-category-available-updates-title =
+ .title = 可用更新
+addon-category-recent-updates = 最近更新
+addon-category-recent-updates-title =
+ .title = 最近更新
+addon-category-sitepermission = 网站权限
+addon-category-sitepermission-title =
+ .title = 网站权限
+# 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 = { $host } 的网站权限
+
+## These are global warnings
+
+extensions-warning-safe-mode = 所有附加组件都已被安全模式暂时禁用。
+extensions-warning-check-compatibility = 附加组件兼容性检查已禁用。您可能有不兼容的附加组件。
+extensions-warning-safe-mode2 =
+ .message = 所有附加组件都已被安全模式暂时禁用。
+extensions-warning-check-compatibility2 =
+ .message = 附加组件兼容性检查已禁用。您可能有不兼容的附加组件。
+extensions-warning-check-compatibility-button = 启用
+ .title = 启用附加组件兼容性检查
+extensions-warning-update-security = 附加组件更新安全检查已被禁用。您可能会受到更新带来的安全威胁。
+extensions-warning-update-security2 =
+ .message = 附加组件更新安全检查已被禁用。您可能会受到更新带来的安全威胁。
+extensions-warning-update-security-button = 启用
+ .title = 启用附加组件安全更新检查
+extensions-warning-imported-addons2 =
+ .message = 请完成安装导入至 { -brand-short-name } 的扩展。
+extensions-warning-imported-addons-button = 安装扩展
+
+## Strings connected to add-on updates
+
+addon-updates-check-for-updates = 检查更新
+ .accesskey = C
+addon-updates-view-updates = 查看最近更新
+ .accesskey = V
+
+# This menu item is a checkbox that toggles the default global behavior for
+# add-on update checking.
+
+addon-updates-update-addons-automatically = 自动更新附加组件
+ .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 = 重设所有附加组件为自动更新
+ .accesskey = R
+addon-updates-reset-updates-to-manual = 重设所有附加组件为手动更新
+ .accesskey = R
+
+## Status messages displayed when updating add-ons
+
+addon-updates-updating = 正在更新附加组件
+addon-updates-installed = 您的附加组件更新完毕。
+addon-updates-none-found = 没有找到可用的更新
+addon-updates-manual-updates-found = 查看可用更新
+
+## Add-on install/debug strings for page options menu
+
+addon-install-from-file = 从文件安装附加组件…
+ .accesskey = I
+addon-install-from-file-dialog-title = 选择附加组件来安装
+addon-install-from-file-filter-name = 附加组件
+addon-open-about-debugging = 调试附加组件
+ .accesskey = B
+
+## Extension shortcut management
+
+# This is displayed in the page options menu
+addon-manage-extensions-shortcuts = 管理扩展快捷键
+ .accesskey = S
+shortcuts-no-addons = 您没有启用任何扩展。
+shortcuts-no-commands = 下列扩展没有快捷键:
+shortcuts-input =
+ .placeholder = 输入一个快捷键
+shortcuts-browserAction2 = 激活工具栏按钮
+shortcuts-pageAction = 激活页面动作
+shortcuts-sidebarAction = 切换侧栏
+shortcuts-modifier-mac = 包含 Ctrl、Alt 或 ⌘
+shortcuts-modifier-other = 包含 Ctrl 或 Alt
+shortcuts-invalid = 组合无效
+shortcuts-letter = 输入一个字母
+shortcuts-system = 不可覆盖 { -brand-short-name } 的快捷键
+# String displayed in warning label when there is a duplicate shortcut
+shortcuts-duplicate = 快捷键重复
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message = 有超过一个附加组件使用 { $shortcut } 作为快捷键,重复的快捷键可能会导致无法预料的行为。
+# String displayed when a keyboard shortcut is already assigned to more than one add-on
+# Variables:
+# $shortcut (string) - Shortcut string for the add-on
+shortcuts-duplicate-warning-message2 =
+ .message = 有超过一个附加组件使用 { $shortcut } 作为快捷键,重复的快捷键可能会导致无法预料的行为。
+# String displayed when a keyboard shortcut is already used by another add-on
+# Variables:
+# $addon (string) - Name of the add-on
+shortcuts-exists = 已被 { $addon } 占用
+# Variables:
+# $numberToShow (number) - Number of other elements available to show
+shortcuts-card-expand-button =
+ { $numberToShow ->
+ *[other] 显示另外 { $numberToShow } 个
+ }
+shortcuts-card-collapse-button = 折叠
+header-back-button =
+ .title = 返回
+
+## Recommended add-ons page
+
+# Explanatory introduction to the list of recommended add-ons. The action word
+# ("recommends") in the final sentence is a link to external documentation.
+discopane-intro = 扩展和主题就像手机上的应用,可帮助您保管密码、下载视频、查找优惠信息、拦截恼人广告、改变浏览器外观等等。这些小型程序大多由第三方开发。以下是一些 { -brand-product-name } <a data-l10n-name="learn-more-trigger">推荐</a>的附加组件,它们在安全性、性能和功能等方面表现优秀。
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations = 以下的部分推荐是基于您的已安装附加组件、选项设置和使用统计得出的个性化结果。
+# Notice to make user aware that the recommendations are personalized.
+discopane-notice-recommendations2 =
+ .message = 以下的部分推荐是基于您的已安装附加组件、选项设置和使用统计得出的个性化结果。
+discopane-notice-learn-more = 详细了解
+privacy-policy = 隐私政策
+# Refers to the author of an add-on, shown below the name of the add-on.
+# Variables:
+# $author (string) - The name of the add-on developer.
+created-by-author = 作者:<a data-l10n-name="author">{ $author }</a>
+# Shows the number of daily users of the add-on.
+# Variables:
+# $dailyUsers (number) - The number of daily users.
+user-count = 用户量:{ $dailyUsers }
+install-extension-button = 添加至 { -brand-product-name }
+install-theme-button = 安装主题
+# The label of the button that appears after installing an add-on. Upon click,
+# the detailed add-on view is opened, from where the add-on can be managed.
+manage-addon-button = 管理
+find-more-addons = 寻找更多附加组件
+find-more-themes = 寻找更多主题
+# This is a label for the button to open the "more options" menu, it is only
+# used for screen readers.
+addon-options-button =
+ .aria-label = 更多选项
+
+## Add-on actions
+
+report-addon-button = 举报
+remove-addon-button = 移除
+# The link will always be shown after the other text.
+remove-addon-disabled-button = 无法移除 <a data-l10n-name="link">为什么?</a>
+disable-addon-button = 禁用
+enable-addon-button = 启用
+# This is used for the toggle on the extension card, it's a checkbox and this
+# is always its label.
+extension-enable-addon-button-label =
+ .aria-label = 启用
+preferences-addon-button =
+ { PLATFORM() ->
+ [windows] 选项
+ *[other] 首选项
+ }
+details-addon-button = 详细信息
+release-notes-addon-button = 发行说明
+permissions-addon-button = 权限
+extension-enabled-heading = 已启用
+extension-disabled-heading = 已禁用
+theme-enabled-heading = 已启用
+theme-disabled-heading2 = 保存的主题
+plugin-enabled-heading = 已启用
+plugin-disabled-heading = 已禁用
+dictionary-enabled-heading = 已启用
+dictionary-disabled-heading = 已禁用
+locale-enabled-heading = 已启用
+locale-disabled-heading = 已禁用
+sitepermission-enabled-heading = 已启用
+sitepermission-disabled-heading = 已禁用
+always-activate-button = 一律激活
+never-activate-button = 永不激活
+addon-detail-author-label = 作者
+addon-detail-version-label = 版本
+addon-detail-last-updated-label = 上次更新
+addon-detail-homepage-label = 主页
+addon-detail-rating-label = 评分
+# Message for add-ons with a staged pending update.
+install-postponed-message = 该扩展将在 { -brand-short-name } 重启后完成更新。
+# Message for add-ons with a staged pending update.
+install-postponed-message2 =
+ .message = 该扩展将在 { -brand-short-name } 重启后完成更新。
+install-postponed-button = 立即更新
+# The average rating that the add-on has received.
+# Variables:
+# $rating (number) - A number between 0 and 5. The translation should show at most one digit after the comma.
+five-star-rating =
+ .title = 评分:{ NUMBER($rating, maximumFractionDigits: 1) } / 5
+# This string is used to show that an add-on is disabled.
+# Variables:
+# $name (string) - The name of the add-on
+addon-name-disabled = { $name }(已禁用)
+# The number of reviews that an add-on has received on AMO.
+# Variables:
+# $numberOfReviews (number) - The number of reviews received
+addon-detail-reviews-link =
+ { $numberOfReviews ->
+ *[other] { $numberOfReviews } 条评价
+ }
+
+## Pending uninstall message bar
+
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description = <span data-l10n-name="addon-name">{ $addon }</span> 已被移除。
+# Variables:
+# $addon (string) - Name of the add-on
+pending-uninstall-description2 =
+ .message = { $addon } 已被移除。
+pending-uninstall-undo-button = 撤销
+addon-detail-updates-label = 允许自动更新
+addon-detail-updates-radio-default = 默认
+addon-detail-updates-radio-on = 开
+addon-detail-updates-radio-off = 关
+addon-detail-update-check-label = 检查更新
+install-update-button = 更新
+# aria-label associated to the updates row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-updates =
+ .aria-label = { addon-detail-updates-label }
+# This is the tooltip text for the private browsing badge in about:addons. The
+# badge is the private browsing icon included next to the extension's name.
+addon-badge-private-browsing-allowed2 =
+ .title = 允许运行于隐私窗口
+ .aria-label = { addon-badge-private-browsing-allowed2.title }
+addon-detail-private-browsing-help = 若允许,扩展可在隐私浏览中获知您的在线活动。 <a data-l10n-name="learn-more">详细了解</a>
+addon-detail-private-browsing-allow = 允许
+addon-detail-private-browsing-disallow = 不允许
+# aria-label associated to the private browsing row to help screen readers to announce the group
+# of input controls being entered.
+addon-detail-group-label-private-browsing =
+ .aria-label = { detail-private-browsing-label }
+
+## "sites with restrictions" (internally called "quarantined") are special domains
+## where add-ons are normally blocked for security reasons.
+
+# Used as a description for the option to allow or block an add-on on quarantined domains.
+addon-detail-quarantined-domains-label = 在受限制的网站上运行
+# Used as help text part of the quarantined domains UI controls row.
+addon-detail-quarantined-domains-help = 若允许,此扩展将能够访问受 { -vendor-short-name } 限制的网站。请仅在您信任此扩展时才允许。
+# Used as label and tooltip text on the radio inputs associated to the quarantined domains UI controls.
+addon-detail-quarantined-domains-allow = 允许
+addon-detail-quarantined-domains-disallow = 不允许
+# aria-label associated to the quarantined domains exempt row to help screen readers to announce the group.
+addon-detail-group-label-quarantined-domains =
+ .aria-label = { addon-detail-quarantined-domains-label }
+
+## This is the tooltip text for the recommended badges for an extension in about:addons. The
+## badge is a small icon displayed next to an extension when it is recommended on AMO.
+
+addon-badge-recommended2 =
+ .title = { -brand-product-name } 只推荐符合我们的安全和性能标准的扩展。
+ .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 = 由 Mozilla 构建的官方扩展,符合安全和性能标准
+ .aria-label = { addon-badge-line3.title }
+addon-badge-verified2 =
+ .title = 此扩展已通过审核,符合我们的安全和性能标准
+ .aria-label = { addon-badge-verified2.title }
+
+##
+
+available-updates-heading = 可用更新
+recent-updates-heading = 最近更新
+release-notes-loading = 正在加载…
+release-notes-error = 抱歉,加载发行说明时出错。
+addon-permissions-empty = 此扩展未要求任何权限
+addon-permissions-required = 核心功能所需的权限:
+addon-permissions-optional = 附加功能的可选权限:
+addon-permissions-learnmore = 详细了解“权限”
+recommended-extensions-heading = 推荐扩展
+recommended-themes-heading = 推荐主题
+# Variables:
+# $hostname (string) - Host where the permissions are granted
+addon-sitepermissions-required = 授予 <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 = 有好的创意?<a data-l10n-name="link">使用 Firefox Color 打造自己的主题。</a>
+
+## Page headings
+
+extension-heading = 管理您的扩展
+theme-heading = 管理您的主题
+plugin-heading = 管理您的插件
+dictionary-heading = 管理您的字典
+locale-heading = 管理您的语言包
+updates-heading = 管理您的更新
+sitepermission-heading = 管理网站权限
+discover-heading = 让 { -brand-short-name } 有您的个性
+shortcuts-heading = 管理扩展快捷键
+default-heading-search-label = 寻找更多附加组件
+addons-heading-search-input =
+ .placeholder = 在 addons.mozilla.org 搜索
+addon-page-options-button =
+ .title = 用于所有附加组件的工具
+
+## Detail notifications
+## Variables:
+## $name (string) - Name of the add-on.
+
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible = { $name } 不兼容 { -brand-short-name } { $version }。
+# Variables:
+# $version (string) - Application version.
+details-notification-incompatible2 =
+ .message = { $name } 不兼容 { -brand-short-name } { $version }。
+details-notification-incompatible-link = 更多信息
+details-notification-unsigned-and-disabled = { $name } 未通过针对是否适用于 { -brand-short-name } 的验证,现已被禁用。
+details-notification-unsigned-and-disabled2 =
+ .message = { $name } 未通过针对是否适用于 { -brand-short-name } 的验证,现已被禁用。
+details-notification-unsigned-and-disabled-link = 了解详情
+details-notification-unsigned = { $name } 未通过针对是否适用于 { -brand-short-name } 的验证。请谨慎。
+details-notification-unsigned2 =
+ .message = { $name } 未通过针对是否适用于 { -brand-short-name } 的验证。请谨慎。
+details-notification-unsigned-link = 了解详情
+details-notification-blocked = { $name } 由于安全或稳定性问题已被禁用。
+details-notification-blocked2 =
+ .message = { $name } 由于安全或稳定性问题已被禁用。
+details-notification-blocked-link = 了解详情
+details-notification-softblocked = { $name } 已知会导致安全性或稳定性问题。
+details-notification-softblocked2 =
+ .message = { $name } 已知会导致安全性或稳定性问题。
+details-notification-softblocked-link = 了解详情
+details-notification-gmp-pending = { $name } 即将安装。
+details-notification-gmp-pending2 =
+ .message = { $name } 即将安装。
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = 许可协议信息
+plugins-gmp-privacy-info = 隐私信息
+plugins-openh264-name = OpenH264 视频编码器,由思科系统公司提供
+plugins-openh264-description = 此插件由 Mozilla 自动安装,以遵从 WebRTC 技术标准,满足设备进行 WebRTC 通话所需要的 H.264 视频编码器。访问 http://www.openh264.org/ 可查看编码器的源代码和详细了解其实现。
+plugins-widevine-name = Widevine 内容解密模块,由 Google 公司提供
+plugins-widevine-description = 此插件让您可播放符合加密媒体扩展(EME)规范的加密媒体内容。网站通常使用加密媒体内容来防止高质量媒体内容的非法复制。访问 https://www.w3.org/TR/encrypted-media/ 可获取加密媒体扩展(EME)的更多信息。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutCompat.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutCompat.ftl
new file mode 100644
index 0000000000..c88d804e20
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 禁用
+label-enable = 启用
+label-interventions = 介入
+label-more-information = 更多信息:Bug { $bug }
+label-overrides = 覆盖默认用户代理字符串
+text-disabled-in-about-config = 已在 about:config 中禁用此功能
+text-no-interventions = 未使用任何介入措施
+text-no-overrides = 未覆盖任何用户代理字符串
+text-title = about:compat
+
+## Do not translate "SmartBlock". For reference, SmartBlock is a feature
+## of Firefox anti-tracking which fixes website breakage caused when
+## trackers are blocked, by acting just enough like those trackers to fix the
+## breakage. SmartBlock also contains special fixes for sites broken by
+## Firefox's Total Cookie Protection feature.
+
+label-smartblock = SmartBlock 修复
+text-no-smartblock = 未进行过 SmartBlock 修复
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutGlean.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutGlean.ftl
new file mode 100644
index 0000000000..cd72e38dc1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutGlean.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/.
+
+
+### "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 } Ping 调试查看器
+about-glean-page-title2 = 关于 { -glean-brand-name }
+about-glean-header = 关于 { -glean-brand-name }
+about-glean-interface-description =
+ { -vendor-short-name } 项目使用 <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name }</a> 收集数据。
+ 此接口面向开发者和测试人员提供,
+ 用于手动<a data-l10n-name="fog-link">测试检测</a>。
+about-glean-upload-enabled = 已启用数据上传。
+about-glean-upload-disabled = 已禁用数据上传。
+about-glean-upload-enabled-local = 数据上传仅在发送到本地服务器时启用。
+about-glean-upload-fake-enabled = 已禁用数据上传,但我们向 { glean-sdk-brand-name } “谎称”还是启用状态,如此数据将仍在本地记录。注:若已设置调试标签,ping 将一律上传至 <a data-l10n-name="glean-debug-ping-viewer">{ glean-debug-ping-viewer-brand-name }</a>。
+# This message is followed by a bulleted list.
+about-glean-prefs-and-defines = 相关的<a data-l10n-name="fog-prefs-and-defines-doc-link">首选项和定义</a>如下:
+# 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 = 关于测试
+# This message is followed by a numbered list.
+about-glean-manual-testing = 完整说明文档请见 <a data-l10n-name="fog-instrumentation-test-doc-link">{ -fog-brand-name } 检测测试文档</a>和 <a data-l10n-name="glean-sdk-doc-link">{ glean-sdk-brand-name } 文档</a>。不过简而言之,如需手动测试检测是否有效,您需要:
+# This message is an option in a dropdown filled with untranslated names of pings.
+about-glean-no-ping-label = (不提交任何 Ping)
+# An in-line text input field precedes this string.
+about-glean-label-for-tag-pings = 在此栏设置好记的调试标签,方便之后快速找到您的 ping。
+# An in-line text input field precedes this string.
+about-glean-label-for-tag-pings-with-requirements = 设置一个容易记忆的调试标签<span>(20个字符以内,仅限字母数字和短横线)</span>以便您随后可以识别您的 ping。
+# An in-line drop down list precedes this string.
+# Do not translate strings between <code> </code> tags.
+about-glean-label-for-ping-names = 请从下拉列表选择您测试仪器所在的位置。若位于<a data-l10n-name="custom-ping-link">自定义 ping</a>,则选择该项;否则默认的 <code>event</code> 指标是 <code>event</code>,而其他所有指标的默认值为 <code>metrics</code> ping。
+# An in-line check box precedes this string.
+about-glean-label-for-log-pings = (可选项。若您想在提交 Ping 时也进行记录,请勾选此选框。另外还需要<a data-l10n-name="enable-logging-link">开启记录</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 = 按下此按钮会将所有 { -glean-brand-name } ping 带上您的标签,并提交选择的 ping。(直到重启应用程序前所提交的 ping 都将标上 <code>{ $debug-tag }</code>。)
+about-glean-li-for-visit-gdpv = <a data-l10n-name="gdpv-tagged-pings-link">请访问 { glean-debug-ping-viewer-brand-name }页面查看带有您标签的 ping</a>。从按下按钮到收到 ping 应该不会超过几秒钟,有时可能需要几分钟。
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation = 如需进行 <i>ad hoc 临时测试</i>,也可在 <code>about:glean</code> 页面打开开发者控制台,并使用 <code>Glean.metricCategory.metricName.testGetValue()</code> 等 <code>testGetValue()</code> API 确定测试仪器的当前值。
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-explanation2 = 如需进行 <i>ad hoc 临时测试</i>,也可在 <code>about:glean</code> 页面打开开发者控制台,并使用 <code>Glean.metricCategory.metricName.testGetValue()</code> 等 <code>testGetValue()</code> API 来获取名称为 <code>metric.category.metric_name</code> 的指标,以确定测试仪器的当前值。
+# Do not translate strings between <code> </code> tags.
+about-glean-adhoc-note =
+ 请注意您正在通过开发工具控制台使用 Glean JS API。
+ 这意味着指标类别和指标名称的格式为
+ <code>camelCase</code>,这与 Rust 和 C++ API 不同。
+controls-button-label-verbose = 应用设置并提交 ping
+about-glean-about-data-header = 关于数据
+about-glean-about-data-explanation = 要浏览收集的数据列表,请查阅 <a data-l10n-name="glean-dictionary-link">{ -glean-brand-name } 词典</a>。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutHttpsOnlyError.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutHttpsOnlyError.ftl
new file mode 100644
index 0000000000..1e8077c0be
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutHttpsOnlyError.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/.
+
+about-httpsonly-title-alert = HTTPS-Only 模式警告
+about-httpsonly-title-site-not-available = 安全网站不可用
+# Variables:
+# $websiteUrl (String) - Url of the website that failed to load. Example: www.example.com
+about-httpsonly-explanation-unavailable2 = 为增强安全性,您已启用 HTTPS-Only 模式,但 <em>{ $websiteUrl }</em> 的 HTTPS 版本不可用。
+about-httpsonly-explanation-question = 可能是什么原因造成的?
+about-httpsonly-explanation-nosupport = 该网站很可能只是不支持 HTTPS。
+about-httpsonly-explanation-risk = 也可能是有人正企图攻击您。若您还是决定访问此网站的 HTTP 版本,则不应在网站中输入密码、邮箱、信用卡号等敏感信息。
+about-httpsonly-explanation-continue = 若继续,将暂时为此网站关闭 HTTPS-Only 模式。
+about-httpsonly-button-continue-to-site = 继续前往 HTTP 网站
+about-httpsonly-button-go-back = 返回
+about-httpsonly-link-learn-more = 详细了解…
+
+## Suggestion Box that only shows up if a secure connection to www can be established
+## Variables:
+## $websiteUrl (String) - Url of the website that can be securely loaded with these alternatives. Example: example.com
+
+about-httpsonly-suggestion-box-header = 可能另有网址
+about-httpsonly-suggestion-box-www-text = 此网站存在安全版本:<em>www.{ $websiteUrl }</em>。您可以选择访问此网页,而非 <em>{ $websiteUrl }</em>。
+about-httpsonly-suggestion-box-www-button = 前往 www.{ $websiteUrl }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutLogging.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutLogging.ftl
new file mode 100644
index 0000000000..3295c7b2fd
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutLogging.ftl
@@ -0,0 +1,69 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This is the title of the page
+about-logging-title = 关于日志记录
+about-logging-page-title = 日志管理器
+about-logging-current-log-file = 当前日志文件:
+about-logging-new-log-file = 新日志文件:
+about-logging-currently-enabled-log-modules = 当前已启用日志模块:
+about-logging-log-tutorial = 参见 <a data-l10n-name="logging">HTTP 日志</a> 了解如何使用此工具。
+# This message is used as a button label, "Open" indicates an action.
+about-logging-open-log-file-dir = 打开目录
+about-logging-set-log-file = 设置日志文件
+about-logging-set-log-modules = 设置日志模块
+about-logging-start-logging = 开始记录日志
+about-logging-stop-logging = 停止记录日志
+about-logging-buttons-disabled = 已通过环境变量配置日志记录,动态配置不可用。
+about-logging-some-elements-disabled = 已通过 URL 配置日志记录,部分配置选项不可用
+about-logging-info = 信息:
+about-logging-log-modules-selection = 选择日志模块
+about-logging-new-log-modules = 新日志模块:
+about-logging-logging-output-selection = 日志输出
+about-logging-logging-to-file = 记录到文件
+about-logging-logging-to-profiler = 记录到 { -profiler-brand-name }
+about-logging-no-log-modules = 无
+about-logging-no-log-file = 无
+about-logging-logging-preset-selector-text = 日志预设置:
+about-logging-with-profiler-stacks-checkbox = 启用日志消息的堆栈跟踪
+
+## Logging presets
+
+about-logging-preset-networking-label = 网络
+about-logging-preset-networking-description = 用于诊断网络问题的日志模块
+about-logging-preset-networking-cookie-label = Cookie
+about-logging-preset-networking-cookie-description = 用于诊断 Cookie 问题的日志模块
+about-logging-preset-networking-websocket-label = WebSocket
+about-logging-preset-networking-websocket-description = 用于诊断 WebSocket 问题的日志模块
+about-logging-preset-networking-http3-label = HTTP/3
+about-logging-preset-networking-http3-description = 用于诊断 HTTP/3 和 QUIC 问题的日志模块
+about-logging-preset-networking-http3-upload-speed-label = HTTP/3 上传速度
+about-logging-preset-networking-http3-upload-speed-description = 用于诊断 HTTP/3 上传速度问题的日志模块
+about-logging-preset-media-playback-label = 媒体播放
+about-logging-preset-media-playback-description = 用于诊断媒体播放(非视频会议)问题的日志模块
+about-logging-preset-webrtc-label = WebRTC
+about-logging-preset-webrtc-description = 用于诊断 WebRTC 调用的日志模块
+about-logging-preset-webgpu-label = WebGPU
+about-logging-preset-webgpu-description = 用于诊断 WebGPU 问题的日志模块
+about-logging-preset-gfx-label = 图形
+about-logging-preset-gfx-description = 用于诊断图形问题的日志模块
+# This is specifically "Microsoft Windows". Microsoft normally doesn't localize it, and we should follow their convention here.
+about-logging-preset-windows-label = Windows
+about-logging-preset-windows-description = 用于诊断 Microsoft Windows 特有问题的日志模块
+about-logging-preset-custom-label = 自定义
+about-logging-preset-custom-description = 手动选择的日志模块
+# Error handling
+about-logging-error = 错误:
+
+## Variables:
+## $k (String) - Variable name
+## $v (String) - Variable value
+
+about-logging-invalid-output = 键“{ $v }”的值“{ $k }”无效
+about-logging-unknown-logging-preset = 日志记录预设置“{ $v }”未知
+about-logging-unknown-profiler-preset = 性能分析预设置“{ $v }”未知
+about-logging-unknown-option = about:logging 选项“{ $k }”未知
+about-logging-configuration-url-ignored = 已忽略配置 URL
+about-logging-file-and-profiler-override = 无法同时强制输出到文件并覆盖性能分析选项
+about-logging-configured-via-url = 通过 URL 配置的选项
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutMozilla.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutMozilla.ftl
new file mode 100644
index 0000000000..40df5f1e50
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutMozilla.ftl
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-mozilla-title-6-27 = Mozilla 之书, 6:27
+about-mozilla-quote-6-27 = 野兽潜心于新的<em>方向</em>,编撰<em>智慧</em>之章,洞悉<em>世界</em>万千。在追随者与侍者的祈祝中,野兽幻化轻盈。一路<em>嬉戏</em>,走遍人间。
+about-mozilla-from-6-27 = 来自 <strong>Mozilla 之书,</strong> 6:27
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutNetworking.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutNetworking.ftl
new file mode 100644
index 0000000000..4b257d20d7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutNetworking.ftl
@@ -0,0 +1,68 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-networking-title = 关于网络连接
+about-networking-http = HTTP
+about-networking-sockets = 套接字
+about-networking-dns = DNS
+about-networking-dns-clear-cache-button = 清除 DNS 缓存
+about-networking-dns-trr-url = DoH 网址
+about-networking-dns-trr-mode = DoH 模式
+about-networking-dns-suffix = DNS 后缀
+about-networking-websockets = WebSocket
+about-networking-refresh = 刷新
+about-networking-auto-refresh = 每 3 秒自动刷新
+about-networking-hostname = 主机名
+about-networking-port = 端口
+about-networking-http-version = HTTP 版本
+about-networking-ssl = SSL
+about-networking-active = 活动
+about-networking-idle = 空闲
+about-networking-host = 主机
+about-networking-type = 类型
+about-networking-sent = 已发送
+about-networking-received = 已接收
+about-networking-family = 协议族
+about-networking-trr = TRR
+about-networking-addresses = 地址
+about-networking-expires = 过期时间 (秒)
+about-networking-originAttributesSuffix = 隔离键(值)
+about-networking-flags = 其他标志
+about-networking-messages-sent = 发出的信息数
+about-networking-messages-received = 收到的信息数
+about-networking-bytes-sent = 发送字节数
+about-networking-bytes-received = 接收字节数
+about-networking-logging = 日志
+about-networking-dns-lookup = DNS 查询
+about-networking-dns-lookup-button = 解析
+about-networking-dns-domain = 域名:
+about-networking-dns-lookup-table-column = IP
+about-networking-dns-https-rr-lookup-table-column = HTTP 资源记录(RR)
+about-networking-rcwn = RCWN 统计
+about-networking-rcwn-status = RCWN 状态
+about-networking-rcwn-cache-won-count = 缓存领先次数
+about-networking-rcwn-net-won-count = 网络领先次数
+about-networking-total-network-requests = 总网络请求数
+about-networking-rcwn-operation = 缓存操作
+about-networking-rcwn-perf-open = 打开
+about-networking-rcwn-perf-read = 读取
+about-networking-rcwn-perf-write = 写入
+about-networking-rcwn-perf-entry-open = 打开项
+about-networking-rcwn-avg-short = 短操作平均
+about-networking-rcwn-avg-long = 长操作平均
+about-networking-rcwn-std-dev-long = 长操作标准差
+about-networking-rcwn-cache-slow = 缓存较慢次数
+about-networking-rcwn-cache-not-slow = 缓存非慢次数
+about-networking-networkid = 网络 ID
+about-networking-networkid-id = 网络 ID
+# Note: do not translate about:logging, as it is a URL.
+about-networking-moved-about-logging = 此页面已移动至 <a data-l10n-name="about-logging-url">about:logging</a>。
+
+## Link is intended as "network link"
+
+about-networking-networkid-is-up = 网络已连接
+about-networking-networkid-status-known = 已知网络连接状态
+
+##
+
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutPerformance.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutPerformance.ftl
new file mode 100644
index 0000000000..8a78a0094d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutPerformance.ftl
@@ -0,0 +1,67 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-performance-title = 任务管理器
+
+## Column headers
+
+column-name = 名称
+column-type = 类型
+column-energy-impact = 能耗影响
+column-memory = 内存
+
+## Special values for the Name column
+
+ghost-windows = 最近关闭的标签页
+# Variables:
+# $title (String) - the title of the preloaded page, typically 'New Tab'
+preloaded-tab = 预先加载:{ $title }
+
+## Values for the Type column
+
+type-tab = 标签页
+type-subframe = 子框架
+type-tracker = 跟踪器
+type-addon = 附加组件
+type-browser = 浏览器
+type-worker = Worker
+type-other = 其他
+
+## Values for the Energy Impact column
+##
+## Variables:
+## $value (Number) - Value of the energy impact, eg. 0.25 (low),
+## 5.38 (medium), 105.38 (high)
+
+energy-impact-high = 高 ({ $value })
+energy-impact-medium = 中 ({ $value })
+energy-impact-low = 低 ({ $value })
+
+## Values for the Memory column
+##
+## Variables:
+## $value (Number) - How much memory is used
+
+size-KB = { $value } KB
+size-MB = { $value } MB
+size-GB = { $value } GB
+
+## Tooltips for the action buttons
+
+close-tab =
+ .title = 关闭标签页
+show-addon =
+ .title = 在附加组件管理器中显示
+
+# Tooltip when hovering an item of the about:performance table
+# Variables:
+# $totalDispatches (Number) - how many dispatches occurred for this page since it loaded
+# $totalDuration (Number) - how much CPU time was used by this page since it loaded
+# $dispatchesSincePrevious (Number) - how many dispatches occurred in the last 2 seconds
+# $durationSincePrevious (Number) - how much CPU time was used in the last 2 seconds
+item =
+ .title =
+ 加载以来调度:{ $totalDispatches } 次 ({ $totalDuration }ms)
+ 最近几秒调度:{ $dispatchesSincePrevious } 次 ({ $durationSincePrevious }ms)
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutPlugins.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutPlugins.ftl
new file mode 100644
index 0000000000..ed507d99dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 关于插件
+installed-plugins-label = 已安装的插件
+no-plugins-are-installed-label = 找不到已安装的插件
+deprecation-description = 少些东西?某些插件已不再支持。 <a data-l10n-name="deprecation-link">详细了解。</a>
+deprecation-description2 =
+ .message = 少些东西?某些插件已不再支持。
+
+## The information of plugins
+##
+## Variables:
+## $pluginLibraries: the plugin library
+## $pluginFullPath: path of the plugin
+## $version: version of the plugin
+
+file-dd = <span data-l10n-name="file">文件:</span> { $pluginLibraries }
+path-dd = <span data-l10n-name="path">路径:</span> { $pluginFullPath }
+version-dd = <span data-l10n-name="version">版本:</span> { $version }
+
+## These strings describe the state of plugins
+##
+## Variables:
+## $blockListState: show some special state of the plugin, such as blocked, outdated
+
+state-dd-enabled = <span data-l10n-name="state">状态:</span> 启用
+state-dd-enabled-block-list-state = <span data-l10n-name="state">状态:</span> 启用 ({ $blockListState })
+state-dd-Disabled = <span data-l10n-name="state">状态:</span> 禁用
+state-dd-Disabled-block-list-state = <span data-l10n-name="state">状态:</span> 禁用 ({ $blockListState })
+mime-type-label = MIME 类型
+description-label = 描述
+suffixes-label = 后缀
+
+## Gecko Media Plugins (GMPs)
+
+plugins-gmp-license-info = 许可协议信息
+plugins-gmp-privacy-info = 隐私信息
+plugins-openh264-name = OpenH264 视频编码器,由思科系统公司提供
+plugins-openh264-description = 此插件由 Mozilla 自动安装,以遵从 WebRTC 技术标准,满足设备进行 WebRTC 通话所需要的 H.264 视频编码器。访问 http://www.openh264.org/ 可查看编码器的源代码和详细了解其实现。
+plugins-widevine-name = Widevine 内容解密模块,由 Google 公司提供
+plugins-widevine-description = 此插件让您可播放符合加密媒体扩展(EME)规范的加密媒体内容。网站通常使用加密媒体内容来防止高质量媒体内容的非法复制。访问 https://www.w3.org/TR/encrypted-media/ 可获取加密媒体扩展(EME)的更多信息。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutProcesses.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutProcesses.ftl
new file mode 100644
index 0000000000..e98e71a6f0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutProcesses.ftl
@@ -0,0 +1,186 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Page title
+about-processes-title = 进程管理器
+# The Actions column
+about-processes-column-action =
+ .title = 操作
+
+## Tooltips
+
+about-processes-shutdown-process =
+ .title = 卸载标签页并结束进程
+about-processes-shutdown-tab =
+ .title = 关闭标签页
+# 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 ->
+ *[other] 分析此进程的所有线程 { $duration } 秒
+ }
+
+## Column headers
+
+about-processes-column-name = 名称
+about-processes-column-memory-resident = 内存
+about-processes-column-cpu-total = CPU
+
+## Process names
+## Variables:
+## $pid (String) The process id of this process, assigned by the OS.
+
+about-processes-browser-process = { -brand-short-name }({ $pid })
+about-processes-web-process = 共享的 Web 进程({ $pid })
+about-processes-file-process = 文件({ $pid })
+about-processes-extension-process = 扩展({ $pid })
+about-processes-privilegedabout-process = About 页面({ $pid })
+about-processes-plugin-process = 插件({ $pid })
+about-processes-privilegedmozilla-process = { -vendor-short-name } 网站({ $pid })
+about-processes-gmp-plugin-process = Gecko 媒体插件({ $pid })
+about-processes-gpu-process = GPU({ $pid })
+about-processes-vr-process = VR({ $pid })
+about-processes-rdd-process = 数据解码器({ $pid })
+about-processes-socket-process = 网络({ $pid })
+about-processes-remote-sandbox-broker-process = 远程沙箱中介({ $pid })
+about-processes-fork-server-process = Fork 服务器({ $pid })
+about-processes-preallocated-process = 预分配({ $pid })
+about-processes-utility-process = 工具({ $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 = 其他:{ $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 },Service Worker)
+about-processes-with-coop-coep-process = { $origin }({ $pid },隔离跨源)
+about-processes-web-isolated-process-private = { $origin } — 私有({ $pid })
+about-processes-with-coop-coep-process-private = { $origin } — 私有({ $pid },隔离跨源)
+
+## 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 ->
+ *[other] { $active } 个活动线程,共 { $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 ->
+ *[other] { $number } 个空闲线程
+ }
+# Thread details
+# Variables:
+# $name (String) The name assigned to the thread.
+# $tid (String) The thread id of this thread, assigned by the OS.
+about-processes-thread-name-and-id = { $name }
+ .title = 线程 ID:{ $tid }
+# Tab
+# Variables:
+# $name (String) The name of the tab (typically the title of the page, might be the url while the page is loading).
+about-processes-tab-name = 标签页:{ $name }
+about-processes-preloaded-tab = 预加载的新标签页
+# Single subframe
+# Variables:
+# $url (String) The full url of this subframe.
+about-processes-frame-name-one = 子帧:{ $url }
+# Group of subframes
+# Variables:
+# $number (Number) The number of subframes in this group. Always ≥ 1.
+# $shortUrl (String) The shared prefix for the subframes in the group.
+about-processes-frame-name-many = 子帧({ $number }):{ $shortUrl }
+
+## Utility process actor names
+
+about-processes-utility-actor-unknown = 未知角色
+about-processes-utility-actor-audio-decoder-generic = 通用音频解码器
+about-processes-utility-actor-audio-decoder-applemedia = Apple 媒体音频解码器
+about-processes-utility-actor-audio-decoder-wmf = Windows 媒体框架音频解码器
+about-processes-utility-actor-mf-media-engine = Windows Media Foundation 媒体引擎 CDM
+# "Oracle" refers to an internal Firefox process and should be kept in English
+about-processes-utility-actor-js-oracle = Oracle
+about-processes-utility-actor-windows-utils = Windows 工具
+about-processes-utility-actor-windows-file-dialog = 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 = 总 CPU 时间:{ NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+# Special case: data is not available yet.
+about-processes-cpu-user-and-kernel-not-ready = (测量中)
+# Special case: process or thread is 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 = 总 CPU 时间: { NUMBER($total, maximumFractionDigits: 0) }{ $unit }
+# Special case: process or thread is currently idle.
+about-processes-cpu-fully-idle = 空闲
+ .title = 总 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 = 变化:{ $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 =  字节
+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/zh-CN/localization/zh-CN/toolkit/about/aboutProfiles.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutProfiles.ftl
new file mode 100644
index 0000000000..20382cccbc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutProfiles.ftl
@@ -0,0 +1,74 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+profiles-title = 关于配置文件
+profiles-subtitle = 此页面有助于您管理您的配置文件。每个配置文件都是一个独立的空间,其中存放着各自的历史记录、书签、设置及附加组件。
+profiles-create = 创建新配置文件
+profiles-restart-title = 重启浏览器
+profiles-restart-in-safe-mode = 重启并禁用附加组件…
+profiles-restart-normal = 正常重启…
+profiles-conflict = 有另一份 { -brand-product-name } 对配置文件作了更改。您必须重启 { -brand-short-name } 才能再作变更。
+profiles-flush-fail-title = 更改未保存
+profiles-flush-conflict = { profiles-conflict }
+profiles-flush-failed = 发生意外错误,无法保存更改。
+profiles-flush-restart-button = 重启 { -brand-short-name }
+
+# Variables:
+# $name (String) - Name of the profile
+profiles-name = 配置文件:{ $name }
+profiles-is-default = 默认配置文件
+profiles-rootdir = 根目录
+
+# localDir is used to show the directory corresponding to
+# the main profile directory that exists for the purpose of storing data on the
+# local filesystem, including cache files or other data files that may not
+# represent critical user data. (e.g., this directory may not be included as
+# part of a backup scheme.)
+# In case localDir and rootDir are equal, localDir is not shown.
+profiles-localdir = 本地目录
+profiles-current-profile = 正在使用此配置文件,因而不能删除。
+profiles-in-use-profile = 此配置文件正在被其他应用程序使用,因此无法删除。
+
+profiles-rename = 重命名
+profiles-remove = 移除
+profiles-set-as-default = 设为默认配置文件
+profiles-launch-profile = 在新的浏览器实例中启动配置文件
+
+profiles-cannot-set-as-default-title = 无法设为默认
+profiles-cannot-set-as-default-message = 无法更改 { -brand-short-name } 的默认配置文件。
+
+profiles-yes = 是
+profiles-no = 否
+
+profiles-rename-profile-title = 重命名配置文件
+# Variables:
+# $name (String) - Name of the profile
+profiles-rename-profile = 重命名配置文件“{ $name }”
+
+profiles-invalid-profile-name-title = 无效的配置文件名
+# Variables:
+# $name (String) - Name of the profile
+profiles-invalid-profile-name = 不能使用配置文件名“{ $name }”。
+
+profiles-delete-profile-title = 删除配置文件
+# Variables:
+# $dir (String) - Path to be displayed
+profiles-delete-profile-confirm =
+ 删除配置文件时可以只从可用配置文件列表中将这个配置除去,此操作无法撤销。
+ 您也可选择将这个配置的数据文件一并彻底删除,包括您的设置、证书和其他个人文件等。这将删除“{ $dir }"文件夹,且无法撤销。
+ 您想彻底删除此配置文件吗?
+profiles-delete-files = 删除文件
+profiles-dont-delete-files = 只从列表中除去
+
+profiles-delete-profile-failed-title = 错误
+profiles-delete-profile-failed-message = 尝试删除此配置文件时发生错误。
+
+
+profiles-opendir =
+ { PLATFORM() ->
+ [macos] 在访达中显示
+ [windows] 打开文件夹
+ *[other] 打开目录
+ }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutReader.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutReader.ftl
new file mode 100644
index 0000000000..13a09fb91f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutReader.ftl
@@ -0,0 +1,48 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-reader-loading = 正在加载…
+about-reader-load-error = 从页面加载文章失败
+
+about-reader-color-scheme-light = 浅色
+ .title = 浅色模式
+about-reader-color-scheme-dark = 深色
+ .title = 深色模式
+about-reader-color-scheme-sepia = 纸墨
+ .title = 纸墨模式
+about-reader-color-scheme-auto = 自动
+ .title = 自动颜色模式
+
+# 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 = { $range } 分钟
+
+## These are used as tooltips in Type Control
+
+about-reader-toolbar-minus =
+ .title = 缩小文字
+about-reader-toolbar-plus =
+ .title = 增大文字
+about-reader-toolbar-contentwidthminus =
+ .title = 缩小内容宽度
+about-reader-toolbar-contentwidthplus =
+ .title = 放大内容宽度
+about-reader-toolbar-lineheightminus =
+ .title = 缩小行距
+about-reader-toolbar-lineheightplus =
+ .title = 放大行距
+
+## These are the styles of typeface that are options in the reader view controls.
+
+about-reader-font-type-serif = 衬线
+about-reader-font-type-sans-serif = 无衬线
+
+## Reader View toolbar buttons
+
+about-reader-toolbar-close = 关闭阅读模式
+about-reader-toolbar-type-controls = 字体调整
+about-reader-toolbar-savetopocket = 保存到 { -pocket-brand-name }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutRights.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutRights.ftl
new file mode 100644
index 0000000000..9934fb016d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutRights.ftl
@@ -0,0 +1,36 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+rights-title = 关于您的权利
+rights-intro = { -brand-full-name } 是一款自由开源软件,由来自世界各地成千上万的社区志愿者共同完成。以下几点您应该了解:
+rights-intro-point-1 = { -brand-short-name } 提供给您时依照的条款为 <a data-l10n-name="mozilla-public-license-link">Mozilla 公共许可证(MPL)</a>。这表示您可以使用、复制和向他人分发 { -brand-short-name }。我们也非常欢迎您按自己的需要修改 { -brand-short-name } 的源代码。Mozilla 公共许可证还授予您分发您自己修改过的软件版本的权利。
+rights-intro-point-2 = 您没有获得 Mozilla 基金会或其他任何一方的商标权利或许可,这包括但不限于 Firefox 的名称或标志。有关商标的其他信息在:<a data-l10n-name="mozilla-trademarks-link">这里</a>。
+rights-intro-point-3 = { -brand-short-name } 的一些功能(例如崩溃报告器)使您可以向 { -vendor-short-name } 提供反馈。提交反馈的同时,您授权 { -vendor-short-name } 使用反馈信息改进产品、在其网站上发布反馈信息,以及分发反馈内容。
+rights-intro-point-4 = 关于我们如何使用您通过 { -brand-short-name } 提交给 { -vendor-short-name } 的个人信息和反馈,请参见 <a data-l10n-name="mozilla-privacy-policy-link">{ -brand-short-name } 隐私权政策</a>。
+rights-intro-point-4-unbranded = 任何适用于此产品的隐私条款都应被列于此处。
+rights-intro-point-5 = { -brand-short-name } 的一些功能使用了基于网络的服务信息,然而,我们无法保证它们 100% 正确且无差错。包括如何禁用这些服务功能的详细信息,请参见<a data-l10n-name="mozilla-service-terms-link">服务条款</a>。
+rights-intro-point-5-unbranded = 如果此产品结合了网站服务,任何适用的服务条款都应链接至<a data-l10n-name="mozilla-website-services-link">网站服务</a>章节提供链接。
+rights-intro-point-6 = 为了能够播放某些类型的视频内容,{ -brand-short-name } 会下载一些来自第三方的内容解密模块。
+rights-webservices-header = { -brand-full-name } 基于网络的信息服务
+rights-webservices = { -brand-full-name } 依照下列条款,为该二进制版本 { -brand-short-name } 的用户使用基于网络的信息服务(以下简称“服务”)提供某些功能。如果您不想使用其中的一项或者多项服务,或者不接受下述条款,您可以停用相应功能或服务。停用特定功能或服务的说明信息请参见<a data-l10n-name="mozilla-disable-service-link">这里</a>。其他特性和服务可以在本应用程序的首选项中禁用。
+rights-safebrowsing = <strong>安全浏览:</strong>不推荐您禁用安全浏览功能,因为那样可能会导致您到达不安全的网站。如果您确定想完全禁用此功能,请按照下列步骤操作:
+rights-safebrowsing-term-1 = 打开本应用程序的首选项
+rights-safebrowsing-term-2 = 选择“安全”选项
+rights-safebrowsing-term-3 = 取消选中此选项“{ enableSafeBrowsing-label }”
+enableSafeBrowsing-label = 拦截危险与诈骗内容
+rights-safebrowsing-term-4 = 安全浏览现在已禁用
+rights-locationawarebrowsing = <strong>位置感知浏览:</strong>是否启用的选择权永远在您的手中。未经您的许可不会有位置信息被发送。如果您想完全禁用此功能,请按照下列步骤操作:
+rights-locationawarebrowsing-term-1 = 在地址栏中,输入 <code>about:config</code>
+rights-locationawarebrowsing-term-2 = 输入 geo.enabled
+rights-locationawarebrowsing-term-3 = 双击 geo.enabled 项目
+rights-locationawarebrowsing-term-4 = 位置感知现在已禁用
+rights-webservices-unbranded = 在此处应当概述此产品所使用的网站服务,并介绍如何禁用它们的(如果有)。
+rights-webservices-term-unbranded = 任何适用于此产品的服务条款都应列于此处。
+rights-webservices-term-1 = { -vendor-short-name } 和它的贡献者、许可者以及合作伙伴一起致力于提供最精确和最新的服务。然而,我们并不保证信息是全面且毫无错误的。例如我们的安全浏览服务可能还不能识别出部分危险的网站,甚至还可能出错而误判一些安全的网站,以及由我们的位置感知服务商提供的位置也仅仅是一个大概的位置,我们和我们的服务提供商都不为该位置信息的准确性提供保证。
+rights-webservices-term-2 = { -vendor-short-name } 保留可以中止或修改本服务的自由裁量权。
+rights-webservices-term-3 = 欢迎使用各个版本 { -brand-short-name } 中附带的服务,{ -vendor-short-name } 授权您使用它们。{ -vendor-short-name } 和它们的许可人保留这些服务的其他所有权利。这些条款无意限制开放源代码应用程序许可赋予 { -brand-short-name } 的任何权利,并且与 { -brand-short-name } 的源代码版本相适应。
+rights-webservices-term-4 = <strong>本服务“按其现状”提供。{ -vendor-short-name } 及其贡献者、授权者、分发者不提供任何明示或暗示的担保,这些担保包括但不限于本服务适合使用,及适用于特定目的。您须承担为您的目的而选择本服务的一切风险,包括本服务的质量与性能。某些司法管辖区不允许排除或限制默示担保,因此本免责声明可能对您不适用。</strong>
+rights-webservices-term-5 = <strong>除法律规定,{ -vendor-short-name } 其贡献者、授权者和分发者将不承担以任何方式由使用 { -brand-short-name } 和服务而引起的任何间接、特殊、偶然、必然、惩罚或象征性的损害造成的损失。集体责任相关的赔偿额度也不得超过500美元。某些司法管辖区不允许排除或限制某些损害,所以此声明和限制可能对您不适用。</strong>
+rights-webservices-term-6 = { -vendor-short-name } 可在必要时更新这些条款。不得在未得到 { -vendor-short-name } 书面协议的前提下修改或取消这些条款。
+rights-webservices-term-7 = 这些条款均受美国加利福尼亚州法律的管辖,排除与法律冲突的部分。若这些条款的任何部分被裁定为无效或不可执行,其余部分仍将完全保留其有效性。若这些条款的翻译版本与英文版本发生冲突,以英文版本为准。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutServiceWorkers.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutServiceWorkers.ftl
new file mode 100644
index 0000000000..5785373099
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutServiceWorkers.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/.
+
+
+### The term "Service Workers" and "Workers" should not be translated
+
+about-service-workers-title = 关于 Service Worker
+about-service-workers-main-title = 已注册的 Service Worker
+about-service-workers-warning-not-enabled = Service Worker 未启用。
+about-service-workers-warning-no-service-workers = 尚无已注册的 Service Worker。
+# The original title of service workers' information
+#
+# Variables:
+# $originTitle: original title
+origin-title = 来源:{ $originTitle }
+
+## These strings are for showing the information of workers.
+##
+## Variables:
+## $name: the name of scope, active cache, waiting cache and the push end point.
+## $url: the url of script specification and current worker.
+
+scope = <strong>作用域:</strong>{ $name }
+script-spec = <strong>脚本规格:</strong><a data-l10n-name="link">{ $url }</a>
+current-worker-url = <strong>目前的 Worker URL:</strong><a data-l10n-name="link">{ $url }</a>
+active-cache-name = <strong>活跃的缓存名称:</strong>{ $name }
+waiting-cache-name = <strong>等待中的缓存名称:</strong>{ $name }
+push-end-point-waiting = <strong>推送端点:</strong>{ waiting }
+push-end-point-result = <strong>推送端点:</strong>{ $name }
+# This term is used as a button label (verb, not noun).
+update-button = 更新
+unregister-button = 取消注册
+unregister-error = 取消注册此 Service Worker 失败。
+waiting = 请稍候…
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutSupport.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutSupport.ftl
new file mode 100644
index 0000000000..263530f679
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutSupport.ftl
@@ -0,0 +1,409 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+page-title = 排障信息
+page-subtitle =
+ 本页面包含的技术信息在您寻求解决方法时或许能帮上忙。
+ 如果您正在寻找 { -brand-short-name } 常见问题的答案,
+ 可以查阅我们的<a data-l10n-name="support-link">帮助网站</a>。
+crashes-title = 崩溃报告
+crashes-id = 报告 ID
+crashes-send-date = 提交日期
+crashes-all-reports = 全部崩溃报告
+crashes-no-config = 此应用程序未被配置为显示崩溃报告。
+support-addons-title = 附加组件
+support-addons-name = 名称
+support-addons-type = 类型
+support-addons-enabled = 已启用
+support-addons-version = 版本
+support-addons-id = ID
+legacy-user-stylesheets-title = 旧版用户样式表单
+legacy-user-stylesheets-enabled = 启用
+legacy-user-stylesheets-stylesheet-types = 样式表
+legacy-user-stylesheets-no-stylesheets-found = 未找到样式表
+security-software-title = 安全软件
+security-software-type = 类型
+security-software-name = 名称
+security-software-antivirus = 防病毒软件
+security-software-antispyware = 反间谍软件
+security-software-firewall = 防火墙
+features-title = { -brand-short-name } 功能
+features-name = 名称
+features-version = 版本
+features-id = ID
+processes-title = 远程进程
+processes-type = 类型
+processes-count = 数量
+app-basics-title = 应用程序概要
+app-basics-name = 名称
+app-basics-version = 版本
+app-basics-build-id = 版本 ID
+app-basics-distribution-id = 发行 ID
+app-basics-update-channel = 更新通道
+# This message refers to the folder used to store updates on the device,
+# as in "Folder for updates". "Update" is a noun, not a verb.
+app-basics-update-dir =
+ { PLATFORM() ->
+ [linux] 更新目录
+ *[other] 更新文件夹
+ }
+app-basics-update-history = 更新历史
+app-basics-show-update-history = 显示更新历史
+# Represents the path to the binary used to start the application.
+app-basics-binary = 应用程序二进制文件
+app-basics-profile-dir =
+ { PLATFORM() ->
+ [linux] 配置文件夹
+ *[other] 配置文件夹
+ }
+app-basics-enabled-plugins = 已启用的插件
+app-basics-build-config = 构建配置
+app-basics-user-agent = 用户代理
+app-basics-os = 操作系统
+app-basics-os-theme = 操作系统主题
+# Rosetta is Apple's translation process to run apps containing x86_64
+# instructions on Apple Silicon. This should remain in English.
+app-basics-rosetta = 由 Rosetta 转译
+app-basics-memory-use = 内存使用
+app-basics-performance = 性能
+app-basics-service-workers = 已注册的 Service Worker
+app-basics-third-party = 第三方模块
+app-basics-profiles = 配置文件
+app-basics-launcher-process-status = 启动器进程
+app-basics-multi-process-support = 多进程窗口
+app-basics-fission-support = Fission 窗口
+app-basics-remote-processes-count = 远程进程
+app-basics-enterprise-policies = 企业策略
+app-basics-location-service-key-google = Google 位置服务密钥
+app-basics-safebrowsing-key-google = Google 安全浏览密钥
+app-basics-key-mozilla = Mozilla 位置服务密钥
+app-basics-safe-mode = 安全模式
+app-basics-memory-size = 内存大小(RAM)
+app-basics-disk-available = 磁盘可用空间
+app-basics-pointing-devices = 定点设备
+# Variables:
+# $value (number) - Amount of data being stored
+# $unit (string) - The unit of data being stored (e.g. MB)
+app-basics-data-size = { $value } { $unit }
+show-dir-label =
+ { PLATFORM() ->
+ [macos] 在 Finder 中显示
+ [windows] 打开文件夹
+ *[other] 打开目录
+ }
+environment-variables-title = 环境变量
+environment-variables-name = 名称
+environment-variables-value = 值
+experimental-features-title = 实验性功能
+experimental-features-name = 名称
+experimental-features-value = 值
+modified-key-prefs-title = 修改过的重要首选项
+modified-prefs-name = 名称
+modified-prefs-value = 值
+user-js-title = user.js 设置
+user-js-description = 您的配置文件夹中有一个 <a data-l10n-name="user-js-link">user.js 文件</a>,其中包含了一些并非由 { -brand-short-name } 所创建的首选项(偏好设置)。
+locked-key-prefs-title = 已锁定的重要首选项
+locked-prefs-name = 名称
+locked-prefs-value = 值
+graphics-title = 图像
+graphics-features-title = 特性
+graphics-diagnostics-title = 诊断
+graphics-failure-log-title = 失败日志
+graphics-gpu1-title = GPU #1
+graphics-gpu2-title = GPU #2
+graphics-decision-log-title = 决策日志
+graphics-crash-guards-title = 被崩溃守卫禁用的功能
+graphics-workarounds-title = 变通方法
+graphics-device-pixel-ratios = 窗口设备像素比
+# Windowing system in use on Linux (e.g. X11, Wayland).
+graphics-window-protocol = 窗口协议
+# Desktop environment in use on Linux (e.g. GNOME, KDE, XFCE, etc).
+graphics-desktop-environment = 桌面环境
+place-database-title = Places 数据库
+place-database-stats = 统计信息
+place-database-stats-show = 显示统计信息
+place-database-stats-hide = 隐藏统计信息
+place-database-stats-entity = 实体
+place-database-stats-count = 数量
+place-database-stats-size-kib = 大小 (KiB)
+place-database-stats-size-perc = 大小 (%)
+place-database-stats-efficiency-perc = 效率 (%)
+place-database-stats-sequentiality-perc = 顺序性 (%)
+place-database-integrity = 完整性
+place-database-verify-integrity = 验证完整性
+a11y-title = 无障碍环境
+a11y-activated = 已激活
+a11y-force-disabled = 强制停用无障碍环境
+a11y-handler-used = 采用无障碍处理程序
+a11y-instantiator = 无障碍环境实例化器(Accessibility Instantiator)
+library-version-title = 库版本
+copy-text-to-clipboard-label = 复制文本到剪贴板
+copy-raw-data-to-clipboard-label = 复制原始数据到剪贴板
+sandbox-title = 沙盒
+sandbox-sys-call-log-title = 被拒绝的系统调用
+sandbox-sys-call-index = #
+sandbox-sys-call-age = 秒前
+sandbox-sys-call-pid = PID
+sandbox-sys-call-tid = TID
+sandbox-sys-call-proc-type = 进程类型
+sandbox-sys-call-number = 系统调用
+sandbox-sys-call-args = 参数
+troubleshoot-mode-title = 诊断问题
+restart-in-troubleshoot-mode-label = 排障模式…
+clear-startup-cache-title = 尝试清除启动缓存
+clear-startup-cache-label = 清除启动缓存...
+startup-cache-dialog-title2 = 要重启 { -brand-short-name } 以清除启动缓存吗?
+startup-cache-dialog-body2 = 将不会更改您的设置或移除扩展。
+restart-button-label = 重启
+
+## Media titles
+
+audio-backend = 音频后端
+max-audio-channels = 最大声道
+sample-rate = 首选采样率
+roundtrip-latency = 往返延迟(标准差)
+media-title = 媒体
+media-output-devices-title = 输出设备
+media-input-devices-title = 输入设备
+media-device-name = 名称
+media-device-group = 组别
+media-device-vendor = 厂商
+media-device-state = 状态
+media-device-preferred = 首选
+media-device-format = 格式
+media-device-channels = 声道
+media-device-rate = 采样率
+media-device-latency = 延迟
+media-capabilities-title = 媒体能力
+media-codec-support-info = 解码器支持信息
+# List all the entries of the database.
+media-capabilities-enumerate = 枚举数据库
+
+## Codec support table
+
+media-codec-support-sw-decoding = 软件解码
+media-codec-support-hw-decoding = 硬件解码
+media-codec-support-codec-name = 编解码器名称
+media-codec-support-supported = 已支持
+media-codec-support-unsupported = 不支持
+media-codec-support-error = 无法获取编解码器支持信息,请在播放媒体文件后重试。
+media-codec-support-lack-of-extension = 安装扩展
+
+## Media Content Decryption Modules (CDM)
+## See EME Spec for more explanation for following technical terms
+## https://w3c.github.io/encrypted-media/
+
+media-content-decryption-modules-title = 内容解密模块信息
+media-key-system-name = 密钥系统名称
+media-video-robustness = 视频稳定性
+media-audio-robustness = 音频稳定性
+media-cdm-capabilities = 功能
+# Clear Lead isn't defined in the spec, which means the the first few seconds
+# are not encrypted. It allows playback to start without having to wait for
+# license response, improving video start time and user experience.
+media-cdm-clear-lead = 不加密的前导段
+
+##
+
+intl-title = 国际化与本地化
+intl-app-title = 应用程序设置
+intl-locales-requested = 要求的语言环境
+intl-locales-available = 可用的语言环境
+intl-locales-supported = 应用程序语言环境
+intl-locales-default = 默认语言环境
+intl-os-title = 操作系统
+intl-os-prefs-system-locales = 系统语言环境
+intl-regional-prefs = 地区偏好
+
+## Remote Debugging
+##
+## The Firefox remote protocol provides low-level debugging interfaces
+## used to inspect state and control execution of documents,
+## browser instrumentation, user interaction simulation,
+## and for subscribing to browser-internal events.
+##
+## See also https://firefox-source-docs.mozilla.org/remote/
+
+remote-debugging-title = 远程调试(Chromium 协议)
+remote-debugging-accepting-connections = 接受连接
+remote-debugging-url = URL
+
+##
+
+# Variables
+# $days (Integer) - Number of days of crashes to log
+report-crash-for-days = 近 { $days } 天的崩溃报告
+# Variables
+# $minutes (integer) - Number of minutes since crash
+crashes-time-minutes = { $minutes } 分钟前
+# Variables
+# $hours (integer) - Number of hours since crash
+crashes-time-hours = { $hours } 小时前
+# Variables
+# $days (integer) - Number of days since crash
+crashes-time-days = { $days } 天前
+# Variables
+# $reports (integer) - Number of pending reports
+pending-reports = 全部崩溃报告(包括 { $reports } 个待上传的指定时间范围内的崩溃)
+raw-data-copied = 原始数据已复制到剪贴板
+text-copied = 文本已复制到剪贴板
+
+## The verb "blocked" here refers to a graphics feature such as "Direct2D" or "OpenGL layers".
+
+blocked-driver = 因您的显卡驱动版本而无法启用。
+blocked-gfx-card = 因您显卡驱动的未解决的问题而无法启用。
+blocked-os-version = 因您的操作系统版本而无法启用。
+blocked-mismatched-version = 因您的注册表与 DLL 中的显卡驱动程序版本号不相符而无法启用。
+# Variables
+# $driverVersion - The graphics driver version string
+try-newer-driver = 因您的显卡驱动版本而无法启用。请尝试更新您的显卡驱动程序至版本 { $driverVersion } 或更新的版本。
+# "ClearType" is a proper noun and should not be translated. Feel free to leave English strings if
+# there are no good translations, these are only used in about:support
+clear-type-parameters = ClearType 参数
+compositing = 合成
+hardware-h264 = H264 硬件解码
+main-thread-no-omtc = 主线程,无 OMTC
+yes = 是
+no = 否
+unknown = 未知
+virtual-monitor-disp = 虚拟显示器
+
+## The following strings indicate if an API key has been found.
+## In some development versions, it's expected for some API keys that they are
+## not found.
+
+found = 存在
+missing = 缺失
+gpu-process-pid = GPUProcessPid
+gpu-process = GPUProcess
+gpu-description = 描述
+gpu-vendor-id = 厂商 ID
+gpu-device-id = 设备 ID
+gpu-subsys-id = 子系统 ID
+gpu-drivers = 驱动程序
+gpu-ram = 内存
+gpu-driver-vendor = 驱动程序供应商
+gpu-driver-version = 驱动程序版本
+gpu-driver-date = 驱动程序日期
+gpu-active = 活动
+webgl1-wsiinfo = WebGL 1 驱动程序 WSI 信息
+webgl1-renderer = WebGL 1 驱动程序渲染器
+webgl1-version = WebGL 1 驱动程序版本
+webgl1-driver-extensions = WebGL 1 驱动程序扩展
+webgl1-extensions = WebGL 1 扩展
+webgl2-wsiinfo = WebGL 2 驱动程序 WSI 信息
+webgl2-renderer = WebGL2 渲染器
+webgl2-version = WebGL 2 驱动程序版本
+webgl2-driver-extensions = WebGL 2 驱动程序扩展
+webgl2-extensions = WebGL 2 扩展
+webgpu-default-adapter = WebGPU 默认显卡
+webgpu-fallback-adapter = WebGPU 备用显卡
+# Variables
+# $bugNumber (string) - Bug number on Bugzilla
+support-blocklisted-bug = 由于已知问题,被列入屏蔽列表:<a data-l10n-name="bug-link">bug { $bugNumber }</a>
+# Variables
+# $failureCode (string) - String that can be searched in the source tree.
+unknown-failure = 已列入黑名单;故障代码 { $failureCode }
+d3d11layers-crash-guard = D3D11 合成器
+glcontext-crash-guard = OpenGL
+wmfvpxvideo-crash-guard = WMF VPX 视频解码器
+reset-on-next-restart = 下次开启时重置
+gpu-process-kill-button = 终止 GPU 进程
+gpu-device-reset = 设备重置
+gpu-device-reset-button = 触发设备重置
+uses-tiling = 使用 Tiling
+content-uses-tiling = 使用 Tiling(内容)
+off-main-thread-paint-enabled = 非主线程绘制已启用
+off-main-thread-paint-worker-count = 非主线程绘制工作器数量
+target-frame-rate = 目标帧率
+min-lib-versions = 预期最低版本
+loaded-lib-versions = 目前使用版本
+has-seccomp-bpf = Seccomp-BPF(系统调用过滤)
+has-seccomp-tsync = Seccomp 线程同步
+has-user-namespaces = 用户命名空间
+has-privileged-user-namespaces = 用于特权进程的用户命名空间
+can-sandbox-content = 内容进程沙盒化
+can-sandbox-media = 媒体插件沙盒化
+content-sandbox-level = 内容进程沙盒级别
+effective-content-sandbox-level = 生效的内容进程沙盒级别
+content-win32k-lockdown-state = 内容进程的 Win32k 锁定状态
+support-sandbox-gpu-level = GPU 进程沙盒级别
+sandbox-proc-type-content = 内容
+sandbox-proc-type-file = 文件内容
+sandbox-proc-type-media-plugin = 媒体插件
+sandbox-proc-type-data-decoder = 数据解码器
+startup-cache-title = 启动缓存
+startup-cache-disk-cache-path = 磁盘缓存路径
+startup-cache-ignore-disk-cache = 忽略磁盘缓存
+startup-cache-found-disk-cache-on-init = 在初始化时发现磁盘缓存
+startup-cache-wrote-to-disk-cache = 已写入磁盘缓存
+launcher-process-status-0 = 启用
+launcher-process-status-1 = 因故障而禁用
+launcher-process-status-2 = 强制禁用
+launcher-process-status-unknown = 未知状态
+# Variables
+# $remoteWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+multi-process-windows = { $remoteWindows }/{ $totalWindows }
+# Variables
+# $fissionWindows (integer) - Number of remote windows
+# $totalWindows (integer) - Number of total windows
+fission-windows = { $fissionWindows }/{ $totalWindows }
+fission-status-experiment-control = 通过实验禁用
+fission-status-experiment-treatment = 通过实验启用
+fission-status-disabled-by-e10s-env = 被环境禁用
+fission-status-enabled-by-env = 由环境启用
+fission-status-disabled-by-env = 被环境禁用
+fission-status-enabled-by-default = 默认启用
+fission-status-disabled-by-default = 默认禁用
+fission-status-enabled-by-user-pref = 由用户启用
+fission-status-disabled-by-user-pref = 被用户禁用
+fission-status-disabled-by-e10s-other = 已禁用 E10s
+fission-status-enabled-by-rollout = 通过分阶段推出启用
+async-pan-zoom = 异步平移/缩放
+apz-none = 无
+wheel-enabled = 滚轮输入已启用
+touch-enabled = 触摸输入已启用
+drag-enabled = 滚动条拖动已启用
+keyboard-enabled = 键盘已启用
+autoscroll-enabled = 自动滚动已启用
+zooming-enabled = 已启用平滑手势缩放
+
+## Variables
+## $preferenceKey (string) - String ID of preference
+
+wheel-warning = 因为不支持的首选项: { $preferenceKey },已禁用异步滚轮输入
+touch-warning = 因为不支持的首选项: { $preferenceKey },已禁用异步触摸输入
+
+## Strings representing the status of the Enterprise Policies engine.
+
+policies-inactive = 未激活
+policies-active = 已激活
+policies-error = 错误
+
+## Printing section
+
+support-printing-title = 打印
+support-printing-troubleshoot = 故障排除
+support-printing-clear-settings-button = 清除保存的打印设置
+support-printing-modified-settings = 修改过的打印设置
+support-printing-prefs-name = 名称
+support-printing-prefs-value = 值
+
+## Normandy sections
+
+support-remote-experiments-title = 远程实验
+support-remote-experiments-name = 名称
+support-remote-experiments-branch = 实验分支
+support-remote-experiments-see-about-studies = 欲详细了解,请参见 <a data-l10n-name="support-about-studies-link">about:studies</a>,包括如何禁用单个实验或禁止 { -brand-short-name } 以后运行此类实验。
+support-remote-features-title = 远程功能
+support-remote-features-name = 名称
+support-remote-features-status = 状态
+
+## Pointing devices
+
+pointing-device-mouse = 鼠标
+pointing-device-touchscreen = 触摸屏
+pointing-device-pen-digitizer = 数位板
+pointing-device-none = 无定点设备
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutTelemetry.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutTelemetry.ftl
new file mode 100644
index 0000000000..b8cd1baf6f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutTelemetry.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/.
+
+about-telemetry-ping-data-source = Ping 数据源:
+about-telemetry-show-current-data = 当前数据
+about-telemetry-show-archived-ping-data = 已存档的 Ping 数据
+about-telemetry-show-subsession-data = 显示提交数据
+about-telemetry-choose-ping = 选择 ping:
+about-telemetry-archive-ping-type = Ping 类型
+about-telemetry-archive-ping-header = Ping
+about-telemetry-option-group-today = 今天
+about-telemetry-option-group-yesterday = 昨天
+about-telemetry-option-group-older = 更早
+about-telemetry-previous-ping = <<
+about-telemetry-next-ping = >>
+about-telemetry-page-title = 遥测数据
+about-telemetry-current-store = 当前存储:
+about-telemetry-more-information = 想详细了解吗?
+about-telemetry-firefox-data-doc = <a data-l10n-name="data-doc-link">Firefox 数据文档</a>介绍了使用我们的数据工具的方式。
+about-telemetry-telemetry-client-doc = <a data-l10n-name="client-doc-link">Firefox 遥测客户端文档</a>涵盖了数据收集的概念、API 文档以及数据格式的定义。
+about-telemetry-telemetry-dashboard = <a data-l10n-name="dashboard-link">遥测面板</a>用图形化展示了 Mozilla 通过遥测服务收集的数据。
+about-telemetry-telemetry-probe-dictionary = <a data-l10n-name="probe-dictionary-link">Probe Dictionary</a> 中提供遥测服务收集所探测资料的详细信息与说明。
+about-telemetry-show-in-Firefox-json-viewer = 用 JSON 查看器打开
+about-telemetry-home-section = 主页
+about-telemetry-general-data-section = 常规数据
+about-telemetry-environment-data-section = 环境数据
+about-telemetry-session-info-section = 会话信息
+about-telemetry-scalar-section = 数值
+about-telemetry-keyed-scalar-section = 分组数值
+about-telemetry-histograms-section = 直方图
+about-telemetry-keyed-histogram-section = 分组直方图
+about-telemetry-events-section = 事件
+about-telemetry-simple-measurements-section = 简单指标
+about-telemetry-slow-sql-section = 慢 SQL 语句
+about-telemetry-addon-details-section = 附加组件详情
+about-telemetry-late-writes-section = 过慢写入
+about-telemetry-raw-payload-section = 原始载荷
+about-telemetry-raw = 原始 JSON
+about-telemetry-full-sql-warning = 注意:已启用排查慢 SQL 语句的功能。完整的 SQL 字符串会在下面显示,但不会提交给遥测服务。
+about-telemetry-fetch-stack-symbols = 从堆栈获取函数名称
+about-telemetry-hide-stack-symbols = 显示原始堆栈数据
+# Selects the correct release version
+# Variables:
+# $channel (String): represents the corresponding release data string
+about-telemetry-data-type =
+ { $channel ->
+ [release] 正式版的数据
+ *[prerelease] 预先发行版的数据
+ }
+# Selects the correct upload string
+# Variables:
+# $uploadcase (String): represents a corresponding upload string
+about-telemetry-upload-type =
+ { $uploadcase ->
+ [enabled] 已启用
+ *[disabled] 已禁用
+ }
+# Example Output: 1 sample, average = 0, sum = 0
+# Variables:
+# $sampleCount (Integer): amount of histogram samples
+# $prettyAverage (Integer): average of histogram samples
+# $sum (Integer): sum of histogram samples
+about-telemetry-histogram-stats =
+ { $sampleCount ->
+ *[other] { $sampleCount } 个样本,平均 = { $prettyAverage },合计 = { $sum }
+ }
+# Variables:
+# $telemetryServerOwner (String): the value of the toolkit.telemetry.server_owner preference. Typically "Mozilla"
+about-telemetry-page-subtitle = 本页展示遥测服务收集的有关性能、硬件、使用和定制情况的信息,这些信息被提交到 { $telemetryServerOwner } 以帮助改进 { -brand-full-name }。
+about-telemetry-settings-explanation = 遥测服务正在收集{ about-telemetry-data-type },并且<a data-l10n-name="upload-link">{ about-telemetry-upload-type }</a>上传。
+# Variables:
+# $name (String): ping name, e.g. “saved-session”
+# $timeStamp (String): ping localized timestamp, e.g. “2017/07/08 10:40:46”
+about-telemetry-ping-details = 每组信息都将打包成“<a data-l10n-name="ping-link">ping</a>”上传。您正在查看 { $name } 于 { $timestamp } 的 Ping。
+about-telemetry-data-details-current = 每组信息都会打包成“<a data-l10n-name="ping-link">Ping</a>”上传。您正在看的是当前数据。
+# string used as a placeholder for the search field
+# More info about it can be found here:
+# https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $selectedTitle (String): the section name from the structure of the ping.
+about-telemetry-filter-placeholder =
+ .placeholder = 在 { $selectedTitle } 中查找
+about-telemetry-filter-all-placeholder =
+ .placeholder = 在所有版块中查找
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-results-for-search = “{ $searchTerms }“的搜索结果
+# More info about it can be found here: https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/data/main-ping.html
+# Variables:
+# $sectionName (String): the section name from the structure of the ping.
+# $currentSearchText (String): the current text in the search input
+about-telemetry-no-search-results = 很抱歉,没有在 { $sectionName } 中找到有关“{ $currentSearchText }”的选项
+# Variables:
+# $searchTerms (String): the searched terms
+about-telemetry-no-search-results-all = 很抱歉,所有版块中都没有找到“{ $searchTerms }”
+# This message is displayed when a section is empty.
+# Variables:
+# $sectionName (String): is replaced by the section name.
+about-telemetry-no-data-to-display = 很抱歉,“{ $sectionName }”中没有可用的数据
+# used as a tooltip for the “current” ping title in the sidebar
+about-telemetry-current-data-sidebar = 当前数据
+# used in the “Ping Type” select
+about-telemetry-telemetry-ping-type-all = 所有
+# button label to copy the histogram
+about-telemetry-histogram-copy = 复制
+# these strings are used in the “Slow SQL Statements” section
+about-telemetry-slow-sql-main = 主线程上的慢 SQL 语句
+about-telemetry-slow-sql-other = 辅助线程上的慢 SQL 语句
+about-telemetry-slow-sql-hits = 命中
+about-telemetry-slow-sql-average = 平均时间 (ms)
+about-telemetry-slow-sql-statement = 语句
+# these strings are used in the “Add-on Details” section
+about-telemetry-addon-table-id = 附加组件 ID
+about-telemetry-addon-table-details = 详细信息
+# Variables:
+# $addonProvider (String): the name of an Add-on Provider (e.g. “XPI”, “Plugin”)
+about-telemetry-addon-provider = 实现方式:{ $addonProvider }
+about-telemetry-keys-header = 属性
+about-telemetry-names-header = 名称
+about-telemetry-values-header = 值
+# Variables:
+# $lateWriteCount (Integer): the number of the late writes
+about-telemetry-late-writes-title = 过慢写入 #{ $lateWriteCount }
+about-telemetry-stack-title = 堆栈:
+about-telemetry-memory-map-title = 内存映射:
+about-telemetry-error-fetching-symbols = 获取符号信息时发生错误。请确定您连接到了互联网并再试一次。
+about-telemetry-time-stamp-header = 时间戳
+about-telemetry-category-header = 分类
+about-telemetry-method-header = 方法
+about-telemetry-object-header = 对象
+about-telemetry-extra-header = 额外
+# Variables:
+# $process (String): type of process in subsection headers ( e.g. "content", "parent" )
+about-telemetry-process = { $process } 进程
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutThirdParty.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutThirdParty.ftl
new file mode 100644
index 0000000000..b336279dc1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutThirdParty.ftl
@@ -0,0 +1,72 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+third-party-page-title = 第三方模块信息
+third-party-section-title = { -brand-short-name } 中的第三方模块列表
+third-party-intro = 此页面显示注入到您 { -brand-short-name } 的第三方程序模块。任何未经 Microsoft 或 { -vendor-short-name } 签名的模块均会被视为第三方模块。
+third-party-message-empty = 未检测到任何第三方模块。
+third-party-message-no-duration = 未记录
+third-party-detail-version = 文件版本
+third-party-detail-vendor = 厂商信息
+third-party-detail-occurrences = 加载次数
+ .title = 此模块的加载次数。
+third-party-detail-duration = 平均阻塞时间(ms)
+ .title = 此模块阻塞应用程序的时长。
+third-party-detail-app = 应用程序
+third-party-detail-publisher = 发行商
+third-party-th-process = 进程
+third-party-th-duration = 加载持续时间(ms)
+third-party-th-status = 状态
+third-party-tag-ime = 输入法
+ .title = 当您使用第三方输入法时会加载此类模块。
+third-party-tag-shellex = Shell 扩展
+ .title = 当您打开系统文件对话框时会加载此类模块。
+third-party-tag-background = 后台
+ .title = 此类模块在后台加载,不会阻塞应用程序。
+third-party-icon-unsigned =
+ .title = 此模块未签名
+ .alt = 此模块未签名
+third-party-icon-warning =
+ .title = 此模块中的代码导致 { -brand-short-name } 崩溃
+ .alt = 此模块中的代码导致 { -brand-short-name } 崩溃
+third-party-status-loaded = 已加载
+third-party-status-blocked = 已阻止
+third-party-status-redirected = 已重定向
+third-party-button-copy-to-clipboard = 复制原始数据到剪贴板
+third-party-loading-data =
+ .alt = 正在加载系统信息…
+ .title = 正在加载系统信息…
+third-party-button-reload = 刷新系统信息
+ .title = 刷新系统信息
+third-party-button-open =
+ .title = 打开文件位置…
+third-party-button-to-block =
+ .title = 屏蔽此模块
+ .aria-label = 屏蔽此模块
+third-party-button-to-unblock =
+ .title = 当前已屏蔽,可点击取消。
+ .aria-label = 当前已屏蔽,可点击取消。
+third-party-button-to-unblock-disabled =
+ .title = 当前标记为已屏蔽,但此次运行 { -brand-short-name } 时已禁用屏蔽列表。点击以取消屏蔽。
+ .aria-label = 当前标记为已屏蔽,但此次运行 { -brand-short-name } 时已禁用屏蔽列表。点击以取消屏蔽。
+third-party-button-to-block-module = 屏蔽此模块
+ .title = 屏蔽此模块
+ .aria-label = 屏蔽此模块
+third-party-button-to-unblock-module = 取消屏蔽此模块
+ .title = 当前已屏蔽,点击以取消屏蔽。
+ .aria-label = 当前已屏蔽,点击以取消屏蔽。
+third-party-button-to-unblock-module-disabled = 取消屏蔽此模块(屏蔽列表当前已禁用)
+ .title = 当前标记为已屏蔽,但此次运行 { -brand-short-name } 时已禁用屏蔽列表。点击以取消屏蔽。
+ .aria-label = 当前标记为已屏蔽,但此次运行 { -brand-short-name } 时已禁用屏蔽列表。点击以取消屏蔽。
+third-party-button-expand =
+ .title = 显示详细信息
+third-party-button-collapse =
+ .title = 收起详细信息
+third-party-blocking-requires-restart = 要屏蔽第三方模块,需重启 { -brand-short-name }。
+third-party-should-restart-title = 重启 { -brand-short-name }
+third-party-restart-now = 立即重启
+third-party-restart-later = 稍后重启
+third-party-blocked-by-builtin =
+ .title = 被 { -brand-short-name } 屏蔽
+ .alt = 被 { -brand-short-name } 屏蔽
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebauthn.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebauthn.ftl
new file mode 100644
index 0000000000..a89d630678
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebauthn.ftl
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for about:webauthn, a security token management page
+
+# Page title
+# 'WebAuthn' is a protocol name and should not be translated
+about-webauthn-page-title = 关于 WebAuthn
+
+## Section titles
+
+about-webauthn-info-section-title = 设备信息
+about-webauthn-info-subsection-title = 身份验证器信息
+about-webauthn-options-subsection-title = 身份验证器选项
+about-webauthn-pin-section-title = PIN 管理
+about-webauthn-credential-management-section-title = 管理凭据
+about-webauthn-pin-required-section-title = 需输入 PIN
+about-webauthn-confirm-deletion-section-title = 确认删除
+
+## Info field texts
+
+about-webauthn-text-connect-device = 请连接一个安全令牌。
+# If multiple devices are plugged in, they will blink and we are asking the user to select one by touching the device they want.
+about-webauthn-text-select-device = 请轻触设备来选择要使用的安全令牌。
+# CTAP2 refers to Client to Authenticator Protocol version 2
+about-webauthn-text-non-ctap2-device = 无法管理选项,因为您的安全令牌不支持 CTAP2。
+about-webauthn-text-not-available = 无法在此平台上使用。
+
+## Results label
+
+about-webauthn-results-success = 成功!
+about-webauthn-results-general-error = 出错了!
+# Variables:
+# $retriesLeft (Number): number of tries left
+about-webauthn-results-pin-invalid-error =
+ { $retriesLeft ->
+ [0] 错误:PIN 错误,请重试。
+ *[other] 错误:PIN 错误,请重试。您还有 { $retriesLeft } 次机会。
+ }
+about-webauthn-results-pin-blocked-error = 错误:尝试机会已用完。由于 PIN 输入错误次数过多,此设备已被锁定,需进行重置。
+about-webauthn-results-pin-too-short-error = 错误:输入的 PIN 过短。
+about-webauthn-results-pin-too-long-error = 错误:输入的 PIN 过长。
+about-webauthn-results-pin-auth-blocked-error = 错误:因连续尝试失败次数过多,已暂时禁止 PIN 身份验证。您需要重新上电设备(拔下重插)。
+about-webauthn-results-cancelled-by-user-error = 错误:操作被用户取消。
+
+## Labels
+
+about-webauthn-new-pin-label = 新 PIN:
+about-webauthn-repeat-pin-label = 再次输入新 PIN:
+about-webauthn-current-pin-label = 当前 PIN:
+about-webauthn-pin-required-label = 请输入您的 PIN:
+about-webauthn-credential-list-subsection-title = 凭据:
+about-webauthn-credential-list-empty = 在设备上找不到凭据。
+about-webauthn-confirm-deletion-label = 您将要删除:
+
+## Buttons
+
+about-webauthn-current-set-pin-button = 设置 PIN
+about-webauthn-current-change-pin-button = 更改 PIN
+# List is a verb, as in "Show list of credentials"
+about-webauthn-list-credentials-button = 列出凭据
+about-webauthn-cancel-button = 取消
+about-webauthn-send-pin-button = 确定
+about-webauthn-delete-button = 删除
+
+## Authenticator options fields
+## Option fields correspond to the CTAP2 option IDs and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#option-id
+
+about-webauthn-auth-option-uv = 用户验证
+about-webauthn-auth-option-up = 用户存在
+about-webauthn-auth-option-clientpin = 客户端 PIN
+about-webauthn-auth-option-rk = Resident key
+about-webauthn-auth-option-plat = 平台设备
+# pinUvAuthToken should not be translated.
+about-webauthn-auth-option-pinuvauthtoken = 命令权限(pinUvAuthToken)
+# MakeCredential and GetAssertion should not be translated.
+about-webauthn-auth-option-nomcgapermissionswithclientpin = 客户端 PIN 没有 MakeCredential / GetAssertion 权限
+about-webauthn-auth-option-largeblobs = 大型 blob
+about-webauthn-auth-option-ep = 企业认证
+about-webauthn-auth-option-bioenroll = 录入生物特征
+# FIDO_2_1_PRE should not be translated.
+about-webauthn-auth-option-userverificationmgmtpreview = 生物特征录入原型(FIDO_2_1_PRE)
+about-webauthn-auth-option-uvbioenroll = 生物特征录入权限
+about-webauthn-auth-option-authnrcfg = 身份验证器配置
+about-webauthn-auth-option-uvacfg = 身份验证器配置权限
+about-webauthn-auth-option-credmgmt = 凭据管理
+about-webauthn-auth-option-credentialmgmtpreview = 原型凭据管理
+about-webauthn-auth-option-setminpinlength = 设置最小 PIN 长度
+# MakeCredential should not be translated.
+about-webauthn-auth-option-makecreduvnotrqd = 无需用户验证的 MakeCredential
+about-webauthn-auth-option-alwaysuv = 总是要求用户验证
+# Shows when boolean value for an option is True. True should not be translated.
+about-webauthn-auth-option-true = True
+# Shows when boolean value of an option is False. False should not be translated.
+about-webauthn-auth-option-false = False
+# If the value is missing (null), it means a certain feature is not supported.
+about-webauthn-auth-option-null = 不支持
+
+## Authenticator info fields
+## Info fields correspond to the CTAP2 authenticatorGetInfo field member name and definitions found in https://fidoalliance.org/specs/fido-v2.1-ps-20210615/fido-client-to-authenticator-protocol-v2.1-ps-20210615.html#authenticatorGetInfo
+
+about-webauthn-auth-info-vendor-prototype-config-commands = 制造商原型配置命令
+about-webauthn-auth-info-remaining-discoverable-credentials = 剩余可检测到的凭证
+about-webauthn-auth-info-certifications = 证书
+about-webauthn-auth-info-uv-modality = 用户验证形式
+about-webauthn-auth-info-preferred-platform-uv-attempts = 首选平台用户验证尝试
+about-webauthn-auth-info-max-rpids-for-set-min-pin-length = 设置最小 PIN 长度的最大信赖方 ID
+about-webauthn-auth-info-max-cred-blob-length = 最大凭据 blob 长度
+about-webauthn-auth-info-firmware-version = 固件版本
+about-webauthn-auth-info-min-pin-length = 最小 PIN 长度
+about-webauthn-auth-info-force-pin-change = 强制更改 PIN
+about-webauthn-auth-info-max-ser-large-blob-array = 大型 blob 数组的最大大小
+about-webauthn-auth-info-algorithms = 算法
+about-webauthn-auth-info-transports = 传输
+about-webauthn-auth-info-max-credential-id-length = 最大凭据 ID 长度
+about-webauthn-auth-info-max-credential-count-in-list = 列表中的最大凭据数量
+about-webauthn-auth-info-pin-protocols = PIN 协议
+about-webauthn-auth-info-max-msg-size = 最大消息大小
+# AAGUID should not be translated.
+about-webauthn-auth-info-aaguid = AAGUID
+about-webauthn-auth-info-extensions = 扩展
+about-webauthn-auth-info-versions = 版本
+# Shows when boolean value for an info field is True. True should not be translated.
+about-webauthn-auth-info-true = True
+# Shows when boolean value for an info field is False. False should not be translated.
+about-webauthn-auth-info-false = False
+about-webauthn-auth-info-null = 不支持
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebrtc.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebrtc.ftl
new file mode 100644
index 0000000000..0a3ad6e3ea
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWebrtc.ftl
@@ -0,0 +1,322 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for about:webrtc, a troubleshooting and diagnostic page
+### for WebRTC calls. See https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API.
+
+# The text "WebRTC" is a proper noun and should not be translated.
+about-webrtc-document-title = WebRTC 内部
+# "about:webrtc" is a internal browser URL and should not be
+# translated. This string is used as a title for a file save dialog box.
+about-webrtc-save-page-dialog-title = 另存 about:webrtc 为
+
+## These labels are for a disclosure which contains the information for closed PeerConnection sections
+
+about-webrtc-closed-peerconnection-disclosure-show-msg = 显示已关闭的 PeerConnection
+about-webrtc-closed-peerconnection-disclosure-hide-msg = 隐藏已关闭的 PeerConnection
+
+## AEC is an abbreviation for Acoustic Echo Cancellation.
+
+about-webrtc-aec-logging-msg-label = AEC 正在记录
+about-webrtc-aec-logging-off-state-label = 开始 AEC 日志记录
+about-webrtc-aec-logging-on-state-label = 停止 AEC 日志记录
+about-webrtc-aec-logging-on-state-msg = AEC 日志正在记录(与呼叫者说几分钟话,然后停止捕捉)
+about-webrtc-aec-logging-toggled-on-state-msg = AEC 日志正在记录(与呼叫者说几分钟话,然后停止捕捉)
+about-webrtc-aec-logging-unavailable-sandbox = 导出AEC日志需要环境变量MOZ_DISABLE_CONTENT_SANDBOX=1。仅当您了解潜在的风险时才应设置此变量。
+# Variables:
+# $path (String) - The path to which the aec log file is saved.
+about-webrtc-aec-logging-toggled-off-state-msg = 捕捉到的日志文件在这里: { $path }
+
+##
+
+# The autorefresh checkbox causes a stats section to autorefresh its content when checked
+about-webrtc-auto-refresh-label = 自动刷新
+# Determines the default state of the Auto Refresh check boxes
+about-webrtc-auto-refresh-default-label = 默认自动刷新
+# A button which forces a refresh of displayed statistics
+about-webrtc-force-refresh-button = 刷新
+# "PeerConnection" is a proper noun associated with the WebRTC module. "ID" is
+# an abbreviation for Identifier. This string should not normally be translated
+# and is used as a data label.
+about-webrtc-peerconnection-id-label = PeerConnection ID:
+# The number of DataChannels that a PeerConnection has opened
+about-webrtc-data-channels-opened-label = 数据通道开启数:
+# The number of once open DataChannels that a PeerConnection has closed
+about-webrtc-data-channels-closed-label = 数据通道关闭数:
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+about-webrtc-sdp-heading = SDP
+about-webrtc-local-sdp-heading = 本地 SDP
+about-webrtc-local-sdp-heading-offer = 本地 SDP (提供)
+about-webrtc-local-sdp-heading-answer = 本地 SDP (回答)
+about-webrtc-remote-sdp-heading = 远程 SDP
+about-webrtc-remote-sdp-heading-offer = 远程 SDP (提供)
+about-webrtc-remote-sdp-heading-answer = 远程 SDP (回答)
+about-webrtc-sdp-history-heading = SDP 历史
+about-webrtc-sdp-parsing-errors-heading = SDP 解析错误
+
+##
+
+# "RTP" is an abbreviation for the Real-time Transport Protocol, an IETF
+# specification, and should not normally be translated. "Stats" is an
+# abbreviation for Statistics.
+about-webrtc-rtp-stats-heading = RTP 状态
+
+## "ICE" is an abbreviation for Interactive Connectivity Establishment, which
+## is an IETF protocol, and should not normally be translated.
+
+about-webrtc-ice-state = ICE 统计
+# "Stats" is an abbreviation for Statistics.
+about-webrtc-ice-stats-heading = ICE 状态
+about-webrtc-ice-restart-count-label = ICE 重启:
+about-webrtc-ice-rollback-count-label = ICE 回滚:
+about-webrtc-ice-pair-bytes-sent = 已发送字节:
+about-webrtc-ice-pair-bytes-received = 已接收字节:
+about-webrtc-ice-component-id = 组件 ID
+
+## These adjectives are used to label a line of statistics collected for a peer
+## connection. The data represents either the local or remote end of the
+## connection.
+
+about-webrtc-type-local = 本地
+about-webrtc-type-remote = 远程
+
+##
+
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+about-webrtc-nominated = 已提名
+# This adjective is used to label a table column. Cells in this column contain
+# the localized javascript string representation of "true" or are left blank.
+# This represents an attribute of an ICE candidate.
+about-webrtc-selected = 已选定
+about-webrtc-save-page-label = 保存页面
+about-webrtc-debug-mode-msg-label = 调试模式
+about-webrtc-debug-mode-off-state-label = 开始调试模式
+about-webrtc-debug-mode-on-state-label = 停止调试模式
+about-webrtc-enable-logging-label = 启用 WebRTC 日志预设
+about-webrtc-stats-heading = 会话统计
+about-webrtc-peerconnections-section-heading = RTCPeerConnection 统计信息
+about-webrtc-peerconnections-section-show-msg = 显示 RTCPeerConnection 统计信息
+about-webrtc-peerconnections-section-hide-msg = 隐藏 RTCPeerConnection 统计信息
+about-webrtc-stats-clear = 清除历史记录
+about-webrtc-log-heading = 连接日志
+about-webrtc-log-clear = 清除日志
+about-webrtc-log-show-msg = 显示日志
+ .title = 点击展开此段
+about-webrtc-log-hide-msg = 隐藏日志
+ .title = 点击折叠此段
+about-webrtc-log-section-show-msg = 显示日志
+ .title = 点击展开此段
+about-webrtc-log-section-hide-msg = 隐藏日志
+ .title = 点击折叠此段
+about-webrtc-copy-report-button = 复制报告
+about-webrtc-copy-report-history-button = 复制报告历史
+
+## These are used to display a header for a PeerConnection.
+## Variables:
+## $browser-id (Number) - A numeric id identifying the browser tab for the PeerConnection.
+## $id (String) - A globally unique identifier for the PeerConnection.
+## $url (String) - The url of the site which opened the PeerConnection.
+## $now (Date) - The JavaScript timestamp at the time the report was generated.
+
+about-webrtc-connection-open = [ { $browser-id } | { $id } ] { $url } { $now }
+about-webrtc-connection-closed = [ { $browser-id } | { $id } ] { $url } (已关闭) { $now }
+
+## These are used to indicate what direction media is flowing.
+## Variables:
+## $codecs - a list of media codecs
+
+about-webrtc-short-send-receive-direction = 发送/接收:{ $codecs }
+about-webrtc-short-send-direction = 发送:{ $codecs }
+about-webrtc-short-receive-direction = 接收:{ $codecs }
+
+##
+
+about-webrtc-local-candidate = 本地候选
+about-webrtc-remote-candidate = 远程候选
+about-webrtc-raw-candidates-heading = 所有原始候选者
+about-webrtc-raw-local-candidate = 原始本地候选者
+about-webrtc-raw-remote-candidate = 原始远程候选者
+about-webrtc-raw-cand-show-msg = 显示原始候选者
+ .title = 点击展开此段
+about-webrtc-raw-cand-hide-msg = 隐藏原始候选者
+ .title = 点击折叠此段
+about-webrtc-raw-cand-section-show-msg = 显示原始候选者
+ .title = 点击展开此段
+about-webrtc-raw-cand-section-hide-msg = 隐藏原始候选者
+ .title = 点击折叠此段
+about-webrtc-priority = 优先级
+about-webrtc-fold-show-msg = 显示详细信息
+ .title = 点击展开此段
+about-webrtc-fold-hide-msg = 隐藏详细信息
+ .title = 点击折叠此段
+about-webrtc-fold-default-show-msg = 显示详细信息
+ .title = 点击展开此段
+about-webrtc-fold-default-hide-msg = 隐藏详细信息
+ .title = 点击折叠此段
+about-webrtc-dropped-frames-label = 丢帧数:
+about-webrtc-discarded-packets-label = 丢包数:
+about-webrtc-decoder-label = 解码器
+about-webrtc-encoder-label = 编码器
+about-webrtc-show-tab-label = 显示标签页
+about-webrtc-current-framerate-label = 帧率
+about-webrtc-width-px = 宽度(像素)
+about-webrtc-height-px = 高度(像素)
+about-webrtc-consecutive-frames = 连续帧
+about-webrtc-time-elapsed = 已用时间(秒)
+about-webrtc-estimated-framerate = 估计帧率
+about-webrtc-rotation-degrees = 旋转(度)
+about-webrtc-first-frame-timestamp = 第一帧接收时间戳
+about-webrtc-last-frame-timestamp = 最后一帧接收时间戳
+
+## SSRCs are identifiers that represent endpoints in an RTP stream
+
+# This is an SSRC on the local side of the connection that is receiving RTP
+about-webrtc-local-receive-ssrc = 本地接收 SSRC
+# This is an SSRC on the remote side of the connection that is sending RTP
+about-webrtc-remote-send-ssrc = 远程发送 SSRC
+
+## These are displayed on the button that shows or hides the
+## PeerConnection configuration disclosure
+
+about-webrtc-pc-configuration-show-msg = 显示配置
+about-webrtc-pc-configuration-hide-msg = 隐藏配置
+
+##
+
+# An option whose value will not be displayed but instead noted as having been
+# provided
+about-webrtc-configuration-element-provided = 提供
+# An option whose value will not be displayed but instead noted as having not
+# been provided
+about-webrtc-configuration-element-not-provided = 不提供
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-custom-webrtc-configuration-heading = WebRTC 用户设置项
+# The options set by the user in about:config that could impact a WebRTC call
+about-webrtc-user-modified-configuration-heading = 用户修改过的 WebRTC 配置
+
+## These are displayed on the button that shows or hides the
+## user modified configuration disclosure
+
+about-webrtc-user-modified-configuration-show-msg = 显示用户修改过的配置
+about-webrtc-user-modified-configuration-hide-msg = 隐藏用户修改过的配置
+
+##
+
+# Section header for estimated bandwidths of WebRTC media flows
+about-webrtc-bandwidth-stats-heading = 估计带宽
+# The ID of the MediaStreamTrack
+about-webrtc-track-identifier = 轨道标识符
+# The estimated bandwidth available for sending WebRTC media in bytes per second
+about-webrtc-send-bandwidth-bytes-sec = 发送带宽(字节 / 秒)
+# The estimated bandwidth available for receiving WebRTC media in bytes per second
+about-webrtc-receive-bandwidth-bytes-sec = 接收带宽(字节 / 秒)
+# Maximum number of bytes per second that will be padding zeros at the ends of packets
+about-webrtc-max-padding-bytes-sec = 最大填补数据(字节 / 秒)
+# The amount of time inserted between packets to keep them spaced out
+about-webrtc-pacer-delay-ms = 间隔时间(ms)
+# The amount of time it takes for a packet to travel from the local machine to the remote machine,
+# and then have a packet return
+about-webrtc-round-trip-time-ms = 往返时延(RTT | ms)
+# 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 = 视频帧统计信息 - MediaStreamTrack ID:{ $track-identifier }
+
+## These are paths used for saving the about:webrtc page or log files so
+## they can be attached to bug reports.
+## Variables:
+## $path (String) - The path to which the file is saved.
+
+about-webrtc-save-page-msg = 页面已保存到: { $path }
+about-webrtc-debug-mode-off-state-msg = 跟踪日志可以在这里找到: { $path }
+about-webrtc-debug-mode-on-state-msg = 调试模式已激活,跟踪日志在: { $path }
+about-webrtc-aec-logging-off-state-msg = 捕捉到的日志文件在这里: { $path }
+# This path is used for saving the about:webrtc page so it can be attached to
+# bug reports.
+# Variables:
+# $path (String) - The path to which the file is saved.
+about-webrtc-save-page-complete-msg = 页面已保存到: { $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 ->
+ *[other] { $frames } 帧
+ }
+# This is the number of audio channels encoded or decoded over an RTP stream.
+# Variables:
+# $channels (Number) - The number of channels encoded or decoded.
+about-webrtc-channels =
+ { $channels ->
+ *[other] { $channels } 频道
+ }
+# This is the total number of packets received on the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets received.
+about-webrtc-received-label =
+ { $packets ->
+ *[other] 已收到 { $packets } 个包
+ }
+# This is the total number of packets lost by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets lost.
+about-webrtc-lost-label =
+ { $packets ->
+ *[other] 已丢弃 { $packets } 个包
+ }
+# This is the total number of packets sent by the PeerConnection.
+# Variables:
+# $packets (Number) - The number of packets sent.
+about-webrtc-sent-label =
+ { $packets ->
+ *[other] 已发送 { $packets } 个包
+ }
+# Jitter is the variance in the arrival time of packets.
+# See: https://w3c.github.io/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter
+# Variables:
+# $jitter (Number) - The jitter.
+about-webrtc-jitter-label = 抖动 { $jitter }
+# ICE candidates arriving after the remote answer arrives are considered trickled
+# (an attribute of an ICE candidate). These are highlighted in the ICE stats
+# table with light blue background.
+about-webrtc-trickle-caption-msg = Trickled 候选者(回答后到达)已用 蓝色 高亮
+
+## "SDP" is an abbreviation for Session Description Protocol, an IETF standard.
+## See http://wikipedia.org/wiki/Session_Description_Protocol
+
+# This is used as a header for local SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-local = 已将 本地 SDP 时间戳设为 { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for remote SDP.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+about-webrtc-sdp-set-at-timestamp-remote = 已将 远程 SDP 时间戳设为 { NUMBER($timestamp, useGrouping: "false") }
+# This is used as a header for an SDP section contained in two columns allowing for side-by-side comparisons.
+# Variables:
+# $timestamp (Number) - The Unix Epoch time at which the SDP was set.
+# $relative-timestamp (Number) - The timestamp relative to the timestamp of the earliest received SDP.
+about-webrtc-sdp-set-timestamp = 时间戳 { NUMBER($timestamp, useGrouping: "false") }(+ { $relative-timestamp } 毫秒)
+
+## These are displayed on the button that shows or hides the SDP information disclosure
+
+about-webrtc-show-msg-sdp = 显示SDP
+about-webrtc-hide-msg-sdp = 隐藏SDP
+
+## These are displayed on the button that shows or hides the Media Context information disclosure.
+## The Media Context is the set of preferences and detected capabilities that informs
+## the negotiated CODEC settings.
+
+about-webrtc-media-context-show-msg = 显示媒体内容
+about-webrtc-media-context-hide-msg = 隐藏媒体内容
+about-webrtc-media-context-heading = 媒体内容
+
+##
+
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWindowsMessages.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWindowsMessages.ftl
new file mode 100644
index 0000000000..5a5c345c5e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/aboutWindowsMessages.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Localization for the about:windows-messages page, which is only available
+### on the Windows operating system.
+### This page records and shows messages sent from the operating system to
+### individual browser windows. These messages can be useful in debugging
+### hard-to-reproduce issues with window sizing and position.
+
+# Windows refers to the operating system
+windows-messages-page-title = Windows 消息页
+windows-messages-intro = 此页面显示近期由 Windows 发送至 { -brand-short-name } 浏览器的消息内容。粗体项目代表本窗口。请注意:该处显示的是此页面加载时收到的消息,若要查看当前收到的消息请刷新页面。
+windows-messages-copy-to-clipboard = 复制到剪贴板
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/abuseReports.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/abuseReports.ftl
new file mode 100644
index 0000000000..4bcee90b8d
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/abuseReports.ftl
@@ -0,0 +1,100 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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 = 对 { $addon-name } 的举报
+abuse-report-title-extension = 向 { -vendor-short-name } 举报此扩展
+abuse-report-title-sitepermission = 向 { -vendor-short-name } 举报此网站权限附加组件
+abuse-report-title-theme = 向 { -vendor-short-name } 举报此主题
+abuse-report-subtitle = 有什么问题?
+# Variables:
+# $author-name (string) - Name of the add-on author
+abuse-report-addon-authored-by = 作者:<a data-l10n-name="author-name">{ $author-name }</a>
+abuse-report-learnmore = 不确定要选择哪项?<a data-l10n-name="learnmore-link">详细了解举报扩展与主题</a>
+abuse-report-learnmore-intro = 不确定要选择哪项?
+abuse-report-learnmore-link = 详细了解举报扩展与主题
+abuse-report-submit-description = 描述问题(选填)
+abuse-report-textarea =
+ .placeholder = 如果有更多细节,我们就能更容易找到问题根源。请描述您遇到了哪些问题,也非常感谢您帮助我们保持网络健康。
+abuse-report-submit-note = 注:请勿包含个人信息(如姓名、电子邮件地址、电话号码、家庭住址等)。{ -vendor-short-name } 会保留这些举报的永久性记录。
+
+## Panel buttons.
+
+abuse-report-cancel-button = 取消
+abuse-report-next-button = 下一步
+abuse-report-goback-button = 返回上一步
+abuse-report-submit-button = 提交
+
+## Message bars descriptions.
+##
+## Variables:
+## $addon-name (string) - Name of the add-on
+
+abuse-report-messagebar-aborted = 已取消举报 <span data-l10n-name="addon-name">{ $addon-name }</span>。
+abuse-report-messagebar-submitting = 正在发送 <span data-l10n-name="addon-name">{ $addon-name }</span> 的举报。
+abuse-report-messagebar-submitted = 感谢您提交举报。您想要移除 <span data-l10n-name="addon-name">{ $addon-name }</span> 吗?
+abuse-report-messagebar-submitted-noremove = 感谢您提交举报!
+abuse-report-messagebar-removed-extension = 感谢您提交举报。已移除 <span data-l10n-name="addon-name">{ $addon-name }</span> 扩展。
+abuse-report-messagebar-removed-sitepermission = 感谢您提交举报。已移除 <span data-l10n-name="addon-name">{ $addon-name }</span> 网站权限附加组件。
+abuse-report-messagebar-removed-theme = 感谢您提交举报。已移除 <span data-l10n-name="addon-name">{ $addon-name }</span> 主题。
+abuse-report-messagebar-error = 发送 <span data-l10n-name="addon-name">{ $addon-name }</span> 的举报时,发生错误。
+abuse-report-messagebar-error-recent-submit = 由于最近发送过另一份举报,并未发送 <span data-l10n-name="addon-name">{ $addon-name }</span> 的举报。
+abuse-report-messagebar-aborted2 =
+ .message = 已取消举报 { $addon-name }。
+abuse-report-messagebar-submitting2 =
+ .message = 正在发送 { $addon-name } 的举报。
+abuse-report-messagebar-submitted2 =
+ .message = 感谢您提交举报。您想要移除 { $addon-name } 吗?
+abuse-report-messagebar-submitted-noremove2 =
+ .message = 感谢您提交举报!
+abuse-report-messagebar-removed-extension2 =
+ .message = 感谢您提交举报。已移除 { $addon-name } 扩展。
+abuse-report-messagebar-removed-sitepermission2 =
+ .message = 感谢您提交举报。已移除 { $addon-name } 网站权限附加组件。
+abuse-report-messagebar-removed-theme2 =
+ .message = 感谢您提交举报。已移除 { $addon-name } 主题。
+abuse-report-messagebar-error2 =
+ .message = 发送 { $addon-name } 的举报时,发生错误。
+abuse-report-messagebar-error-recent-submit2 =
+ .message = 由于最近发送过另一份举报,并未发送 { $addon-name } 的举报。
+
+## Message bars actions.
+
+abuse-report-messagebar-action-remove-extension = 是的,移除它
+abuse-report-messagebar-action-keep-extension = 不了,我想继续使用
+abuse-report-messagebar-action-remove-sitepermission = 是的,移除它
+abuse-report-messagebar-action-keep-sitepermission = 不用,请保留
+abuse-report-messagebar-action-remove-theme = 是的,移除它
+abuse-report-messagebar-action-keep-theme = 不了,我想继续使用
+abuse-report-messagebar-action-retry = 重试
+abuse-report-messagebar-action-cancel = 取消
+
+## Abuse report reasons (optionally paired with related examples and/or suggestions)
+
+abuse-report-damage-reason-v2 = 它损坏了我的计算机或泄露我的数据
+abuse-report-damage-example = 例如:注入恶意软件或窃取数据
+abuse-report-spam-reason-v2 = 它包含垃圾信息或插入不受欢迎的广告
+abuse-report-spam-example = 例如:在网页中插入广告
+abuse-report-settings-reason-v2 = 它未预先询问或通知我,就更改了我的搜索引擎、主页、新标签页
+abuse-report-settings-suggestions = 举报扩展前,您可以尝试修改浏览器设置:
+abuse-report-settings-suggestions-search = 更改您的默认搜索设置
+abuse-report-settings-suggestions-homepage = 更改您的主页和新标签页
+abuse-report-deceptive-reason-v2 = 它伪装成与其无关的东西
+abuse-report-deceptive-example = 例如:误导性描述或图像
+abuse-report-broken-reason-extension-v2 = 它不起作用、造成网站无法正常使用、拖慢 { -brand-product-name }
+abuse-report-broken-reason-sitepermission-v2 = 它不起作用、造成网站无法正常使用、拖慢 { -brand-product-name }
+abuse-report-broken-reason-theme-v2 = 它不起作用或破坏浏览器显示内容
+abuse-report-broken-example = 例如:功能运行缓慢、难以使用或不起作用;导致部分网站加载不完整,或看起来不正常
+abuse-report-broken-suggestions-extension = 听起来您遇到缺陷(Bug)了。除了在此举报之外,解决功能问题的最佳方式是直接联系扩展的开发者。请<a data-l10n-name="support-link">访问扩展网站</a>获取开发者联系方式。
+abuse-report-broken-suggestions-sitepermission = 听起来您遇到缺陷(Bug)了。除了在此举报之外,解决功能问题的最佳方式是直接联系网站的开发者。请<a data-l10n-name="support-link">访问网站</a>获取开发者联系方式。
+abuse-report-broken-suggestions-theme = 听起来您遇到缺陷(Bug)了。除了在此举报之外,解决功能问题的最佳方式是直接联系主题的开发者。请<a data-l10n-name="support-link">访问主题网站</a>获取开发者联系方式。
+abuse-report-policy-reason-v2 = 它散播仇恨、暴力、非法内容
+abuse-report-policy-suggestions = 注: 若有版权与商标问题,请依照另一流程处理。<a data-l10n-name="report-infringement-link">请依照该说明</a>举报问题。
+abuse-report-unwanted-reason-v2 = 我从未安装此附加组件,也不知如何移除
+abuse-report-unwanted-example = 例如:计算机中的某应用程序未经我同意便安装了此附加组件
+abuse-report-other-reason = 其他原因
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/certviewer.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/certviewer.ftl
new file mode 100644
index 0000000000..b8f000fbfc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 证书
+
+## Error messages
+
+certificate-viewer-error-message = 找不到证书信息,或该证书已损坏。请再试一次。
+certificate-viewer-error-title = 出问题了。
+
+## Certificate information labels
+
+certificate-viewer-algorithm = 算法
+certificate-viewer-certificate-authority = 证书颁发机构
+certificate-viewer-cipher-suite = 密码套件
+certificate-viewer-common-name = 通用名称
+certificate-viewer-email-address = 电子邮件地址
+# Variables:
+# $firstCertName (String) - Common Name for the displayed certificate
+certificate-viewer-tab-title = { $firstCertName } 的证书
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-country = 注册国家/地区
+certificate-viewer-country = 国家/地区
+certificate-viewer-curve = 曲线
+certificate-viewer-distribution-point = 分发点
+certificate-viewer-dns-name = DNS 名称
+certificate-viewer-ip-address = IP 地址
+certificate-viewer-other-name = 其他名称
+certificate-viewer-exponent = 指数
+certificate-viewer-id = 标识符
+certificate-viewer-key-exchange-group = 密钥交换组
+certificate-viewer-key-id = 密钥标识符
+certificate-viewer-key-size = 密钥大小
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-locality = 公司注册地
+certificate-viewer-locality = 地市
+certificate-viewer-location = 地址
+certificate-viewer-logid = 日志标识符
+certificate-viewer-method = 方法
+certificate-viewer-modulus = 模块
+certificate-viewer-name = 名称
+certificate-viewer-not-after = 终止时间
+certificate-viewer-not-before = 起始时间
+certificate-viewer-organization = 组织
+certificate-viewer-organizational-unit = 组织单位
+certificate-viewer-policy = 策略
+certificate-viewer-protocol = 协议
+certificate-viewer-public-value = 公开值
+certificate-viewer-purposes = 用途
+certificate-viewer-qualifier = 限定符
+certificate-viewer-qualifiers = 限定符
+certificate-viewer-required = 必要
+certificate-viewer-unsupported = &lt;不支持&gt;
+# Inc. means Incorporated, e.g GitHub is incorporated in Delaware
+certificate-viewer-inc-state-province = 注册州/省
+certificate-viewer-state-province = 州/省
+certificate-viewer-sha-1 = SHA-1
+certificate-viewer-sha-256 = SHA-256
+certificate-viewer-serial-number = 序列号
+certificate-viewer-signature-algorithm = 签名算法
+certificate-viewer-signature-scheme = 签名方案
+certificate-viewer-timestamp = 时间戳
+certificate-viewer-value = 值
+certificate-viewer-version = 版本
+certificate-viewer-business-category = 业务类别
+certificate-viewer-subject-name = 主题名称
+certificate-viewer-issuer-name = 颁发者名称
+certificate-viewer-validity = 有效性
+certificate-viewer-subject-alt-names = 主题替代名称
+certificate-viewer-public-key-info = 公钥信息
+certificate-viewer-miscellaneous = 杂项
+certificate-viewer-fingerprints = 指纹
+certificate-viewer-basic-constraints = 基本约束
+certificate-viewer-key-usages = 密钥用途
+certificate-viewer-extended-key-usages = 扩展密钥用途
+certificate-viewer-ocsp-stapling = OCSP 装订
+certificate-viewer-subject-key-id = 主题密钥标识符
+certificate-viewer-authority-key-id = 颁发机构密钥标识符
+certificate-viewer-authority-info-aia = 颁发机构信息(AIA)
+certificate-viewer-certificate-policies = 证书策略
+certificate-viewer-embedded-scts = 嵌入的 SCT 信息
+certificate-viewer-crl-endpoints = CRL 端点
+
+# This message is used as a row header in the Miscellaneous section.
+# The associated data cell contains links to download the certificate.
+certificate-viewer-download = 下载
+# This message is used to replace boolean values (true/false) in several certificate fields, e.g. Certificate Authority
+# Variables:
+# $boolean (String) - true/false value for the specific field
+certificate-viewer-boolean =
+ { $boolean ->
+ [true] 是
+ *[false] 非
+ }
+
+## Variables:
+## $fileName (String) - The file name to save the PEM data in, derived from the common name from the certificate being displayed.
+
+certificate-viewer-download-pem = PEM(证书)
+ .download = { $fileName }.pem
+certificate-viewer-download-pem-chain = PEM(证书链)
+ .download = { $fileName }-chain.pem
+
+# The title attribute for Critical Extension icon
+certificate-viewer-critical-extension =
+ .title = 此扩展字段标记为“关键”,即代表若客户端不理解此字段内容,则必须拒绝该证书。
+certificate-viewer-export = 导出
+ .download = { $fileName }.pem
+
+##
+
+# Label for a tab where we haven't found a better label:
+certificate-viewer-unknown-group-label = (未知)
+
+## Labels for tabs displayed in stand-alone about:certificate page
+
+certificate-viewer-tab-mine = 您的证书
+certificate-viewer-tab-people = 个人
+certificate-viewer-tab-servers = 服务器
+certificate-viewer-tab-ca = 证书机构
+certificate-viewer-tab-unkonwn = 未知
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/config.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/config.ftl
new file mode 100644
index 0000000000..835e69666e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 三思而后行
+about-config-intro-warning-text = 更改高级配置的首选项可能会影响 { -brand-short-name } 的性能和安全性。
+about-config-intro-warning-checkbox = 当我尝试修改底层首选项时警示我
+about-config-intro-warning-button = 接受风险并继续
+
+##
+
+# This is shown on the page before searching but after the warning is accepted.
+about-config-caution-text = 更改这些首选项可能会影响 { -brand-short-name } 的性能和安全性。
+
+about-config-page-title = 高级首选项
+
+about-config-search-input1 =
+ .placeholder = 搜索首选项名称
+about-config-show-all = 显示全部
+
+about-config-show-only-modified = 仅显示修改过的首选项
+
+about-config-pref-add-button =
+ .title = 添加
+about-config-pref-toggle-button =
+ .title = 切换
+about-config-pref-edit-button =
+ .title = 编辑
+about-config-pref-save-button =
+ .title = 保存
+about-config-pref-reset-button =
+ .title = 重置
+about-config-pref-delete-button =
+ .title = 删除
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = 布尔
+about-config-pref-add-type-number = 数值
+about-config-pref-add-type-string = 字符串
+
+## Preferences with a non-default value are differentiated visually, and at the
+## same time the state is made accessible to screen readers using an aria-label
+## that won't be visible or copied to the clipboard.
+##
+## Variables:
+## $value (String): The full value of the preference.
+
+about-config-pref-accessible-value-default =
+ .aria-label = { $value }(默认)
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value }(自定义)
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/url-classifier.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/url-classifier.ftl
new file mode 100644
index 0000000000..1f4e83d95b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/about/url-classifier.ftl
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+url-classifier-title = URL 分类器信息
+url-classifier-search-title = 搜索
+url-classifier-search-result-title = 结果
+url-classifier-search-result-uri = URI: { $uri }
+url-classifier-search-result-list = 表格列表: { $list }
+url-classifier-search-input = URL
+url-classifier-search-error-invalid-url = 无效 URL
+url-classifier-search-error-no-features = 未选择功能
+url-classifier-search-btn = 开始搜索
+url-classifier-search-features = 功能
+url-classifier-search-listType = 列表类型
+url-classifier-provider-title = 提供者
+url-classifier-provider = 提供者
+url-classifier-provider-last-update-time = 上次更新时间
+url-classifier-provider-next-update-time = 下次更新时间
+url-classifier-provider-back-off-time = 暂候时间
+url-classifier-provider-last-update-status = 上次更新状态
+url-classifier-provider-update-btn = 更新
+url-classifier-cache-title = 缓存
+url-classifier-cache-refresh-btn = 刷新
+url-classifier-cache-clear-btn = 清除
+url-classifier-cache-table-name = 表名
+url-classifier-cache-ncache-entries = 阴性缓存总数量
+url-classifier-cache-pcache-entries = 阳性缓存总数量
+url-classifier-cache-show-entries = 显示项目
+url-classifier-cache-entries = 缓存项目
+url-classifier-cache-prefix = 前缀
+url-classifier-cache-ncache-expiry = 阴性缓存有效期
+url-classifier-cache-fullhash = 完整散列
+url-classifier-cache-pcache-expiry = 阳性缓存有效期
+url-classifier-debug-title = 调试
+url-classifier-debug-module-btn = 设置日志模块
+url-classifier-debug-file-btn = 设置日志文件
+url-classifier-debug-js-log-chk = 设置 JS 日志
+url-classifier-debug-sb-modules = 安全浏览日志模块
+url-classifier-debug-modules = 当前日志模块
+url-classifier-debug-sbjs-modules = 安全浏览 JS 日志
+url-classifier-debug-file = 当前日志文件
+
+url-classifier-trigger-update = 触发更新
+url-classifier-not-available = 不可用
+url-classifier-disable-sbjs-log = 禁用安全浏览 JS 日志
+url-classifier-enable-sbjs-log = 启用安全浏览 JS 日志
+url-classifier-enabled = 已启用
+url-classifier-disabled = 已禁用
+url-classifier-updating = 正在更新
+url-classifier-cannot-update = 无法更新
+url-classifier-success = 成功
+
+## Variables
+## $error (string) - Error message
+
+url-classifier-update-error = 更新出错 ({ $error })
+url-classifier-download-error = 下载出错 ({ $error })
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/branding/accounts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/branding/accounts.ftl
new file mode 100644
index 0000000000..e8ec99e208
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = Firefox 账户
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/branding/brandings.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/branding/brandings.ftl
new file mode 100644
index 0000000000..9af7d4a154
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/branding/brandings.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The following feature names must be treated as a brand.
+##
+## They cannot be:
+## - Transliterated.
+## - Translated.
+##
+## Declension should be avoided where possible, leaving the original
+## brand unaltered in prominent UI positions.
+##
+## For further details, consult:
+## https://mozilla-l10n.github.io/styleguides/mozilla_general/#brands-copyright-and-trademark
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-lockwise-brand-short-name = Lockwise
+-monitor-brand-name = Firefox Monitor
+-monitor-brand-short-name = Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
+-screenshots-brand-name = Firefox Screenshots
+-mozilla-vpn-brand-name = Mozilla VPN
+-profiler-brand-name = Firefox Profiler
+-translations-brand-name = Firefox Translations
+-focus-brand-name = Firefox Focus
+-relay-brand-name = Firefox Relay
+-relay-brand-short-name = Relay
+-fakespot-brand-name = Fakespot
+# Note the name of the website is capitalized.
+-fakespot-website-name = Fakespot.com
+# The particle "by" can be localized, "Fakespot" and "Mozilla" should not be localized or transliterated.
+-fakespot-brand-full-name = Mozilla 支持的 Fakespot
+# “Suggest” can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-suggest-brand-name = Firefox 建议
+# ”Home" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefox-home-brand-name = Firefox 主页
+# View" can be localized, “Firefox” must be treated as a brand
+# and kept in English.
+-firefoxview-brand-name = Firefox View
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/contentanalysis/contentanalysis.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/contentanalysis/contentanalysis.ftl
new file mode 100644
index 0000000000..cc9e3bb63f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/contentanalysis/contentanalysis.ftl
@@ -0,0 +1,25 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+contentanalysis-alert-title = 内容分析
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-notification = 内容分析工具用于响应资源“{ $content }”的时间过长
+contentanalysis-slow-agent-dialog-title = 正在分析内容
+# Variables:
+# $content - Description of the content being warned about, such as "clipboard" or "aFile.txt"
+contentanalysis-slow-agent-dialog-body = 内容分析正在分析资源“{ $content }”
+contentanalysis-operationtype-clipboard = 剪贴板
+contentanalysis-operationtype-dropped-text = 拖放的文本
+contentanalysis-notification-title = 内容分析
+# Variables:
+# $content - Description of the content being reported, such as "clipboard" or "aFile.txt"
+# $response - The response received from the content analysis agent, such as "REPORT_ONLY"
+contentanalysis-genericresponse-message = 内容分析对以下资源作出 { $response } 响应:{ $content }
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-block-message = 您的组织使用的数据丢失防护软件拦截了此内容:{ $content }。
+# Variables:
+# $content - Description of the content being blocked, such as "clipboard" or "aFile.txt"
+contentanalysis-error-message = 与数据丢失防护软件通信时发生错误。对以下资源的传输被拒绝:{ $content }。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/downloads/downloadUI.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/downloads/downloadUI.ftl
new file mode 100644
index 0000000000..de98541d74
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 取消所有下载?
+
+## Variables:
+## $downloadsCount (Number): The current downloads count.
+
+download-ui-confirm-quit-cancel-downloads =
+ { $downloadsCount ->
+ [1] 如果您现在退出,将有 1 项下载被迫取消。您确定要退出吗?
+ *[other] 如果您现在退出,将有 { $downloadsCount } 项下载被迫取消。您确定要退出吗?
+ }
+download-ui-confirm-quit-cancel-downloads-mac =
+ { $downloadsCount ->
+ [1] 如果您现在退出,将有 1 项下载被迫取消。您确定要退出吗?
+ *[other] 如果您现在退出,将有 { $downloadsCount } 项下载被迫取消。您确定要退出吗?
+ }
+download-ui-dont-quit-button =
+ { PLATFORM() ->
+ [mac] 不退出
+ *[other] 不退出
+ }
+
+download-ui-confirm-offline-cancel-downloads =
+ { $downloadsCount ->
+ [1] 如果您现在脱机,将有 1 项下载被迫取消。您确定要脱机吗?
+ *[other] 如果您现在脱机,将有 { $downloadsCount } 项下载被迫取消。您确定要脱机吗?
+ }
+download-ui-dont-go-offline-button = 保持在线
+
+download-ui-confirm-leave-private-browsing-windows-cancel-downloads =
+ { $downloadsCount ->
+ [1] 如果您现在关闭所有的隐私浏览窗口,1 项下载将被取消。您仍确定要离开隐私浏览模式吗?
+ *[other] 如果您现在关闭所有的隐私浏览窗口,{ $downloadsCount } 项下载将被取消。您仍确定要离开隐私浏览模式吗?
+ }
+download-ui-dont-leave-private-browsing-button = 留在隐私浏览模式
+
+download-ui-cancel-downloads-ok =
+ { $downloadsCount ->
+ [1] 取消 1 项下载
+ *[other] 取消 { $downloadsCount } 项下载
+ }
+
+##
+
+download-ui-file-executable-security-warning-title = 打开可执行文件?
+# Variables:
+# $executable (String): The executable file to be opened.
+download-ui-file-executable-security-warning = “{ $executable }”是一个可执行文件。这类文件有可能携带病毒、木马等恶意代码,打开时请小心。您确实要启动“{ $executable }”吗?
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/downloads/downloadUtils.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/downloads/downloadUtils.ftl
new file mode 100644
index 0000000000..4d7a7b5b51
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/downloads/downloadUtils.ftl
@@ -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/.
+
+## Variables:
+## $timeValue (number) - Number of units of time
+
+# Short form for seconds
+download-utils-short-seconds = 秒
+# Short form for minutes
+download-utils-short-minutes = 分
+# Short form for hours
+download-utils-short-hours = 时
+# Short form for days
+download-utils-short-days = 天
+
+##
+
+# — 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 }/秒)
+# 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 } (非常快)
+# — 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 = 字节
+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 } / { $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 } / { $total } { $totalUnits }
+# example: 111 KB
+# Variables:
+# $progress (String): progress number.
+# $progressUnits (String): unit.
+download-utils-transfer-no-total = { $progress } { $progressUnits }
+
+# examples: 1m; 11h
+# Variables:
+# $time (String): time number.
+# $unit (String): time unit.
+download-utils-time-pair = { $time }{ $unit }
+# examples: 1m left; 11h left
+# Variables:
+# $time (String): time left, including a unit
+download-utils-time-left-single = 剩余 { $time }
+# examples: 11h 2m left; 1d 22h left
+# Variables:
+# $time1 (String): time left, including a unit
+# $time2 (String): smaller measure of time left, including a unit
+download-utils-time-left-double = 剩余 { $time1 } { $time2 }
+download-utils-time-few-seconds = 剩余几秒
+download-utils-time-unknown = 剩余时间未知
+
+# Variables:
+# $scheme (String): URI scheme like data: jar: about:
+download-utils-done-scheme = { $scheme } 资源
+# Special case of done-scheme for file:
+# This is used as an eTLD replacement for local files, so make it lower case
+download-utils-done-file-scheme = 本地文件
+
+# Displayed time for files finished yesterday
+download-utils-yesterday = 昨天
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/featuregates/features.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/featuregates/features.ftl
new file mode 100644
index 0000000000..3e81303c83
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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)布局
+experimental-features-css-masonry-description = 启用对 CSS 瀑布流布局的实验性支持。欲详细了解该功能,请参阅<a data-l10n-name="explainer">说明文档</a>。若要提供反馈,请在 <a data-l10n-name="w3c-issue">GitHub Issue</a> 或此 <a data-l10n-name="bug">Bug</a> 中留言。
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-web-gpu2 =
+ .label = Web API: WebGPU
+experimental-features-web-gpu-description3 = <a data-l10n-name="wikipedia-webgpu">WebGPU API</a> 为利用用户设备或计算机的<a data-l10n-name="wikipedia-gpu">图形处理器(GPU)</a>执行计算和图形渲染提供了底层支持。该<a data-l10n-name="spec">规范</a>仍在完善中。欲详细了解,请参阅 <a data-l10n-name="bugzilla">Bug 1616739</a>。
+
+# The title of the experiment should be kept in English as it may be referenced
+# by various online articles and is technical in nature.
+experimental-features-media-jxl =
+ .label = 媒体:JPEG XL
+experimental-features-media-jxl-description = 启用此功能后,{ -brand-short-name } 将支持 JPEG XL(JXL)格式。这是一种增强的图像文件格式,支持从传统 JPEG 文件无损过渡。欲详细了解,请参阅 <a data-l10n-name="bugzilla">Bug 1539075</a>。
+
+experimental-features-devtools-compatibility-panel =
+ .label = 开发者工具:兼容性面板
+experimental-features-devtools-compatibility-panel-description = 在“页面查看器”中加入侧面板,显示应用程序的跨浏览器兼容性状态。欲详细了解,请参阅 <a data-l10n-name="bugzilla">Bug 1584464</a>。
+
+
+# Do not translate 'SameSite', 'Lax' and 'None'.
+experimental-features-cookie-samesite-none-requires-secure2 =
+ .label = Cookie: SameSite=None[需设置 Secure 属性]
+experimental-features-cookie-samesite-none-requires-secure2-description = 属性为“SameSite=None”的 Cookie 需设置 Secure 属性。此特性依赖于“Cookie: SameSite=Lax [默认]”。
+
+# about:home should be kept in English, as it refers to the the URI for
+# the internal default home page.
+experimental-features-abouthome-startup-cache =
+ .label = about:home 启动缓存
+experimental-features-abouthome-startup-cache-description = 缓存启动时默认加载的 about:home 初始文件,以提高启动性能。
+
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support =
+ .label = 开发者工具:Service Worker 调试
+# "Service Worker" is an API name and is usually not translated.
+experimental-features-devtools-serviceworker-debugger-support-description = 在“调试器”面板中启用对 Service Worker 的实验性支持。此功能可能会拖慢开发者工具的响应速度,并增加内存消耗。
+
+# WebRTC global mute toggle controls
+experimental-features-webrtc-global-mute-toggles =
+ .label = WebRTC 全局音视频输入开关
+experimental-features-webrtc-global-mute-toggles-description = 添加控件到 WebRTC 全局共享指示器中,让用户可以全局关闭麦克风和摄像头输入。
+
+# JS JIT Warp project
+experimental-features-js-warp =
+ .label = JavaScript JIT: Warp
+experimental-features-js-warp-description = 启用 Warp,此项目旨在改善 JavaScript 性能和内存使用。
+
+# Search during IME
+experimental-features-ime-search =
+ .label = 地址栏:实时显示输入过程中的结果
+experimental-features-ime-search-description = 对于东亚及印度语言使用者,要在标准键盘上输入各种文字,输入法是不可或缺的工具。启用此实验后,地址栏面板将在文本输入过程中保持打开状态,并实时显示搜索结果与建议。请注意:某些输入法的面板可能会覆盖地址栏显示的结果,建议在确认所用输入法无上述行为后,开启此首选项。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/formautofill/formAutofill.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/formautofill/formAutofill.ftl
new file mode 100644
index 0000000000..0e4f8a4eed
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/formautofill/formAutofill.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/.
+
+
+## OS Prompt Dialog
+
+# The macos string is preceded by the operating system (macOS) with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-use-payment-method-os-prompt-macos = 使用存储的付款方式信息
+# In macOS, this string is preceded by the operating system with "Firefox is trying to ",
+# and has a period added to its end. Make sure to test in your locale.
+autofill-edit-payment-method-os-prompt-macos = 显示存储的付款方式信息
+# The links lead users to Form Autofill browser preferences.
+autofill-options-link = 表单自动填写选项
+autofill-options-link-osx = 表单自动填写偏好设置
+
+## The credit card capture doorhanger
+
+
+# Used on the doorhanger when an credit card change is detected.
+
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/alert.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/alert.ftl
new file mode 100644
index 0000000000..0f4619905b
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/alert.ftl
@@ -0,0 +1,12 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+alert-close =
+ .tooltiptext = 关闭此通知
+alert-settings-title =
+ .tooltiptext = 设置
+
+## Reminder Notifications
+
+notification-default-dismiss = 知道了
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/appPicker.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/appPicker.ftl
new file mode 100644
index 0000000000..0a567a80b0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 浏览…
+app-picker-send-msg =
+ .value = 发送此项目到:
+app-picker-no-app-found =
+ .value = 无法找到此文件类型对应的应用程序
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/browser-utils.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/browser-utils.ftl
new file mode 100644
index 0000000000..dfb4f7891e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = (数据)
+
+# Used for extension URLs
+# Variables:
+# $extension (string) - Name of the extension that generated the URL
+browser-utils-url-extension = 扩展({ $extension })
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/commonDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/commonDialog.ftl
new file mode 100644
index 0000000000..097e8bb54f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/commonDialog.ftl
@@ -0,0 +1,21 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+common-dialog-title-null = 该页面称
+common-dialog-title-system = { -brand-short-name }
+# Title displayed when the origin of a web dialog is unknown.
+common-dialog-title-unknown = 未知
+# An indicator showing that Firefox is waiting for an operation to finish
+common-dialog-spinner =
+ .alt = 繁忙
+common-dialog-username =
+ .value = 用户名
+common-dialog-password =
+ .value = 密码
+common-dialog-copy-cmd =
+ .label = 复制
+ .accesskey = C
+common-dialog-select-all-cmd =
+ .label = 全选
+ .accesskey = A
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/contextual-identity.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/contextual-identity.ftl
new file mode 100644
index 0000000000..241551f62f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 私人
+ .accesskey = P
+user-context-work =
+ .label = 办公
+ .accesskey = W
+user-context-banking =
+ .label = 金融
+ .accesskey = B
+user-context-shopping =
+ .label = 购物
+ .accesskey = S
+
+##
+
+user-context-none =
+ .label = 无身份
+ .accesskey = N
+user-context-manage-containers =
+ .label = 管理身份
+ .accesskey = O
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/cookieBannerHandling.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/cookieBannerHandling.ftl
new file mode 100644
index 0000000000..5a159735e3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/cookieBannerHandling.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/.
+
+cookie-banner-handled-webconsole = { -brand-shorter-name } 代用户处理了一个 Cookie 横幅。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/createProfileWizard.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/createProfileWizard.ftl
new file mode 100644
index 0000000000..4e3b3165e1
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 创建配置文件向导
+ .style = min-width: 45em; min-height: 32em;
+
+## First wizard page
+
+create-profile-first-page-header2 =
+ { PLATFORM() ->
+ [macos] 介绍
+ *[other] 欢迎使用 { create-profile-window2.title }
+ }
+
+profile-creation-explanation-1 = { -brand-short-name } 把您的偏好设置等各种数据保存在您的个人配置文件中。
+
+profile-creation-explanation-2 = 如果您与他人共用一个 { -brand-short-name } 程序,您可以为不同用户创建相互独立的配置文件,让浏览数据各自分离。
+
+profile-creation-explanation-3 = 如果只有您一人使用这份 { -brand-short-name } 副本,您需要至少一份配置文件。如果您想将不同用途或环境下的数据分离(如工作与私人事务),也可以创建多份配置文件。
+
+profile-creation-explanation-4 =
+ { PLATFORM() ->
+ [macos] 要开始创建配置文件,请单击“继续”。
+ *[other] 要开始创建配置文件,请单击“下一步”。
+ }
+
+## Second wizard page
+
+create-profile-last-page-header2 =
+ { PLATFORM() ->
+ [macos] 总结
+ *[other] 正在完成 { create-profile-window2.title }
+ }
+
+profile-creation-intro = 您需要为各个配置文件取不同的名称。您可以用这里提供的名称,也可以自行指定。
+
+profile-prompt = 请输入新的配置文件名称:
+ .accesskey = E
+
+profile-default-name =
+ .value = 默认用户
+
+profile-directory-explanation = 您的用户设置、首选项以及其他相关的用户数据将被保存至:
+
+create-profile-choose-folder =
+ .label = 选择文件夹…
+ .accesskey = C
+
+create-profile-use-default =
+ .label = 使用默认文件夹
+ .accesskey = U
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/cspErrors.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/cspErrors.ftl
new file mode 100644
index 0000000000..5e963f91dc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 策略缺少必要的“{ $directive }”指令
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $keyword (String): the name of a CSP keyword, usually 'unsafe-inline'.
+csp-error-illegal-keyword = “{ $directive }”指令包含不允许的 { $keyword } 关键字
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-illegal-protocol = “{ $directive }”指令包含不允许的 { $scheme }:协议源
+
+# Variables:
+# $directive (String): the name of a CSP directive, such as "script-src".
+# $scheme (String): a protocol name, such as "http", which appears as "http:", as it would in a URL.
+csp-error-missing-host = { $scheme }:协议需要“{ $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 }”必须包括源 { $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 }:“{ $directive }”指令中的通配源必须包含至少一个非通用子域(例如 *.example.com 而不是 *.com)
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/datepicker.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/datepicker.ftl
new file mode 100644
index 0000000000..4a9e2b44f2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 选择日期
+date-spinner-label =
+ .aria-label = 选择月份和年份
+
+## Text of the clear button
+
+date-picker-clear-button = 清除
+
+## 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 = 上个月
+date-picker-next =
+ .aria-label = 下个月
+
+## 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 = 月
+date-spinner-year =
+ .aria-label = 年
+
+## 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 = 上个月
+date-spinner-month-next =
+ .aria-label = 下个月
+date-spinner-year-previous =
+ .aria-label = 去年
+date-spinner-year-next =
+ .aria-label = 明年
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/datetimebox.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/datetimebox.ftl
new file mode 100644
index 0000000000..d6fac17038
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/datetimebox.ftl
@@ -0,0 +1,42 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## Placeholders for date and time inputs
+
+datetime-year-placeholder = yyyy
+datetime-month-placeholder = mm
+datetime-day-placeholder = dd
+datetime-time-placeholder = --
+
+## Field labels for input type=date
+
+datetime-year =
+ .aria-label = 年
+datetime-month =
+ .aria-label = 月
+datetime-day =
+ .aria-label = 日
+
+## Field labels for input type=time
+
+datetime-hour =
+ .aria-label = 小时
+datetime-minute =
+ .aria-label = 分钟
+datetime-second =
+ .aria-label = 秒
+datetime-millisecond =
+ .aria-label = 毫秒
+datetime-dayperiod =
+ .aria-label = 上午/下午
+
+## 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 = 日历
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/extensionPermissions.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/extensionPermissions.ftl
new file mode 100644
index 0000000000..4fa4e0038a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 读取和修改书签
+webext-perms-description-browserSettings = 读取和修改浏览器设置
+webext-perms-description-browsingData = 清除最近的浏览记录、Cookie 及有关数据
+webext-perms-description-clipboardRead = 获取剪贴板数据
+webext-perms-description-clipboardWrite = 录入数据到剪贴板
+webext-perms-description-declarativeNetRequest = 拦截任何页面上的内容
+webext-perms-description-declarativeNetRequestFeedback = 读取您的浏览记录
+webext-perms-description-devtools = 让开发者工具可以存取您打开的标签页中的数据
+webext-perms-description-downloads = 下载文件和读写浏览器的下载历史
+webext-perms-description-downloads-open = 打开已下载至您的计算机的文件
+webext-perms-description-find = 读取已打开的所有标签页的文本
+webext-perms-description-geolocation = 获知您的位置
+webext-perms-description-history = 存取浏览历史
+webext-perms-description-management = 监控扩展使用情况和管理主题
+webext-perms-description-nativeMessaging = 与 { -brand-short-name } 之外的其他程序交换信息
+webext-perms-description-notifications = 为您显示通知
+webext-perms-description-pkcs11 = 提供密码认证服务
+webext-perms-description-privacy = 读取和修改隐私设置
+webext-perms-description-proxy = 控制浏览器的代理设置
+webext-perms-description-sessions = 存取最近关闭的标签页
+webext-perms-description-tabs = 存取浏览器标签页
+webext-perms-description-tabHide = 隐藏和显示浏览器标签页
+webext-perms-description-topSites = 存取浏览历史
+webext-perms-description-webNavigation = 在您上网时了解浏览器的行为状态
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/extensions.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/extensions.ftl
new file mode 100644
index 0000000000..3532f11b48
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/extensions.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/.
+
+
+## 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 = 要添加“{ $extension }”吗?
+webext-perms-header-with-perms = 要添加“{ $extension }”吗?此扩展将可执行下列操作:
+webext-perms-header-unsigned = 要添加“{ $extension }”吗?此扩展未经验证。恶意的扩展可能会窃取您的私密信息或损坏您的计算机。请仅在信任其来源时才安装。
+webext-perms-header-unsigned-with-perms = 要添加“{ $extension }”吗?此扩展未经验证。恶意的扩展可能会窃取您的私密信息或损坏您的计算机。请仅在信任其来源时才安装。此扩展将可执行下列操作:
+webext-perms-sideload-header = 已添加“{ $extension }”
+webext-perms-optional-perms-header = “{ $extension }”需要额外权限。
+
+##
+
+webext-perms-add =
+ .label = 添加
+ .accesskey = A
+webext-perms-cancel =
+ .label = 取消
+ .accesskey = C
+webext-perms-sideload-text = 您的计算机上的某个程序安装了可能会影响您的浏览器的附加组件。请检查此附件组件所要求的权限,然后选择启用或者取消(保持禁用状态)。
+webext-perms-sideload-text-no-perms = 您的计算机上的某个程序安装了可能会影响您的浏览器的附加组件。请选择启用或者取消(保持禁用状态)。
+webext-perms-sideload-enable =
+ .label = 启用
+ .accesskey = E
+webext-perms-sideload-cancel =
+ .label = 取消
+ .accesskey = C
+# Variables:
+# $extension (String): replaced with the localized name of the extension.
+webext-perms-update-text = “{ $extension }”已有更新。您必须接受新版本中的新权限才能安装更新。也可选择“取消”保持目前使用的版本。此扩展将可执行下列操作:
+webext-perms-update-accept =
+ .label = 更新
+ .accesskey = U
+webext-perms-optional-perms-list-intro = 它想要:
+webext-perms-optional-perms-allow =
+ .label = 允许
+ .accesskey = A
+webext-perms-optional-perms-deny =
+ .label = 拒绝
+ .accesskey = D
+webext-perms-host-description-all-urls = 存取您在所有网站的数据
+# 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 = 存取您在 { $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 } 个域名的数据
+# 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 = 存取您在 { $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 } 个网站的数据
+
+## 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 = 此附加组件会准许 { $hostname } 访问您的 MIDI 设备。
+webext-site-perms-header-with-gated-perms-midi-sysex = 此附加组件会准许 { $hostname } 访问您的 MIDI 设备(支持 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 =
+ 这些通常是音频合成器等插拔设备,但也可能内置于您的计算机中。
+
+ 通常网站不被允许访问 MIDI 设备。使用不当可能会造成损坏或危及信息安全。
+
+## 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 = 要安装“{ $extension }”吗?此扩展将授予 { $hostname } 以下功能:
+webext-site-perms-header-unsigned-with-perms = 要安装“{ $extension }”吗?此扩展未经验证。恶意的扩展可能会窃取您的私密信息或损坏您的计算机。请仅在信任其来源时才安装。此扩展将授予 { $hostname } 以下功能:
+
+## These should remain in sync with permissions.NAME.label in sitePermissions.properties
+
+webext-site-perms-midi = 访问 MIDI 设备
+webext-site-perms-midi-sysex = 访问支持 SysEx 的 MIDI 设备
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/handlerDialog.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/handlerDialog.ftl
new file mode 100644
index 0000000000..a34e44c829
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/handlerDialog.ftl
@@ -0,0 +1,70 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Permission Dialog
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+## $appName (string) - Name of the application that will be opened.
+## $extension (string) - Name of extension that initiated the request
+
+permission-dialog-description = 要允许此网站打开 { $scheme } 链接吗?
+permission-dialog-description-file = 要允许此文件打开 { $scheme } 链接吗?
+permission-dialog-description-host = 要允许 { $host } 打开 { $scheme } 链接吗?
+permission-dialog-description-extension = 要允许扩展“{ $extension }”打开 { $scheme } 链接吗?
+permission-dialog-description-app = 要允许此网站使用“{ $appName }”打开 { $scheme } 链接吗?
+permission-dialog-description-host-app = 要允许 { $host } 使用“{ $appName }”打开 { $scheme } 链接吗?
+permission-dialog-description-file-app = 要允许此文件使用“{ $appName }”打开 { $scheme } 链接吗?
+permission-dialog-description-extension-app = 要允许扩展“{ $extension }”使用“{ $appName }”打开 { $scheme } 链接吗?
+permission-dialog-description-system-app = 要使用 { $appName } 打开 { $scheme } 链接吗?
+permission-dialog-description-system-noapp = 要打开 { $scheme } 链接吗?
+
+## Please keep the emphasis around the hostname and scheme (ie the
+## `<strong>` HTML tags). Please also keep the hostname as close to the start
+## of the sentence as your language's grammar allows.
+## Variables:
+## $host (string) - The hostname that is initiating the request
+## $scheme (string) - The type of link that's being opened.
+
+permission-dialog-remember = 一律允许 <strong>{ $host }</strong> 打开 <strong>{ $scheme }</strong> 链接
+permission-dialog-remember-file = 一律允许此文件打开 <strong>{ $scheme }</strong> 链接
+permission-dialog-remember-extension = 一律允许此扩展打开 <strong>{ $scheme }</strong> 链接
+
+##
+
+permission-dialog-btn-open-link =
+ .label = 打开链接
+ .accessKey = O
+permission-dialog-btn-choose-app =
+ .label = 选择应用程序
+ .accessKey = A
+permission-dialog-unset-description = 您需要选择一个应用程序。
+permission-dialog-set-change-app-link = 选择其他应用程序。
+
+## Chooser dialog
+## Variables:
+## $scheme (string) - The type of link that's being opened.
+
+chooser-window =
+ .title = 选择应用程序
+ .style = min-width: 26em; min-height: 26em;
+chooser-dialog =
+ .buttonlabelaccept = 打开链接
+ .buttonaccesskeyaccept = O
+chooser-dialog-description = 选择用于打开 { $scheme } 链接的应用程序。
+# Please keep the emphasis around the scheme (ie the `<strong>` HTML tags).
+chooser-dialog-remember = 一律使用此应用程序打开 <strong>{ $scheme }</strong> 链接
+chooser-dialog-remember-extra =
+ { PLATFORM() ->
+ [windows] 可在 { -brand-short-name } 的选项中进行更改。
+ *[other] 可在 { -brand-short-name } 的首选项中进行更改。
+ }
+choose-other-app-description = 选择其他应用程序
+choose-app-btn =
+ .label = 选择…
+ .accessKey = C
+choose-other-app-window-title = 其他应用程序…
+# Displayed under the name of a protocol handler in the Launch Application dialog.
+choose-dialog-privatebrowsing-disabled = 已在隐私窗口中禁用
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/htmlForm.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/htmlForm.ftl
new file mode 100644
index 0000000000..bdb5c47896
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/htmlForm.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/.
+
+# 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 } 项
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozCard.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozCard.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/toolkit/global/mozFiveStar.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozFiveStar.ftl
new file mode 100644
index 0000000000..d7e60bb0cd
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 评分:{ NUMBER($rating, maximumFractionDigits: 1) } / 5
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozMessageBar.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozMessageBar.ftl
new file mode 100644
index 0000000000..936d3d4990
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozMessageBar.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+moz-message-bar-icon-info =
+ .alt = 信息
+moz-message-bar-icon-warning =
+ .alt = 警告
+moz-message-bar-icon-success =
+ .alt = 成功
+moz-message-bar-icon-error =
+ .alt = 错误
+moz-message-bar-close-button =
+ .aria-label = 关闭
+ .title = 关闭
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozSupportLink.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/mozSupportLink.ftl
new file mode 100644
index 0000000000..e009ab8bf3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 详细了解
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/notification.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/notification.ftl
new file mode 100644
index 0000000000..cff919e0d2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 详细了解
+
+# 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 = 关闭
+ .title = 关闭
+
+close-notification-message =
+ .tooltiptext = 关闭此消息
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/popupnotification.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/popupnotification.ftl
new file mode 100644
index 0000000000..0ca2d5856a
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 详细了解
+popup-notification-more-actions-button =
+ .aria-label = 更多操作
+popup-notification-default-button =
+ .label = 知道了!
+ .accesskey = O
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/processTypes.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/processTypes.ftl
new file mode 100644
index 0000000000..11ef656e08
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 网页内容
+
+# process used to run privileged about pages,
+# such as about:home
+process-type-privilegedabout = About 特权页
+
+# process used to run privileged mozilla pages,
+# such as accounts.firefox.com
+process-type-privilegedmozilla = Mozilla 特权内容
+
+process-type-extension = 扩展
+
+# process used to open file:// URLs
+process-type-file = 本地文件
+
+# process used to isolate a webpage from other web pages
+# to improve security
+process-type-webisolated = 隔离的 Web 内容
+
+# process used to isolate a ServiceWorker to improve
+# performance
+process-type-webserviceworker = 隔离 Service Worker
+
+# process preallocated; may change to other types
+process-type-prealloc = 预分配
+
+##
+## Localization for Gecko process types defined in GeckoProcessTypes.h
+##
+
+process-type-default = 主要
+process-type-tab = 标签页
+
+# process used to communicate with the GPU for
+# graphics acceleration
+process-type-gpu = GPU
+
+# process used to perform network operations
+process-type-socket = 套接字
+
+# process used to decode media
+process-type-rdd = RDD
+
+# process used to run some IPC actor in their own sandbox
+process-type-utility = 沙盒化 IPC 角色
+
+##
+## Other
+##
+
+# fallback
+process-type-unknown = 未知
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/profileDowngrade.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/profileDowngrade.ftl
new file mode 100644
index 0000000000..d513b2c9fc
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/profileDowngrade.ftl
@@ -0,0 +1,18 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+profiledowngrade-window2 =
+ .title = 您启动了旧版的 { -brand-product-name }
+ .style = min-width: 490px;
+profiledowngrade-window-create =
+ .label = 创建新配置文件
+profiledowngrade-sync = 使用旧版的 { -brand-product-name } 可能造成现有 { -brand-product-name } 配置文件中保存的书签和历史记录损坏。为了保护您的信息,请为此版 { -brand-short-name } 创建新的配置文件。您可以随时登录 { -fxaccount-brand-name },在不同的配置之间同步书签与历史记录。
+profiledowngrade-sync2 = 使用旧版的 { -brand-product-name } 可能造成现有 { -brand-product-name } 配置文件中保存的书签和历史记录损坏。为了保护您的信息,请为此版 { -brand-short-name } 创建新的配置文件。您可以随时登录账户,在不同的配置之间同步书签与历史记录。
+profiledowngrade-nosync = 使用旧版的 { -brand-product-name } 可能造成现有 { -brand-product-name } 配置文件中保存的书签和历史记录损坏。为了保护您的信息,请为此版 { -brand-short-name } 创建新的配置文件。
+profiledowngrade-quit =
+ .label =
+ { PLATFORM() ->
+ [windows] 退出
+ *[other] 退出
+ }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/profileSelection.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/profileSelection.ftl
new file mode 100644
index 0000000000..5a0fc2b762
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 } - 选择用户配置文件
+
+profile-selection-button-accept =
+ .label = 启动 { -brand-short-name }
+
+profile-selection-button-cancel =
+ .label = 退出
+
+profile-selection-new-button =
+ .label = 创建配置文件…
+ .accesskey = C
+
+profile-selection-rename-button =
+ .label = 重命名配置文件…
+ .accesskey = R
+
+profile-selection-delete-button =
+ .label = 删除配置文件…
+ .accesskey = D
+
+profile-selection-conflict-message = 有另一份 { -brand-product-name } 对配置文件作了更改。您必须重启 { -brand-short-name } 才能再作变更。
+
+## Messages used in the profile manager
+
+profile-manager-description = { -brand-short-name } 将您的设置、首选项、书签以及邮件保存在您的个人配置文件中。
+
+profile-manager-work-offline =
+ .label = 脱机工作
+ .accesskey = o
+
+profile-manager-use-selected =
+ .label = 启动时不询问并使用选定的配置文件
+ .accesskey = s
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/resetProfile.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/resetProfile.ftl
new file mode 100644
index 0000000000..75f6fd8712
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 要将 { -brand-short-name } 翻新为默认设置吗?
+refresh-profile-dialog-button =
+ .label = 翻新 { -brand-short-name }
+refresh-profile-dialog-description = 从头再来,以解决性能问题。这将删除您的所有扩展和定制项,但不会丢失书签和密码等重要信息。
+refresh-profile = 保养一下 { -brand-short-name }
+refresh-profile-button = 翻新 { -brand-short-name }…
+refresh-profile-learn-more = 详细了解
+
+refresh-profile-progress =
+ .title = 翻新 { -brand-short-name }
+refresh-profile-progress-description = 即将完成…
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/resistFingerPrinting.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/resistFingerPrinting.ftl
new file mode 100644
index 0000000000..b307cb620e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 更改语言设置为英语,可模糊身份信息,增强隐私保护。要请求英语版本网页吗?
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/run-from-dmg.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/run-from-dmg.ftl
new file mode 100644
index 0000000000..b74438e291
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 要完成安装 { -brand-short-name } 吗?
+prompt-to-install-message = 只需一个步骤即可完成安装,让 { -brand-short-name } 时刻保持最新,并可避免数据丢失。将会把 { -brand-short-name } 添加到您的“应用程序”文件夹和程序坞中。
+prompt-to-install-yes-button = 安装
+prompt-to-install-no-button = 不安装
+
+## Strings for a dialog that opens if the installation failed.
+
+install-failed-title = { -brand-short-name } 安装失败。
+install-failed-message = { -brand-short-name } 安装失败,但会继续运行。
+
+## 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 = 要打开现有的 { -brand-short-name } 应用程序吗?
+prompt-to-launch-existing-app-message = 您已安装 { -brand-short-name },请使用已安装的应用程序以时刻保持最新,并避免数据丢失。
+prompt-to-launch-existing-app-yes-button = 打开现有程序
+prompt-to-launch-existing-app-no-button = 不,谢谢
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/tabprompts.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/tabprompts.ftl
new file mode 100644
index 0000000000..c3db8fe4ea
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 用户名:
+tabmodalprompt-password =
+ .value = 密码:
+
+tabmodalprompt-ok-button =
+ .label = 确定
+tabmodalprompt-cancel-button =
+ .label = 取消
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/textActions.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/textActions.ftl
new file mode 100644
index 0000000000..89e7c3ff97
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/textActions.ftl
@@ -0,0 +1,64 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+text-action-undo =
+ .label = 撤销
+ .accesskey = U
+text-action-undo-shortcut =
+ .key = Z
+text-action-redo =
+ .label = 重做
+ .accesskey = R
+text-action-redo-shortcut =
+ .key = Y
+text-action-cut =
+ .label = 剪切
+ .accesskey = t
+text-action-cut-shortcut =
+ .key = X
+text-action-copy =
+ .label = 复制
+ .accesskey = C
+text-action-copy-shortcut =
+ .key = C
+# This command copies the link, removing additional
+# query parameters used to track users across sites.
+text-action-strip-on-share =
+ .label = 复制无跟踪参数链接
+ .accesskey = n
+text-action-paste =
+ .label = 粘贴
+ .accesskey = P
+text-action-paste-no-formatting =
+ .label = 粘贴为无格式文本
+ .accesskey = m
+text-action-paste-shortcut =
+ .key = V
+text-action-delete =
+ .label = 删除
+ .accesskey = D
+text-action-select-all =
+ .label = 全选
+ .accesskey = A
+text-action-select-all-shortcut =
+ .key = A
+text-action-spell-no-suggestions =
+ .label = 无拼写建议
+text-action-spell-add-to-dictionary =
+ .label = 添加到字典
+ .accesskey = o
+text-action-spell-undo-add-to-dictionary =
+ .label = 撤销添加到字典
+ .accesskey = n
+text-action-spell-check-toggle =
+ .label = 拼写检查
+ .accesskey = g
+text-action-spell-add-dictionaries =
+ .label = 添加字典…
+ .accesskey = A
+text-action-spell-dictionaries =
+ .label = 语言
+ .accesskey = L
+text-action-search-text-box-clear =
+ .title = 清空
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/timepicker.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/timepicker.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/toolkit/global/tree.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/tree.ftl
new file mode 100644
index 0000000000..60b78feb38
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 恢复各列的原始次序
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/unknownContentType.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/unknownContentType.ftl
new file mode 100644
index 0000000000..685a51da5f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 用 { -brand-short-name } 打开
+ .accesskey = e
+
+unknowncontenttype-settingschange =
+ .value =
+ { PLATFORM() ->
+ [windows] 请在 { -brand-short-name } 的选项中更改设置。
+ *[other] 请在 { -brand-short-name } 的首选项中更改设置。
+ }
+
+unknowncontenttype-intro = 您选择了打开:
+unknowncontenttype-which-is = 文件类型:
+unknowncontenttype-from = 来源:
+unknowncontenttype-prompt = 您想要保存此文件吗?
+unknowncontenttype-action-question = 您想要 { -brand-short-name } 如何处理此文件?
+unknowncontenttype-open-with =
+ .label = 打开,通过
+ .accesskey = O
+unknowncontenttype-other =
+ .label = 其他…
+unknowncontenttype-choose-handler =
+ .label =
+ { PLATFORM() ->
+ [macos] 选择…
+ *[other] 浏览…
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] C
+ *[other] B
+ }
+unknowncontenttype-save-file =
+ .label = 保存文件
+ .accesskey = S
+unknowncontenttype-remember-choice =
+ .label = 以后自动采用相同的动作处理此类文件。
+ .accesskey = a
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/videocontrols.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/videocontrols.ftl
new file mode 100644
index 0000000000..2b8efa4e53
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/videocontrols.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/.
+
+# This label is used by screenreaders and other assistive technology to indicate
+# to users how much of the video has been loaded from the network. It will be
+# followed by the percentage of the video that has loaded (e.g. "Loading: 13%").
+videocontrols-buffer-bar-label = 正在加载:
+videocontrols-volume-control =
+ .aria-label = 音量
+videocontrols-closed-caption-button =
+ .aria-label = 隐藏式字幕
+
+videocontrols-play-button =
+ .aria-label = 播放
+videocontrols-pause-button =
+ .aria-label = 暂停
+videocontrols-mute-button =
+ .aria-label = 静音
+videocontrols-unmute-button =
+ .aria-label = 恢复声音
+videocontrols-enterfullscreen-button =
+ .aria-label = 全屏
+videocontrols-exitfullscreen-button =
+ .aria-label = 退出全屏
+videocontrols-casting-button-label =
+ .aria-label = 投射到屏幕
+videocontrols-closed-caption-off =
+ .offlabel = 关
+
+# 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 = 画中画
+
+# 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 = 弹出此视频
+
+# This string is used as part of a variation of the Picture-in-Picture video toggle
+# button. When using this variation, this string appears below the toggle when the
+# mouse hovers the toggle.
+videocontrols-picture-in-picture-explainer3 = 同屏多任务,在您做其他事的同时播放此视频。
+
+videocontrols-error-aborted = 视频加载已停止。
+videocontrols-error-network = 视频播放因网络错误中止。
+videocontrols-error-decode = 视频无法播放,因为该文件已损坏。
+videocontrols-error-src-not-supported = 视频格式或 MIME 类型不受支持。
+videocontrols-error-no-source = 没有找到支持的视频格式和 MIME 类型。
+videocontrols-error-generic = 视频播放因未知错误中止。
+videocontrols-status-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 = 位置
+ .aria-valuetext = { $position } / { $duration }
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/wizard.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/wizard.ftl
new file mode 100644
index 0000000000..b9469201c6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/global/wizard.ftl
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+wizard-macos-button-back =
+ .label = 回到上一步
+ .accesskey = B
+wizard-linux-button-back =
+ .label = 上一步
+ .accesskey = B
+wizard-win-button-back =
+ .label = < 上一步
+ .accesskey = B
+
+wizard-macos-button-next =
+ .label = 继续
+ .accesskey = C
+wizard-linux-button-next =
+ .label = 下一步
+ .accesskey = N
+wizard-win-button-next =
+ .label = 下一步 >
+ .accesskey = N
+
+wizard-macos-button-finish =
+ .label = 完成
+wizard-linux-button-finish =
+ .label = 完成
+wizard-win-button-finish =
+ .label = 完成
+
+wizard-macos-button-cancel =
+ .label = 取消
+wizard-linux-button-cancel =
+ .label = 取消
+wizard-win-button-cancel =
+ .label = 取消
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/languageNames.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/languageNames.ftl
new file mode 100644
index 0000000000..8da27b5178
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/languageNames.ftl
@@ -0,0 +1,215 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+language-name-aa = 阿法尔语
+language-name-ab = 阿布哈兹语
+language-name-ach = 阿乔利语
+language-name-ae = 阿维斯陀语
+language-name-af = 南非语
+language-name-ak = 阿坎语
+language-name-am = 阿姆哈拉语
+language-name-an = 阿拉贡语
+language-name-ar = 阿拉伯语
+language-name-as = 阿萨姆语
+language-name-ast = 阿斯图里亚斯语
+language-name-av = 阿瓦尔语
+language-name-ay = 艾马拉语
+language-name-az = 阿塞拜疆语
+language-name-ba = 巴什基尔语
+language-name-be = 白俄罗斯语
+language-name-bg = 保加利亚语
+language-name-bh = 比哈尔语
+language-name-bi = 毕斯拉玛语
+language-name-bm = 班巴拉语
+language-name-bn = 孟加拉语
+language-name-bo = 藏语
+language-name-br = 布列塔尼语
+language-name-bs = 波斯尼亚语
+language-name-ca = 加泰罗尼亚语
+language-name-cak = 喀克其奎语
+language-name-ce = 车臣语
+language-name-ch = 查莫罗语
+language-name-co = 科西嘉语
+language-name-cr = 克里语
+language-name-crh = 克里米亚鞑靼语
+language-name-cs = 捷克语
+language-name-csb = 卡舒比语
+language-name-cu = 教会斯拉夫语
+language-name-cv = 楚瓦什语
+language-name-cy = 威尔士语
+language-name-da = 丹麦语
+language-name-de = 德语
+language-name-dsb = 下索布语
+language-name-dv = 迪维希语
+language-name-dz = 宗卡语
+language-name-ee = 埃维语
+language-name-el = 希腊语
+language-name-en = 英语
+language-name-eo = 世界语
+language-name-es = 西班牙语
+language-name-et = 爱沙尼亚语
+language-name-eu = 巴斯克语
+language-name-fa = 波斯语
+language-name-ff = 富拉语
+language-name-fi = 芬兰语
+language-name-fj = 斐济语
+language-name-fo = 法罗语
+language-name-fr = 法语
+language-name-fur = 弗留利语
+language-name-fy = 弗里西语
+language-name-ga = 爱尔兰语
+language-name-gd = 苏格兰盖立语
+language-name-gl = 加利西亚语
+language-name-gn = 瓜拉尼语
+language-name-gu = 古吉拉特语
+language-name-gv = 马恩岛语
+language-name-ha = 豪萨语
+language-name-haw = 夏威夷语
+language-name-he = 希伯来语
+language-name-hi = 印地语
+language-name-hil = 希利盖农语
+language-name-ho = 希里莫图语
+language-name-hr = 克罗地亚语
+language-name-hsb = 上索布语
+language-name-ht = 海地语
+language-name-hu = 匈牙利语
+language-name-hy = 亚美尼亚语
+language-name-hz = 赫雷罗语
+language-name-ia = 国际语
+language-name-id = 印度尼西亚语
+language-name-ie = 国际语 E
+language-name-ig = 伊博语
+language-name-ii = 四川彝语
+language-name-ik = 伊努皮克语
+language-name-io = 伊多语
+language-name-is = 冰岛语
+language-name-it = 意大利语
+language-name-iu = 因纽特语
+language-name-ja = 日语
+language-name-jv = 爪哇语
+language-name-ka = 格鲁吉亚语
+language-name-kab = 卡拜尔语
+language-name-kg = 刚果语
+language-name-ki = 基库尤语
+language-name-kj = 宽亚玛语
+language-name-kk = 哈萨克语
+language-name-kl = 格陵兰语
+language-name-km = 谷美尔语
+language-name-kn = 卡纳达语
+language-name-ko = 朝鲜语
+language-name-kok = 孔卡尼语
+language-name-kr = 卡努里语
+language-name-ks = 克什米尔语
+language-name-ku = 库尔德语
+language-name-kv = 科米语
+language-name-kw = 康沃尔语
+language-name-ky = 吉尔吉斯语
+language-name-la = 拉丁语
+language-name-lb = 卢森堡语
+language-name-lg = 干达语
+language-name-li = 林堡语
+language-name-lij = 利古里亚语
+language-name-ln = 林加拉语
+language-name-lo = 老挝语
+language-name-lt = 立陶宛语
+language-name-ltg = 拉特加莱语
+language-name-lu = 卢巴-坎塔加语
+language-name-lv = 拉脱维亚语
+language-name-mai = 迈蒂利语
+language-name-meh = 米斯特克语(西南拉克斯亚戈)
+language-name-mg = 马尔加什语
+language-name-mh = 马绍尔语
+language-name-mi = 毛利语
+language-name-mix = 米斯特克语(米克斯特拜科)
+language-name-mk = 马其顿语
+language-name-ml = 马拉雅拉姆语
+language-name-mn = 蒙古语
+language-name-mr = 马拉地语
+language-name-ms = 马来语
+language-name-mt = 马耳他语
+language-name-my = 缅甸语
+language-name-na = 瑙鲁语
+language-name-nb = 书面挪威语
+language-name-nd = 北恩德贝勒语
+language-name-ne = 尼泊尔语
+language-name-ng = 恩敦加语
+language-name-nl = 荷兰语
+language-name-nn = 挪威尼诺斯克语
+language-name-no = 挪威语
+language-name-nr = 南恩德贝勒语
+language-name-nso = 北梭托语
+language-name-nv = 纳瓦霍语
+language-name-ny = 齐切瓦语
+language-name-oc = 欧西坦语
+language-name-oj = 奥杰布瓦语
+language-name-om = 奥罗莫语
+language-name-or = 奥里亚语
+language-name-os = 奥塞梯语
+language-name-pa = 旁遮普语
+language-name-pi = 巴利语
+language-name-pl = 波兰语
+language-name-ps = 普什图语
+language-name-pt = 葡萄牙语
+language-name-qu = 克丘亚语
+language-name-rm = 列托-罗曼斯语
+language-name-rn = 基隆迪语
+language-name-ro = 罗马尼亚语
+language-name-ru = 俄语
+language-name-rw = 卢旺达语
+language-name-sa = 梵语
+language-name-sat = 桑塔利语
+language-name-sc = 萨丁尼亚语
+language-name-sco = 低地苏格兰语
+language-name-sd = 信德语
+language-name-se = 北萨摩语
+language-name-sg = 桑戈语
+language-name-si = 僧伽罗语
+language-name-sk = 斯洛伐克语
+language-name-sl = 斯洛文尼亚语
+language-name-sm = 萨摩亚语
+language-name-sn = 修纳语
+language-name-so = 索马里语
+language-name-son = 桑海语
+language-name-sq = 阿尔巴尼亚语
+language-name-sr = 塞尔维亚语
+language-name-ss = 斯威士兰语
+language-name-st = 南索托语
+language-name-su = 苏丹语
+language-name-sv = 瑞典语
+language-name-sw = 斯瓦希里语
+language-name-szl = 西里西亚语
+language-name-ta = 泰米尔语
+language-name-te = 泰卢固语
+language-name-tg = 塔吉克语
+language-name-th = 泰语
+language-name-ti = 提格里尼亚语
+language-name-tig = 提格雷语
+language-name-tk = 土库曼语
+language-name-tl = 塔加路语
+language-name-tlh = 克林贡语
+language-name-tn = 茨瓦纳语
+language-name-to = 汤加语
+language-name-tr = 土耳其语
+language-name-trs = 特里基语
+language-name-ts = 聪加语
+language-name-tt = 鞑靼语
+language-name-tw = 契维语
+language-name-ty = 塔希提语
+language-name-ug = 维吾尔语
+language-name-uk = 乌克兰语
+language-name-ur = 乌尔都语
+language-name-uz = 乌兹别克语
+language-name-ve = 温达语
+language-name-vi = 越南语
+language-name-vo = 沃拉普克语
+language-name-wa = 瓦龙语
+language-name-wen = 索布语
+language-name-wo = 沃洛夫语
+language-name-xh = 科萨语
+language-name-yi = 依地语
+language-name-yo = 约鲁巴语
+language-name-za = 壮语
+language-name-zam = 萨波特克语(米亚华特兰)
+language-name-zh = 中文
+language-name-zu = 祖鲁语
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/regionNames.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/regionNames.ftl
new file mode 100644
index 0000000000..7ae1f68d57
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/intl/regionNames.ftl
@@ -0,0 +1,280 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### Notice: If you're updating this list, you should also
+### update the list in mozIntl.js.
+
+region-name-ad = 安道尔
+region-name-ae = 阿拉伯联合酋长国
+region-name-af = 阿富汗
+region-name-ag = 安提瓜和巴布达
+region-name-ai = 安圭拉岛
+region-name-al = 阿尔巴尼亚
+region-name-am = 亚美尼亚
+region-name-ao = 安哥拉
+region-name-aq = 南极洲
+region-name-ar = 阿根廷
+region-name-as = 东萨摩亚
+region-name-at = 奥地利
+region-name-au = 澳大利亚
+region-name-aw = 阿鲁巴岛
+region-name-az = 阿塞拜疆
+region-name-ba = 波斯尼亚和黑塞哥维那
+region-name-bb = 巴巴多斯
+region-name-bd = 孟加拉国
+region-name-be = 比利时
+region-name-bf = 布基纳法索
+region-name-bg = 保加利亚
+region-name-bh = 巴林
+region-name-bi = 布隆迪
+region-name-bj = 贝宁
+region-name-bl = 圣巴特莱米
+region-name-bm = 百慕大群岛
+region-name-bn = 文莱
+region-name-bo = 玻利维亚
+region-name-bq-2018 = 荷兰加勒比区
+region-name-br = 巴西
+region-name-bs = 巴哈马
+region-name-bt = 不丹
+region-name-bv = 布维岛
+region-name-bw = 博茨瓦纳
+region-name-by = 白俄罗斯
+region-name-bz = 伯利兹
+region-name-ca = 加拿大
+region-name-cc = 科科斯(基林)群岛
+region-name-cd = 刚果(金)
+region-name-cf = 中非共和国
+region-name-cg = 刚果(布)
+region-name-ch = 瑞士
+region-name-ci = 科特迪瓦
+region-name-ck = 库克群岛
+region-name-cl = 智利
+region-name-cm = 喀麦隆
+region-name-cn = 中国大陆
+region-name-co = 哥伦比亚
+region-name-cp = 克利伯顿岛
+region-name-cr = 哥斯达黎加
+region-name-cu = 古巴
+region-name-cv-2020 = 佛得角
+region-name-cw = 库拉索
+region-name-cx = 圣诞岛
+region-name-cy = 塞浦路斯
+region-name-cz-2019 = 捷克
+region-name-de = 德国
+region-name-dg = 迪戈加西亚岛
+region-name-dj = 吉布提
+region-name-dk = 丹麦
+region-name-dm = 多米尼亚
+region-name-do = 多米尼加
+region-name-dz = 阿尔及利亚
+region-name-ec = 厄瓜多尔
+region-name-ee = 爱沙尼亚
+region-name-eg = 埃及
+region-name-eh = 西撒哈拉
+region-name-er = 厄立特里亚
+region-name-es = 西班牙
+region-name-et = 埃塞俄比亚
+region-name-fi = 芬兰
+region-name-fj = 斐济
+region-name-fk = 福克兰群岛(马尔维纳斯)
+region-name-fm = 密克罗尼西亚联邦
+region-name-fo = 法罗群岛
+region-name-fr = 法国
+region-name-ga = 加蓬
+region-name-gb = 英国
+region-name-gd = 格林纳达
+region-name-ge = 格鲁吉亚
+region-name-gf = 法属圭亚那
+region-name-gg = 格恩西岛
+region-name-gh = 加纳
+region-name-gi = 直布罗陀
+region-name-gl = 格陵兰
+region-name-gm = 冈比亚
+region-name-gn = 几内亚
+region-name-gp = 瓜德罗普
+region-name-gq = 赤道几内亚
+region-name-gr = 希腊
+region-name-gs = 南乔治亚岛和南桑威奇群岛
+region-name-gt = 危地马拉
+region-name-gu = 关岛
+region-name-gw = 几内亚比绍
+region-name-gy = 圭亚那
+region-name-hk = 中国香港
+region-name-hm = 赫德岛和麦克唐纳岛
+region-name-hn = 洪都拉斯
+region-name-hr = 克罗地亚
+region-name-ht = 海地
+region-name-hu = 匈牙利
+region-name-id = 印度尼西亚
+region-name-ie = 爱尔兰
+region-name-il = 以色列
+region-name-im = 曼岛
+region-name-in = 印度
+region-name-io = 英属印度洋领地
+region-name-iq = 伊拉克
+region-name-ir = 伊朗
+region-name-is = 冰岛
+region-name-it = 意大利
+region-name-je = 泽西
+region-name-jm = 牙买加
+region-name-jo = 约旦
+region-name-jp = 日本
+region-name-ke = 肯尼亚
+region-name-kg = 吉尔吉斯斯坦
+region-name-kh = 柬埔寨
+region-name-ki = 基里巴斯
+region-name-km = 科摩罗
+region-name-kn = 圣基茨和尼维斯
+region-name-kp = 朝鲜
+region-name-kr = 韩国
+region-name-kw = 科威特
+region-name-ky = 开曼群岛
+region-name-kz = 哈萨克斯坦
+region-name-la = 老挝
+region-name-lb = 黎巴嫩
+region-name-lc = 圣卢西亚
+region-name-li = 列支敦士登
+region-name-lk = 斯里兰卡
+region-name-lr = 利比里亚
+region-name-ls = 莱索托
+region-name-lt = 立陶宛
+region-name-lu = 卢森堡
+region-name-lv = 拉脱维亚
+region-name-ly = 利比亚
+region-name-ma = 摩洛哥
+region-name-mc = 摩纳哥
+region-name-md = 摩尔多瓦
+region-name-me = 黑山
+region-name-mf = 圣马丁
+region-name-mg = 马达加斯加
+region-name-mh = 马绍尔群岛
+region-name-mk-2019 = 北马其顿
+region-name-ml = 马里
+region-name-mm = 缅甸
+region-name-mn = 蒙古
+region-name-mo = 中国澳门
+region-name-mp = 北马里亚纳群岛
+region-name-mq = 马提尼克
+region-name-mr = 毛里塔尼亚
+region-name-ms = 蒙特塞拉特
+region-name-mt = 马耳他
+region-name-mu = 毛里求斯
+region-name-mv = 马尔代夫
+region-name-mw = 马拉维
+region-name-mx = 墨西哥
+region-name-my = 马来西亚
+region-name-mz = 莫桑比克
+region-name-na = 纳米尼亚
+region-name-nc = 新喀里多尼亚
+region-name-ne = 尼日尔
+region-name-nf = 诺福克岛
+region-name-ng = 尼日利亚
+region-name-ni = 尼加拉瓜
+region-name-nl = 荷兰
+region-name-no = 挪威
+region-name-np = 尼泊尔
+region-name-nr = 瑙鲁
+region-name-nu = 纽埃
+region-name-nz = 新西兰
+region-name-om = 阿曼
+region-name-pa = 巴拿马
+region-name-pe = 秘鲁
+region-name-pf = 法属波利尼西亚
+region-name-pg = 巴布亚新几内亚
+region-name-ph = 菲律宾
+region-name-pk = 巴基斯坦
+region-name-pl = 波兰
+region-name-pm = 圣皮埃尔岛和密克隆岛
+region-name-pn = 皮特凯恩群岛
+region-name-pr = 波多黎各
+region-name-pt = 葡萄牙
+region-name-pw = 帕劳
+region-name-py = 巴拉圭
+region-name-qa = 卡塔尔
+region-name-qm = 中途群岛
+region-name-qs = 法属印度礁
+region-name-qu = 新胡安岛
+region-name-qw = 复活岛
+region-name-qx = 格洛里厄斯群岛
+region-name-qz = 阿科罗提利
+region-name-re = 留尼汪
+region-name-ro = 罗马尼亚
+region-name-rs = 塞尔维亚
+region-name-ru = 俄罗斯
+region-name-rw = 卢旺达
+region-name-sa = 沙特阿拉伯
+region-name-sb = 所罗门群岛
+region-name-sc = 塞舌尔
+region-name-sd = 苏丹
+region-name-se = 瑞典
+region-name-sg = 新加坡
+region-name-sh = 圣赫勒拿-阿森松-特里斯坦达库尼亚
+region-name-si = 斯洛文尼亚
+region-name-sk = 斯洛伐克
+region-name-sl = 塞拉利昂
+region-name-sm = 圣马力诺
+region-name-sn = 塞内加尔
+region-name-so = 索马里
+region-name-sr = 苏里南
+region-name-ss = 南苏丹
+region-name-st = 圣多美和普林西比
+region-name-sv = 萨尔瓦多
+region-name-sx = 圣马丁
+region-name-sy = 叙利亚
+region-name-sz-2019 = 斯威士兰
+region-name-tc = 特克斯科斯群岛
+region-name-td = 乍得
+region-name-tf = 法属南半球及南极领地
+region-name-tg = 多哥
+region-name-th = 泰国
+region-name-tj = 塔吉克斯坦
+region-name-tk = 托克劳
+region-name-tl = 东帝汶
+region-name-tm = 土库曼斯坦
+region-name-tn = 突尼斯
+region-name-to = 汤加
+region-name-tr = 土耳其
+region-name-tt = 特立尼达和多巴哥
+region-name-tv = 图瓦卢
+region-name-tw = 台湾
+region-name-tz = 坦桑尼亚
+region-name-ua = 乌克兰
+region-name-ug = 乌干达
+region-name-us = 美国
+region-name-uy = 乌拉圭
+region-name-uz = 乌兹别克斯坦
+region-name-va = 梵蒂冈城
+region-name-vc = 圣文森特和格林纳丁斯
+region-name-ve = 委内瑞拉
+region-name-vg = 英属维京群岛
+region-name-vi = 美属维京群岛
+region-name-vn = 越南
+region-name-vu = 瓦努阿图
+region-name-wf = 瓦利斯群岛和富图纳
+region-name-ws = 萨摩亚
+region-name-xa = 阿什莫尔和卡捷群岛
+region-name-xb = 贝克岛
+region-name-xc = 珊瑚海群岛
+region-name-xd = 德凯利亚
+region-name-xe = 欧罗巴岛
+region-name-xg = 加沙地带
+region-name-xh = 豪兰岛
+region-name-xj = 扬马延岛
+region-name-xk = 科索沃
+region-name-xl = 巴尔米拉环礁
+region-name-xm = 金曼礁
+region-name-xp = 西沙群岛
+region-name-xq = 贾维斯岛
+region-name-xr = 斯瓦尔巴
+region-name-xs = 南沙群岛
+region-name-xt = 特罗姆林岛
+region-name-xu = 约翰斯顿环礁
+region-name-xv = 纳弗沙岛
+region-name-xw = 约旦河西岸
+region-name-ye = 也门
+region-name-yt = 马约特岛
+region-name-za = 南非
+region-name-zm = 赞比亚
+region-name-zw = 津巴布韦
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/autocomplete.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/autocomplete.ftl
new file mode 100644
index 0000000000..29b9185e00
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/autocomplete.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/.
+
+
+### Import Logins Autocomplete
+
+
+## Variables:
+## $host (String) - Host name of the current site.
+
+autocomplete-import-logins-chrome =
+ <div data-l10n-name="line1">从 Google Chrome 导入登录信息</div>
+ <div data-l10n-name="line2">导入您在 { $host } 和其他网站的登录信息</div>
+autocomplete-import-logins-chromium =
+ <div data-l10n-name="line1">从 Chromium 导入登录信息</div>
+ <div data-l10n-name="line2">导入您在 { $host } 和其他网站的登录信息</div>
+autocomplete-import-logins-chromium-edge =
+ <div data-l10n-name="line1">从 Microsoft Edge 导入登录信息</div>
+ <div data-l10n-name="line2">导入您在 { $host } 和其他网站的登录信息</div>
+
+##
+
+autocomplete-import-learn-more = 详细了解
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/findbar.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/findbar.ftl
new file mode 100644
index 0000000000..14ea34ae7e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/main-window/findbar.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/.
+
+
+### This file contains the entities needed to use the Find Bar.
+
+findbar-next =
+ .tooltiptext = 查找语句在页面中的下一个位置
+findbar-previous =
+ .tooltiptext = 查找语句在页面中的上一个位置
+
+findbar-find-button-close =
+ .tooltiptext = 关闭查找栏
+
+findbar-highlight-all2 =
+ .label = 高亮全部
+ .accesskey =
+ { PLATFORM() ->
+ [macos] l
+ *[other] a
+ }
+ .tooltiptext = 高亮显示语句在页面中的所有位置
+
+findbar-case-sensitive =
+ .label = 区分大小写
+ .accesskey = c
+ .tooltiptext = 以大小写敏感方式搜索
+
+findbar-match-diacritics =
+ .label = 匹配变音符号
+ .accesskey = i
+ .tooltiptext = 区分重音字母和它们的基本字母(如:在搜索“resume”时,不会匹配到“résumé”)
+
+findbar-entire-word =
+ .label = 全词匹配
+ .accesskey = w
+ .tooltiptext = 仅匹配由符号分隔开的整个词或句
+
+findbar-not-found = 找不到指定文字
+
+findbar-wrapped-to-top = 到达页尾,从页首继续
+findbar-wrapped-to-bottom = 到达页首,从尾部继续
+
+findbar-normal-find =
+ .placeholder = 在此页面中查找
+findbar-fast-find =
+ .placeholder = 快速查找
+findbar-fast-find-links =
+ .placeholder = 快速查找(仅链接)
+
+findbar-case-sensitive-status =
+ .value = (区分大小写)
+findbar-match-diacritics-status =
+ .value = (匹配变音符号)
+findbar-entire-word-status =
+ .value = (仅匹配整个词或句)
+
+# Variables:
+# $current (Number): Index of the currently selected match
+# $total (Number): Total count of matches
+findbar-found-matches =
+ .value = 第 { $current } 项,共找到 { $total } 个匹配项
+
+# Variables:
+# $limit (Number): Total count of matches allowed before counting stops
+findbar-found-matches-count-limit =
+ .value = 匹配超过 { $limit } 项
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/certError.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/certError.ftl
new file mode 100644
index 0000000000..f3f5006c6e
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 } 使用了无效的安全证书。
+
+cert-error-mitm-intro = 各个网站通过证书证明自己的身份,而证书由受信任的数字证书颁发机构颁发。
+
+cert-error-mitm-mozilla = { -brand-short-name } 由非营利的 Mozilla 提供支持。Mozilla 管理一组完全开放的数字证书认证机构(CA)存储库。该存储库帮助确保这些数字证书认证机构遵循最佳实践,以保障用户的安全。
+
+cert-error-mitm-connection = { -brand-short-name } 使用 Mozilla 的数字证书认证机构存储库来验证连接是否安全,而非用户操作系统所提供的证书库。因此,如果您的防病毒软件或网络使用不在 Mozilla 数字证书认证机构列表中的机构所签发的证书来拦截网络流量,该连接被视为不安全。
+
+cert-error-trust-unknown-issuer-intro = 可能有人试图冒充该网站,您不应该继续访问。
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = 各个网站通过证书证明自己的身份。{ -brand-short-name } 不信任 { $hostname },因其证书颁发者未知、证书为自签名的,或者服务器未发送正确的中间证书。
+
+cert-error-trust-cert-invalid = 该证书不被信任,因为它由无效的 CA 证书颁发者颁发。
+
+cert-error-trust-untrusted-issuer = 该证书因为其颁发者证书不受信任而不被信任。
+
+cert-error-trust-signature-algorithm-disabled = 该证书不被信任,因为证书签名所使用的签名算法因不安全已被禁用。
+
+cert-error-trust-expired-issuer = 该证书因为其颁发者证书已过期而不被信任。
+
+cert-error-trust-self-signed = 该证书因为其自签名而不被信任。
+
+cert-error-trust-symantec = 由 GeoTrust、RapidSSL、Symantec、Thawte 以及 VeriSign 颁发的证书已不再被认为安全,因为这些证书颁发机构过往未遵循安全准则。
+
+cert-error-untrusted-default = 该证书出自不受信任的来源。
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-domain-mismatch = 各个网站通过证书证明自己的身份。{ -brand-short-name } 不能信任此网站,因为它使用的证书对 { $hostname } 无效。
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single = 各个网站通过证书证明自己的身份。{ -brand-short-name } 不能信任此网站,它使用的证书对 { $hostname } 无效。 此证书仅对 <a data-l10n-name="domain-mismatch-link">{ $alt-name }</a> 有效。
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $alt-name (string) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = 各个网站通过证书证明自己的身份。{ -brand-short-name } 不能信任此网站,它使用的证书对 { $hostname } 无效。 此证书仅对 { $alt-name } 有效。
+
+# Variables:
+# $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 = 各个网站通过证书证明自己的身份。{ -brand-short-name } 不能信任此网站,它使用的证书对 { $hostname } 无效。该证书只适用于下列名称: { $subject-alt-names }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-after-local-time (Date) - Certificate is not valid after this time.
+cert-error-expired-now = 各个网站通过证书证明自己的身份,它们在设定的时间段内有效。{ $hostname } 的证书已于 { $not-after-local-time } 过期。
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+# $not-before-local-time (Date) - Certificate is not valid before this time.
+cert-error-not-yet-valid-now = 各个网站通过证书证明自己的身份,它们在设定的时间段内有效。{ $hostname } 的证书将生效于 { $not-before-local-time }。
+
+# Variables:
+# $error (string) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix = 错误代码:{ $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 = 错误代码:<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 = 连接到 { $hostname } 时发生错误。{ $errorMessage }
+
+# Variables:
+# $hostname (string) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = 各个网站通过证书证明自己的身份,而证书由受信任的数字证书颁发机构颁发。大多数浏览器已不再信任由 GeoTrust、RapidSSL、Symantec、Thawte 以及 VeriSign 颁发的证书。{ $hostname } 使用了由上述机构之一颁发的证书,因而网站身份无法证实。
+
+cert-error-symantec-distrust-admin = 您可以向网站管理员反馈此问题。
+
+cert-error-old-tls-version = 此网站可能不支持 TLS 1.2 协议,而这是 { -brand-short-name } 支持的最低版本。
+
+# Variables:
+# $hasHSTS (Boolean) - Indicates whether HSTS header is present.
+cert-error-details-hsts-label = HTTP 严格传输安全(HSTS):{ $hasHSTS }
+
+# Variables:
+# $hasHPKP (Boolean) - Indicates whether HPKP header is present.
+cert-error-details-key-pinning-label = HTTP 公钥固定:{ $hasHPKP }
+
+cert-error-details-cert-chain-label = 证书链:
+
+open-in-new-window-for-csp-or-xfo-error = 在新窗口中打开网站
+
+# Variables:
+# $hostname (string) - Hostname of the website blocked by csp or xfo error.
+csp-xfo-blocked-long-desc = 为了保护您的安全,{ $hostname } 将不允许 { -brand-short-name } 显示嵌入了其他网站的页面。要查看此页面,请在新窗口中打开。
+
+## Messages used for certificate error titles
+
+connectionFailure-title = 连接失败
+deniedPortAccess-title = 此网址已被限制
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+dnsNotFound-title = 呃…找不到此网站。
+
+dns-not-found-trr-only-title2 = 查询此域名可能存在安全风险
+dns-not-found-native-fallback-title2 = 查询此域名可能存在安全风险
+
+fileNotFound-title = 找不到文件
+fileAccessDenied-title = 对该文件的访问请求被拒绝
+generic-title = 哎呀。
+captivePortal-title = 请登录网络
+# "Hmm" is a sound made when considering or puzzling over something.
+# You don't have to include it in your translation if your language does not have a written word like this.
+malformedURI-title = 呃…这个网址好像有错。
+netInterrupt-title = 连接中断
+notCached-title = 文档已过期
+netOffline-title = 脱机模式
+contentEncodingError-title = 内容编码错误
+unsafeContentType-title = 不安全的文件类型
+netReset-title = 连接被重置
+netTimeout-title = 连接超时
+unknownProtocolFound-title = 无法理解该网址
+proxyConnectFailure-title = 代理服务器拒绝连接
+proxyResolveFailure-title = 无法找到代理服务器
+redirectLoop-title = 此页面不能正确地重定向
+unknownSocketType-title = 服务器响应异常
+nssFailure2-title = 建立安全连接失败
+csp-xfo-error-title = { -brand-short-name } 无法打开此页面
+corruptedContentError-title = 内容损坏错误
+sslv3Used-title = 无法安全地连接
+inadequateSecurityError-title = 您的连接不安全
+blockedByPolicy-title = 页面已封锁
+clockSkewError-title = 您的计算机时间有误
+networkProtocolError-title = 网络协议错误
+nssBadCert-title = 警告:面临潜在的安全风险
+nssBadCert-sts-title = 未连接:有潜在的安全问题
+certerror-mitm-title = 有软件正在阻止 { -brand-short-name } 安全地连接至此网站
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/netError.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/netError.ftl
new file mode 100644
index 0000000000..39d8b176f3
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/netError.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/.
+
+
+## Error page titles
+
+neterror-page-title = 页面加载出错
+certerror-page-title = 警告:面临潜在的安全风险
+certerror-sts-page-title = 未连接:有安全风险
+neterror-blocked-by-policy-page-title = 页面已封锁
+neterror-captive-portal-page-title = 请登录网络
+neterror-dns-not-found-title = 找不到服务器
+neterror-malformed-uri-page-title = 无效网址
+
+## Error page actions
+
+neterror-advanced-button = 高级…
+neterror-copy-to-clipboard-button = 复制文本到剪贴板
+neterror-learn-more-link = 详细了解…
+neterror-open-portal-login-page-button = 打开网络登录页面
+neterror-override-exception-button = 接受风险并继续
+neterror-pref-reset-button = 恢复默认设置
+neterror-return-to-previous-page-button = 后退
+neterror-return-to-previous-page-recommended-button = 返回上一页(推荐)
+neterror-try-again-button = 重试
+neterror-add-exception-button = 总是继续打开此网站
+neterror-settings-button = 更改 DNS 设置
+neterror-view-certificate-link = 查看证书
+neterror-trr-continue-this-time = 此次仍继续
+neterror-disable-native-feedback-warning = 总是继续打开
+
+##
+
+neterror-pref-reset = 看来可能是您的网络安全设置造成了此问题。您想还原到默认设置吗?
+neterror-error-reporting-automatic = 报告此类错误,帮助 { -vendor-short-name } 识别与拦截恶意网站
+
+## Specific error messages
+
+neterror-generic-error = { -brand-short-name } 因某些不明原因无法加载此页面。
+neterror-load-error-try-again = 此站点暂时无法使用或者太过忙碌。请过几分钟后再试。
+neterror-load-error-connection = 如果您无法加载任何网页,请检查您计算机的网络连接状态。
+neterror-load-error-firewall = 如果您的计算机或网络受到防火墙或者代理服务器的保护,请确认 { -brand-short-name } 已被授权访问网络。
+neterror-captive-portal = 您必须先登录此网络才能访问互联网。
+# Variables:
+# $hostAndPath (String) - a suggested site (e.g. "www.example.com") that the user may have meant instead.
+neterror-dns-not-found-with-suggestion = 您是要打开 <a data-l10n-name="website">{ $hostAndPath }</a> 吗?
+neterror-dns-not-found-hint-header = <strong>若您确认输入的是正确网址,可以:</strong>
+neterror-dns-not-found-hint-try-again = 稍后再试
+neterror-dns-not-found-hint-check-network = 检查您的网络连接
+neterror-dns-not-found-hint-firewall = 检查 { -brand-short-name } 是否有联网权限(可能已接入网络,但被防火墙阻止)
+
+## 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 } 无法通过可信 DNS 解析器保护您对本网址的请求。原因如下:
+neterror-dns-not-found-trr-only-reason2 = { -brand-short-name } 无法通过我们的安全 DNS 提供方来保护您对此网址的请求。原因如下:
+neterror-dns-not-found-trr-third-party-warning2 = 您可以继续使用默认 DNS 解析器,但第三方将有可能得知您访问过哪些网站。
+neterror-dns-not-found-trr-only-could-not-connect = { -brand-short-name } 无法连接到 { $trrDomain }。
+neterror-dns-not-found-trr-only-timeout = 连接到 { $trrDomain } 的时间超过预期。
+neterror-dns-not-found-trr-offline = 您未连接到互联网。
+neterror-dns-not-found-trr-unknown-host2 = { $trrDomain } 找不到此网站。
+neterror-dns-not-found-trr-server-problem = { $trrDomain } 出现问题。
+neterror-dns-not-found-bad-trr-url = 无效网址。
+neterror-dns-not-found-trr-unknown-problem = 未知问题。
+
+## Native fallback specific messages
+## Variables:
+## $trrDomain (String) - Hostname of the DNS over HTTPS server that is currently in use.
+
+neterror-dns-not-found-native-fallback-reason = { -brand-short-name } 无法通过可信 DNS 解析器保护您对本网址的请求。原因如下:
+neterror-dns-not-found-native-fallback-reason2 = { -brand-short-name } 无法通过我们的安全 DNS 提供方来保护您对此网址的请求。原因如下:
+neterror-dns-not-found-native-fallback-heuristic = 您的网络已禁用基于 HTTPS 的 DNS。
+neterror-dns-not-found-native-fallback-not-confirmed2 = { -brand-short-name } 无法连接至 { $trrDomain }。
+
+##
+
+neterror-file-not-found-filename = 请检查文件名是否大小写输错,或者有其他输入错误。
+neterror-file-not-found-moved = 请检查文件是否已被移动,重命名或删除。
+neterror-access-denied = 文件可能已被删除、移动,或者因文件权限问题被拒绝访问。
+neterror-unknown-protocol = 您可能需要安装其他软件才能打开此网址。
+neterror-redirect-loop = 有时候禁用或拒绝接受 Cookie 会导致此问题。
+neterror-unknown-socket-type-psm-installed = 请检查您的系统是否安装了个人安全管理器(PSM)。
+neterror-unknown-socket-type-server-config = 这可能是由服务器端的非标准配置所致。
+neterror-not-cached-intro = 您请求的文档已无法在 { -brand-short-name } 的缓存中找到。
+neterror-not-cached-sensitive = 出于安全考虑,{ -brand-short-name } 不会自动重新获取敏感文档。
+neterror-not-cached-try-again = 您可以点击“重试”来重新请求从网站获取该文档。
+neterror-net-offline = 请按“重试”切换到联网模式并重新加载此页面。
+neterror-proxy-resolve-failure-settings = 请检查浏览器的代理服务器设置是否正确。
+neterror-proxy-resolve-failure-connection = 请检查确认您的计算机能正常连上网。
+neterror-proxy-resolve-failure-firewall = 如果您的计算机或网络受到防火墙或者代理服务器的保护,请确认 { -brand-short-name } 已被授权访问网络。
+neterror-proxy-connect-failure-settings = 请检查浏览器的代理服务器设置是否正确。
+neterror-proxy-connect-failure-contact-admin = 请联系您的网络管理员以确认代理服务器工作正常。
+neterror-content-encoding-error = 建议向此网站的管理员反馈这个问题。
+neterror-unsafe-content-type = 建议向此网站的管理员反馈这个问题。
+neterror-nss-failure-not-verified = 由于不能验证所收到的数据是否可信,无法显示您想要查看的页面。
+neterror-nss-failure-contact-website = 建议向此网站的管理员反馈这个问题。
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-intro = { -brand-short-name } 检测到潜在的安全威胁,因此没有继续访问 <b>{ $hostname }</b>。若您访问此网站,攻击者可能会尝试窃取您的密码、电子邮件、信用卡等信息。
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-sts-intro = { -brand-short-name } 检测到潜在的安全威胁,并因 <b>{ $hostname }</b> 要求安全连接而没有继续。
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+certerror-expired-cert-intro = { -brand-short-name } 检测到问题而没有继续连接 <b>{ $hostname }</b>。可能是该网站配置有误,或者您的计算机时钟设置有误。
+# 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> 很像是一个安全(连接加密)的网站,但我们未能与它建立安全连接。这个问题是由 <b>{ $mitm }</b> 所造成,它是您的计算机或您所在网络中的软件。
+neterror-corrupted-content-intro = 由于检测到在数据传输过程中存在错误,无法显示您正要查看的页面。
+neterror-corrupted-content-contact-website = 建议向此网站的管理员反馈这个问题。
+# Do not translate "SSL_ERROR_UNSUPPORTED_VERSION".
+neterror-sslv3-used = 高级信息: 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> 使用了过时的安全技术,较容易遭受攻击。攻击者可以轻易窃取您的信息。该网站的管理员修正服务器后您才能访问该网站。
+# Do not translate "NS_ERROR_NET_INADEQUATE_SECURITY".
+neterror-inadequate-security-code = 错误代码:NS_ERROR_NET_INADEQUATE_SECURITY
+# Variables:
+# $hostname (String) - Hostname of the website to which the user was trying to connect.
+# $now (Date) - The current datetime, to be formatted as a date
+neterror-clock-skew-error = 您计算机上的时间是 { DATETIME($now, dateStyle: "medium") },{ -brand-short-name } 无法在这个设定的时间下进行安全连接。要访问 <b>{ $hostname }</b>,请在您的系统设置中确认当前的日期、时间、时区设置是否正确,然后重新加载 <b>{ $hostname }</b>。
+neterror-network-protocol-error-intro = 您尝试查看的页面无法显示,因为检测到了网络协议中的错误。
+neterror-network-protocol-error-contact-website = 建议向此网站的管理员反馈这个问题。
+certerror-expired-cert-second-para = 很可能该网站的证书已过期,因而阻碍 { -brand-short-name } 安全地连接。如果您继续访问该网站,攻击者可能尝试窃取您的密码、电子邮件或信用卡等信息。
+certerror-expired-cert-sts-second-para = 很可能该网站的证书已过期,因而阻碍 { -brand-short-name } 安全地连接。
+certerror-what-can-you-do-about-it-title = 您可以做什么?
+certerror-unknown-issuer-what-can-you-do-about-it-website = 这个问题大多与网站有关,无法通过您的操作解决。
+certerror-unknown-issuer-what-can-you-do-about-it-contact-admin = 如果您是在使用公司网络或某些防病毒软件时遇到此问题,可考虑联系客服(技术支持)以寻求帮助。您也可以向网站管理员告知此问题。
+# 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 = 您的计算机时钟目前设置为 { DATETIME($now, dateStyle: "medium") }。请确保您的计算机在系统设置中已设置了正确的日期、时间和时区,然后刷新 <b>{ $hostname }</b>。
+certerror-expired-cert-what-can-you-do-about-it-contact-website = 如果您的时钟已设置正确的时间,则此网站可能存在配置错误,您无法解决此问题。您可以向网站管理员反馈该问题。
+certerror-bad-cert-domain-what-can-you-do-about-it = 这个问题大多与网站有关,无法通过您的操作解决。您可以向此网站的管理者反馈此问题。
+certerror-mitm-what-can-you-do-about-it-antivirus = 如果您的防病毒软件包含扫描加密连接的功能(名称通常为“Web 扫描”或“HTTPS 扫描”),您该考虑禁用该功能。若上述操作无效,您可以尝试卸载并重新安装该防病毒软件。
+certerror-mitm-what-can-you-do-about-it-corporate = 如果您在使用公司网络,可以联系您的 IT 部门以寻求帮助。
+# 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 = 如果您并不熟悉 <b>{ $mitm }</b>,这可能是一起攻击,您不应该继续访问该网站。
+# 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 = 如果您并不熟悉 <b>{ $mitm }</b>,这可能是一起攻击,无法通过您的操作来访问此网站。
+# 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> 启用了被称为 HTTP 严格传输安全(HSTS)的安全策略,{ -brand-short-name } 只能与其建立安全连接。您无法为此网站添加例外,以访问此网站。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/nsserrors.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/nsserrors.ftl
new file mode 100644
index 0000000000..b755adb4c9
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/neterror/nsserrors.ftl
@@ -0,0 +1,349 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+# DO NOT ADD THINGS OTHER THAN ERROR MESSAGES HERE.
+# This file gets parsed into a JS dictionary of all known error message ids in
+# gen_aboutneterror_codes.py . If we end up needing fluent attributes or
+# refactoring them in some way, the script will need updating.
+
+psmerr-ssl-disabled = 由于 SSL 协议已被禁用,无法安全地连接。
+psmerr-ssl2-disabled = 由于该站点使用了旧的不安全版本的SSL协议,无法安全地连接。
+# This is a multi-line message.
+psmerr-hostreusedissuerandserial =
+ 您收到了一个无效的证书。请与服务器管理员或者邮件联系人联系,并提供以下信息:
+
+ 您的证书具有与证书颁发机构签发的另一个证书相同的序列号。请获取一个具有唯一序列号的新证书。
+
+ssl-error-export-only-server = 无法安全通信。对等端不支持高等级加密。
+ssl-error-us-only-server = 无法安全通信。不支持对等端要求的高等级加密。
+ssl-error-no-cypher-overlap = 无法安全地与对等端通信:没有双方共用的加密算法。
+ssl-error-no-certificate = 无法找到认证所需要的证书或密钥。
+ssl-error-bad-certificate = 无法安全地与对等端通信:对等端的证书已被拒绝。
+ssl-error-bad-client = 服务器遇到了来自客户端的错误数据。
+ssl-error-bad-server = 客户端遇到了来自服务器的错误数据。
+ssl-error-unsupported-certificate-type = 不支持的证书类型。
+ssl-error-unsupported-version = 对等端使用了不支持的安全协议版本。
+ssl-error-wrong-certificate = 客户端认证失败: 密钥数据库中的私钥与证书数据库中的公钥不相匹配。
+ssl-error-bad-cert-domain = 无法安全地与对等端通信:请求的域名与服务器的证书不匹配。
+ssl-error-post-warning = 无法识别的 SSL 错误代码。
+ssl-error-ssl2-disabled = 对等端仅支持第2版的 SSL,而此版本在本地已禁用。
+ssl-error-bad-mac-read = SSL 接收到了一个带有不正确的消息认证码的记录。
+ssl-error-bad-mac-alert = SSL 对等端报告了不正确的消息认证码。
+ssl-error-bad-cert-alert = SSL 对等端无法核实您的证书。
+ssl-error-revoked-cert-alert = 由于您的证书以被吊销,SSL 对等端拒绝接收。
+ssl-error-expired-cert-alert = SSL 对等端拒绝了收到的已过期的您的证书。
+ssl-error-ssl-disabled = 无法连接:SSL 已禁用。
+ssl-error-fortezza-pqg = 无法连接:SSL 对等端在另一个 FORTEZZA 域中。
+ssl-error-unknown-cipher-suite = 请求了一个未知的 SSL 密码组。
+ssl-error-no-ciphers-supported = 此程序中不存在可使用的密码组。
+ssl-error-bad-block-padding = SSL 收到一个块结构错误的记录。
+ssl-error-rx-record-too-long = SSL 接收到一个超出最大准许长度的记录。
+ssl-error-tx-record-too-long = SSL 尝试发送超过最大准许长度的记录。
+ssl-error-rx-malformed-hello-request = SSL 接收到一个异常的 Hello 要求握手消息。
+ssl-error-rx-malformed-client-hello = SSL 接收到一个异常的客户端 Hello 握手消息。
+ssl-error-rx-malformed-server-hello = SSL 接收到一个异常的服务器 Hello 握手消息。
+ssl-error-rx-malformed-certificate = SSL 接收到一个异常的证书握手信息。
+ssl-error-rx-malformed-server-key-exch = SSL 接收到一个异常的服务器密钥交换握手消息。
+ssl-error-rx-malformed-cert-request = SSL 接收到一个异常的证书请求握手消息。
+ssl-error-rx-malformed-hello-done = SSL 接收到一个异常的服务器完成 Hello 握手消息。
+ssl-error-rx-malformed-cert-verify = SSL 接收到一个异常的证书核实握手消息。
+ssl-error-rx-malformed-client-key-exch = SSL 接收到一个异常的客户端密钥交换握手消息。
+ssl-error-rx-malformed-finished = SSL 接收到一个异常的完成的握手消息。
+ssl-error-rx-malformed-change-cipher = SSL 接收到一个异常的更换密码规格记录。
+ssl-error-rx-malformed-alert = SSL 接收到一个异常的警告记录。
+ssl-error-rx-malformed-handshake = SSL 接收到一个异常的握手记录。
+ssl-error-rx-malformed-application-data = SSL 接收到一个异常的应用程序数据记录。
+ssl-error-rx-unexpected-hello-request = SSL 接收到一个意外的 Hello 请求握手信息。
+ssl-error-rx-unexpected-client-hello = SSL 接收到一个意外的客户端 Hello 握手消息。
+ssl-error-rx-unexpected-server-hello = SSL 接收到一个意外的服务器 Hello 握手信息。
+ssl-error-rx-unexpected-certificate = SSL 接收到一个意外的证书握手消息。
+ssl-error-rx-unexpected-server-key-exch = SSL 接收到一个意外的服务器密钥交换握手信息。
+ssl-error-rx-unexpected-cert-request = SSL 接收到一个意外的证书请求握手信息。
+ssl-error-rx-unexpected-hello-done = SSL 接收到一个意外的服务器完成 Hello 握手信息。
+ssl-error-rx-unexpected-cert-verify = SSL 接收到一个意外的证书核实握手信息。
+ssl-error-rx-unexpected-client-key-exch = SSL 接收到一个意外的客户端密钥交换握手信息。
+ssl-error-rx-unexpected-finished = SSL 接收到一个意外的完成的握手信息。
+ssl-error-rx-unexpected-change-cipher = SSL 接收到一个意外的更换密码规格记录。
+ssl-error-rx-unexpected-alert = SSL 接收到一个意外的警告记录。
+ssl-error-rx-unexpected-handshake = SSL 接收到一个意外的握手记录。
+ssl-error-rx-unexpected-application-data = SSL 接收到一个意外的应用程序数据记录。
+ssl-error-rx-unknown-record-type = SSL 接收到一个带有未知内容类型的记录。
+ssl-error-rx-unknown-handshake = SSL 接收到一个带有未知信息类型的握手信息。
+ssl-error-rx-unknown-alert = SSL 接收到一个带有未知警告描述的警告记录。
+ssl-error-close-notify-alert = SSL 对等端已经关闭了此连接。
+ssl-error-handshake-unexpected-alert = SSL 对等端收到了预料之外的握手消息。
+ssl-error-decompression-failure-alert = SSL 对等端无法顺利解压其接收到的 SSL 记录。
+ssl-error-handshake-failure-alert = SSL 对等端无法协商出一个可接受的安全参数设置。
+ssl-error-illegal-parameter-alert = SSL 对等端收到了不可接受的握手消息。
+ssl-error-unsupported-cert-alert = SSL 对等端不支持所收到的该类型的证书。
+ssl-error-certificate-unknown-alert = SSL 对等端收到的证书存在一些未指明的问题。
+ssl-error-generate-random-failure = SSL 的随机数字生成程序发生错误。
+ssl-error-sign-hashes-failure = 无法对所需数据进行数字签名以核实您的证书。
+ssl-error-extract-public-key-failure = SSL 无法从对等端的证书中取出公钥。
+ssl-error-server-key-exchange-failure = 进行 SSL 服务器密钥交换握手时出现未指定的错误。
+ssl-error-client-key-exchange-failure = 处理 SSL 客户端密钥消息握手时出现不确定的错误。
+ssl-error-encryption-failure = 所选择的密码组中批量数据加密算法失败。
+ssl-error-decryption-failure = 所选择的密码组中批量数据解密算法失败。
+ssl-error-socket-write-failure = 尝试想接口底层写入加密数据失败。
+ssl-error-md5-digest-failure = MD5 摘要函数失败。
+ssl-error-sha-digest-failure = SHA-1 摘要函数失败。
+ssl-error-mac-computation-failure = MAC 计算失败。
+ssl-error-sym-key-context-failure = 创建对称密钥上下文失败。
+ssl-error-sym-key-unwrap-failure = 将客户端密钥交换消息中的对称密钥解包失败。
+ssl-error-pub-key-size-limit-exceeded = SSL 服务器尝试使用民用规格公钥导出密码组。
+ssl-error-iv-param-failure = PKCS11 码将 IV 翻译为参数失败。
+ssl-error-init-cipher-suite-failure = 初始化所选择的密码组失败。
+ssl-error-session-key-gen-failure = 客户端生成 SSL 会话的会话密钥失败。
+ssl-error-no-server-key-for-alg = 服务器没有密钥可以尝试密钥互换算法。
+ssl-error-token-insertion-removal = 操作进行时 PKCS#11 标记被插入或被删除。
+ssl-error-token-slot-not-found = 没有找到 PKCS#11 标记进行请求的操作。
+ssl-error-no-compression-overlap = 无法安全地与对等端通信:没有双方共用的压缩算法。
+ssl-error-handshake-not-completed = 直到当前握手结束之前,无法初始化另一个 SSL 握手。
+ssl-error-bad-handshake-hash-value = 收到了来自对等端的不正确的握手散列值
+ssl-error-cert-kea-mismatch = 提供的证书无法以所选择的密钥交换算法使用。
+ssl-error-no-trusted-ssl-client-ca = 没有可信任的证书授权进行 SSL 客户端认证。
+ssl-error-session-not-found = 在服务器的会话缓存上没有找到客户端的 SSL 会话 ID。
+ssl-error-decryption-failed-alert = 对等端无法解密收到的一个 SSL 记录。
+ssl-error-record-overflow-alert = 对等端收到了一个超出允许范围的 SSL 记录。
+ssl-error-unknown-ca-alert = 对等端不认可且不信任给您颁发证书的机构。
+ssl-error-access-denied-alert = 对等端收到了有效的证书,但是访问被拒绝。
+ssl-error-decode-error-alert = 对等端无法解码一个 SSL 握手消息。
+ssl-error-decrypt-error-alert = 对等端报告签名核实或密钥交换失败。
+ssl-error-export-restriction-alert = 对等端报告协议不符合输出规则。
+ssl-error-protocol-version-alert = 对等端报告不兼容或不支持的协议版本。
+ssl-error-insufficient-security-alert = 服务器要求的密码比那些由客户端支持的密码更加安全
+ssl-error-internal-error-alert = 对等端报告其遇到一个内部错误。
+ssl-error-user-canceled-alert = 对等端用户取消了握手。
+ssl-error-no-renegotiation-alert = 对等端不允许 SSL 安全参数重议。
+ssl-error-server-cache-not-configured = SSL 服务器缓存未配置,且未对此套接字禁用。
+ssl-error-unsupported-extension-alert = SSL 对等端不支持所请求的 TLS hello 扩展。
+ssl-error-certificate-unobtainable-alert = SSL 对等端无法从所提供的 URL 获得您的证书。
+ssl-error-unrecognized-name-alert = SSL 对等端没有所请求 DNS 名称的证书。
+ssl-error-bad-cert-status-response-alert = SSL 对等端无法得到其证书的 OCSP 响应。
+ssl-error-bad-cert-hash-value-alert = SSL 对等端报告损坏的证书散列值。
+ssl-error-rx-unexpected-new-session-ticket = SSL 收到了一个意外的新建会话票证(New Session Ticket)握手消息。
+ssl-error-rx-malformed-new-session-ticket = SSL 收到了一个畸形的新建会话票证(New Session Ticket)握手消息。
+ssl-error-decompression-failure = SSL 接收到一个无法解压的压缩记录。
+ssl-error-renegotiation-not-allowed = 在此 SSL 套接字上不允许重新协商。
+ssl-error-unsafe-negotiation = 对等端尝试以可能有潜在漏洞的旧方式握手。
+ssl-error-rx-unexpected-uncompressed-record = SSL 接收到一个意外的未压缩的记录。
+ssl-error-weak-server-ephemeral-dh-key = 在服务器密钥交换握手信息中 SSL 收到了一个弱临时 Diffie-Hellman 密钥。
+ssl-error-next-protocol-data-invalid = SSL 收到了无效的 NPN 扩展数据。
+ssl-error-feature-not-supported-for-ssl2 = SSL 2.0 连接不支持的 SSL 特性。
+ssl-error-feature-not-supported-for-servers = 服务器不支持的 SSL 特性。
+ssl-error-feature-not-supported-for-clients = 客户端不支持的 SSL 特性。
+ssl-error-invalid-version-range = SSL 版本范围无效。
+ssl-error-cipher-disallowed-for-version = SSL 对等端选择了一个选择的协议版本不支持的密码套件。
+ssl-error-rx-malformed-hello-verify-request = SSL 收到了一个格式不正确的 Hello 验证请求握手消息。
+ssl-error-rx-unexpected-hello-verify-request = SSL 收到了一个意外的 Hello 验证请求握手消息。
+ssl-error-feature-not-supported-for-version = 该协议版本不支持的 SSL 特性。
+ssl-error-rx-unexpected-cert-status = SSL 收到了一个意外的证书状态握手消息。
+ssl-error-unsupported-hash-algorithm = TLS 对等端使用了不支持的散列算法。
+ssl-error-digest-failure = 摘要函数失败。
+ssl-error-incorrect-signature-algorithm = 一个数字签名的元素中指定了不正确的签名算法。
+ssl-error-next-protocol-no-callback = Next Protocol Negotiation Extension 已经启用,但回调已在需要之前被清除。
+ssl-error-next-protocol-no-protocol = 服务器不支持客户端在 ALPN 扩展中宣告的协议。
+ssl-error-inappropriate-fallback-alert = 服务器拒绝握手,因为客户端降级到了比服务器所支持的 TLS 版本更低的版本。
+ssl-error-weak-server-cert-key = 该服务器证书包含的公钥太弱。
+ssl-error-rx-short-dtls-read = 没有足够的空间缓冲 DTLS 记录。
+ssl-error-no-supported-signature-algorithm = 已配置的 TLS 签名算法不支持。
+ssl-error-unsupported-signature-algorithm = 不支持对等端使用的签名与散列算法的组合。
+ssl-error-missing-extended-master-secret = 对等端尝试恢复时未提供正确的 extended_master_secret 扩展。
+ssl-error-unexpected-extended-master-secret = 对等端尝试恢复时提供了意外的 extended_master_secret 扩展。
+
+sec-error-io = 在安全授权过程中发生了一个 I/O 错误。
+sec-error-library-failure = 安全程序库错误。
+sec-error-bad-data = 安全程序库: 接收到损坏的数据。
+sec-error-output-len = 安全程序库: 输出长度错误。
+sec-error-input-len = 安全程序库遇到了输入长度错误。
+sec-error-invalid-args = 安全程序库: 无效参数。
+sec-error-invalid-algorithm = 安全程序库: 无效算法。
+sec-error-invalid-ava = 安全程序库:无效的 AVA。
+sec-error-invalid-time = 不正确的时间字符串格式。
+sec-error-bad-der = 安全程序库: 不正确的编排 DER-编码信息格式。
+sec-error-bad-signature = 对等端的证书有一个无效的签名。
+sec-error-expired-certificate = 对等端的证书已过期。
+sec-error-revoked-certificate = 对等端的证书已被吊销。
+sec-error-unknown-issuer = 对等端的证书颁发者不受认可。
+sec-error-bad-key = 对等端的公钥无效。
+sec-error-bad-password = 所输入的安全密码无效。
+sec-error-retry-password = 输入的新密码不正确。请再试一次。
+sec-error-no-nodelock = 安全程序库: 无节点锁。
+sec-error-bad-database = 安全程序库: 损坏的数据库。
+sec-error-no-memory = 安全程序库:内存分配失败。
+sec-error-untrusted-issuer = 对等端的证书颁发者已被用户标记为不受信任。
+sec-error-untrusted-cert = 对等端的证书已被用户标为不可信。
+sec-error-duplicate-cert = 证书已经存在于您的数据库中。
+sec-error-duplicate-cert-name = 所下载证书的名称与数据库中已有的重复。
+sec-error-adding-cert = 向数据库中添加证书时发生错误。
+sec-error-filing-key = 重新填写此证书密钥时错误。
+sec-error-no-key = 此证书的私钥无法在密钥数据库中找到
+sec-error-cert-valid = 此证书有效。
+sec-error-cert-not-valid = 此证书无效。
+sec-error-cert-no-response = 证书程序库:无响应
+sec-error-expired-issuer-certificate = 证书签发者的证书已过期。请检查您的系统日期和时间。
+sec-error-crl-expired = 证书签发者的证书吊销列表(CRL)已过期。请更新吊销列表,或者检查您的系统日期和时间。
+sec-error-crl-bad-signature = 证书颁发者的证书吊销列表含有的签名无效。
+sec-error-crl-invalid = 新的 CRL 格式无效。
+sec-error-extension-value-invalid = 证书扩展值无效。
+sec-error-extension-not-found = 没有找到证书扩展。
+sec-error-ca-cert-invalid = 颁发者证书无效。
+sec-error-path-len-constraint-invalid = 证书路径长度限制无效。
+sec-error-cert-usages-invalid = 证书用途字段无效。
+sec-internal-only = **仅供内部使用的模块**
+sec-error-invalid-key = 该密钥不支持所请求的操作。
+sec-error-unknown-critical-extension = 证书包含未知的关键扩展。
+sec-error-old-crl = 新的证书吊销列表(CRL)不比当前的新。
+sec-error-no-email-cert = 没有加密或签署:您还没有电子邮件证书。
+sec-error-no-recipient-certs-query = 没有加密:您没有可用于每个接收者的证书。
+sec-error-not-a-recipient = 无法解密:您不是接收者,或者没有找到匹配的证书与私钥。
+sec-error-pkcs7-keyalg-mismatch = 无法解密:密钥加密算法与您的证书不匹配。
+sec-error-pkcs7-bad-signature = 签名核实失败:没有找到签署者,找到过多签署者,或者不恰当或损坏的数据。
+sec-error-unsupported-keyalg = 不支持或未知的密钥算法。
+sec-error-decryption-disallowed = 无法解密:加密数据时使用了不允许的算法或密钥长度。
+sec-error-no-krl = 没有找到此站点证书的密钥吊销列表(KRL)。
+sec-error-krl-expired = 此站点证书的密钥吊销列表(KRL)已过期。
+sec-error-krl-bad-signature = 此站点证书的密钥吊销列表(KRL)有一个无效的签名。
+sec-error-revoked-key = 此站点的证书的密钥已被吊销。
+sec-error-krl-invalid = 新的密钥吊销列表(KRL)格式无效。
+sec-error-need-random = 安全程序库:需要随机数据。
+sec-error-no-module = 安全程序库:没有安全模块可以执行请求的操作。
+sec-error-no-token = 安全卡或令牌不存在,需要初始化,或已被删除。
+sec-error-read-only = 安全程序库:只读数据库。
+sec-error-no-slot-selected = 未选择插槽(Slot)或令牌(Token)。
+sec-error-cert-nickname-collision = 已经存在相同昵称的证书。
+sec-error-key-nickname-collision = 同样昵称的密钥已经存在。
+sec-error-safe-not-created = 建立安全目标时错误。
+sec-error-baggage-not-created = 建立目标包时发生错误
+sec-error-bad-export-algorithm = 所需算法不允许使用。
+sec-error-exporting-certificates = 尝试导出证书发生错误。
+sec-error-importing-certificates = 尝试导入证书时错误。
+sec-error-pkcs12-decoding-pfx = 无法导入。解码错误。文件无效。
+sec-error-pkcs12-invalid-mac = 无法导入。MAC无效。密码不正确或者文件损坏。
+sec-error-pkcs12-unsupported-mac-algorithm = 无法导入。不支持此 MAC 算法。
+sec-error-pkcs12-unsupported-transport-mode = 无法导入。只支持密码完整性和隐私模式。
+sec-error-pkcs12-corrupt-pfx-structure = 无法导入。文件结构损坏。
+sec-error-pkcs12-unsupported-pbe-algorithm = 无法导入。加密算法不支持。
+sec-error-pkcs12-unsupported-version = 无法导入。文件版本不支持。
+sec-error-pkcs12-privacy-password-incorrect = 无法导入。隐私密码不正确。
+sec-error-pkcs12-cert-collision = 无法导入。数据库中已存在相同的昵称。
+sec-error-user-cancelled = 用户强制取消。
+sec-error-pkcs12-duplicate-data = 没有导入,已经存在于数据库中。
+sec-error-message-send-aborted = 消息未发送。
+sec-error-inadequate-key-usage = 试图执行用证书密钥执行的操作不合规定用途。
+sec-error-inadequate-cert-type = 证书类型未经程序核对。
+sec-error-cert-addr-mismatch = 签署证书中的地址与消息头中的地址不匹配
+sec-error-pkcs12-unable-to-import-key = 无法导入。尝试导入私钥时发生错误。
+sec-error-pkcs12-importing-cert-chain = 无法导入。尝试导入证书链时发生错误。
+sec-error-pkcs12-unable-to-locate-object-by-name = 无法导出。无法通过昵称定位证书或密钥。
+sec-error-pkcs12-unable-to-export-key = 无法导出。无法定位私钥并导出。
+sec-error-pkcs12-unable-to-write = 无法导出。无法写入导出文件。
+sec-error-pkcs12-unable-to-read = 无法导入。无法读取导入文件。
+sec-error-pkcs12-key-database-not-initialized = 无法导出。密钥数据库损坏或已删除。
+sec-error-keygen-fail = 无法生成公/私密钥对。
+sec-error-invalid-password = 输入的密码无效。请选择一个不同的密码。
+sec-error-retry-old-password = 输入的旧密码不正确。请再试一次。
+sec-error-bad-nickname = 证书昵称已经在使用。
+sec-error-not-fortezza-issuer = 对等端 FORTEZZA 链有一个非 FORTEZZA 证书。
+sec-error-cannot-move-sensitive-key = 无法将敏感密钥移动到需要的位置。
+sec-error-js-invalid-module-name = 无效的模块名称
+sec-error-js-invalid-dll = 无效的模块路径/文件名
+sec-error-js-add-mod-failure = 无法添加模块
+sec-error-js-del-mod-failure = 无法删除模块
+sec-error-old-krl = 新的密钥吊销列表(KRL)不比当前的新。
+sec-error-ckl-conflict = 新的 CKL 与当前 CKL 的颁发者不同。请删除当前的 CKL。
+sec-error-cert-not-in-name-space = 此证书的颁发机构未被准许颁发此名称的证书。
+sec-error-krl-not-yet-valid = 此证书的密钥吊销列表(KRL)尚未生效。
+sec-error-crl-not-yet-valid = 此证书的证书吊销列表尚未生效。
+sec-error-unknown-cert = 没有找到请求的证书。
+sec-error-unknown-signer = 不能找到签署器的证书。
+sec-error-cert-bad-access-location = 证书状态服务器的位置格式无效。
+sec-error-ocsp-unknown-response-type = OCSP 回应无法完全解码,未知类型。
+sec-error-ocsp-bad-http-response = OCSP 服务器返回意外/无效的 HTTP 数据。
+sec-error-ocsp-malformed-request = OCSP 服务器发现出错的或不适当结构的请求。
+sec-error-ocsp-server-error = OCSP 服务器遇到一个内部错误。
+sec-error-ocsp-try-server-later = OCSP 服务器建议稍后再次尝试。
+sec-error-ocsp-request-needs-sig = 对于此请求 OCSP 服务器需要签名。
+sec-error-ocsp-unauthorized-request = OCSP 服务器拒绝了此非法请求。
+sec-error-ocsp-unknown-response-status = OCSP 服务器返回了一个无法识别的状态。
+sec-error-ocsp-unknown-cert = OCSP 服务器没有证书的状态。
+sec-error-ocsp-not-enabled = 您在执行此操作前必须启用 OCSP。
+sec-error-ocsp-no-default-responder = 您在执行此操作前必须设置 OCSP 默认回应器。
+sec-error-ocsp-malformed-response = OCSP 服务器的响应不正确或者格式不当。
+sec-error-ocsp-unauthorized-response = OCSP 回应的签署器不被授权给予此证书的状态。
+sec-error-ocsp-future-response = OCSP 回应尚未生效(含有一个未来的日期)
+sec-error-ocsp-old-response = OCSP 回应包含过期信息。
+sec-error-digest-not-found = 在签署的消息中无法找到 CMS 或 PKCS #7 摘要。
+sec-error-unsupported-message-type = CMS 或 PKCS #7 的信息类型未经证实。
+sec-error-module-stuck = PKCS #11 模块无法删除,因为其仍在使用。
+sec-error-bad-template = 无法将 ASN.1 数据译码。给定模板无效。
+sec-error-crl-not-found = 没有找到匹配的 CRL。
+sec-error-reused-issuer-and-serial = 您正试图导入一个与已存在证书相同颁发者和序列号但却不相同的证书。
+sec-error-busy = 无法关闭 NSS,目标仍在使用。
+sec-error-extra-input = DER-编码信息包含额外的未用数据。
+sec-error-unsupported-elliptic-curve = 未经证实的椭圆曲线。
+sec-error-unsupported-ec-point-form = 未经证实的椭圆曲线点形状。
+sec-error-unrecognized-oid = 无法识别的对象标识符。
+sec-error-ocsp-invalid-signing-cert = OCSP 响应中含有无效的 OCSP 签名证书。
+sec-error-revoked-certificate-crl = 证书已在颁发者的证书吊销列表中被吊销。
+sec-error-revoked-certificate-ocsp = 颁发者的 OCSP 回应器报告证书已吊销。
+sec-error-crl-invalid-version = 颁发者的证书吊销列表含有一个未知的版本号。
+sec-error-crl-v1-critical-extension = 发行者的 V1 吊销证书列表有一个关键扩展。
+sec-error-crl-unknown-critical-extension = 发行者的 V2 吊销证书列表有一个未知的关键扩展。
+sec-error-unknown-object-type = 指定的目标类型未知。
+sec-error-incompatible-pkcs11 = PKCS #11 驱动程序在兼容方式上违反规定。
+sec-error-no-event = 目前没有新插槽事件。
+sec-error-crl-already-exists = CRL 已经存在。
+sec-error-not-initialized = NSS 没有被初始化。
+sec-error-token-not-logged-in = 由于 PKCS#1 标记没有注册,操作失败。
+sec-error-ocsp-responder-cert-invalid = 已配置的 OCSP 回应器证书无效。
+sec-error-ocsp-bad-signature = OCSP 回应中有一个无效签名。
+sec-error-out-of-search-limits = 证书验证搜索超出了搜索限制
+sec-error-invalid-policy-mapping = 策略映射包含任何策略
+sec-error-policy-validation-failed = 证书链策略验证失败
+sec-error-unknown-aia-location-type = 在证书AIA扩展中的位置类型未知
+sec-error-bad-http-response = 服务器返回错误 HTTP 响应
+sec-error-bad-ldap-response = 服务器返回错误 LDAP 响应
+sec-error-failed-to-encode-data = ASN1 编码器编码数据失败
+sec-error-bad-info-access-location = 在证书扩展中有坏的信息获取位置
+sec-error-libpkix-internal = 在证书验证过程中 Libpkix 发生了内部错误。
+sec-error-pkcs11-general-error = 一个PKCS #11模块返回了CKR_GENERAL_ERROR,这说明发生了一个不可恢复的错误。
+sec-error-pkcs11-function-failed = 一个 PKCS #11 模块返回了 CKR_FUNCTION_FAILED,这表示请求的函数未能执行。再试一次同样的操作也许会成功。
+sec-error-pkcs11-device-error = 一个PKCS #11模块返回了 CKR_DEVICE_ERROR,这表明令牌或者插槽发生了一个问题。
+sec-error-bad-info-access-method = 在认证扩展中未知的信息获取方法。
+sec-error-crl-import-failed = 尝试导入CRL时遇到错误。
+sec-error-expired-password = 密码已过期。
+sec-error-locked-password = 密码已锁定。
+sec-error-unknown-pkcs11-error = 未知的 PKCS #11 错误。
+sec-error-bad-crl-dp-url = CRL 分发点名称的 URL 无效或不支持。
+sec-error-cert-signature-algorithm-disabled = 该证书使用的签名算法已因不安全而被禁用。
+
+mozilla-pkix-error-key-pinning-failure = 此服务器使用了公钥固定(HPKP)机制,但无法构成与其固定的证书集合(pinset)匹配的可信任证书链。无法忽视对密钥固定的违反。
+mozilla-pkix-error-ca-cert-used-as-end-entity = 该服务器使用了一个使用“基本约束扩展”标识它为一个证书颁发机构的证书。对于一个正常颁发的证书,不应该是这样。
+mozilla-pkix-error-inadequate-key-size = 该服务器提供的证书密钥位数太小,不足以建立安全连接。
+mozilla-pkix-error-v1-cert-used-as-ca = 服务器的证书由非信任源(Trust Anchor)的X.509 版本 1 证书签发。X.509 版本 1 证书已弃用,不应再用来签发其他证书。
+mozilla-pkix-error-not-yet-valid-certificate = 服务器出示的证书尚未生效。
+mozilla-pkix-error-not-yet-valid-issuer-certificate = 用来签发此服务器证书的一个证书尚未生效。
+mozilla-pkix-error-signature-algorithm-mismatch = 该证书在签名字段中的签名算法与其在 signatureAlgorithm 字段的算法不匹配。
+mozilla-pkix-error-ocsp-response-for-cert-missing = 该 OCSP 响应不包括该证书被验证的状态。
+mozilla-pkix-error-validity-too-long = 服务器出示的证书有效期太长。
+mozilla-pkix-error-required-tls-feature-missing = 缺少所需的 TLS 功能。
+mozilla-pkix-error-invalid-integer-encoding = 服务器提供的证书包含无效的整数编码。常见原因包括负数序列号、负数 RSA 模数和不必要的编码。
+mozilla-pkix-error-empty-issuer-name = 服务器出示的证书有一个空的发行者专有名称。
+mozilla-pkix-error-additional-policy-constraint-failed = 验证此证书时,某个附加策略约束验证失败。
+mozilla-pkix-error-self-signed-cert = 此证书由于自签名而不被信任。
+
+xp-java-remove-principal-error = 无法移除 Principal
+xp-java-delete-privilege-error = 无法删除权限
+xp-java-cert-not-exists-error = 此 Principal 没有证书
+
+xp-sec-fortezza-bad-card = Fortezza 卡未正确初始化。请将其取出并退还给签发者。
+xp-sec-fortezza-no-card = 没有找到 Fortezza 卡
+xp-sec-fortezza-none-selected = 未选择 Fortezza 卡
+xp-sec-fortezza-more-info = 请选择一种个人设置以得到更多信息
+xp-sec-fortezza-person-not-found = 无法找到个人设置
+xp-sec-fortezza-no-more-info = 此个人设置中没有更多的信息
+xp-sec-fortezza-bad-pin = 无效的 PIN
+xp-sec-fortezza-person-error = 无法初始化 Fortezza 个人设置。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/passwordmgr/passwordmgr.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/passwordmgr/passwordmgr.ftl
new file mode 100644
index 0000000000..139d3d91f7
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/passwordmgr/passwordmgr.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Save and update password doorhanger
+
+# Variables
+# $host (String) - Hostname for which the password is saved for.
+password-manager-save-password-message = 要保存 { $host } 的密码吗?
+password-manager-save-password-button-deny =
+ .label = 暂时不要
+ .accesskey = N
+password-manager-save-password-button-allow =
+ .label = 保存
+ .accesskey = S
+password-manager-save-password-button-never =
+ .label = 永不保存
+ .accesskey = e
+# Variables
+# $host (String) - Hostname for which the password is updated for.
+password-manager-update-password-message = 要更新 { $host } 的密码吗?
+password-manager-update-password-button-delete =
+ .label = 移除保存的密码
+ .accesskey = R
+password-manager-update-login-add-username = 要将用户名添加到已存密码吗?
+password-manager-password-password-button-allow =
+ .label = 更新
+ .accesskey = U
+password-manager-update-password-button-deny =
+ .label = 不更新
+ .accesskey = D
+# This is displayed in place of the username when it is missing.
+password-manager-no-username-placeholder = 无用户名
+password-manager-toggle-password =
+ .label = 显示密码
+ .accesskey = h
+password-manager-confirm-password-change = 确认更改密码
+password-manager-select-username = 选择要更新的登录信息:
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/payments/payments.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/payments/payments.ftl
new file mode 100644
index 0000000000..f55189712f
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 到期于 { $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/zh-CN/localization/zh-CN/toolkit/pdfviewer/viewer.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/pdfviewer/viewer.ftl
new file mode 100644
index 0000000000..b204a83ee6
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/pdfviewer/viewer.ftl
@@ -0,0 +1,376 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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 = 上一页
+pdfjs-previous-button-label = 上一页
+pdfjs-next-button =
+ .title = 下一页
+pdfjs-next-button-label = 下一页
+# .title: Tooltip for the pageNumber input.
+pdfjs-page-input =
+ .title = 页面
+# 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 = / { $pagesCount }
+# Variables:
+# $pageNumber (Number) - the currently visible page
+# $pagesCount (Number) - the total number of pages in the document
+pdfjs-page-of-pages = ({ $pageNumber } / { $pagesCount })
+pdfjs-zoom-out-button =
+ .title = 缩小
+pdfjs-zoom-out-button-label = 缩小
+pdfjs-zoom-in-button =
+ .title = 放大
+pdfjs-zoom-in-button-label = 放大
+pdfjs-zoom-select =
+ .title = 缩放
+pdfjs-presentation-mode-button =
+ .title = 切换到演示模式
+pdfjs-presentation-mode-button-label = 演示模式
+pdfjs-open-file-button =
+ .title = 打开文件
+pdfjs-open-file-button-label = 打开
+pdfjs-print-button =
+ .title = 打印
+pdfjs-print-button-label = 打印
+pdfjs-save-button =
+ .title = 保存
+pdfjs-save-button-label = 保存
+# Used in Firefox for Android as a tooltip for the download button (“download” is a verb).
+pdfjs-download-button =
+ .title = 下载
+# Used in Firefox for Android as a label for the download button (“download” is a verb).
+# Length of the translation matters since we are in a mobile context, with limited screen estate.
+pdfjs-download-button-label = 下载
+pdfjs-bookmark-button =
+ .title = 当前页面(在当前页面查看 URL)
+pdfjs-bookmark-button-label = 当前页面
+# Used in Firefox for Android.
+pdfjs-open-in-app-button =
+ .title = 在应用中打开
+# 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 = 在应用中打开
+
+## Secondary toolbar and context menu
+
+pdfjs-tools-button =
+ .title = 工具
+pdfjs-tools-button-label = 工具
+pdfjs-first-page-button =
+ .title = 转到第一页
+pdfjs-first-page-button-label = 转到第一页
+pdfjs-last-page-button =
+ .title = 转到最后一页
+pdfjs-last-page-button-label = 转到最后一页
+pdfjs-page-rotate-cw-button =
+ .title = 顺时针旋转
+pdfjs-page-rotate-cw-button-label = 顺时针旋转
+pdfjs-page-rotate-ccw-button =
+ .title = 逆时针旋转
+pdfjs-page-rotate-ccw-button-label = 逆时针旋转
+pdfjs-cursor-text-select-tool-button =
+ .title = 启用文本选择工具
+pdfjs-cursor-text-select-tool-button-label = 文本选择工具
+pdfjs-cursor-hand-tool-button =
+ .title = 启用手形工具
+pdfjs-cursor-hand-tool-button-label = 手形工具
+pdfjs-scroll-page-button =
+ .title = 使用页面滚动
+pdfjs-scroll-page-button-label = 页面滚动
+pdfjs-scroll-vertical-button =
+ .title = 使用垂直滚动
+pdfjs-scroll-vertical-button-label = 垂直滚动
+pdfjs-scroll-horizontal-button =
+ .title = 使用水平滚动
+pdfjs-scroll-horizontal-button-label = 水平滚动
+pdfjs-scroll-wrapped-button =
+ .title = 使用平铺滚动
+pdfjs-scroll-wrapped-button-label = 平铺滚动
+pdfjs-spread-none-button =
+ .title = 不加入衔接页
+pdfjs-spread-none-button-label = 单页视图
+pdfjs-spread-odd-button =
+ .title = 加入衔接页使奇数页作为起始页
+pdfjs-spread-odd-button-label = 双页视图
+pdfjs-spread-even-button =
+ .title = 加入衔接页使偶数页作为起始页
+pdfjs-spread-even-button-label = 书籍视图
+
+## Document properties dialog
+
+pdfjs-document-properties-button =
+ .title = 文档属性…
+pdfjs-document-properties-button-label = 文档属性…
+pdfjs-document-properties-file-name = 文件名:
+pdfjs-document-properties-file-size = 文件大小:
+# Variables:
+# $size_kb (Number) - the PDF file size in kilobytes
+# $size_b (Number) - the PDF file size in bytes
+pdfjs-document-properties-kb = { $size_kb } KB ({ $size_b } 字节)
+# 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 } 字节)
+pdfjs-document-properties-title = 标题:
+pdfjs-document-properties-author = 作者:
+pdfjs-document-properties-subject = 主题:
+pdfjs-document-properties-keywords = 关键词:
+pdfjs-document-properties-creation-date = 创建日期:
+pdfjs-document-properties-modification-date = 修改日期:
+# Variables:
+# $date (Date) - the creation/modification date of the PDF file
+# $time (Time) - the creation/modification time of the PDF file
+pdfjs-document-properties-date-string = { $date }, { $time }
+pdfjs-document-properties-creator = 创建者:
+pdfjs-document-properties-producer = PDF 生成器:
+pdfjs-document-properties-version = PDF 版本:
+pdfjs-document-properties-page-count = 页数:
+pdfjs-document-properties-page-size = 页面大小:
+pdfjs-document-properties-page-size-unit-inches = 英寸
+pdfjs-document-properties-page-size-unit-millimeters = 毫米
+pdfjs-document-properties-page-size-orientation-portrait = 纵向
+pdfjs-document-properties-page-size-orientation-landscape = 横向
+pdfjs-document-properties-page-size-name-a-three = A3
+pdfjs-document-properties-page-size-name-a-four = A4
+pdfjs-document-properties-page-size-name-letter = Letter
+pdfjs-document-properties-page-size-name-legal = Legal
+
+## Variables:
+## $width (Number) - the width of the (current) page
+## $height (Number) - the height of the (current) page
+## $unit (String) - the unit of measurement of the (current) page
+## $name (String) - the name of the (current) page
+## $orientation (String) - the orientation of the (current) page
+
+pdfjs-document-properties-page-size-dimension-string = { $width } × { $height } { $unit }({ $orientation })
+pdfjs-document-properties-page-size-dimension-name-string = { $width } × { $height } { $unit }({ $name },{ $orientation })
+
+##
+
+# The linearization status of the document; usually called "Fast Web View" in
+# English locales of Adobe software.
+pdfjs-document-properties-linearized = 快速 Web 视图:
+pdfjs-document-properties-linearized-yes = 是
+pdfjs-document-properties-linearized-no = 否
+pdfjs-document-properties-close-button = 关闭
+
+## Print
+
+pdfjs-print-progress-message = 正在准备打印文档…
+# Variables:
+# $progress (Number) - percent value
+pdfjs-print-progress-percent = { $progress }%
+pdfjs-print-progress-close-button = 取消
+pdfjs-printing-not-supported = 警告:此浏览器尚未完整支持打印功能。
+pdfjs-printing-not-ready = 警告:此 PDF 未完成加载,无法打印。
+
+## Tooltips and alt text for side panel toolbar buttons
+
+pdfjs-toggle-sidebar-button =
+ .title = 切换侧栏
+pdfjs-toggle-sidebar-notification-button =
+ .title = 切换侧栏(文档所含的大纲/附件/图层)
+pdfjs-toggle-sidebar-button-label = 切换侧栏
+pdfjs-document-outline-button =
+ .title = 显示文档大纲(双击展开/折叠所有项)
+pdfjs-document-outline-button-label = 文档大纲
+pdfjs-attachments-button =
+ .title = 显示附件
+pdfjs-attachments-button-label = 附件
+pdfjs-layers-button =
+ .title = 显示图层(双击即可将所有图层重置为默认状态)
+pdfjs-layers-button-label = 图层
+pdfjs-thumbs-button =
+ .title = 显示缩略图
+pdfjs-thumbs-button-label = 缩略图
+pdfjs-current-outline-item-button =
+ .title = 查找当前大纲项目
+pdfjs-current-outline-item-button-label = 当前大纲项目
+pdfjs-findbar-button =
+ .title = 在文档中查找
+pdfjs-findbar-button-label = 查找
+pdfjs-additional-layers = 其他图层
+
+## Thumbnails panel item (tooltip and alt text for images)
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-title =
+ .title = 第 { $page } 页
+# Variables:
+# $page (Number) - the page number
+pdfjs-thumb-page-canvas =
+ .aria-label = 页面 { $page } 的缩略图
+
+## Find panel button title and messages
+
+pdfjs-find-input =
+ .title = 查找
+ .placeholder = 在文档中查找…
+pdfjs-find-previous-button =
+ .title = 查找词语上一次出现的位置
+pdfjs-find-previous-button-label = 上一页
+pdfjs-find-next-button =
+ .title = 查找词语后一次出现的位置
+pdfjs-find-next-button-label = 下一页
+pdfjs-find-highlight-checkbox = 全部高亮显示
+pdfjs-find-match-case-checkbox-label = 区分大小写
+pdfjs-find-match-diacritics-checkbox-label = 匹配变音符号
+pdfjs-find-entire-word-checkbox-label = 全词匹配
+pdfjs-find-reached-top = 到达文档开头,从末尾继续
+pdfjs-find-reached-bottom = 到达文档末尾,从开头继续
+# Variables:
+# $current (Number) - the index of the currently active find result
+# $total (Number) - the total number of matches in the document
+pdfjs-find-match-count = 第 { $current } 项,共找到 { $total } 个匹配项
+# Variables:
+# $limit (Number) - the maximum number of matches
+pdfjs-find-match-count-limit = 匹配超过 { $limit } 项
+pdfjs-find-not-found = 找不到指定词语
+
+## Predefined zoom values
+
+pdfjs-page-scale-width = 适合页宽
+pdfjs-page-scale-fit = 适合页面
+pdfjs-page-scale-auto = 自动缩放
+pdfjs-page-scale-actual = 实际大小
+# Variables:
+# $scale (Number) - percent value for page scale
+pdfjs-page-scale-percent = { $scale }%
+
+## PDF page
+
+# Variables:
+# $page (Number) - the page number
+pdfjs-page-landmark =
+ .aria-label = 第 { $page } 页
+
+## Loading indicator messages
+
+pdfjs-loading-error = 加载 PDF 时发生错误。
+pdfjs-invalid-file-error = 无效或损坏的 PDF 文件。
+pdfjs-missing-file-error = 缺少 PDF 文件。
+pdfjs-unexpected-response-error = 意外的服务器响应。
+pdfjs-rendering-error = 渲染页面时发生错误。
+
+## 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 } 注释]
+
+## Password
+
+pdfjs-password-label = 输入密码以打开此 PDF 文件。
+pdfjs-password-invalid = 密码无效。请重试。
+pdfjs-password-ok-button = 确定
+pdfjs-password-cancel-button = 取消
+pdfjs-web-fonts-disabled = Web 字体已被禁用:无法使用嵌入的 PDF 字体。
+
+## Editing
+
+pdfjs-editor-free-text-button =
+ .title = 文本
+pdfjs-editor-free-text-button-label = 文本
+pdfjs-editor-ink-button =
+ .title = 绘图
+pdfjs-editor-ink-button-label = 绘图
+pdfjs-editor-stamp-button =
+ .title = 添加或编辑图像
+pdfjs-editor-stamp-button-label = 添加或编辑图像
+pdfjs-editor-remove-button =
+ .title = 移除
+
+## Remove button for the various kind of editor.
+
+pdfjs-editor-remove-ink-button =
+ .title = 移除绘图
+pdfjs-editor-remove-freetext-button =
+ .title = 移除文本
+pdfjs-editor-remove-stamp-button =
+ .title = 移除图像
+pdfjs-editor-remove-highlight-button =
+ .title = 移除高亮
+
+##
+
+# Editor Parameters
+pdfjs-editor-free-text-color-input = 颜色
+pdfjs-editor-free-text-size-input = 字号
+pdfjs-editor-ink-color-input = 颜色
+pdfjs-editor-ink-thickness-input = 粗细
+pdfjs-editor-ink-opacity-input = 不透明度
+pdfjs-editor-stamp-add-image-button =
+ .title = 添加图像
+pdfjs-editor-stamp-add-image-button-label = 添加图像
+pdfjs-free-text =
+ .aria-label = 文本编辑器
+pdfjs-free-text-default-content = 开始输入…
+pdfjs-ink =
+ .aria-label = 绘图编辑器
+pdfjs-ink-canvas =
+ .aria-label = 用户创建图像
+
+## Alt-text dialog
+
+# Alternative text (alt text) helps when people can't see the image.
+pdfjs-editor-alt-text-button-label = 替换文字
+pdfjs-editor-alt-text-edit-button-label = 编辑替换文字
+pdfjs-editor-alt-text-dialog-label = 选择一项
+pdfjs-editor-alt-text-dialog-description = 替换文字可在用户无法看到或加载图像时,描述其内容。
+pdfjs-editor-alt-text-add-description-label = 添加描述
+pdfjs-editor-alt-text-add-description-description = 描述主题、背景或动作,长度尽量控制在两句话内。
+pdfjs-editor-alt-text-mark-decorative-label = 标记为装饰
+pdfjs-editor-alt-text-mark-decorative-description = 用于装饰的图像,例如边框和水印。
+pdfjs-editor-alt-text-cancel-button = 取消
+pdfjs-editor-alt-text-save-button = 保存
+pdfjs-editor-alt-text-decorative-tooltip = 已标记为装饰
+# .placeholder: This is a placeholder for the alt text input area
+pdfjs-editor-alt-text-textarea =
+ .placeholder = 例如:一个少年坐到桌前,准备吃饭
+
+## Editor resizers
+## This is used in an aria label to help to understand the role of the resizer.
+
+pdfjs-editor-resizer-label-top-left = 调整尺寸 - 左上角
+pdfjs-editor-resizer-label-top-middle = 调整尺寸 - 顶部中间
+pdfjs-editor-resizer-label-top-right = 调整尺寸 - 右上角
+pdfjs-editor-resizer-label-middle-right = 调整尺寸 - 右侧中间
+pdfjs-editor-resizer-label-bottom-right = 调整尺寸 - 右下角
+pdfjs-editor-resizer-label-bottom-middle = 调整大小 - 底部中间
+pdfjs-editor-resizer-label-bottom-left = 调整尺寸 - 左下角
+pdfjs-editor-resizer-label-middle-left = 调整尺寸 - 左侧中间
+
+## Color picker
+
+# This means "Color used to highlight text"
+pdfjs-editor-highlight-colorpicker-label = 高亮色
+pdfjs-editor-colorpicker-button =
+ .title = 更改颜色
+pdfjs-editor-colorpicker-dropdown =
+ .aria-label = 颜色选择
+pdfjs-editor-colorpicker-yellow =
+ .title = 黄色
+pdfjs-editor-colorpicker-green =
+ .title = 绿色
+pdfjs-editor-colorpicker-blue =
+ .title = 蓝色
+pdfjs-editor-colorpicker-pink =
+ .title = 粉色
+pdfjs-editor-colorpicker-red =
+ .title = 红色
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/pictureinpicture/pictureinpicture.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/pictureinpicture/pictureinpicture.ftl
new file mode 100644
index 0000000000..4dc642bbd4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/pictureinpicture/pictureinpicture.ftl
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+pictureinpicture-player-title = 画中画
+
+## 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 = 暂停
+ .tooltip = 暂停(空格键)
+pictureinpicture-play-btn =
+ .aria-label = 播放
+ .tooltip = 播放(空格键)
+
+pictureinpicture-mute-btn =
+ .aria-label = 静音
+ .tooltip = 静音({ $shortcut })
+pictureinpicture-unmute-btn =
+ .aria-label = 取消静音
+ .tooltip = 取消静音({ $shortcut })
+
+pictureinpicture-unpip-btn =
+ .aria-label = 切回标签页
+ .tooltip = 切回标签页
+
+pictureinpicture-close-btn =
+ .aria-label = 关闭
+ .tooltip = 关闭({ $shortcut })
+
+pictureinpicture-subtitles-btn =
+ .aria-label = 字幕
+ .tooltip = 字幕
+
+pictureinpicture-fullscreen-btn2 =
+ .aria-label = 全屏
+ .tooltip = 全屏(双击或按 { $shortcut } 键)
+
+pictureinpicture-exit-fullscreen-btn2 =
+ .aria-label = 退出全屏
+ .tooltip = 退出全屏(双击或按 { $shortcut } 键)
+
+##
+
+# Keyboard shortcut to toggle fullscreen mode when Picture-in-Picture is open.
+pictureinpicture-toggle-fullscreen-shortcut =
+ .key = F
+
+## Note that this uses .tooltip rather than the standard '.title'
+## or '.tooltiptext' - but it has the same effect. Code in the
+## picture-in-picture window will read and copy this to an in-document
+## DOM node that then shows the tooltip.
+
+pictureinpicture-seekbackward-btn =
+ .aria-label = 快退
+ .tooltip = 快退(←)
+
+pictureinpicture-seekforward-btn =
+ .aria-label = 快进
+ .tooltip = 快进(→)
+
+##
+
+# 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 = 字幕设置
+
+pictureinpicture-subtitles-label = 字幕
+
+pictureinpicture-font-size-label = 字号
+
+pictureinpicture-font-size-small = 小
+
+pictureinpicture-font-size-medium = 中
+
+pictureinpicture-font-size-large = 大
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/preferences/preferences.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/preferences/preferences.ftl
new file mode 100644
index 0000000000..9857156727
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = (未设定)
+
+failed-pp-change = 无法更改主密码。
+incorrect-pp = 您未输入正确的主密码,请重试。
+pp-change-ok = 已成功更改主密码。
+
+settings-pp-erased-ok = 您已删除主密码。由 { -brand-short-name } 管理的密码和证书私钥将不再受到保护。
+settings-pp-not-wanted = 警告!您决定不使用主密码。由 { -brand-short-name } 管理的密码和证书私钥将不受保护。
+
+pp-change2empty-in-fips-mode = 您正处于 FIPS 模式。该模式需要一个非空的主密码。
+pw-change-success-title = 密码修改成功
+pw-change-failed-title = 密码修改失败
+pw-remove-button =
+ .label = 移除
+
+primary-password-dialog =
+ .title = 主密码
+set-password-old-password = 当前密码:
+set-password-new-password = 请输入新的密码:
+set-password-reenter-password = 重新输入密码:
+set-password-meter = 密码强度
+set-password-meter-loading = 正在加载
+primary-password-admin = 您的管理员要求设置“主密码”才可保存账号和密码。
+primary-password-description = 主密码用于保护敏感信息(如登录信息和密码)。创建主密码后, { -brand-short-name } 每次检索被该密码保护的信息前都将要求您再次输入主密码。
+primary-password-warning = 请您一定要记住刚才设置的主密码。如果您忘记了主密码,您将再也不能访问此设备上所有被主密码保护的信息。
+
+remove-primary-password =
+ .title = 移除主密码
+remove-info =
+ .value = 您必须输入您的当前密码才能继续操作:
+remove-primary-password-warning1 = 主密码用于保护您的敏感信息(如网站账号和密码)。
+remove-primary-password-warning2 = 如果您移除您的主密码,当他人取得您的计算机时将可以窃取您的信息。
+remove-password-old-password =
+ .value = 当前密码:
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printDialogs.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printDialogs.ftl
new file mode 100644
index 0000000000..fbc2c33d40
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printDialogs.ftl
@@ -0,0 +1,112 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+print-setup =
+ .title = 页面设置
+custom-prompt-title = 自定义…
+custom-prompt-prompt = 请输入自定义的页眉/页脚文字
+basic-tab =
+ .label = 格式和选项
+advanced-tab =
+ .label = 页边距和页眉/页脚
+format-group-label =
+ .value = 格式
+orientation-label =
+ .value = 方向:
+portrait =
+ .label = 纵向
+ .accesskey = P
+landscape =
+ .label = 横向
+ .accesskey = L
+scale =
+ .label = 比例:
+ .accesskey = S
+scale-percent =
+ .value = %
+shrink-to-fit =
+ .label = 缩放以适应页面宽度
+ .accesskey = W
+options-group-label =
+ .value = 选项
+print-bg =
+ .label = 打印背景(颜色和图片)
+ .accesskey = B
+margin-group-label-inches =
+ .value = 页边距 (英寸)
+margin-group-label-metric =
+ .value = 页边距 (毫米)
+margin-top =
+ .value = 顶:
+ .accesskey = T
+margin-top-invisible =
+ .value = 顶:
+margin-bottom =
+ .value = 底:
+ .accesskey = B
+margin-bottom-invisible =
+ .value = 底:
+margin-left =
+ .value = 左:
+ .accesskey = L
+margin-left-invisible =
+ .value = 左:
+margin-right =
+ .value = 右:
+ .accesskey = R
+margin-right-invisible =
+ .value = 右:
+header-footer-label =
+ .value = 页眉和页脚
+hf-left-label =
+ .value = 左:
+hf-center-label =
+ .value = 中:
+hf-right-label =
+ .value = 右:
+header-left-tip =
+ .tooltiptext = 左页眉
+header-center-tip =
+ .tooltiptext = 中心页眉
+header-right-tip =
+ .tooltiptext = 右页眉
+footer-left-tip =
+ .tooltiptext = 左页脚
+footer-center-tip =
+ .tooltiptext = 中心页脚
+footer-right-tip =
+ .tooltiptext = 右页脚
+hf-blank =
+ .label = --空白--
+hf-title =
+ .label = 标题
+hf-url =
+ .label = URL
+hf-date-and-time =
+ .label = 日期/时间
+hf-page =
+ .label = 第 # 页
+hf-page-and-total =
+ .label = 第 # 页,共 # 页
+hf-custom =
+ .label = 自定义…
+print-preview-window =
+ .title = 打印预览
+print-title =
+ .value = 标题:
+print-preparing =
+ .value = 准备…
+print-progress =
+ .value = 进度:
+print-window =
+ .title = 正在打印
+print-complete =
+ .value = 打印完成。
+
+# Variables
+# $percent (integer) - Number of printed percentage
+print-percent =
+ .value = { $percent }%
+dialog-cancel-label = 取消
+dialog-close-label = 关闭
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printPreview.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printPreview.ftl
new file mode 100644
index 0000000000..7920f7dad8
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 简化页面
+ .accesskey = i
+ .tooltiptext = 此网页不能被自动简化
+printpreview-simplify-page-checkbox-enabled =
+ .label = { printpreview-simplify-page-checkbox.label }
+ .accesskey = { printpreview-simplify-page-checkbox.accesskey }
+ .tooltiptext = 更改便于阅读的布局
+printpreview-close =
+ .label = 关闭
+ .accesskey = C
+printpreview-portrait =
+ .label = 纵向
+ .accesskey = o
+printpreview-landscape =
+ .label = 横向
+ .accesskey = L
+printpreview-scale =
+ .value = 比例:
+ .accesskey = S
+printpreview-shrink-to-fit =
+ .label = 调整到适合
+printpreview-custom =
+ .label = 自定义…
+printpreview-print =
+ .label = 打印…
+ .accesskey = P
+printpreview-of =
+ .value = 页 共
+printpreview-custom-scale-prompt-title = 自定义比例
+printpreview-page-setup =
+ .label = 页面设置…
+ .accesskey = u
+printpreview-page =
+ .value = 第
+ .accesskey = a
+
+# Variables
+# $sheetNum (integer) - The current sheet number
+# $sheetCount (integer) - The total number of sheets to print
+printpreview-sheet-of-sheets = 第 { $sheetNum } 页,共 { $sheetCount } 页
+
+## Variables
+## $percent (integer) - menuitem percent label
+## $arrow (String) - UTF-8 arrow character for navigation buttons
+
+printpreview-percentage-value =
+ .label = { $percent }%
+printpreview-homearrow =
+ .label = { $arrow }
+ .tooltiptext = 第一页
+printpreview-previousarrow =
+ .label = { $arrow }
+ .tooltiptext = 上一页
+printpreview-nextarrow =
+ .label = { $arrow }
+ .tooltiptext = 下一页
+printpreview-endarrow =
+ .label = { $arrow }
+ .tooltiptext = 末页
+
+printpreview-homearrow-button =
+ .title = 首页
+printpreview-previousarrow-button =
+ .title = 上一页
+printpreview-nextarrow-button =
+ .title = 下一页
+printpreview-endarrow-button =
+ .title = 尾页
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printUI.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printUI.ftl
new file mode 100644
index 0000000000..8aecb5182c
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/printing/printUI.ftl
@@ -0,0 +1,129 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+printui-title = 打印
+# Dialog title to prompt the user for a filename to save print to PDF.
+printui-save-to-pdf-title = 另存为
+# Variables
+# $sheetCount (integer) - Number of paper sheets
+printui-sheets-count =
+ { $sheetCount ->
+ *[other] { $sheetCount } 张纸
+ }
+printui-page-range-all = 全部
+printui-page-range-current = 当前
+printui-page-range-odd = 奇数页
+printui-page-range-even = 偶数页
+printui-page-range-custom = 自定义
+printui-page-range-label = 页面
+printui-page-range-picker =
+ .aria-label = 选择页面范围
+printui-page-custom-range-input =
+ .aria-label = 输入自定义页面范围
+ .placeholder = 如:2-6、9、12-16
+# Section title for the number of copies to print
+printui-copies-label = 份数
+printui-orientation = 方向
+printui-landscape = 横向
+printui-portrait = 纵向
+# Section title for the printer or destination device to target
+printui-destination-label = 打印机
+printui-destination-pdf-label = 另存为 PDF
+printui-more-settings = 更多设置
+printui-less-settings = 更少设置
+printui-paper-size-label = 纸张大小
+# Section title (noun) for the print scaling options
+printui-scale = 缩放
+printui-scale-fit-to-page-width = 自适应页面宽度
+# Label for input control where user can set the scale percentage
+printui-scale-pcent = 缩放比例
+# Section title (noun) for the two-sided print options
+printui-two-sided-printing = 双面打印
+printui-two-sided-printing-off = 关
+# Flip the sheet as if it were bound along its long edge.
+printui-two-sided-printing-long-edge = 长边翻转
+# Flip the sheet as if it were bound along its short edge.
+printui-two-sided-printing-short-edge = 短边翻转
+# Section title for miscellaneous print options
+printui-options = 选项
+printui-headers-footers-checkbox = 打印页眉和页脚
+printui-backgrounds-checkbox = 打印背景
+
+## 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 = 格式
+# Option for printing the original page.
+printui-source-radio = 原始页面
+# Option for printing just the content a user selected prior to printing.
+printui-selection-radio = 所选文本
+# Option for "simplifying" the page by printing the Reader View version.
+printui-simplify-page-radio = 简化版本
+
+##
+
+printui-color-mode-label = 色彩模式
+printui-color-mode-color = 彩色
+printui-color-mode-bw = 黑白
+printui-margins = 边距
+printui-margins-default = 默认
+printui-margins-min = 最小
+printui-margins-none = 无
+printui-margins-custom-inches = 自定义(英寸)
+printui-margins-custom-mm = 自定义(毫米)
+printui-margins-custom-top = 上
+printui-margins-custom-top-inches = 上(英寸)
+printui-margins-custom-top-mm = 上(毫米)
+printui-margins-custom-bottom = 下
+printui-margins-custom-bottom-inches = 下(英寸)
+printui-margins-custom-bottom-mm = 下(毫米)
+printui-margins-custom-left = 左
+printui-margins-custom-left-inches = 左(英寸)
+printui-margins-custom-left-mm = 左(毫米)
+printui-margins-custom-right = 右
+printui-margins-custom-right-inches = 右(英寸)
+printui-margins-custom-right-mm = 右(毫米)
+printui-system-dialog-link = 使用系统对话框打印...
+printui-primary-button = 打印
+printui-primary-button-save = 保存
+printui-cancel-button = 取消
+printui-close-button = 关闭
+printui-loading = 正在准备预览
+# Reported by screen readers and other accessibility tools to indicate that
+# the print preview has focus.
+printui-preview-label =
+ .aria-label = 打印预览
+printui-pages-per-sheet = 每张纸打印的页数
+# This is shown next to the Print button with an indefinite loading spinner
+# when the user prints a page and it is being sent to the printer.
+printui-print-progress-indicator = 正在打印...
+printui-print-progress-indicator-saving = 正在保存…
+
+## Paper sizes that may be supported by the Save to PDF destination:
+
+printui-paper-a5 = A5
+printui-paper-a4 = A4
+printui-paper-a3 = A3
+printui-paper-a2 = A2
+printui-paper-a1 = A1
+printui-paper-a0 = A0
+printui-paper-b5 = B5
+printui-paper-b4 = B4
+printui-paper-jis-b5 = JIS-B5
+printui-paper-jis-b4 = JIS-B4
+printui-paper-letter = US Letter
+printui-paper-legal = US Legal
+printui-paper-tabloid = Tabloid
+
+## Error messages shown when a user has an invalid input
+
+printui-error-invalid-scale = 缩放比例须在 10 到 200 之间。
+printui-error-invalid-margin = 请输入所选纸张大小的有效边距。
+printui-error-invalid-copies = 副本数须为1到 10000 之间的数字。
+# Variables
+# $numPages (integer) - Number of pages
+printui-error-invalid-range = 打印范围须在第 1 页到第 { $numPages } 页之间。
+printui-error-invalid-start-overflow = 起始页码须小于终止页码。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/reportBrokenSite/reportBrokenSite.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/reportBrokenSite/reportBrokenSite.ftl
new file mode 100644
index 0000000000..6fbe8159b2
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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/zh-CN/localization/zh-CN/toolkit/updates/backgroundupdate.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/backgroundupdate.ftl
new file mode 100644
index 0000000000..be3063f5eb
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 当 { -brand-short-name } 未运行时,“后台更新(Background Update)”任务会检查 { -brand-short-name } 是否存在更新。该任务由 { -brand-short-name } 自动安装,且会在运行 { -brand-short-name } 时重新安装。若要禁用此任务,请更改浏览器设置,或调整 { -brand-short-name } 企业策略设置“BackgroundAppUpdate”。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/elevation.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/elevation.ftl
new file mode 100644
index 0000000000..d15f6ffcda
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/elevation.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+# This is temporary until bug 1521632 is fixed
+
+elevation-update-wizard =
+ .title = 软件更新
+elevation-details-link-label =
+ .value = 详细信息
+elevation-error-manual = 您可以访问此链接手动下载和更新最新版本的 { -brand-short-name }:
+elevation-finished-page = 更新已可安装
+elevation-finished-background-page = 已下载一个 { -brand-short-name } 的安全、稳定性更新,现在就可以安装。
+elevation-finished-background = 更新:
+elevation-more-elevated = 此更新需要管理员权限。此更新将在下次 { -brand-short-name } 启动时安装。您可以立即重启 { -brand-short-name },也可以继续工作并在稍后重启,也可拒绝此次更新。
diff --git a/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/history.ftl b/thunderbird-l10n/zh-CN/localization/zh-CN/toolkit/updates/history.ftl
new file mode 100644
index 0000000000..4c88eed0d0
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/localization/zh-CN/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 = 更新历史
+history-intro = 以下更新已被安装
+
+close-button-label =
+ .buttonlabelcancel = 关闭
+ .title = 更新历史
+
+no-updates-label = 还没有安装过更新
+name-header = 更新名称
+date-header = 安装日期
+type-header = 类型
+state-header = 状态
+
+# Used to display update history
+#
+# Variables:
+# $name (String): name of the update
+# $buildID (String): build identifier from the local updates.xml
+update-full-build-name = { $name } ({ $buildID })
+
+update-details = 详细信息
+
+update-installed-on = 安装时间: { $date }
+
+update-status = 状态: { $status }
diff --git a/thunderbird-l10n/zh-CN/manifest.json b/thunderbird-l10n/zh-CN/manifest.json
new file mode 100644
index 0000000000..96454c72e4
--- /dev/null
+++ b/thunderbird-l10n/zh-CN/manifest.json
@@ -0,0 +1,56 @@
+{
+ "langpack_id": "zh-CN",
+ "manifest_version": 2,
+ "browser_specific_settings": {
+ "gecko": {
+ "id": "langpack-zh-CN@thunderbird.mozilla.org",
+ "strict_min_version": "115.0",
+ "strict_max_version": "115.*"
+ }
+ },
+ "name": "Language: 简体中文 (Simplified Chinese)",
+ "description": "Thunderbird Language Pack for 简体中文 (zh-CN) – Simplified Chinese",
+ "version": "115.7.20240119.95007",
+ "languages": {
+ "zh-CN": {
+ "version": "20240119104806",
+ "chrome_resources": {
+ "alerts": "chrome/zh-CN/locale/zh-CN/alerts/",
+ "autoconfig": "chrome/zh-CN/locale/zh-CN/autoconfig/",
+ "branding": "chrome/zh-CN/locale/branding/",
+ "calendar": "chrome/zh-CN/locale/zh-CN/calendar/",
+ "chat": "chrome/zh-CN/locale/zh-CN/chat/",
+ "communicator": "chrome/zh-CN/locale/zh-CN/communicator/",
+ "devtools": "chrome/zh-CN/locale/zh-CN/devtools/client/",
+ "devtools-shared": "chrome/zh-CN/locale/zh-CN/devtools/shared/",
+ "global": "chrome/zh-CN/locale/zh-CN/global/",
+ "global-platform": {
+ "macosx": "chrome/zh-CN/locale/zh-CN/global-platform/mac/",
+ "linux": "chrome/zh-CN/locale/zh-CN/global-platform/unix/",
+ "android": "chrome/zh-CN/locale/zh-CN/global-platform/unix/",
+ "win": "chrome/zh-CN/locale/zh-CN/global-platform/win/"
+ },
+ "lightning": "chrome/zh-CN/locale/zh-CN/lightning/",
+ "messenger": "chrome/zh-CN/locale/zh-CN/messenger/",
+ "messenger-mapi": "chrome/zh-CN/locale/zh-CN/messenger-mapi/",
+ "messenger-newsblog": "chrome/zh-CN/locale/zh-CN/messenger-newsblog/",
+ "messenger-region": "chrome/zh-CN/locale/zh-CN/messenger-region/",
+ "messenger-smime": "chrome/zh-CN/locale/zh-CN/messenger-smime/",
+ "mozapps": "chrome/zh-CN/locale/zh-CN/mozapps/",
+ "mozldap": "chrome/zh-CN/locale/zh-CN/mozldap/",
+ "necko": "chrome/zh-CN/locale/zh-CN/necko/",
+ "passwordmgr": "chrome/zh-CN/locale/zh-CN/passwordmgr/",
+ "pdf.js": "chrome/zh-CN/locale/pdfviewer/",
+ "pipnss": "chrome/zh-CN/locale/zh-CN/pipnss/",
+ "pippki": "chrome/zh-CN/locale/zh-CN/pippki/",
+ "places": "chrome/zh-CN/locale/zh-CN/places/"
+ }
+ }
+ },
+ "sources": {
+ "browser": {
+ "base_path": "browser/"
+ }
+ },
+ "author": "mozilla.org (contributors: Wen Shaohua)"
+}