summaryrefslogtreecommitdiffstats
path: root/thunderbird-l10n/zh-CN/chrome
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/chrome
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/chrome')
-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
305 files changed, 24519 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