From 0c014cc652ffb27a2084da67c2b1de0cf8f11363 Mon Sep 17 00:00:00 2001
From: Mike Hommey
Date: Tue, 7 Apr 2020 23:54:16 +0100
Subject: [PATCH] Import firefox-esr_68.7.0esr.orig-l10n-zh-CN.tar.bz2
[dgit import orig firefox-esr_68.7.0esr.orig-l10n-zh-CN.tar.bz2]
---
browser/branding/official/brand.dtd | 13 +
browser/branding/official/brand.ftl | 23 +
browser/branding/official/brand.properties | 14 +
browser/browser/aboutCertError.ftl | 50 +
browser/browser/aboutConfig.ftl | 38 +
browser/browser/aboutDialog.ftl | 45 +
browser/browser/aboutPolicies.ftl | 14 +
browser/browser/aboutPrivateBrowsing.ftl | 28 +
browser/browser/aboutRestartRequired.ftl | 10 +
browser/browser/aboutRobots.ftl | 29 +
browser/browser/aboutSessionRestore.ftl | 40 +
browser/browser/aboutTabCrashed.ftl | 24 +
browser/browser/appMenuNotifications.ftl | 49 +
browser/browser/branding/brandings.ftl | 15 +
browser/browser/branding/sync-brand.ftl | 11 +
browser/browser/customizeMode.ftl | 45 +
browser/browser/newInstallPage.ftl | 28 +
browser/browser/newtab/asrouter.ftl | 62 +
browser/browser/newtab/onboarding.ftl | 132 +
browser/browser/pageInfo.ftl | 231 ++
browser/browser/panicButton.ftl | 31 +
.../policies/policies-descriptions.ftl | 88 +
.../preferences/applicationManager.ftl | 23 +
browser/browser/preferences/blocklists.ftl | 35 +
browser/browser/preferences/clearSiteData.ftl | 50 +
browser/browser/preferences/colors.ftl | 37 +
browser/browser/preferences/connection.ftl | 90 +
browser/browser/preferences/containers.ftl | 84 +
browser/browser/preferences/fonts.ftl | 149 +
browser/browser/preferences/fxaPairDevice.ftl | 11 +
browser/browser/preferences/languages.ftl | 55 +
browser/browser/preferences/permissions.ftl | 151 +
browser/browser/preferences/preferences.ftl | 878 ++++++
.../browser/preferences/selectBookmark.ftl | 8 +
.../browser/preferences/siteDataSettings.ftl | 57 +
.../browser/preferences/syncDisconnect.ftl | 29 +
browser/browser/preferences/translation.ftl | 30 +
browser/browser/safeMode.ftl | 16 +
browser/browser/safebrowsing/blockedSite.ftl | 30 +
browser/browser/sanitize.ftl | 86 +
browser/browser/syncedTabs.ftl | 39 +
browser/browser/tabContextMenu.ftl | 70 +
browser/browser/toolbarContextMenu.ftl | 22 +
browser/browser/touchbar/touchbar.ftl | 20 +
.../chrome/browser-region/region.properties | 24 +
.../chrome/browser/aboutPrivateBrowsing.dtd | 43 +
browser/chrome/browser/aboutRobots.dtd | 29 +
browser/chrome/browser/aboutTabCrashed.dtd | 32 +
browser/chrome/browser/accounts.properties | 108 +
.../browser/activity-stream/newtab.properties | 215 ++
.../browser/app-extension-fields.properties | 12 +
browser/chrome/browser/baseMenuOverlay.dtd | 51 +
browser/chrome/browser/browser.dtd | 1193 ++++++++
browser/chrome/browser/browser.properties | 1118 ++++++++
.../customizableWidgets.properties | 106 +
.../chrome/browser/downloads/downloads.dtd | 174 ++
.../browser/downloads/downloads.properties | 118 +
.../chrome/browser/feeds/subscribe.properties | 57 +
.../browser/lightweightThemes.properties | 12 +
.../chrome/browser/migration/migration.dtd | 50 +
.../browser/migration/migration.properties | 89 +
browser/chrome/browser/newInstall.dtd | 15 +
browser/chrome/browser/pageInfo.dtd | 78 +
browser/chrome/browser/pageInfo.properties | 68 +
.../places/bookmarkProperties.properties | 19 +
.../browser/places/editBookmarkOverlay.dtd | 28 +
browser/chrome/browser/places/places.dtd | 115 +
.../chrome/browser/places/places.properties | 102 +
browser/chrome/browser/pocket.properties | 43 +
.../preferences/preferences.properties | 36 +
.../chrome/browser/preferences/security.dtd | 42 +
.../phishing-afterload-warning-message.dtd | 65 +
.../browser/safebrowsing/report-phishing.dtd | 13 +
.../safebrowsing/safebrowsing.properties | 6 +
browser/chrome/browser/search.properties | 73 +
.../chrome/browser/setDesktopBackground.dtd | 21 +
.../chrome/browser/shellservice.properties | 31 +
browser/chrome/browser/siteData.properties | 8 +
.../chrome/browser/sitePermissions.properties | 51 +
browser/chrome/browser/syncBrand.dtd | 7 +
browser/chrome/browser/syncSetup.properties | 14 +
browser/chrome/browser/tabbrowser.properties | 132 +
browser/chrome/browser/taskbar.properties | 12 +
browser/chrome/browser/translation.dtd | 75 +
browser/chrome/browser/translation.properties | 12 +
browser/chrome/browser/uiDensity.properties | 5 +
.../chrome/browser/webrtcIndicator.properties | 61 +
.../chrome/overrides/appstrings.properties | 44 +
browser/chrome/overrides/netError.dtd | 205 ++
browser/chrome/overrides/settingsChange.dtd | 7 +
.../crashreporter/crashreporter-override.ini | 9 +
browser/defines.inc | 12 +
.../formautofill/formautofill.properties | 211 ++
.../extensions/fxmonitor/fxmonitor.properties | 45 +
.../report-site-issue/webcompat.properties | 10 +
.../webcompat-reporter/webcompat.properties | 10 +
browser/firefox-l10n.js | 7 +
browser/installer/custom.properties | 87 +
browser/installer/mui.properties | 61 +
browser/installer/nsisstrings.properties | 63 +
browser/installer/override.properties | 86 +
browser/pdfviewer/chrome.properties | 19 +
browser/pdfviewer/viewer.properties | 246 ++
browser/profile/bookmarks.inc | 72 +
browser/updater/updater.ini | 10 +
calendar/README.txt | 3 +
.../calendar/calendar-alarms.properties | 39 +
...calendar-event-dialog-attendees.properties | 15 +
.../chrome/calendar/calendar-event-dialog.dtd | 433 +++
.../calendar/calendar-event-dialog.properties | 541 ++++
.../calendar/calendar-extract.properties | 294 ++
.../calendar/calendar-invitations-dialog.dtd | 19 +
.../calendar-invitations-dialog.properties | 10 +
.../calendar/calendar-occurrence-prompt.dtd | 7 +
.../calendar-occurrence-prompt.properties | 63 +
.../calendar-subscriptions-dialog.dtd | 14 +
calendar/chrome/calendar/calendar.dtd | 409 +++
calendar/chrome/calendar/calendar.properties | 806 ++++++
calendar/chrome/calendar/calendarCreation.dtd | 51 +
.../calendar/calendarCreation.properties | 6 +
.../chrome/calendar/categories.properties | 7 +
.../chrome/calendar/dateFormat.properties | 146 +
.../calendar-event-dialog-reminder.dtd | 19 +
calendar/chrome/calendar/global.dtd | 54 +
calendar/chrome/calendar/menuOverlay.dtd | 50 +
calendar/chrome/calendar/migration.dtd | 9 +
calendar/chrome/calendar/migration.properties | 13 +
.../chrome/calendar/preferences/alarms.dtd | 38 +
.../calendar/preferences/categories.dtd | 24 +
.../chrome/calendar/preferences/general.dtd | 51 +
.../calendar/preferences/preferences.dtd | 8 +
.../chrome/calendar/preferences/views.dtd | 41 +
.../chrome/calendar/provider-uninstall.dtd | 12 +
.../calendar/providers/gdata/amo.properties | 21 +
.../chrome/calendar/providers/gdata/gdata.dtd | 22 +
.../calendar/providers/gdata/gdata.properties | 57 +
.../calendar/providers/wcap/wcap.properties | 23 +
calendar/chrome/calendar/timezones.properties | 485 ++++
.../chrome/lightning/lightning-toolbar.dtd | 51 +
calendar/chrome/lightning/lightning.dtd | 111 +
.../chrome/lightning/lightning.properties | 229 ++
calendar/lightning-l10n.js | 23 +
chat/accounts.dtd | 41 +
chat/accounts.properties | 9 +
chat/commands.properties | 27 +
chat/contacts.properties | 8 +
chat/conversations.properties | 80 +
chat/dateFormat.properties | 62 +
chat/facebook.properties | 6 +
chat/imtooltip.properties | 7 +
chat/irc.properties | 209 ++
chat/logger.properties | 7 +
chat/matrix.properties | 17 +
chat/skype.properties | 14 +
chat/status.properties | 23 +
chat/twitter.properties | 120 +
chat/xmpp.properties | 276 ++
chat/yahoo.properties | 5 +
devtools/client/VariablesView.dtd | 12 +
devtools/client/aboutdebugging.dtd | 5 +
devtools/client/aboutdebugging.ftl | 306 ++
devtools/client/aboutdebugging.properties | 214 ++
devtools/client/accessibility.properties | 221 ++
devtools/client/animationinspector.properties | 220 ++
devtools/client/app-manager.properties | 29 +
devtools/client/application.ftl | 71 +
devtools/client/boxmodel.properties | 38 +
devtools/client/canvasdebugger.dtd | 45 +
devtools/client/canvasdebugger.properties | 70 +
devtools/client/changes.properties | 64 +
devtools/client/components.properties | 19 +
devtools/client/connection-screen.dtd | 30 +
devtools/client/connection-screen.properties | 9 +
devtools/client/debugger.properties | 1139 ++++++++
devtools/client/device.properties | 20 +
devtools/client/dom.properties | 19 +
devtools/client/filterwidget.properties | 59 +
devtools/client/font-inspector.properties | 69 +
devtools/client/graphs.properties | 24 +
devtools/client/har.properties | 22 +
devtools/client/inspector.properties | 498 ++++
devtools/client/jit-optimizations.properties | 35 +
devtools/client/jsonview.properties | 52 +
devtools/client/layout.properties | 128 +
devtools/client/markers.properties | 173 ++
devtools/client/memory.properties | 446 +++
devtools/client/menus.properties | 68 +
devtools/client/netmonitor.properties | 1246 ++++++++
devtools/client/network-throttling.properties | 18 +
devtools/client/performance.dtd | 137 +
devtools/client/performance.properties | 163 ++
devtools/client/responsive.properties | 174 ++
devtools/client/scratchpad.dtd | 155 +
devtools/client/scratchpad.properties | 105 +
devtools/client/shadereditor.dtd | 32 +
devtools/client/shadereditor.properties | 22 +
devtools/client/shared.properties | 11 +
devtools/client/sourceeditor.dtd | 19 +
devtools/client/sourceeditor.properties | 139 +
devtools/client/startup.properties | 340 +++
devtools/client/storage.dtd | 17 +
devtools/client/storage.properties | 121 +
devtools/client/styleeditor.dtd | 71 +
devtools/client/styleeditor.properties | 71 +
devtools/client/toolbox.dtd | 199 ++
devtools/client/toolbox.properties | 300 ++
devtools/client/tooltips.ftl | 47 +
devtools/client/webaudioeditor.dtd | 53 +
devtools/client/webaudioeditor.properties | 20 +
devtools/client/webconsole.properties | 401 +++
devtools/client/webide.dtd | 171 ++
devtools/client/webide.properties | 100 +
devtools/shared/accessibility.properties | 21 +
devtools/shared/browsing-context.properties | 7 +
devtools/shared/csscoverage.dtd | 47 +
devtools/shared/csscoverage.properties | 32 +
devtools/shared/debugger.properties | 59 +
devtools/shared/eyedropper.properties | 14 +
devtools/shared/highlighters.properties | 35 +
devtools/shared/screenshot.properties | 116 +
devtools/shared/shared.properties | 6 +
devtools/shared/styleinspector.properties | 236 ++
devtools/startup/aboutDevTools.ftl | 54 +
devtools/startup/key-shortcuts.properties | 71 +
devtools/startup/startup.properties | 8 +
dom/chrome/accessibility/AccessFu.properties | 358 +++
.../accessibility/mac/accessible.properties | 58 +
.../accessibility/unix/accessible.properties | 17 +
.../accessibility/win/accessible.properties | 17 +
dom/chrome/appstrings.properties | 43 +
dom/chrome/dom/dom.properties | 386 +++
dom/chrome/global-strres.properties | 5 +
dom/chrome/global.dtd | 5 +
dom/chrome/layout/HtmlForm.properties | 43 +
dom/chrome/layout/MediaDocument.properties | 21 +
dom/chrome/layout/css.properties | 183 ++
dom/chrome/layout/htmlparser.properties | 132 +
dom/chrome/layout/layout_errors.properties | 40 +
dom/chrome/layout/printing.properties | 60 +
dom/chrome/layout/xbl.properties | 15 +
dom/chrome/layout/xmlparser.properties | 48 +
dom/chrome/layout/xul.properties | 8 +
dom/chrome/mathml/mathml.properties | 17 +
dom/chrome/netError.dtd | 101 +
dom/chrome/netErrorApp.dtd | 14 +
dom/chrome/nsWebBrowserPersist.properties | 17 +
dom/chrome/plugins.properties | 38 +
dom/chrome/security/caps.properties | 112 +
dom/chrome/security/csp.properties | 121 +
dom/chrome/security/security.properties | 123 +
dom/chrome/svg/svg.properties | 5 +
dom/chrome/xml/prettyprint.dtd | 5 +
dom/chrome/xslt/xslt.properties | 39 +
editor/ui/chrome/composer/editingOverlay.dtd | 38 +
editor/ui/chrome/composer/editor.dtd | 67 +
editor/ui/chrome/composer/editor.properties | 208 ++
editor/ui/chrome/composer/editorOverlay.dtd | 346 +++
.../ui/chrome/composer/editorPrefsOverlay.dtd | 13 +
.../chrome/composer/editorSmileyOverlay.dtd | 57 +
editor/ui/chrome/composer/pref-composer.dtd | 29 +
editor/ui/chrome/composer/pref-editing.dtd | 32 +
editor/ui/chrome/composer/pref-toolbars.dtd | 39 +
editor/ui/chrome/dialogs/EdAdvancedEdit.dtd | 18 +
editor/ui/chrome/dialogs/EdColorPicker.dtd | 25 +
editor/ui/chrome/dialogs/EdConvertToTable.dtd | 15 +
editor/ui/chrome/dialogs/EdDialogOverlay.dtd | 20 +
editor/ui/chrome/dialogs/EdLinkChecker.dtd | 9 +
.../dialogs/EdNamedAnchorProperties.dtd | 9 +
editor/ui/chrome/dialogs/EditConflict.dtd | 10 +
.../chrome/dialogs/EditorButtonProperties.dtd | 27 +
.../chrome/dialogs/EditorColorProperties.dtd | 29 +
.../dialogs/EditorFieldSetProperties.dtd | 20 +
.../chrome/dialogs/EditorFormProperties.dtd | 21 +
.../chrome/dialogs/EditorHLineProperties.dtd | 27 +
.../chrome/dialogs/EditorImageProperties.dtd | 79 +
.../chrome/dialogs/EditorInputProperties.dtd | 50 +
.../ui/chrome/dialogs/EditorInsertChars.dtd | 19 +
editor/ui/chrome/dialogs/EditorInsertMath.dtd | 21 +
.../ui/chrome/dialogs/EditorInsertSource.dtd | 15 +
editor/ui/chrome/dialogs/EditorInsertTOC.dtd | 16 +
.../ui/chrome/dialogs/EditorInsertTable.dtd | 18 +
.../chrome/dialogs/EditorLabelProperties.dtd | 18 +
.../chrome/dialogs/EditorLinkProperties.dtd | 6 +
.../chrome/dialogs/EditorListProperties.dtd | 20 +
.../chrome/dialogs/EditorPageProperties.dtd | 17 +
.../dialogs/EditorPersonalDictionary.dtd | 20 +
editor/ui/chrome/dialogs/EditorPublish.dtd | 65 +
.../chrome/dialogs/EditorPublishProgress.dtd | 16 +
editor/ui/chrome/dialogs/EditorReplace.dtd | 27 +
.../ui/chrome/dialogs/EditorSaveAsCharset.dtd | 15 +
.../chrome/dialogs/EditorSelectProperties.dtd | 48 +
editor/ui/chrome/dialogs/EditorSnapToGrid.dtd | 15 +
editor/ui/chrome/dialogs/EditorSpellCheck.dtd | 38 +
.../chrome/dialogs/EditorTableProperties.dtd | 75 +
.../dialogs/EditorTextAreaProperties.dtd | 33 +
editor/ui/chrome/region/region.properties | 8 +
mail/all-l10n.js | 7 +
mail/branding/thunderbird/brand.dtd | 12 +
mail/branding/thunderbird/brand.ftl | 21 +
mail/branding/thunderbird/brand.properties | 7 +
mail/chrome/communicator/utilityOverlay.dtd | 58 +
mail/chrome/messenger-mapi/mapi.properties | 36 +
.../chrome/messenger-newsblog/am-newsblog.dtd | 16 +
.../messenger-newsblog/feed-subscriptions.dtd | 56 +
.../messenger-newsblog/newsblog.properties | 93 +
.../chrome/messenger-region/region.properties | 39 +
.../messenger-smime/certFetchingStatus.dtd | 9 +
.../messenger-smime/msgCompSMIMEOverlay.dtd | 20 +
.../msgCompSMIMEOverlay.properties | 6 +
.../messenger-smime/msgCompSecurityInfo.dtd | 18 +
.../msgCompSecurityInfo.properties | 13 +
.../messenger-smime/msgReadSMIMEOverlay.dtd | 8 +
.../msgReadSMIMEOverlay.properties | 11 +
.../messenger-smime/msgReadSecurityInfo.dtd | 14 +
.../msgSecurityInfo.properties | 36 +
mail/chrome/messenger/AccountManager.dtd | 34 +
mail/chrome/messenger/AccountWizard.dtd | 127 +
mail/chrome/messenger/CustomHeaders.dtd | 11 +
mail/chrome/messenger/FilterEditor.dtd | 68 +
mail/chrome/messenger/FilterListDialog.dtd | 43 +
mail/chrome/messenger/SearchDialog.dtd | 80 +
mail/chrome/messenger/aboutDialog.dtd | 113 +
mail/chrome/messenger/aboutDownloads.dtd | 24 +
mail/chrome/messenger/aboutRights.dtd | 69 +
mail/chrome/messenger/aboutRights.properties | 8 +
.../messenger/aboutSupportMail.properties | 15 +
mail/chrome/messenger/accountCreation.dtd | 102 +
.../messenger/accountCreation.properties | 116 +
.../messenger/accountCreationModel.properties | 21 +
.../messenger/accountCreationUtil.properties | 34 +
mail/chrome/messenger/activity.dtd | 37 +
mail/chrome/messenger/activity.properties | 99 +
mail/chrome/messenger/addbuddy.dtd | 7 +
mail/chrome/messenger/addons.properties | 234 ++
.../addressbook/abAddressBookNameDialog.dtd | 7 +
mail/chrome/messenger/addressbook/abCard.dtd | 159 ++
.../messenger/addressbook/abContactsPanel.dtd | 49 +
.../addressbook/abMailListDialog.dtd | 22 +
.../messenger/addressbook/abMainWindow.dtd | 243 ++
.../messenger/addressbook/abNewCardDialog.dtd | 7 +
.../messenger/addressbook/abResultsPane.dtd | 38 +
.../addressbook/addressBook.properties | 260 ++
.../addressbook/ldapAutoCompErrs.properties | 104 +
.../addressbook/pref-directory-add.dtd | 46 +
.../messenger/addressbook/pref-directory.dtd | 17 +
.../replicationProgress.properties | 20 +
mail/chrome/messenger/am-addressing.dtd | 47 +
mail/chrome/messenger/am-advanced.dtd | 28 +
mail/chrome/messenger/am-archiveoptions.dtd | 23 +
mail/chrome/messenger/am-copies.dtd | 50 +
mail/chrome/messenger/am-identities-list.dtd | 15 +
mail/chrome/messenger/am-identity-edit.dtd | 18 +
mail/chrome/messenger/am-im.dtd | 16 +
mail/chrome/messenger/am-junk.dtd | 31 +
mail/chrome/messenger/am-main.dtd | 45 +
mail/chrome/messenger/am-mdn.dtd | 33 +
mail/chrome/messenger/am-mdn.properties | 6 +
mail/chrome/messenger/am-offline.dtd | 57 +
mail/chrome/messenger/am-server-advanced.dtd | 31 +
mail/chrome/messenger/am-server-top.dtd | 89 +
.../messenger/am-serverwithnoidentities.dtd | 6 +
mail/chrome/messenger/am-smime.dtd | 37 +
mail/chrome/messenger/am-smime.properties | 41 +
.../messenger/app-extension-fields.properties | 11 +
mail/chrome/messenger/appUpdate.properties | 40 +
.../messenger/appleMailImportMsgs.properties | 21 +
mail/chrome/messenger/baseMenuOverlay.dtd | 50 +
.../messenger/beckyImportMsgs.properties | 19 +
.../chrome/messenger/charsetTitles.properties | 80 +
mail/chrome/messenger/chat.dtd | 44 +
mail/chrome/messenger/chat.properties | 99 +
mail/chrome/messenger/cloudfile/Box/auth.dtd | 6 +
.../messenger/cloudfile/Box/management.dtd | 6 +
.../messenger/cloudfile/Box/settings.dtd | 6 +
.../cloudfile/Hightail/fileExceeds2GB.dtd | 6 +
.../cloudfile/Hightail/fileExceedsLimit.dtd | 6 +
.../cloudfile/Hightail/fileExceedsQuota.dtd | 7 +
.../cloudfile/Hightail/management.dtd | 5 +
.../messenger/cloudfile/Hightail/settings.dtd | 6 +
.../messenger/cloudfile/addAccountDialog.dtd | 13 +
.../chrome/messenger/cloudfile/management.dtd | 8 +
mail/chrome/messenger/configEditorOverlay.dtd | 5 +
mail/chrome/messenger/converterDialog.dtd | 11 +
.../messenger/converterDialog.properties | 41 +
mail/chrome/messenger/custom.properties | 5 +
mail/chrome/messenger/customizeToolbar.dtd | 19 +
.../messenger/customizeToolbar.properties | 11 +
mail/chrome/messenger/datetimepicker.dtd | 7 +
mail/chrome/messenger/devtools/dbgserver.dtd | 4 +
.../messenger/devtools/dbgserver.properties | 11 +
mail/chrome/messenger/downloadheaders.dtd | 20 +
mail/chrome/messenger/editContactOverlay.dtd | 23 +
.../messenger/editContactOverlay.properties | 14 +
.../messenger/extensionsOverlay.properties | 25 +
mail/chrome/messenger/fieldMapImport.dtd | 20 +
mail/chrome/messenger/filter.properties | 110 +
mail/chrome/messenger/folderProps.dtd | 71 +
.../chrome/messenger/folderWidgets.properties | 12 +
mail/chrome/messenger/folderpane.dtd | 7 +
mail/chrome/messenger/gloda.properties | 161 ++
.../chrome/messenger/glodaComplete.properties | 19 +
mail/chrome/messenger/glodaFacetView.dtd | 20 +
.../messenger/glodaFacetView.properties | 182 ++
mail/chrome/messenger/imAccountWizard.dtd | 32 +
mail/chrome/messenger/imAccounts.properties | 63 +
mail/chrome/messenger/imapMsgs.properties | 254 ++
mail/chrome/messenger/importDialog.dtd | 51 +
mail/chrome/messenger/importMsgs.properties | 304 ++
mail/chrome/messenger/joinChat.dtd | 10 +
mail/chrome/messenger/junkLog.dtd | 10 +
mail/chrome/messenger/junkMailInfo.dtd | 11 +
mail/chrome/messenger/localMsgs.properties | 147 +
mail/chrome/messenger/mailEditorOverlay.dtd | 6 +
mail/chrome/messenger/mailOverlay.dtd | 11 +
mail/chrome/messenger/mailViewList.dtd | 9 +
mail/chrome/messenger/mailViewSetup.dtd | 11 +
mail/chrome/messenger/mailviews.properties | 13 +
mail/chrome/messenger/markByDate.dtd | 9 +
mail/chrome/messenger/messenger.dtd | 972 +++++++
mail/chrome/messenger/messenger.properties | 800 ++++++
.../addressingWidgetOverlay.dtd | 13 +
.../messengercompose/askSendFormat.dtd | 20 +
.../messengercompose/askSendFormat.properties | 8 +
.../messengercompose/composeMsgs.properties | 482 ++++
.../mailComposeEditorOverlay.dtd | 9 +
.../messengercompose/messengercompose.dtd | 368 +++
.../messengercompose/sendProgress.dtd | 8 +
.../messengercompose/sendProgress.properties | 21 +
mail/chrome/messenger/migration/migration.dtd | 32 +
.../messenger/migration/migration.properties | 25 +
mail/chrome/messenger/mime.properties | 154 +
mail/chrome/messenger/mimeheader.properties | 35 +
mail/chrome/messenger/msgAccountCentral.dtd | 27 +
mail/chrome/messenger/msgHdrViewOverlay.dtd | 117 +
mail/chrome/messenger/msgPrintEngine.dtd | 11 +
mail/chrome/messenger/msgSynchronize.dtd | 23 +
.../chrome/messenger/msgViewPickerOverlay.dtd | 22 +
mail/chrome/messenger/msgmdn.properties | 18 +
mail/chrome/messenger/multimessageview.dtd | 8 +
.../messenger/multimessageview.properties | 61 +
mail/chrome/messenger/newFolderDialog.dtd | 16 +
mail/chrome/messenger/newTagDialog.dtd | 8 +
.../newmailaccount/accountProvisioner.dtd | 43 +
.../accountProvisioner.properties | 38 +
mail/chrome/messenger/news.properties | 62 +
mail/chrome/messenger/newsError.dtd | 31 +
mail/chrome/messenger/oeImportMsgs.properties | 76 +
mail/chrome/messenger/offline.properties | 28 +
.../messenger/offlineStartup.properties | 8 +
.../messenger/outlookImportMsgs.properties | 72 +
mail/chrome/messenger/pgpmime.properties | 12 +
.../chrome/messenger/preferences/advanced.dtd | 124 +
.../preferences/applicationManager.dtd | 8 +
.../preferences/applicationManager.properties | 13 +
.../messenger/preferences/applications.dtd | 40 +
.../preferences/applications.properties | 13 +
.../preferences/attachmentReminder.dtd | 12 +
mail/chrome/messenger/preferences/chat.dtd | 64 +
mail/chrome/messenger/preferences/colors.dtd | 30 +
mail/chrome/messenger/preferences/compose.dtd | 72 +
.../messenger/preferences/connection.dtd | 58 +
mail/chrome/messenger/preferences/cookies.dtd | 33 +
mail/chrome/messenger/preferences/display.dtd | 73 +
.../messenger/preferences/dockoptions.dtd | 16 +
mail/chrome/messenger/preferences/fonts.dtd | 80 +
mail/chrome/messenger/preferences/general.dtd | 44 +
.../preferences/messagestyle.properties | 13 +
.../messenger/preferences/notifications.dtd | 24 +
mail/chrome/messenger/preferences/offline.dtd | 32 +
.../messenger/preferences/permissions.dtd | 28 +
.../messenger/preferences/preferences.dtd | 29 +
.../preferences/preferences.properties | 122 +
mail/chrome/messenger/preferences/privacy.dtd | 38 +
.../chrome/messenger/preferences/receipts.dtd | 26 +
.../chrome/messenger/preferences/security.dtd | 48 +
.../messenger/preferences/sendoptions.dtd | 37 +
mail/chrome/messenger/prefs.properties | 90 +
mail/chrome/messenger/quickFilterBar.dtd | 276 ++
mail/chrome/messenger/removeAccount.dtd | 22 +
.../chrome/messenger/removeAccount.properties | 5 +
mail/chrome/messenger/renameFolderDialog.dtd | 9 +
mail/chrome/messenger/safeMode.dtd | 21 +
mail/chrome/messenger/sanitize.dtd | 39 +
.../messenger/search-attributes.properties | 45 +
.../messenger/search-operators.properties | 31 +
mail/chrome/messenger/search.properties | 27 +
.../messenger/searchIntegrationDefault.dtd | 7 +
.../chrome/messenger/searchIntegrationMac.dtd | 5 +
.../chrome/messenger/searchIntegrationWin.dtd | 5 +
mail/chrome/messenger/searchTermOverlay.dtd | 19 +
.../messenger/shutdownWindow.properties | 10 +
mail/chrome/messenger/smime.properties | 13 +
mail/chrome/messenger/smtpEditOverlay.dtd | 24 +
mail/chrome/messenger/subscribe.dtd | 22 +
mail/chrome/messenger/subscribe.properties | 13 +
.../messenger/systemIntegrationDialog.dtd | 21 +
mail/chrome/messenger/tabmail.dtd | 9 +
mail/chrome/messenger/taskbar.properties | 8 +
mail/chrome/messenger/telemetry.properties | 13 +
.../chrome/messenger/templateUtils.properties | 7 +
.../messenger/textImportMsgs.properties | 43 +
.../messenger/vCardImportMsgs.properties | 26 +
mail/chrome/messenger/viewLog.dtd | 12 +
mail/chrome/messenger/viewSource.dtd | 91 +
mail/chrome/messenger/viewSource.properties | 17 +
mail/chrome/messenger/viewZoomOverlay.dtd | 31 +
.../messenger/virtualFolderListDialog.dtd | 10 +
.../messenger/virtualFolderProperties.dtd | 22 +
mail/chrome/messenger/wmImportMsgs.properties | 76 +
mail/chrome/mozldap/ldap.properties | 261 ++
mail/chrome/overrides/netError.dtd | 138 +
mail/chrome/overrides/settingsChange.dtd | 6 +
mail/defines.inc | 11 +
mail/installer/custom.properties | 79 +
mail/installer/mui.properties | 60 +
mail/installer/override.properties | 86 +
mail/messenger/aboutSupportMail.ftl | 17 +
mail/messenger/policies/aboutPolicies.ftl | 14 +
.../policies/policies-descriptions.ftl | 64 +
mail/messenger/preferences/am-im.ftl | 6 +
mail/messenger/preferences/connection.ftl | 16 +
mail/messenger/preferences/fonts.ftl | 12 +
mail/messenger/preferences/languages.ftl | 33 +
mail/messenger/preferences/preferences.ftl | 29 +
mail/updater/updater.ini | 7 +
minimo/chrome/contents.rdf | 28 +
mobile/android/base/android_strings.dtd | 949 +++++++
mobile/android/base/sync_strings.dtd | 115 +
mobile/android/chrome/about.dtd | 24 +
mobile/android/chrome/aboutAccounts.dtd | 13 +
.../android/chrome/aboutAccounts.properties | 16 +
mobile/android/chrome/aboutAddons.dtd | 15 +
mobile/android/chrome/aboutAddons.properties | 16 +
mobile/android/chrome/aboutCertError.dtd | 32 +
mobile/android/chrome/aboutDevices.dtd | 14 +
mobile/android/chrome/aboutDownloads.dtd | 15 +
.../android/chrome/aboutDownloads.properties | 17 +
mobile/android/chrome/aboutHome.dtd | 7 +
mobile/android/chrome/aboutHome.properties | 5 +
mobile/android/chrome/aboutLogins.dtd | 10 +
mobile/android/chrome/aboutLogins.properties | 35 +
.../android/chrome/aboutPrivateBrowsing.dtd | 25 +
mobile/android/chrome/browser.properties | 529 ++++
mobile/android/chrome/config.dtd | 21 +
mobile/android/chrome/config.properties | 9 +
mobile/android/chrome/devicePrompt.properties | 5 +
mobile/android/chrome/passwordmgr.properties | 22 +
mobile/android/chrome/phishing.dtd | 27 +
mobile/android/chrome/pippki.properties | 84 +
mobile/android/chrome/sync.properties | 40 +
.../chrome/webcompatReporter.properties | 12 +
mobile/android/defines.inc | 12 +
mobile/chrome/region.properties | 21 +
mobile/overrides/appstrings.properties | 43 +
mobile/overrides/netError.dtd | 179 ++
netwerk/necko.properties | 65 +
other-licenses/branding/sunbird/brand.dtd | 6 +
.../branding/sunbird/brand.properties | 20 +
.../chrome/pipnss/nsserrors.properties | 331 +++
.../manager/chrome/pipnss/pipnss.properties | 321 +++
security/manager/chrome/pippki/pippki.dtd | 50 +
.../manager/chrome/pippki/pippki.properties | 191 ++
.../security/certificates/certManager.ftl | 256 ++
.../security/certificates/deviceManager.ftl | 100 +
services/sync/sync.properties | 16 +
suite/branding/seamonkey/brand.dtd | 9 +
suite/branding/seamonkey/brand.properties | 11 +
suite/chrome/branding/aboutRights.dtd | 83 +
suite/chrome/branding/aboutRights.properties | 7 +
suite/chrome/browser/linkToolbar.dtd | 48 +
.../mac/platformNavigationBindings.dtd | 11 +
suite/chrome/browser/mailNavigatorOverlay.dtd | 30 +
suite/chrome/browser/metadata.dtd | 31 +
suite/chrome/browser/metadata.properties | 19 +
suite/chrome/browser/navigator.dtd | 89 +
suite/chrome/browser/navigator.properties | 82 +
suite/chrome/browser/navigatorOverlay.dtd | 146 +
suite/chrome/browser/pageInfo.dtd | 122 +
suite/chrome/browser/pageInfo.properties | 76 +
suite/chrome/browser/region.properties | 29 +
suite/chrome/browser/tabbrowser.dtd | 22 +
suite/chrome/browser/tabbrowser.properties | 18 +
suite/chrome/browser/taskbar.properties | 21 +
.../unix/platformNavigationBindings.dtd | 9 +
suite/chrome/browser/webDeveloper.dtd | 73 +
.../win/platformNavigationBindings.dtd | 7 +
suite/chrome/common/about.dtd | 70 +
suite/chrome/common/aboutPrivateBrowsing.dtd | 26 +
suite/chrome/common/aboutSessionRestore.dtd | 22 +
suite/chrome/common/aboutSyncTabs.dtd | 22 +
suite/chrome/common/askViewZoom.dtd | 6 +
suite/chrome/common/certError.dtd | 29 +
suite/chrome/common/console/console.dtd | 47 +
.../chrome/common/console/console.properties | 17 +
suite/chrome/common/contentAreaCommands.dtd | 158 ++
.../common/contentAreaCommands.properties | 15 +
suite/chrome/common/customizeToolbar.dtd | 18 +
.../chrome/common/customizeToolbar.properties | 13 +
suite/chrome/common/dataman/dataman.dtd | 156 ++
.../chrome/common/dataman/dataman.properties | 77 +
suite/chrome/common/datetimepicker.dtd | 7 +
suite/chrome/common/defaultClientDialog.dtd | 14 +
.../common/downloads/downloadmanager.dtd | 96 +
.../downloads/downloadmanager.properties | 164 ++
.../common/downloads/progressDialog.dtd | 20 +
suite/chrome/common/feeds/subscribe.dtd | 8 +
.../chrome/common/feeds/subscribe.properties | 52 +
suite/chrome/common/gopherAddon.dtd | 9 +
.../chrome/common/help/cert_dialog_help.xhtml | 491 ++++
suite/chrome/common/help/certs_help.xhtml | 423 +++
.../chrome/common/help/certs_prefs_help.xhtml | 88 +
suite/chrome/common/help/composer_help.xhtml | 2494 +++++++++++++++++
.../common/help/cs_nav_prefs_advanced.xhtml | 608 ++++
.../common/help/cs_nav_prefs_appearance.xhtml | 257 ++
.../common/help/cs_nav_prefs_navigator.xhtml | 678 +++++
.../common/help/cs_priv_prefs_popup.xhtml | 149 +
suite/chrome/common/help/customize_help.xhtml | 1403 ++++++++++
.../chrome/common/help/developer_tools.xhtml | 79 +
suite/chrome/common/help/forieusers.xhtml | 149 +
suite/chrome/common/help/glossary.xhtml | 792 ++++++
suite/chrome/common/help/help-glossary.rdf | 144 +
suite/chrome/common/help/help-index1.rdf | 2281 +++++++++++++++
suite/chrome/common/help/help-indexAZ.rdf | 41 +
suite/chrome/common/help/help-win.rdf | 119 +
suite/chrome/common/help/helpFileLayout.css | 63 +
suite/chrome/common/help/help_help.xhtml | 118 +
.../common/help/images/anchor-in-doc.gif | Bin 0 -> 126 bytes
suite/chrome/common/help/images/broken.gif | Bin 0 -> 203 bytes
suite/chrome/common/help/images/bullets.gif | Bin 0 -> 154 bytes
suite/chrome/common/help/images/columns.png | Bin 0 -> 139 bytes
.../common/help/images/composer_icon.png | Bin 0 -> 2494 bytes
suite/chrome/common/help/images/help_nav.png | Bin 0 -> 2885 bytes
.../chrome/common/help/images/help_print.gif | Bin 0 -> 723 bytes
suite/chrome/common/help/images/image.gif | Bin 0 -> 489 bytes
suite/chrome/common/help/images/link.gif | Bin 0 -> 419 bytes
.../chrome/common/help/images/locationbar.png | Bin 0 -> 1673 bytes
suite/chrome/common/help/images/mail_flag.png | Bin 0 -> 924 bytes
.../common/help/images/mail_flag_column.png | Bin 0 -> 945 bytes
.../common/help/images/mail_junk_column.png | Bin 0 -> 571 bytes
.../common/help/images/mail_newmail_alert.png | Bin 0 -> 1342 bytes
.../help/images/mail_newmail_trayicon.png | Bin 0 -> 239 bytes
.../common/help/images/mail_quicksearch.png | Bin 0 -> 531 bytes
suite/chrome/common/help/images/mail_read.png | Bin 0 -> 110 bytes
.../common/help/images/mail_read_column.png | Bin 0 -> 185 bytes
.../chrome/common/help/images/mail_unread.png | Bin 0 -> 144 bytes
suite/chrome/common/help/images/numbers.gif | Bin 0 -> 181 bytes
suite/chrome/common/help/images/offline.png | Bin 0 -> 184 bytes
suite/chrome/common/help/images/online.png | Bin 0 -> 180 bytes
.../chrome/common/help/images/personalbar.png | Bin 0 -> 5037 bytes
suite/chrome/common/help/images/reload.gif | Bin 0 -> 2860 bytes
suite/chrome/common/help/images/search.png | Bin 0 -> 2574 bytes
.../help/images/search_personal_toolbar.gif | Bin 0 -> 776 bytes
suite/chrome/common/help/images/sidebar.png | Bin 0 -> 4185 bytes
.../help/images/tabbed_browsing_bar.png | Bin 0 -> 2589 bytes
suite/chrome/common/help/images/table.gif | Bin 0 -> 512 bytes
suite/chrome/common/help/images/task_mail.png | Bin 0 -> 545 bytes
.../common/help/images/task_newmail.png | Bin 0 -> 569 bytes
.../chrome/common/help/images/taskbar-ab.png | Bin 0 -> 2357 bytes
suite/chrome/common/help/images/taskbar.png | Bin 0 -> 616 bytes
.../common/help/images/threadbutton.png | Bin 0 -> 589 bytes
suite/chrome/common/help/images/web-links.png | Bin 0 -> 226 bytes
.../help/mailnews_account_settings.xhtml | 1122 ++++++++
.../common/help/mailnews_addressbooks.xhtml | 572 ++++
.../help/mailnews_blogs_and_feeds.xhtml | 388 +++
.../help/mailnews_getting_started.xhtml | 391 +++
.../common/help/mailnews_newsgroups.xhtml | 203 ++
.../chrome/common/help/mailnews_offline.xhtml | 504 ++++
.../common/help/mailnews_organizing.xhtml | 838 ++++++
.../common/help/mailnews_preferences.xhtml | 655 +++++
.../common/help/mailnews_security.xhtml | 459 +++
.../common/help/mailnews_using_mail.xhtml | 1185 ++++++++
suite/chrome/common/help/nav_help.xhtml | 1501 ++++++++++
suite/chrome/common/help/page_info_help.xhtml | 266 ++
suite/chrome/common/help/passwords_help.xhtml | 448 +++
suite/chrome/common/help/privacy_help.xhtml | 224 ++
suite/chrome/common/help/privsec_help.xhtml | 49 +
suite/chrome/common/help/profiles_help.xhtml | 113 +
suite/chrome/common/help/shortcuts.xhtml | 524 ++++
.../common/help/shortcuts_composer.xhtml | 184 ++
.../common/help/shortcuts_mailnews.xhtml | 359 +++
.../common/help/shortcuts_navigator.xhtml | 535 ++++
suite/chrome/common/help/ssl_help.xhtml | 129 +
suite/chrome/common/help/suite-toc.rdf | 1174 ++++++++
suite/chrome/common/help/suitehelp.rdf | 58 +
.../chrome/common/help/using_certs_help.xhtml | 731 +++++
.../chrome/common/help/using_priv_help.xhtml | 796 ++++++
suite/chrome/common/help/welcome_help.xhtml | 96 +
suite/chrome/common/helpviewer/help.dtd | 56 +
.../chrome/common/helpviewer/help.properties | 5 +
.../common/helpviewer/help/help-toc.rdf | 29 +
.../common/helpviewer/help/welcome.xhtml | 61 +
.../mac/platformCommunicatorOverlay.dtd | 63 +
suite/chrome/common/migration/migration.dtd | 28 +
.../common/migration/migration.properties | 52 +
suite/chrome/common/notification.dtd | 15 +
suite/chrome/common/notification.properties | 200 ++
suite/chrome/common/openLocation.dtd | 22 +
suite/chrome/common/openLocation.properties | 11 +
.../common/permissions/cookieViewer.dtd | 46 +
.../permissions/cookieViewer.properties | 30 +
.../common/permissions/permissionsManager.dtd | 19 +
.../permissions/permissionsManager.properties | 23 +
.../places/bookmarkProperties.properties | 19 +
.../common/places/editBookmarkOverlay.dtd | 28 +
suite/chrome/common/places/places.dtd | 106 +
suite/chrome/common/places/places.properties | 100 +
.../common/pref/mac/platformPrefOverlay.dtd | 18 +
suite/chrome/common/pref/pref-advanced.dtd | 29 +
suite/chrome/common/pref/pref-appearance.dtd | 35 +
.../common/pref/pref-applicationManager.dtd | 8 +
.../pref/pref-applicationManager.properties | 10 +
.../chrome/common/pref/pref-applications.dtd | 14 +
.../common/pref/pref-applications.properties | 34 +
suite/chrome/common/pref/pref-cache.dtd | 31 +
suite/chrome/common/pref/pref-certs.dtd | 23 +
suite/chrome/common/pref/pref-colors.dtd | 35 +
suite/chrome/common/pref/pref-content.dtd | 45 +
suite/chrome/common/pref/pref-cookies.dtd | 40 +
suite/chrome/common/pref/pref-download.dtd | 31 +
.../chrome/common/pref/pref-findasyoutype.dtd | 21 +
suite/chrome/common/pref/pref-fonts.dtd | 79 +
suite/chrome/common/pref/pref-history.dtd | 25 +
suite/chrome/common/pref/pref-http.dtd | 26 +
suite/chrome/common/pref/pref-images.dtd | 22 +
suite/chrome/common/pref/pref-keynav.dtd | 20 +
suite/chrome/common/pref/pref-languages.dtd | 30 +
.../common/pref/pref-languages.properties | 13 +
suite/chrome/common/pref/pref-links.dtd | 29 +
suite/chrome/common/pref/pref-locationbar.dtd | 42 +
suite/chrome/common/pref/pref-masterpass.dtd | 24 +
suite/chrome/common/pref/pref-media.dtd | 23 +
suite/chrome/common/pref/pref-mousewheel.dtd | 34 +
suite/chrome/common/pref/pref-navigator.dtd | 50 +
suite/chrome/common/pref/pref-offlineapps.dtd | 24 +
suite/chrome/common/pref/pref-passwords.dtd | 13 +
suite/chrome/common/pref/pref-popups.dtd | 35 +
suite/chrome/common/pref/pref-privatedata.dtd | 27 +
.../common/pref/pref-proxies-advanced.dtd | 32 +
suite/chrome/common/pref/pref-proxies.dtd | 31 +
suite/chrome/common/pref/pref-scripts.dtd | 36 +
suite/chrome/common/pref/pref-search.dtd | 23 +
suite/chrome/common/pref/pref-security.dtd | 39 +
suite/chrome/common/pref/pref-smartupdate.dtd | 31 +
suite/chrome/common/pref/pref-spelling.dtd | 20 +
suite/chrome/common/pref/pref-ssl.dtd | 44 +
suite/chrome/common/pref/pref-sync.dtd | 56 +
suite/chrome/common/pref/pref-tabs.dtd | 29 +
suite/chrome/common/pref/preferences.dtd | 55 +
suite/chrome/common/pref/prefutilities.dtd | 40 +
.../common/pref/prefutilities.properties | 45 +
.../common/pref/unix/platformPrefOverlay.dtd | 18 +
.../common/pref/win/platformPrefOverlay.dtd | 18 +
suite/chrome/common/printPreview.dtd | 39 +
.../common/profile/profileSelection.dtd | 35 +
.../profile/profileSelection.properties | 22 +
suite/chrome/common/quitDialog.properties | 29 +
suite/chrome/common/region.properties | 14 +
suite/chrome/common/safeBrowsing.dtd | 33 +
suite/chrome/common/safeMode.dtd | 27 +
suite/chrome/common/sanitize.dtd | 27 +
suite/chrome/common/search/engineManager.dtd | 29 +
.../common/search/engineManager.properties | 9 +
suite/chrome/common/search/search-panel.dtd | 8 +
suite/chrome/common/search/search.properties | 6 +
suite/chrome/common/search/searchbar.dtd | 6 +
suite/chrome/common/setDesktopBackground.dtd | 19 +
suite/chrome/common/shellservice.properties | 7 +
suite/chrome/common/sidebar/customize.dtd | 27 +
suite/chrome/common/sidebar/preview.dtd | 5 +
.../chrome/common/sidebar/sidebar.properties | 10 +
.../chrome/common/sidebar/sidebarOverlay.dtd | 34 +
.../chrome/common/sitePermissions.properties | 39 +
suite/chrome/common/sync/syncBrand.dtd | 6 +
.../common/sync/syncGenericChange.properties | 37 +
suite/chrome/common/sync/syncKey.dtd | 18 +
suite/chrome/common/sync/syncQuota.dtd | 8 +
suite/chrome/common/sync/syncQuota.properties | 42 +
suite/chrome/common/sync/syncSetup.dtd | 116 +
suite/chrome/common/sync/syncSetup.properties | 50 +
suite/chrome/common/tasksOverlay.dtd | 61 +
suite/chrome/common/typeaheadfind.properties | 17 +
.../unix/platformCommunicatorOverlay.dtd | 36 +
suite/chrome/common/utilityOverlay.dtd | 157 ++
suite/chrome/common/utilityOverlay.properties | 35 +
suite/chrome/common/viewApplyThemeOverlay.dtd | 10 +
.../common/viewApplyThemeOverlay.properties | 8 +
suite/chrome/common/viewZoomOverlay.dtd | 16 +
.../chrome/common/viewZoomOverlay.properties | 32 +
.../win/platformCommunicatorOverlay.dtd | 41 +
suite/chrome/mailnews/CustomHeaders.dtd | 11 +
suite/chrome/mailnews/FilterEditor.dtd | 69 +
suite/chrome/mailnews/FilterListDialog.dtd | 30 +
suite/chrome/mailnews/SearchDialog.dtd | 38 +
.../addressbook/abAddressBookNameDialog.dtd | 5 +
.../mailnews/addressbook/abCardOverlay.dtd | 136 +
.../mailnews/addressbook/abMailListDialog.dtd | 19 +
.../mailnews/addressbook/abMainWindow.dtd | 120 +
.../mailnews/addressbook/abNewCardDialog.dtd | 7 +
.../addressbook/abResultsPaneOverlay.dtd | 50 +
.../addressbook/abSelectAddressesDialog.dtd | 31 +
.../addressbook/addressBook.properties | 173 ++
.../addressbook/ldapAutoCompErrs.properties | 104 +
.../mailnews/appleMailImportMsgs.properties | 20 +
.../mailnews/beckyImportMsgs.properties | 19 +
.../chrome/mailnews/charsetTitles.properties | 80 +
.../compose/addressingWidgetOverlay.dtd | 13 +
.../chrome/mailnews/compose/askSendFormat.dtd | 20 +
.../mailnews/compose/askSendFormat.properties | 8 +
.../mailnews/compose/composeMsgs.properties | 297 ++
.../compose/mailComposeEditorOverlay.dtd | 9 +
.../mailnews/compose/messengercompose.dtd | 140 +
.../chrome/mailnews/compose/sendProgress.dtd | 8 +
.../mailnews/compose/sendProgress.properties | 21 +
suite/chrome/mailnews/custom.properties | 5 +
suite/chrome/mailnews/downloadheaders.dtd | 20 +
suite/chrome/mailnews/fieldMapImport.dtd | 21 +
suite/chrome/mailnews/filter.properties | 97 +
suite/chrome/mailnews/folderProps.dtd | 71 +
.../chrome/mailnews/folderWidgets.properties | 12 +
suite/chrome/mailnews/folderpane.dtd | 11 +
suite/chrome/mailnews/gloda.properties | 104 +
suite/chrome/mailnews/imapMsgs.properties | 259 ++
suite/chrome/mailnews/importDialog.dtd | 43 +
suite/chrome/mailnews/importMsgs.properties | 306 ++
suite/chrome/mailnews/junkLog.dtd | 10 +
suite/chrome/mailnews/junkMailInfo.dtd | 11 +
suite/chrome/mailnews/localMsgs.properties | 147 +
suite/chrome/mailnews/mailEditorOverlay.dtd | 7 +
suite/chrome/mailnews/mailKeysOverlay.dtd | 26 +
suite/chrome/mailnews/mailOverlay.dtd | 14 +
suite/chrome/mailnews/mailTasksOverlay.dtd | 23 +
suite/chrome/mailnews/mailViewList.dtd | 9 +
suite/chrome/mailnews/mailViewSetup.dtd | 11 +
suite/chrome/mailnews/mailviews.properties | 13 +
suite/chrome/mailnews/mapi/mapi.properties | 13 +
suite/chrome/mailnews/markByDate.dtd | 9 +
suite/chrome/mailnews/messenger.dtd | 539 ++++
suite/chrome/mailnews/messenger.properties | 492 ++++
suite/chrome/mailnews/mime.properties | 156 ++
suite/chrome/mailnews/mimeheader.properties | 39 +
suite/chrome/mailnews/msgAccountCentral.dtd | 25 +
.../mailnews/msgFolderPickerOverlay.dtd | 7 +
suite/chrome/mailnews/msgHdrViewOverlay.dtd | 46 +
suite/chrome/mailnews/msgHdrViewPopup.dtd | 31 +
suite/chrome/mailnews/msgPrintEngine.dtd | 11 +
suite/chrome/mailnews/msgSynchronize.dtd | 23 +
.../chrome/mailnews/msgViewPickerOverlay.dtd | 22 +
suite/chrome/mailnews/msgmdn.properties | 18 +
suite/chrome/mailnews/newFolderDialog.dtd | 16 +
suite/chrome/mailnews/news.properties | 62 +
suite/chrome/mailnews/newsError.dtd | 31 +
.../chrome/mailnews/newsblog/am-newsblog.dtd | 19 +
.../mailnews/newsblog/feed-subscriptions.dtd | 56 +
.../mailnews/newsblog/newsblog.properties | 93 +
suite/chrome/mailnews/oeImportMsgs.properties | 77 +
suite/chrome/mailnews/offline.properties | 51 +
.../chrome/mailnews/offlineStartup.properties | 8 +
.../mailnews/outlookImportMsgs.properties | 77 +
suite/chrome/mailnews/pgpmime.properties | 13 +
suite/chrome/mailnews/pref/AccountManager.dtd | 26 +
suite/chrome/mailnews/pref/AccountWizard.dtd | 127 +
suite/chrome/mailnews/pref/am-addressing.dtd | 49 +
suite/chrome/mailnews/pref/am-advanced.dtd | 25 +
.../mailnews/pref/am-archiveoptions.dtd | 23 +
suite/chrome/mailnews/pref/am-copies.dtd | 50 +
.../mailnews/pref/am-identities-list.dtd | 15 +
.../chrome/mailnews/pref/am-identity-edit.dtd | 18 +
suite/chrome/mailnews/pref/am-junk.dtd | 31 +
suite/chrome/mailnews/pref/am-main.dtd | 44 +
suite/chrome/mailnews/pref/am-mdn.dtd | 33 +
suite/chrome/mailnews/pref/am-mdn.properties | 6 +
suite/chrome/mailnews/pref/am-offline.dtd | 57 +
.../mailnews/pref/am-server-advanced.dtd | 31 +
suite/chrome/mailnews/pref/am-server-top.dtd | 89 +
.../pref/am-serverwithnoidentities.dtd | 6 +
.../chrome/mailnews/pref/mailPrefsOverlay.dtd | 25 +
.../chrome/mailnews/pref/pref-addressing.dtd | 22 +
.../mailnews/pref/pref-character_encoding.dtd | 17 +
.../mailnews/pref/pref-composing_messages.dtd | 56 +
.../mailnews/pref/pref-directory-add.dtd | 45 +
suite/chrome/mailnews/pref/pref-directory.dtd | 17 +
.../chrome/mailnews/pref/pref-formatting.dtd | 42 +
suite/chrome/mailnews/pref/pref-junk.dtd | 40 +
suite/chrome/mailnews/pref/pref-mailnews.dtd | 36 +
.../mailnews/pref/pref-notifications.dtd | 46 +
suite/chrome/mailnews/pref/pref-offline.dtd | 38 +
suite/chrome/mailnews/pref/pref-receipts.dtd | 28 +
suite/chrome/mailnews/pref/pref-tags.dtd | 20 +
.../mailnews/pref/pref-viewing_messages.dtd | 47 +
suite/chrome/mailnews/pref/prefs.properties | 90 +
suite/chrome/mailnews/pref/removeAccount.dtd | 22 +
.../mailnews/pref/removeAccount.properties | 5 +
.../pref/replicationProgress.properties | 20 +
.../chrome/mailnews/pref/smtpEditOverlay.dtd | 24 +
suite/chrome/mailnews/region.properties | 25 +
suite/chrome/mailnews/renameFolderDialog.dtd | 9 +
.../mailnews/search-attributes.properties | 45 +
.../mailnews/search-operators.properties | 31 +
suite/chrome/mailnews/search.properties | 28 +
suite/chrome/mailnews/searchTermOverlay.dtd | 18 +
.../chrome/mailnews/shutdownWindow.properties | 10 +
suite/chrome/mailnews/smime.properties | 13 +
suite/chrome/mailnews/smime/am-smime.dtd | 37 +
.../chrome/mailnews/smime/am-smime.properties | 41 +
.../mailnews/smime/certFetchingStatus.dtd | 9 +
.../mailnews/smime/msgCompSMIMEOverlay.dtd | 20 +
.../smime/msgCompSMIMEOverlay.properties | 6 +
.../mailnews/smime/msgCompSecurityInfo.dtd | 18 +
.../smime/msgCompSecurityInfo.properties | 13 +
.../mailnews/smime/msgReadSMIMEOverlay.dtd | 8 +
.../smime/msgReadSMIMEOverlay.properties | 11 +
.../mailnews/smime/msgReadSecurityInfo.dtd | 14 +
.../mailnews/smime/msgSecurityInfo.properties | 44 +
suite/chrome/mailnews/start.dtd | 33 +
suite/chrome/mailnews/subscribe.dtd | 22 +
suite/chrome/mailnews/subscribe.properties | 10 +
.../chrome/mailnews/textImportMsgs.properties | 46 +
suite/chrome/mailnews/threadpane.dtd | 45 +
.../mailnews/vCardImportMsgs.properties | 26 +
suite/chrome/mailnews/viewLog.dtd | 12 +
.../mailnews/virtualFolderListDialog.dtd | 13 +
.../mailnews/virtualFolderProperties.dtd | 22 +
suite/chrome/mailnews/wmImportMsgs.properties | 76 +
suite/chrome/mozldap/ldap.properties | 261 ++
.../crashreporter/crashreporter-override.ini | 8 +
suite/defines.inc | 11 +
suite/extra-jar.mn | 8 +
suite/installer/windows/custom.properties | 90 +
suite/installer/windows/mui.properties | 64 +
suite/installer/windows/override.properties | 86 +
suite/profile/bookmarks.extra | 17 +
suite/profile/bookmarks.inc | 87 +
suite/profile/chrome/userChrome-example.css | 58 +
suite/profile/chrome/userContent-example.css | 47 +
suite/profile/panels.extra | 7 +
suite/searchplugins/list.txt | 4 +
suite/suite-l10n.js | 8 +
suite/updater/updater.ini | 7 +
toolkit/chrome/alerts/alert.dtd | 6 +
toolkit/chrome/alerts/alert.properties | 23 +
.../chrome/autoconfig/autoconfig.properties | 12 +
.../global-platform/mac/intl.properties | 7 +
.../mac/platformKeys.properties | 34 +
.../global-platform/unix/intl.properties | 7 +
.../unix/platformKeys.properties | 34 +
.../global-platform/win/intl.properties | 7 +
.../win/platformKeys.properties | 34 +
toolkit/chrome/global/aboutReader.properties | 59 +
toolkit/chrome/global/aboutRights.dtd | 90 +
toolkit/chrome/global/aboutStudies.properties | 32 +
toolkit/chrome/global/aboutTelemetry.dtd | 74 +
.../chrome/global/aboutTelemetry.properties | 101 +
toolkit/chrome/global/aboutWebrtc.properties | 149 +
toolkit/chrome/global/appPicker.dtd | 7 +
toolkit/chrome/global/autocomplete.properties | 23 +
toolkit/chrome/global/browser.properties | 14 +
toolkit/chrome/global/charsetMenu.dtd | 6 +
toolkit/chrome/global/charsetMenu.properties | 143 +
toolkit/chrome/global/commonDialog.dtd | 13 +
.../chrome/global/commonDialogs.properties | 32 +
toolkit/chrome/global/console.dtd | 37 +
toolkit/chrome/global/console.properties | 17 +
.../global/contentAreaCommands.properties | 23 +
toolkit/chrome/global/datetimebox.dtd | 35 +
toolkit/chrome/global/dialog.properties | 12 +
toolkit/chrome/global/dialogOverlay.dtd | 10 +
toolkit/chrome/global/editMenuOverlay.dtd | 35 +
toolkit/chrome/global/extensions.properties | 50 +
.../chrome/global/fallbackMenubar.properties | 8 +
toolkit/chrome/global/filepicker.properties | 55 +
toolkit/chrome/global/findbar.properties | 22 +
.../global/global-extension-fields.properties | 8 +
toolkit/chrome/global/globalKeys.dtd | 6 +
toolkit/chrome/global/intl.css | 11 +
toolkit/chrome/global/intl.properties | 61 +
toolkit/chrome/global/keys.properties | 71 +
toolkit/chrome/global/mozilla.dtd | 12 +
toolkit/chrome/global/narrate.properties | 19 +
toolkit/chrome/global/notification.dtd | 14 +
.../chrome/global/nsTreeSorting.properties | 5 +
toolkit/chrome/global/printPageSetup.dtd | 66 +
toolkit/chrome/global/printPreview.dtd | 43 +
.../chrome/global/printPreviewProgress.dtd | 9 +
toolkit/chrome/global/printProgress.dtd | 21 +
toolkit/chrome/global/printdialog.properties | 63 +
toolkit/chrome/global/resetProfile.dtd | 15 +
toolkit/chrome/global/resetProfile.properties | 14 +
toolkit/chrome/global/textcontext.dtd | 37 +
toolkit/chrome/global/tree.dtd | 5 +
toolkit/chrome/global/videocontrols.dtd | 59 +
toolkit/chrome/global/viewSource.properties | 18 +
toolkit/chrome/global/wizard.dtd | 24 +
toolkit/chrome/global/wizard.properties | 8 +
.../mozapps/downloads/downloads.properties | 112 +
.../mozapps/downloads/settingsChange.dtd | 6 +
.../mozapps/downloads/unknownContentType.dtd | 26 +
.../downloads/unknownContentType.properties | 19 +
.../chrome/mozapps/extensions/blocklist.dtd | 17 +
.../chrome/mozapps/extensions/extensions.dtd | 71 +
.../mozapps/extensions/extensions.properties | 118 +
toolkit/chrome/mozapps/handling/handling.dtd | 10 +
.../mozapps/handling/handling.properties | 15 +
.../mozapps/profile/createProfileWizard.dtd | 25 +
.../mozapps/profile/profileDowngrade.dtd | 20 +
.../mozapps/profile/profileSelection.dtd | 31 +
.../profile/profileSelection.properties | 61 +
toolkit/chrome/mozapps/update/updates.dtd | 56 +
.../chrome/mozapps/update/updates.properties | 92 +
.../chrome/passwordmgr/passwordManager.dtd | 50 +
.../chrome/passwordmgr/passwordmgr.properties | 91 +
toolkit/chrome/places/places.properties | 33 +
.../chrome/pluginproblem/pluginproblem.dtd | 33 +
toolkit/chrome/search/search.properties | 20 +
toolkit/crashreporter/aboutcrashes.ftl | 23 +
toolkit/crashreporter/crashreporter.ini | 60 +
toolkit/defines.inc | 1 +
toolkit/toolkit/about/aboutAbout.ftl | 6 +
toolkit/toolkit/about/aboutAddons.ftl | 364 +++
toolkit/toolkit/about/aboutCompat.ftl | 13 +
toolkit/toolkit/about/aboutConfig.ftl | 91 +
toolkit/toolkit/about/aboutNetworking.ftl | 59 +
toolkit/toolkit/about/aboutPerformance.ftl | 66 +
toolkit/toolkit/about/aboutPlugins.ftl | 32 +
toolkit/toolkit/about/aboutProfiles.ftl | 62 +
toolkit/toolkit/about/aboutRights.ftl | 36 +
toolkit/toolkit/about/aboutServiceWorkers.ftl | 41 +
toolkit/toolkit/about/aboutSupport.ftl | 278 ++
toolkit/toolkit/about/aboutTelemetry.ftl | 146 +
toolkit/toolkit/about/abuseReports.ftl | 69 +
toolkit/toolkit/about/url-classifier.ftl | 53 +
toolkit/toolkit/global/processTypes.ftl | 23 +
toolkit/toolkit/global/resetProfile.ftl | 14 +
toolkit/toolkit/global/videocontrols.ftl | 14 +
toolkit/toolkit/intl/languageNames.ftl | 211 ++
toolkit/toolkit/intl/regionNames.ftl | 280 ++
toolkit/toolkit/main-window/editmenu.ftl | 24 +
toolkit/toolkit/main-window/findbar.ftl | 33 +
.../passwordmgr/passwordManagerList.ftl | 75 +
toolkit/toolkit/preferences/preferences.ftl | 34 +
toolkit/toolkit/printing/printDialogs.ftl | 111 +
toolkit/toolkit/printing/printPreview.ftl | 60 +
toolkit/toolkit/updates/history.ftl | 30 +
1042 files changed, 83932 insertions(+)
create mode 100755 browser/branding/official/brand.dtd
create mode 100644 browser/branding/official/brand.ftl
create mode 100755 browser/branding/official/brand.properties
create mode 100644 browser/browser/aboutCertError.ftl
create mode 100644 browser/browser/aboutConfig.ftl
create mode 100644 browser/browser/aboutDialog.ftl
create mode 100644 browser/browser/aboutPolicies.ftl
create mode 100644 browser/browser/aboutPrivateBrowsing.ftl
create mode 100644 browser/browser/aboutRestartRequired.ftl
create mode 100644 browser/browser/aboutRobots.ftl
create mode 100644 browser/browser/aboutSessionRestore.ftl
create mode 100644 browser/browser/aboutTabCrashed.ftl
create mode 100644 browser/browser/appMenuNotifications.ftl
create mode 100644 browser/browser/branding/brandings.ftl
create mode 100644 browser/browser/branding/sync-brand.ftl
create mode 100644 browser/browser/customizeMode.ftl
create mode 100644 browser/browser/newInstallPage.ftl
create mode 100644 browser/browser/newtab/asrouter.ftl
create mode 100644 browser/browser/newtab/onboarding.ftl
create mode 100644 browser/browser/pageInfo.ftl
create mode 100644 browser/browser/panicButton.ftl
create mode 100644 browser/browser/policies/policies-descriptions.ftl
create mode 100644 browser/browser/preferences/applicationManager.ftl
create mode 100644 browser/browser/preferences/blocklists.ftl
create mode 100644 browser/browser/preferences/clearSiteData.ftl
create mode 100644 browser/browser/preferences/colors.ftl
create mode 100644 browser/browser/preferences/connection.ftl
create mode 100644 browser/browser/preferences/containers.ftl
create mode 100644 browser/browser/preferences/fonts.ftl
create mode 100644 browser/browser/preferences/fxaPairDevice.ftl
create mode 100644 browser/browser/preferences/languages.ftl
create mode 100644 browser/browser/preferences/permissions.ftl
create mode 100644 browser/browser/preferences/preferences.ftl
create mode 100644 browser/browser/preferences/selectBookmark.ftl
create mode 100644 browser/browser/preferences/siteDataSettings.ftl
create mode 100644 browser/browser/preferences/syncDisconnect.ftl
create mode 100644 browser/browser/preferences/translation.ftl
create mode 100644 browser/browser/safeMode.ftl
create mode 100644 browser/browser/safebrowsing/blockedSite.ftl
create mode 100644 browser/browser/sanitize.ftl
create mode 100644 browser/browser/syncedTabs.ftl
create mode 100644 browser/browser/tabContextMenu.ftl
create mode 100644 browser/browser/toolbarContextMenu.ftl
create mode 100644 browser/browser/touchbar/touchbar.ftl
create mode 100755 browser/chrome/browser-region/region.properties
create mode 100755 browser/chrome/browser/aboutPrivateBrowsing.dtd
create mode 100755 browser/chrome/browser/aboutRobots.dtd
create mode 100644 browser/chrome/browser/aboutTabCrashed.dtd
create mode 100644 browser/chrome/browser/accounts.properties
create mode 100644 browser/chrome/browser/activity-stream/newtab.properties
create mode 100644 browser/chrome/browser/app-extension-fields.properties
create mode 100755 browser/chrome/browser/baseMenuOverlay.dtd
create mode 100755 browser/chrome/browser/browser.dtd
create mode 100755 browser/chrome/browser/browser.properties
create mode 100755 browser/chrome/browser/customizableui/customizableWidgets.properties
create mode 100755 browser/chrome/browser/downloads/downloads.dtd
create mode 100755 browser/chrome/browser/downloads/downloads.properties
create mode 100755 browser/chrome/browser/feeds/subscribe.properties
create mode 100644 browser/chrome/browser/lightweightThemes.properties
create mode 100755 browser/chrome/browser/migration/migration.dtd
create mode 100755 browser/chrome/browser/migration/migration.properties
create mode 100644 browser/chrome/browser/newInstall.dtd
create mode 100755 browser/chrome/browser/pageInfo.dtd
create mode 100755 browser/chrome/browser/pageInfo.properties
create mode 100755 browser/chrome/browser/places/bookmarkProperties.properties
create mode 100755 browser/chrome/browser/places/editBookmarkOverlay.dtd
create mode 100755 browser/chrome/browser/places/places.dtd
create mode 100755 browser/chrome/browser/places/places.properties
create mode 100644 browser/chrome/browser/pocket.properties
create mode 100755 browser/chrome/browser/preferences/preferences.properties
create mode 100755 browser/chrome/browser/preferences/security.dtd
create mode 100755 browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd
create mode 100755 browser/chrome/browser/safebrowsing/report-phishing.dtd
create mode 100644 browser/chrome/browser/safebrowsing/safebrowsing.properties
create mode 100755 browser/chrome/browser/search.properties
create mode 100755 browser/chrome/browser/setDesktopBackground.dtd
create mode 100755 browser/chrome/browser/shellservice.properties
create mode 100644 browser/chrome/browser/siteData.properties
create mode 100755 browser/chrome/browser/sitePermissions.properties
create mode 100755 browser/chrome/browser/syncBrand.dtd
create mode 100755 browser/chrome/browser/syncSetup.properties
create mode 100755 browser/chrome/browser/tabbrowser.properties
create mode 100755 browser/chrome/browser/taskbar.properties
create mode 100755 browser/chrome/browser/translation.dtd
create mode 100755 browser/chrome/browser/translation.properties
create mode 100644 browser/chrome/browser/uiDensity.properties
create mode 100755 browser/chrome/browser/webrtcIndicator.properties
create mode 100755 browser/chrome/overrides/appstrings.properties
create mode 100755 browser/chrome/overrides/netError.dtd
create mode 100755 browser/chrome/overrides/settingsChange.dtd
create mode 100755 browser/crashreporter/crashreporter-override.ini
create mode 100755 browser/defines.inc
create mode 100644 browser/extensions/formautofill/formautofill.properties
create mode 100644 browser/extensions/fxmonitor/fxmonitor.properties
create mode 100644 browser/extensions/report-site-issue/webcompat.properties
create mode 100644 browser/extensions/webcompat-reporter/webcompat.properties
create mode 100644 browser/firefox-l10n.js
create mode 100755 browser/installer/custom.properties
create mode 100755 browser/installer/mui.properties
create mode 100755 browser/installer/nsisstrings.properties
create mode 100755 browser/installer/override.properties
create mode 100755 browser/pdfviewer/chrome.properties
create mode 100755 browser/pdfviewer/viewer.properties
create mode 100755 browser/profile/bookmarks.inc
create mode 100755 browser/updater/updater.ini
create mode 100755 calendar/README.txt
create mode 100755 calendar/chrome/calendar/calendar-alarms.properties
create mode 100755 calendar/chrome/calendar/calendar-event-dialog-attendees.properties
create mode 100755 calendar/chrome/calendar/calendar-event-dialog.dtd
create mode 100755 calendar/chrome/calendar/calendar-event-dialog.properties
create mode 100755 calendar/chrome/calendar/calendar-extract.properties
create mode 100755 calendar/chrome/calendar/calendar-invitations-dialog.dtd
create mode 100644 calendar/chrome/calendar/calendar-invitations-dialog.properties
create mode 100755 calendar/chrome/calendar/calendar-occurrence-prompt.dtd
create mode 100755 calendar/chrome/calendar/calendar-occurrence-prompt.properties
create mode 100755 calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
create mode 100755 calendar/chrome/calendar/calendar.dtd
create mode 100755 calendar/chrome/calendar/calendar.properties
create mode 100755 calendar/chrome/calendar/calendarCreation.dtd
create mode 100755 calendar/chrome/calendar/calendarCreation.properties
create mode 100755 calendar/chrome/calendar/categories.properties
create mode 100755 calendar/chrome/calendar/dateFormat.properties
create mode 100755 calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
create mode 100755 calendar/chrome/calendar/global.dtd
create mode 100755 calendar/chrome/calendar/menuOverlay.dtd
create mode 100755 calendar/chrome/calendar/migration.dtd
create mode 100755 calendar/chrome/calendar/migration.properties
create mode 100755 calendar/chrome/calendar/preferences/alarms.dtd
create mode 100755 calendar/chrome/calendar/preferences/categories.dtd
create mode 100755 calendar/chrome/calendar/preferences/general.dtd
create mode 100755 calendar/chrome/calendar/preferences/preferences.dtd
create mode 100755 calendar/chrome/calendar/preferences/views.dtd
create mode 100755 calendar/chrome/calendar/provider-uninstall.dtd
create mode 100644 calendar/chrome/calendar/providers/gdata/amo.properties
create mode 100755 calendar/chrome/calendar/providers/gdata/gdata.dtd
create mode 100755 calendar/chrome/calendar/providers/gdata/gdata.properties
create mode 100755 calendar/chrome/calendar/providers/wcap/wcap.properties
create mode 100755 calendar/chrome/calendar/timezones.properties
create mode 100755 calendar/chrome/lightning/lightning-toolbar.dtd
create mode 100755 calendar/chrome/lightning/lightning.dtd
create mode 100755 calendar/chrome/lightning/lightning.properties
create mode 100755 calendar/lightning-l10n.js
create mode 100644 chat/accounts.dtd
create mode 100755 chat/accounts.properties
create mode 100755 chat/commands.properties
create mode 100755 chat/contacts.properties
create mode 100755 chat/conversations.properties
create mode 100644 chat/dateFormat.properties
create mode 100755 chat/facebook.properties
create mode 100755 chat/imtooltip.properties
create mode 100755 chat/irc.properties
create mode 100755 chat/logger.properties
create mode 100644 chat/matrix.properties
create mode 100644 chat/skype.properties
create mode 100755 chat/status.properties
create mode 100755 chat/twitter.properties
create mode 100755 chat/xmpp.properties
create mode 100755 chat/yahoo.properties
create mode 100755 devtools/client/VariablesView.dtd
create mode 100644 devtools/client/aboutdebugging.dtd
create mode 100644 devtools/client/aboutdebugging.ftl
create mode 100644 devtools/client/aboutdebugging.properties
create mode 100644 devtools/client/accessibility.properties
create mode 100644 devtools/client/animationinspector.properties
create mode 100755 devtools/client/app-manager.properties
create mode 100644 devtools/client/application.ftl
create mode 100644 devtools/client/boxmodel.properties
create mode 100755 devtools/client/canvasdebugger.dtd
create mode 100755 devtools/client/canvasdebugger.properties
create mode 100644 devtools/client/changes.properties
create mode 100644 devtools/client/components.properties
create mode 100755 devtools/client/connection-screen.dtd
create mode 100755 devtools/client/connection-screen.properties
create mode 100755 devtools/client/debugger.properties
create mode 100644 devtools/client/device.properties
create mode 100644 devtools/client/dom.properties
create mode 100644 devtools/client/filterwidget.properties
create mode 100644 devtools/client/font-inspector.properties
create mode 100644 devtools/client/graphs.properties
create mode 100644 devtools/client/har.properties
create mode 100755 devtools/client/inspector.properties
create mode 100644 devtools/client/jit-optimizations.properties
create mode 100644 devtools/client/jsonview.properties
create mode 100644 devtools/client/layout.properties
create mode 100644 devtools/client/markers.properties
create mode 100644 devtools/client/memory.properties
create mode 100644 devtools/client/menus.properties
create mode 100755 devtools/client/netmonitor.properties
create mode 100644 devtools/client/network-throttling.properties
create mode 100644 devtools/client/performance.dtd
create mode 100644 devtools/client/performance.properties
create mode 100644 devtools/client/responsive.properties
create mode 100755 devtools/client/scratchpad.dtd
create mode 100755 devtools/client/scratchpad.properties
create mode 100755 devtools/client/shadereditor.dtd
create mode 100755 devtools/client/shadereditor.properties
create mode 100644 devtools/client/shared.properties
create mode 100755 devtools/client/sourceeditor.dtd
create mode 100755 devtools/client/sourceeditor.properties
create mode 100644 devtools/client/startup.properties
create mode 100644 devtools/client/storage.dtd
create mode 100644 devtools/client/storage.properties
create mode 100755 devtools/client/styleeditor.dtd
create mode 100755 devtools/client/styleeditor.properties
create mode 100755 devtools/client/toolbox.dtd
create mode 100755 devtools/client/toolbox.properties
create mode 100644 devtools/client/tooltips.ftl
create mode 100755 devtools/client/webaudioeditor.dtd
create mode 100755 devtools/client/webaudioeditor.properties
create mode 100755 devtools/client/webconsole.properties
create mode 100644 devtools/client/webide.dtd
create mode 100644 devtools/client/webide.properties
create mode 100644 devtools/shared/accessibility.properties
create mode 100644 devtools/shared/browsing-context.properties
create mode 100755 devtools/shared/csscoverage.dtd
create mode 100755 devtools/shared/csscoverage.properties
create mode 100755 devtools/shared/debugger.properties
create mode 100755 devtools/shared/eyedropper.properties
create mode 100644 devtools/shared/highlighters.properties
create mode 100644 devtools/shared/screenshot.properties
create mode 100644 devtools/shared/shared.properties
create mode 100755 devtools/shared/styleinspector.properties
create mode 100644 devtools/startup/aboutDevTools.ftl
create mode 100644 devtools/startup/key-shortcuts.properties
create mode 100644 devtools/startup/startup.properties
create mode 100755 dom/chrome/accessibility/AccessFu.properties
create mode 100755 dom/chrome/accessibility/mac/accessible.properties
create mode 100755 dom/chrome/accessibility/unix/accessible.properties
create mode 100755 dom/chrome/accessibility/win/accessible.properties
create mode 100755 dom/chrome/appstrings.properties
create mode 100755 dom/chrome/dom/dom.properties
create mode 100755 dom/chrome/global-strres.properties
create mode 100755 dom/chrome/global.dtd
create mode 100755 dom/chrome/layout/HtmlForm.properties
create mode 100755 dom/chrome/layout/MediaDocument.properties
create mode 100755 dom/chrome/layout/css.properties
create mode 100755 dom/chrome/layout/htmlparser.properties
create mode 100755 dom/chrome/layout/layout_errors.properties
create mode 100755 dom/chrome/layout/printing.properties
create mode 100755 dom/chrome/layout/xbl.properties
create mode 100755 dom/chrome/layout/xmlparser.properties
create mode 100755 dom/chrome/layout/xul.properties
create mode 100755 dom/chrome/mathml/mathml.properties
create mode 100755 dom/chrome/netError.dtd
create mode 100755 dom/chrome/netErrorApp.dtd
create mode 100755 dom/chrome/nsWebBrowserPersist.properties
create mode 100755 dom/chrome/plugins.properties
create mode 100755 dom/chrome/security/caps.properties
create mode 100755 dom/chrome/security/csp.properties
create mode 100755 dom/chrome/security/security.properties
create mode 100755 dom/chrome/svg/svg.properties
create mode 100755 dom/chrome/xml/prettyprint.dtd
create mode 100755 dom/chrome/xslt/xslt.properties
create mode 100755 editor/ui/chrome/composer/editingOverlay.dtd
create mode 100755 editor/ui/chrome/composer/editor.dtd
create mode 100755 editor/ui/chrome/composer/editor.properties
create mode 100755 editor/ui/chrome/composer/editorOverlay.dtd
create mode 100755 editor/ui/chrome/composer/editorPrefsOverlay.dtd
create mode 100755 editor/ui/chrome/composer/editorSmileyOverlay.dtd
create mode 100755 editor/ui/chrome/composer/pref-composer.dtd
create mode 100755 editor/ui/chrome/composer/pref-editing.dtd
create mode 100755 editor/ui/chrome/composer/pref-toolbars.dtd
create mode 100755 editor/ui/chrome/dialogs/EdAdvancedEdit.dtd
create mode 100755 editor/ui/chrome/dialogs/EdColorPicker.dtd
create mode 100755 editor/ui/chrome/dialogs/EdConvertToTable.dtd
create mode 100755 editor/ui/chrome/dialogs/EdDialogOverlay.dtd
create mode 100755 editor/ui/chrome/dialogs/EdLinkChecker.dtd
create mode 100755 editor/ui/chrome/dialogs/EdNamedAnchorProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditConflict.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorButtonProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorColorProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorFieldSetProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorFormProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorHLineProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorImageProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorInputProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorInsertChars.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorInsertMath.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorInsertSource.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorInsertTOC.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorInsertTable.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorLabelProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorLinkProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorListProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorPageProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorPersonalDictionary.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorPublish.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorPublishProgress.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorReplace.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorSaveAsCharset.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorSelectProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorSnapToGrid.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorSpellCheck.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorTableProperties.dtd
create mode 100755 editor/ui/chrome/dialogs/EditorTextAreaProperties.dtd
create mode 100755 editor/ui/chrome/region/region.properties
create mode 100755 mail/all-l10n.js
create mode 100644 mail/branding/thunderbird/brand.dtd
create mode 100644 mail/branding/thunderbird/brand.ftl
create mode 100644 mail/branding/thunderbird/brand.properties
create mode 100755 mail/chrome/communicator/utilityOverlay.dtd
create mode 100755 mail/chrome/messenger-mapi/mapi.properties
create mode 100755 mail/chrome/messenger-newsblog/am-newsblog.dtd
create mode 100755 mail/chrome/messenger-newsblog/feed-subscriptions.dtd
create mode 100755 mail/chrome/messenger-newsblog/newsblog.properties
create mode 100755 mail/chrome/messenger-region/region.properties
create mode 100755 mail/chrome/messenger-smime/certFetchingStatus.dtd
create mode 100755 mail/chrome/messenger-smime/msgCompSMIMEOverlay.dtd
create mode 100755 mail/chrome/messenger-smime/msgCompSMIMEOverlay.properties
create mode 100755 mail/chrome/messenger-smime/msgCompSecurityInfo.dtd
create mode 100755 mail/chrome/messenger-smime/msgCompSecurityInfo.properties
create mode 100755 mail/chrome/messenger-smime/msgReadSMIMEOverlay.dtd
create mode 100755 mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties
create mode 100755 mail/chrome/messenger-smime/msgReadSecurityInfo.dtd
create mode 100755 mail/chrome/messenger-smime/msgSecurityInfo.properties
create mode 100755 mail/chrome/messenger/AccountManager.dtd
create mode 100755 mail/chrome/messenger/AccountWizard.dtd
create mode 100755 mail/chrome/messenger/CustomHeaders.dtd
create mode 100755 mail/chrome/messenger/FilterEditor.dtd
create mode 100755 mail/chrome/messenger/FilterListDialog.dtd
create mode 100755 mail/chrome/messenger/SearchDialog.dtd
create mode 100755 mail/chrome/messenger/aboutDialog.dtd
create mode 100644 mail/chrome/messenger/aboutDownloads.dtd
create mode 100755 mail/chrome/messenger/aboutRights.dtd
create mode 100755 mail/chrome/messenger/aboutRights.properties
create mode 100755 mail/chrome/messenger/aboutSupportMail.properties
create mode 100755 mail/chrome/messenger/accountCreation.dtd
create mode 100755 mail/chrome/messenger/accountCreation.properties
create mode 100755 mail/chrome/messenger/accountCreationModel.properties
create mode 100755 mail/chrome/messenger/accountCreationUtil.properties
create mode 100755 mail/chrome/messenger/activity.dtd
create mode 100755 mail/chrome/messenger/activity.properties
create mode 100755 mail/chrome/messenger/addbuddy.dtd
create mode 100644 mail/chrome/messenger/addons.properties
create mode 100755 mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abCard.dtd
create mode 100755 mail/chrome/messenger/addressbook/abContactsPanel.dtd
create mode 100755 mail/chrome/messenger/addressbook/abMailListDialog.dtd
create mode 100755 mail/chrome/messenger/addressbook/abMainWindow.dtd
create mode 100755 mail/chrome/messenger/addressbook/abNewCardDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abResultsPane.dtd
create mode 100755 mail/chrome/messenger/addressbook/addressBook.properties
create mode 100755 mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties
create mode 100755 mail/chrome/messenger/addressbook/pref-directory-add.dtd
create mode 100755 mail/chrome/messenger/addressbook/pref-directory.dtd
create mode 100755 mail/chrome/messenger/addressbook/replicationProgress.properties
create mode 100755 mail/chrome/messenger/am-addressing.dtd
create mode 100755 mail/chrome/messenger/am-advanced.dtd
create mode 100755 mail/chrome/messenger/am-archiveoptions.dtd
create mode 100755 mail/chrome/messenger/am-copies.dtd
create mode 100755 mail/chrome/messenger/am-identities-list.dtd
create mode 100755 mail/chrome/messenger/am-identity-edit.dtd
create mode 100755 mail/chrome/messenger/am-im.dtd
create mode 100755 mail/chrome/messenger/am-junk.dtd
create mode 100755 mail/chrome/messenger/am-main.dtd
create mode 100755 mail/chrome/messenger/am-mdn.dtd
create mode 100755 mail/chrome/messenger/am-mdn.properties
create mode 100755 mail/chrome/messenger/am-offline.dtd
create mode 100755 mail/chrome/messenger/am-server-advanced.dtd
create mode 100755 mail/chrome/messenger/am-server-top.dtd
create mode 100755 mail/chrome/messenger/am-serverwithnoidentities.dtd
create mode 100755 mail/chrome/messenger/am-smime.dtd
create mode 100755 mail/chrome/messenger/am-smime.properties
create mode 100644 mail/chrome/messenger/app-extension-fields.properties
create mode 100644 mail/chrome/messenger/appUpdate.properties
create mode 100755 mail/chrome/messenger/appleMailImportMsgs.properties
create mode 100755 mail/chrome/messenger/baseMenuOverlay.dtd
create mode 100644 mail/chrome/messenger/beckyImportMsgs.properties
create mode 100755 mail/chrome/messenger/charsetTitles.properties
create mode 100755 mail/chrome/messenger/chat.dtd
create mode 100755 mail/chrome/messenger/chat.properties
create mode 100755 mail/chrome/messenger/cloudfile/Box/auth.dtd
create mode 100755 mail/chrome/messenger/cloudfile/Box/management.dtd
create mode 100755 mail/chrome/messenger/cloudfile/Box/settings.dtd
create mode 100755 mail/chrome/messenger/cloudfile/Hightail/fileExceeds2GB.dtd
create mode 100755 mail/chrome/messenger/cloudfile/Hightail/fileExceedsLimit.dtd
create mode 100755 mail/chrome/messenger/cloudfile/Hightail/fileExceedsQuota.dtd
create mode 100755 mail/chrome/messenger/cloudfile/Hightail/management.dtd
create mode 100755 mail/chrome/messenger/cloudfile/Hightail/settings.dtd
create mode 100755 mail/chrome/messenger/cloudfile/addAccountDialog.dtd
create mode 100755 mail/chrome/messenger/cloudfile/management.dtd
create mode 100755 mail/chrome/messenger/configEditorOverlay.dtd
create mode 100644 mail/chrome/messenger/converterDialog.dtd
create mode 100644 mail/chrome/messenger/converterDialog.properties
create mode 100755 mail/chrome/messenger/custom.properties
create mode 100644 mail/chrome/messenger/customizeToolbar.dtd
create mode 100644 mail/chrome/messenger/customizeToolbar.properties
create mode 100644 mail/chrome/messenger/datetimepicker.dtd
create mode 100755 mail/chrome/messenger/devtools/dbgserver.dtd
create mode 100755 mail/chrome/messenger/devtools/dbgserver.properties
create mode 100755 mail/chrome/messenger/downloadheaders.dtd
create mode 100755 mail/chrome/messenger/editContactOverlay.dtd
create mode 100755 mail/chrome/messenger/editContactOverlay.properties
create mode 100644 mail/chrome/messenger/extensionsOverlay.properties
create mode 100755 mail/chrome/messenger/fieldMapImport.dtd
create mode 100755 mail/chrome/messenger/filter.properties
create mode 100755 mail/chrome/messenger/folderProps.dtd
create mode 100755 mail/chrome/messenger/folderWidgets.properties
create mode 100755 mail/chrome/messenger/folderpane.dtd
create mode 100755 mail/chrome/messenger/gloda.properties
create mode 100755 mail/chrome/messenger/glodaComplete.properties
create mode 100755 mail/chrome/messenger/glodaFacetView.dtd
create mode 100755 mail/chrome/messenger/glodaFacetView.properties
create mode 100755 mail/chrome/messenger/imAccountWizard.dtd
create mode 100755 mail/chrome/messenger/imAccounts.properties
create mode 100755 mail/chrome/messenger/imapMsgs.properties
create mode 100755 mail/chrome/messenger/importDialog.dtd
create mode 100755 mail/chrome/messenger/importMsgs.properties
create mode 100755 mail/chrome/messenger/joinChat.dtd
create mode 100755 mail/chrome/messenger/junkLog.dtd
create mode 100755 mail/chrome/messenger/junkMailInfo.dtd
create mode 100755 mail/chrome/messenger/localMsgs.properties
create mode 100755 mail/chrome/messenger/mailEditorOverlay.dtd
create mode 100755 mail/chrome/messenger/mailOverlay.dtd
create mode 100755 mail/chrome/messenger/mailViewList.dtd
create mode 100755 mail/chrome/messenger/mailViewSetup.dtd
create mode 100755 mail/chrome/messenger/mailviews.properties
create mode 100755 mail/chrome/messenger/markByDate.dtd
create mode 100755 mail/chrome/messenger/messenger.dtd
create mode 100755 mail/chrome/messenger/messenger.properties
create mode 100755 mail/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
create mode 100755 mail/chrome/messenger/messengercompose/askSendFormat.dtd
create mode 100755 mail/chrome/messenger/messengercompose/askSendFormat.properties
create mode 100755 mail/chrome/messenger/messengercompose/composeMsgs.properties
create mode 100755 mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
create mode 100755 mail/chrome/messenger/messengercompose/messengercompose.dtd
create mode 100755 mail/chrome/messenger/messengercompose/sendProgress.dtd
create mode 100755 mail/chrome/messenger/messengercompose/sendProgress.properties
create mode 100755 mail/chrome/messenger/migration/migration.dtd
create mode 100755 mail/chrome/messenger/migration/migration.properties
create mode 100755 mail/chrome/messenger/mime.properties
create mode 100755 mail/chrome/messenger/mimeheader.properties
create mode 100755 mail/chrome/messenger/msgAccountCentral.dtd
create mode 100755 mail/chrome/messenger/msgHdrViewOverlay.dtd
create mode 100755 mail/chrome/messenger/msgPrintEngine.dtd
create mode 100755 mail/chrome/messenger/msgSynchronize.dtd
create mode 100755 mail/chrome/messenger/msgViewPickerOverlay.dtd
create mode 100755 mail/chrome/messenger/msgmdn.properties
create mode 100755 mail/chrome/messenger/multimessageview.dtd
create mode 100755 mail/chrome/messenger/multimessageview.properties
create mode 100755 mail/chrome/messenger/newFolderDialog.dtd
create mode 100755 mail/chrome/messenger/newTagDialog.dtd
create mode 100755 mail/chrome/messenger/newmailaccount/accountProvisioner.dtd
create mode 100755 mail/chrome/messenger/newmailaccount/accountProvisioner.properties
create mode 100755 mail/chrome/messenger/news.properties
create mode 100644 mail/chrome/messenger/newsError.dtd
create mode 100755 mail/chrome/messenger/oeImportMsgs.properties
create mode 100755 mail/chrome/messenger/offline.properties
create mode 100755 mail/chrome/messenger/offlineStartup.properties
create mode 100755 mail/chrome/messenger/outlookImportMsgs.properties
create mode 100755 mail/chrome/messenger/pgpmime.properties
create mode 100755 mail/chrome/messenger/preferences/advanced.dtd
create mode 100755 mail/chrome/messenger/preferences/applicationManager.dtd
create mode 100755 mail/chrome/messenger/preferences/applicationManager.properties
create mode 100755 mail/chrome/messenger/preferences/applications.dtd
create mode 100755 mail/chrome/messenger/preferences/applications.properties
create mode 100755 mail/chrome/messenger/preferences/attachmentReminder.dtd
create mode 100755 mail/chrome/messenger/preferences/chat.dtd
create mode 100755 mail/chrome/messenger/preferences/colors.dtd
create mode 100755 mail/chrome/messenger/preferences/compose.dtd
create mode 100755 mail/chrome/messenger/preferences/connection.dtd
create mode 100755 mail/chrome/messenger/preferences/cookies.dtd
create mode 100755 mail/chrome/messenger/preferences/display.dtd
create mode 100755 mail/chrome/messenger/preferences/dockoptions.dtd
create mode 100755 mail/chrome/messenger/preferences/fonts.dtd
create mode 100755 mail/chrome/messenger/preferences/general.dtd
create mode 100644 mail/chrome/messenger/preferences/messagestyle.properties
create mode 100755 mail/chrome/messenger/preferences/notifications.dtd
create mode 100755 mail/chrome/messenger/preferences/offline.dtd
create mode 100755 mail/chrome/messenger/preferences/permissions.dtd
create mode 100755 mail/chrome/messenger/preferences/preferences.dtd
create mode 100755 mail/chrome/messenger/preferences/preferences.properties
create mode 100755 mail/chrome/messenger/preferences/privacy.dtd
create mode 100755 mail/chrome/messenger/preferences/receipts.dtd
create mode 100755 mail/chrome/messenger/preferences/security.dtd
create mode 100755 mail/chrome/messenger/preferences/sendoptions.dtd
create mode 100755 mail/chrome/messenger/prefs.properties
create mode 100755 mail/chrome/messenger/quickFilterBar.dtd
create mode 100644 mail/chrome/messenger/removeAccount.dtd
create mode 100644 mail/chrome/messenger/removeAccount.properties
create mode 100755 mail/chrome/messenger/renameFolderDialog.dtd
create mode 100755 mail/chrome/messenger/safeMode.dtd
create mode 100755 mail/chrome/messenger/sanitize.dtd
create mode 100755 mail/chrome/messenger/search-attributes.properties
create mode 100755 mail/chrome/messenger/search-operators.properties
create mode 100755 mail/chrome/messenger/search.properties
create mode 100755 mail/chrome/messenger/searchIntegrationDefault.dtd
create mode 100755 mail/chrome/messenger/searchIntegrationMac.dtd
create mode 100755 mail/chrome/messenger/searchIntegrationWin.dtd
create mode 100755 mail/chrome/messenger/searchTermOverlay.dtd
create mode 100755 mail/chrome/messenger/shutdownWindow.properties
create mode 100755 mail/chrome/messenger/smime.properties
create mode 100755 mail/chrome/messenger/smtpEditOverlay.dtd
create mode 100755 mail/chrome/messenger/subscribe.dtd
create mode 100755 mail/chrome/messenger/subscribe.properties
create mode 100755 mail/chrome/messenger/systemIntegrationDialog.dtd
create mode 100755 mail/chrome/messenger/tabmail.dtd
create mode 100755 mail/chrome/messenger/taskbar.properties
create mode 100755 mail/chrome/messenger/telemetry.properties
create mode 100755 mail/chrome/messenger/templateUtils.properties
create mode 100755 mail/chrome/messenger/textImportMsgs.properties
create mode 100755 mail/chrome/messenger/vCardImportMsgs.properties
create mode 100755 mail/chrome/messenger/viewLog.dtd
create mode 100644 mail/chrome/messenger/viewSource.dtd
create mode 100644 mail/chrome/messenger/viewSource.properties
create mode 100755 mail/chrome/messenger/viewZoomOverlay.dtd
create mode 100755 mail/chrome/messenger/virtualFolderListDialog.dtd
create mode 100755 mail/chrome/messenger/virtualFolderProperties.dtd
create mode 100755 mail/chrome/messenger/wmImportMsgs.properties
create mode 100755 mail/chrome/mozldap/ldap.properties
create mode 100755 mail/chrome/overrides/netError.dtd
create mode 100755 mail/chrome/overrides/settingsChange.dtd
create mode 100755 mail/defines.inc
create mode 100755 mail/installer/custom.properties
create mode 100755 mail/installer/mui.properties
create mode 100755 mail/installer/override.properties
create mode 100644 mail/messenger/aboutSupportMail.ftl
create mode 100644 mail/messenger/policies/aboutPolicies.ftl
create mode 100644 mail/messenger/policies/policies-descriptions.ftl
create mode 100644 mail/messenger/preferences/am-im.ftl
create mode 100644 mail/messenger/preferences/connection.ftl
create mode 100644 mail/messenger/preferences/fonts.ftl
create mode 100644 mail/messenger/preferences/languages.ftl
create mode 100644 mail/messenger/preferences/preferences.ftl
create mode 100755 mail/updater/updater.ini
create mode 100755 minimo/chrome/contents.rdf
create mode 100755 mobile/android/base/android_strings.dtd
create mode 100755 mobile/android/base/sync_strings.dtd
create mode 100755 mobile/android/chrome/about.dtd
create mode 100644 mobile/android/chrome/aboutAccounts.dtd
create mode 100644 mobile/android/chrome/aboutAccounts.properties
create mode 100755 mobile/android/chrome/aboutAddons.dtd
create mode 100755 mobile/android/chrome/aboutAddons.properties
create mode 100755 mobile/android/chrome/aboutCertError.dtd
create mode 100755 mobile/android/chrome/aboutDevices.dtd
create mode 100755 mobile/android/chrome/aboutDownloads.dtd
create mode 100755 mobile/android/chrome/aboutDownloads.properties
create mode 100755 mobile/android/chrome/aboutHome.dtd
create mode 100644 mobile/android/chrome/aboutHome.properties
create mode 100644 mobile/android/chrome/aboutLogins.dtd
create mode 100644 mobile/android/chrome/aboutLogins.properties
create mode 100755 mobile/android/chrome/aboutPrivateBrowsing.dtd
create mode 100755 mobile/android/chrome/browser.properties
create mode 100755 mobile/android/chrome/config.dtd
create mode 100755 mobile/android/chrome/config.properties
create mode 100644 mobile/android/chrome/devicePrompt.properties
create mode 100755 mobile/android/chrome/passwordmgr.properties
create mode 100755 mobile/android/chrome/phishing.dtd
create mode 100755 mobile/android/chrome/pippki.properties
create mode 100755 mobile/android/chrome/sync.properties
create mode 100644 mobile/android/chrome/webcompatReporter.properties
create mode 100755 mobile/android/defines.inc
create mode 100755 mobile/chrome/region.properties
create mode 100755 mobile/overrides/appstrings.properties
create mode 100755 mobile/overrides/netError.dtd
create mode 100755 netwerk/necko.properties
create mode 100644 other-licenses/branding/sunbird/brand.dtd
create mode 100644 other-licenses/branding/sunbird/brand.properties
create mode 100755 security/manager/chrome/pipnss/nsserrors.properties
create mode 100755 security/manager/chrome/pipnss/pipnss.properties
create mode 100755 security/manager/chrome/pippki/pippki.dtd
create mode 100755 security/manager/chrome/pippki/pippki.properties
create mode 100644 security/manager/security/certificates/certManager.ftl
create mode 100644 security/manager/security/certificates/deviceManager.ftl
create mode 100755 services/sync/sync.properties
create mode 100644 suite/branding/seamonkey/brand.dtd
create mode 100644 suite/branding/seamonkey/brand.properties
create mode 100755 suite/chrome/branding/aboutRights.dtd
create mode 100755 suite/chrome/branding/aboutRights.properties
create mode 100755 suite/chrome/browser/linkToolbar.dtd
create mode 100755 suite/chrome/browser/mac/platformNavigationBindings.dtd
create mode 100755 suite/chrome/browser/mailNavigatorOverlay.dtd
create mode 100755 suite/chrome/browser/metadata.dtd
create mode 100755 suite/chrome/browser/metadata.properties
create mode 100755 suite/chrome/browser/navigator.dtd
create mode 100755 suite/chrome/browser/navigator.properties
create mode 100755 suite/chrome/browser/navigatorOverlay.dtd
create mode 100755 suite/chrome/browser/pageInfo.dtd
create mode 100755 suite/chrome/browser/pageInfo.properties
create mode 100755 suite/chrome/browser/region.properties
create mode 100755 suite/chrome/browser/tabbrowser.dtd
create mode 100755 suite/chrome/browser/tabbrowser.properties
create mode 100755 suite/chrome/browser/taskbar.properties
create mode 100755 suite/chrome/browser/unix/platformNavigationBindings.dtd
create mode 100755 suite/chrome/browser/webDeveloper.dtd
create mode 100755 suite/chrome/browser/win/platformNavigationBindings.dtd
create mode 100755 suite/chrome/common/about.dtd
create mode 100755 suite/chrome/common/aboutPrivateBrowsing.dtd
create mode 100755 suite/chrome/common/aboutSessionRestore.dtd
create mode 100755 suite/chrome/common/aboutSyncTabs.dtd
create mode 100755 suite/chrome/common/askViewZoom.dtd
create mode 100755 suite/chrome/common/certError.dtd
create mode 100644 suite/chrome/common/console/console.dtd
create mode 100644 suite/chrome/common/console/console.properties
create mode 100755 suite/chrome/common/contentAreaCommands.dtd
create mode 100755 suite/chrome/common/contentAreaCommands.properties
create mode 100644 suite/chrome/common/customizeToolbar.dtd
create mode 100644 suite/chrome/common/customizeToolbar.properties
create mode 100755 suite/chrome/common/dataman/dataman.dtd
create mode 100755 suite/chrome/common/dataman/dataman.properties
create mode 100644 suite/chrome/common/datetimepicker.dtd
create mode 100755 suite/chrome/common/defaultClientDialog.dtd
create mode 100755 suite/chrome/common/downloads/downloadmanager.dtd
create mode 100755 suite/chrome/common/downloads/downloadmanager.properties
create mode 100755 suite/chrome/common/downloads/progressDialog.dtd
create mode 100755 suite/chrome/common/feeds/subscribe.dtd
create mode 100755 suite/chrome/common/feeds/subscribe.properties
create mode 100755 suite/chrome/common/gopherAddon.dtd
create mode 100755 suite/chrome/common/help/cert_dialog_help.xhtml
create mode 100755 suite/chrome/common/help/certs_help.xhtml
create mode 100755 suite/chrome/common/help/certs_prefs_help.xhtml
create mode 100755 suite/chrome/common/help/composer_help.xhtml
create mode 100755 suite/chrome/common/help/cs_nav_prefs_advanced.xhtml
create mode 100755 suite/chrome/common/help/cs_nav_prefs_appearance.xhtml
create mode 100755 suite/chrome/common/help/cs_nav_prefs_navigator.xhtml
create mode 100755 suite/chrome/common/help/cs_priv_prefs_popup.xhtml
create mode 100755 suite/chrome/common/help/customize_help.xhtml
create mode 100755 suite/chrome/common/help/developer_tools.xhtml
create mode 100755 suite/chrome/common/help/forieusers.xhtml
create mode 100755 suite/chrome/common/help/glossary.xhtml
create mode 100755 suite/chrome/common/help/help-glossary.rdf
create mode 100755 suite/chrome/common/help/help-index1.rdf
create mode 100755 suite/chrome/common/help/help-indexAZ.rdf
create mode 100755 suite/chrome/common/help/help-win.rdf
create mode 100755 suite/chrome/common/help/helpFileLayout.css
create mode 100755 suite/chrome/common/help/help_help.xhtml
create mode 100755 suite/chrome/common/help/images/anchor-in-doc.gif
create mode 100755 suite/chrome/common/help/images/broken.gif
create mode 100755 suite/chrome/common/help/images/bullets.gif
create mode 100755 suite/chrome/common/help/images/columns.png
create mode 100755 suite/chrome/common/help/images/composer_icon.png
create mode 100755 suite/chrome/common/help/images/help_nav.png
create mode 100755 suite/chrome/common/help/images/help_print.gif
create mode 100755 suite/chrome/common/help/images/image.gif
create mode 100755 suite/chrome/common/help/images/link.gif
create mode 100755 suite/chrome/common/help/images/locationbar.png
create mode 100755 suite/chrome/common/help/images/mail_flag.png
create mode 100755 suite/chrome/common/help/images/mail_flag_column.png
create mode 100755 suite/chrome/common/help/images/mail_junk_column.png
create mode 100755 suite/chrome/common/help/images/mail_newmail_alert.png
create mode 100755 suite/chrome/common/help/images/mail_newmail_trayicon.png
create mode 100755 suite/chrome/common/help/images/mail_quicksearch.png
create mode 100755 suite/chrome/common/help/images/mail_read.png
create mode 100755 suite/chrome/common/help/images/mail_read_column.png
create mode 100755 suite/chrome/common/help/images/mail_unread.png
create mode 100755 suite/chrome/common/help/images/numbers.gif
create mode 100755 suite/chrome/common/help/images/offline.png
create mode 100755 suite/chrome/common/help/images/online.png
create mode 100755 suite/chrome/common/help/images/personalbar.png
create mode 100755 suite/chrome/common/help/images/reload.gif
create mode 100755 suite/chrome/common/help/images/search.png
create mode 100755 suite/chrome/common/help/images/search_personal_toolbar.gif
create mode 100755 suite/chrome/common/help/images/sidebar.png
create mode 100755 suite/chrome/common/help/images/tabbed_browsing_bar.png
create mode 100755 suite/chrome/common/help/images/table.gif
create mode 100755 suite/chrome/common/help/images/task_mail.png
create mode 100755 suite/chrome/common/help/images/task_newmail.png
create mode 100755 suite/chrome/common/help/images/taskbar-ab.png
create mode 100755 suite/chrome/common/help/images/taskbar.png
create mode 100755 suite/chrome/common/help/images/threadbutton.png
create mode 100755 suite/chrome/common/help/images/web-links.png
create mode 100755 suite/chrome/common/help/mailnews_account_settings.xhtml
create mode 100755 suite/chrome/common/help/mailnews_addressbooks.xhtml
create mode 100755 suite/chrome/common/help/mailnews_blogs_and_feeds.xhtml
create mode 100755 suite/chrome/common/help/mailnews_getting_started.xhtml
create mode 100755 suite/chrome/common/help/mailnews_newsgroups.xhtml
create mode 100755 suite/chrome/common/help/mailnews_offline.xhtml
create mode 100755 suite/chrome/common/help/mailnews_organizing.xhtml
create mode 100755 suite/chrome/common/help/mailnews_preferences.xhtml
create mode 100755 suite/chrome/common/help/mailnews_security.xhtml
create mode 100755 suite/chrome/common/help/mailnews_using_mail.xhtml
create mode 100755 suite/chrome/common/help/nav_help.xhtml
create mode 100755 suite/chrome/common/help/page_info_help.xhtml
create mode 100755 suite/chrome/common/help/passwords_help.xhtml
create mode 100755 suite/chrome/common/help/privacy_help.xhtml
create mode 100755 suite/chrome/common/help/privsec_help.xhtml
create mode 100755 suite/chrome/common/help/profiles_help.xhtml
create mode 100755 suite/chrome/common/help/shortcuts.xhtml
create mode 100755 suite/chrome/common/help/shortcuts_composer.xhtml
create mode 100755 suite/chrome/common/help/shortcuts_mailnews.xhtml
create mode 100755 suite/chrome/common/help/shortcuts_navigator.xhtml
create mode 100755 suite/chrome/common/help/ssl_help.xhtml
create mode 100755 suite/chrome/common/help/suite-toc.rdf
create mode 100755 suite/chrome/common/help/suitehelp.rdf
create mode 100755 suite/chrome/common/help/using_certs_help.xhtml
create mode 100755 suite/chrome/common/help/using_priv_help.xhtml
create mode 100755 suite/chrome/common/help/welcome_help.xhtml
create mode 100644 suite/chrome/common/helpviewer/help.dtd
create mode 100644 suite/chrome/common/helpviewer/help.properties
create mode 100644 suite/chrome/common/helpviewer/help/help-toc.rdf
create mode 100644 suite/chrome/common/helpviewer/help/welcome.xhtml
create mode 100755 suite/chrome/common/mac/platformCommunicatorOverlay.dtd
create mode 100755 suite/chrome/common/migration/migration.dtd
create mode 100755 suite/chrome/common/migration/migration.properties
create mode 100755 suite/chrome/common/notification.dtd
create mode 100755 suite/chrome/common/notification.properties
create mode 100755 suite/chrome/common/openLocation.dtd
create mode 100755 suite/chrome/common/openLocation.properties
create mode 100755 suite/chrome/common/permissions/cookieViewer.dtd
create mode 100755 suite/chrome/common/permissions/cookieViewer.properties
create mode 100755 suite/chrome/common/permissions/permissionsManager.dtd
create mode 100755 suite/chrome/common/permissions/permissionsManager.properties
create mode 100644 suite/chrome/common/places/bookmarkProperties.properties
create mode 100644 suite/chrome/common/places/editBookmarkOverlay.dtd
create mode 100644 suite/chrome/common/places/places.dtd
create mode 100755 suite/chrome/common/places/places.properties
create mode 100755 suite/chrome/common/pref/mac/platformPrefOverlay.dtd
create mode 100755 suite/chrome/common/pref/pref-advanced.dtd
create mode 100755 suite/chrome/common/pref/pref-appearance.dtd
create mode 100755 suite/chrome/common/pref/pref-applicationManager.dtd
create mode 100755 suite/chrome/common/pref/pref-applicationManager.properties
create mode 100755 suite/chrome/common/pref/pref-applications.dtd
create mode 100755 suite/chrome/common/pref/pref-applications.properties
create mode 100755 suite/chrome/common/pref/pref-cache.dtd
create mode 100755 suite/chrome/common/pref/pref-certs.dtd
create mode 100755 suite/chrome/common/pref/pref-colors.dtd
create mode 100755 suite/chrome/common/pref/pref-content.dtd
create mode 100755 suite/chrome/common/pref/pref-cookies.dtd
create mode 100755 suite/chrome/common/pref/pref-download.dtd
create mode 100755 suite/chrome/common/pref/pref-findasyoutype.dtd
create mode 100755 suite/chrome/common/pref/pref-fonts.dtd
create mode 100755 suite/chrome/common/pref/pref-history.dtd
create mode 100755 suite/chrome/common/pref/pref-http.dtd
create mode 100755 suite/chrome/common/pref/pref-images.dtd
create mode 100755 suite/chrome/common/pref/pref-keynav.dtd
create mode 100755 suite/chrome/common/pref/pref-languages.dtd
create mode 100755 suite/chrome/common/pref/pref-languages.properties
create mode 100755 suite/chrome/common/pref/pref-links.dtd
create mode 100755 suite/chrome/common/pref/pref-locationbar.dtd
create mode 100755 suite/chrome/common/pref/pref-masterpass.dtd
create mode 100644 suite/chrome/common/pref/pref-media.dtd
create mode 100755 suite/chrome/common/pref/pref-mousewheel.dtd
create mode 100755 suite/chrome/common/pref/pref-navigator.dtd
create mode 100755 suite/chrome/common/pref/pref-offlineapps.dtd
create mode 100755 suite/chrome/common/pref/pref-passwords.dtd
create mode 100755 suite/chrome/common/pref/pref-popups.dtd
create mode 100755 suite/chrome/common/pref/pref-privatedata.dtd
create mode 100755 suite/chrome/common/pref/pref-proxies-advanced.dtd
create mode 100755 suite/chrome/common/pref/pref-proxies.dtd
create mode 100755 suite/chrome/common/pref/pref-scripts.dtd
create mode 100755 suite/chrome/common/pref/pref-search.dtd
create mode 100755 suite/chrome/common/pref/pref-security.dtd
create mode 100755 suite/chrome/common/pref/pref-smartupdate.dtd
create mode 100755 suite/chrome/common/pref/pref-spelling.dtd
create mode 100755 suite/chrome/common/pref/pref-ssl.dtd
create mode 100755 suite/chrome/common/pref/pref-sync.dtd
create mode 100755 suite/chrome/common/pref/pref-tabs.dtd
create mode 100755 suite/chrome/common/pref/preferences.dtd
create mode 100755 suite/chrome/common/pref/prefutilities.dtd
create mode 100755 suite/chrome/common/pref/prefutilities.properties
create mode 100755 suite/chrome/common/pref/unix/platformPrefOverlay.dtd
create mode 100755 suite/chrome/common/pref/win/platformPrefOverlay.dtd
create mode 100755 suite/chrome/common/printPreview.dtd
create mode 100755 suite/chrome/common/profile/profileSelection.dtd
create mode 100755 suite/chrome/common/profile/profileSelection.properties
create mode 100755 suite/chrome/common/quitDialog.properties
create mode 100755 suite/chrome/common/region.properties
create mode 100755 suite/chrome/common/safeBrowsing.dtd
create mode 100755 suite/chrome/common/safeMode.dtd
create mode 100755 suite/chrome/common/sanitize.dtd
create mode 100755 suite/chrome/common/search/engineManager.dtd
create mode 100755 suite/chrome/common/search/engineManager.properties
create mode 100755 suite/chrome/common/search/search-panel.dtd
create mode 100755 suite/chrome/common/search/search.properties
create mode 100755 suite/chrome/common/search/searchbar.dtd
create mode 100755 suite/chrome/common/setDesktopBackground.dtd
create mode 100755 suite/chrome/common/shellservice.properties
create mode 100755 suite/chrome/common/sidebar/customize.dtd
create mode 100755 suite/chrome/common/sidebar/preview.dtd
create mode 100755 suite/chrome/common/sidebar/sidebar.properties
create mode 100755 suite/chrome/common/sidebar/sidebarOverlay.dtd
create mode 100644 suite/chrome/common/sitePermissions.properties
create mode 100755 suite/chrome/common/sync/syncBrand.dtd
create mode 100755 suite/chrome/common/sync/syncGenericChange.properties
create mode 100755 suite/chrome/common/sync/syncKey.dtd
create mode 100755 suite/chrome/common/sync/syncQuota.dtd
create mode 100755 suite/chrome/common/sync/syncQuota.properties
create mode 100755 suite/chrome/common/sync/syncSetup.dtd
create mode 100755 suite/chrome/common/sync/syncSetup.properties
create mode 100755 suite/chrome/common/tasksOverlay.dtd
create mode 100755 suite/chrome/common/typeaheadfind.properties
create mode 100755 suite/chrome/common/unix/platformCommunicatorOverlay.dtd
create mode 100755 suite/chrome/common/utilityOverlay.dtd
create mode 100755 suite/chrome/common/utilityOverlay.properties
create mode 100755 suite/chrome/common/viewApplyThemeOverlay.dtd
create mode 100755 suite/chrome/common/viewApplyThemeOverlay.properties
create mode 100755 suite/chrome/common/viewZoomOverlay.dtd
create mode 100755 suite/chrome/common/viewZoomOverlay.properties
create mode 100755 suite/chrome/common/win/platformCommunicatorOverlay.dtd
create mode 100755 suite/chrome/mailnews/CustomHeaders.dtd
create mode 100755 suite/chrome/mailnews/FilterEditor.dtd
create mode 100755 suite/chrome/mailnews/FilterListDialog.dtd
create mode 100755 suite/chrome/mailnews/SearchDialog.dtd
create mode 100755 suite/chrome/mailnews/addressbook/abAddressBookNameDialog.dtd
create mode 100755 suite/chrome/mailnews/addressbook/abCardOverlay.dtd
create mode 100755 suite/chrome/mailnews/addressbook/abMailListDialog.dtd
create mode 100755 suite/chrome/mailnews/addressbook/abMainWindow.dtd
create mode 100755 suite/chrome/mailnews/addressbook/abNewCardDialog.dtd
create mode 100755 suite/chrome/mailnews/addressbook/abResultsPaneOverlay.dtd
create mode 100755 suite/chrome/mailnews/addressbook/abSelectAddressesDialog.dtd
create mode 100755 suite/chrome/mailnews/addressbook/addressBook.properties
create mode 100755 suite/chrome/mailnews/addressbook/ldapAutoCompErrs.properties
create mode 100755 suite/chrome/mailnews/appleMailImportMsgs.properties
create mode 100644 suite/chrome/mailnews/beckyImportMsgs.properties
create mode 100755 suite/chrome/mailnews/charsetTitles.properties
create mode 100755 suite/chrome/mailnews/compose/addressingWidgetOverlay.dtd
create mode 100755 suite/chrome/mailnews/compose/askSendFormat.dtd
create mode 100755 suite/chrome/mailnews/compose/askSendFormat.properties
create mode 100755 suite/chrome/mailnews/compose/composeMsgs.properties
create mode 100755 suite/chrome/mailnews/compose/mailComposeEditorOverlay.dtd
create mode 100755 suite/chrome/mailnews/compose/messengercompose.dtd
create mode 100755 suite/chrome/mailnews/compose/sendProgress.dtd
create mode 100755 suite/chrome/mailnews/compose/sendProgress.properties
create mode 100755 suite/chrome/mailnews/custom.properties
create mode 100755 suite/chrome/mailnews/downloadheaders.dtd
create mode 100755 suite/chrome/mailnews/fieldMapImport.dtd
create mode 100755 suite/chrome/mailnews/filter.properties
create mode 100755 suite/chrome/mailnews/folderProps.dtd
create mode 100755 suite/chrome/mailnews/folderWidgets.properties
create mode 100755 suite/chrome/mailnews/folderpane.dtd
create mode 100755 suite/chrome/mailnews/gloda.properties
create mode 100755 suite/chrome/mailnews/imapMsgs.properties
create mode 100755 suite/chrome/mailnews/importDialog.dtd
create mode 100755 suite/chrome/mailnews/importMsgs.properties
create mode 100755 suite/chrome/mailnews/junkLog.dtd
create mode 100755 suite/chrome/mailnews/junkMailInfo.dtd
create mode 100755 suite/chrome/mailnews/localMsgs.properties
create mode 100755 suite/chrome/mailnews/mailEditorOverlay.dtd
create mode 100755 suite/chrome/mailnews/mailKeysOverlay.dtd
create mode 100755 suite/chrome/mailnews/mailOverlay.dtd
create mode 100755 suite/chrome/mailnews/mailTasksOverlay.dtd
create mode 100755 suite/chrome/mailnews/mailViewList.dtd
create mode 100755 suite/chrome/mailnews/mailViewSetup.dtd
create mode 100755 suite/chrome/mailnews/mailviews.properties
create mode 100755 suite/chrome/mailnews/mapi/mapi.properties
create mode 100755 suite/chrome/mailnews/markByDate.dtd
create mode 100755 suite/chrome/mailnews/messenger.dtd
create mode 100755 suite/chrome/mailnews/messenger.properties
create mode 100755 suite/chrome/mailnews/mime.properties
create mode 100755 suite/chrome/mailnews/mimeheader.properties
create mode 100755 suite/chrome/mailnews/msgAccountCentral.dtd
create mode 100755 suite/chrome/mailnews/msgFolderPickerOverlay.dtd
create mode 100755 suite/chrome/mailnews/msgHdrViewOverlay.dtd
create mode 100755 suite/chrome/mailnews/msgHdrViewPopup.dtd
create mode 100644 suite/chrome/mailnews/msgPrintEngine.dtd
create mode 100755 suite/chrome/mailnews/msgSynchronize.dtd
create mode 100755 suite/chrome/mailnews/msgViewPickerOverlay.dtd
create mode 100755 suite/chrome/mailnews/msgmdn.properties
create mode 100755 suite/chrome/mailnews/newFolderDialog.dtd
create mode 100755 suite/chrome/mailnews/news.properties
create mode 100644 suite/chrome/mailnews/newsError.dtd
create mode 100755 suite/chrome/mailnews/newsblog/am-newsblog.dtd
create mode 100755 suite/chrome/mailnews/newsblog/feed-subscriptions.dtd
create mode 100755 suite/chrome/mailnews/newsblog/newsblog.properties
create mode 100755 suite/chrome/mailnews/oeImportMsgs.properties
create mode 100755 suite/chrome/mailnews/offline.properties
create mode 100755 suite/chrome/mailnews/offlineStartup.properties
create mode 100755 suite/chrome/mailnews/outlookImportMsgs.properties
create mode 100755 suite/chrome/mailnews/pgpmime.properties
create mode 100755 suite/chrome/mailnews/pref/AccountManager.dtd
create mode 100755 suite/chrome/mailnews/pref/AccountWizard.dtd
create mode 100755 suite/chrome/mailnews/pref/am-addressing.dtd
create mode 100755 suite/chrome/mailnews/pref/am-advanced.dtd
create mode 100755 suite/chrome/mailnews/pref/am-archiveoptions.dtd
create mode 100755 suite/chrome/mailnews/pref/am-copies.dtd
create mode 100755 suite/chrome/mailnews/pref/am-identities-list.dtd
create mode 100755 suite/chrome/mailnews/pref/am-identity-edit.dtd
create mode 100755 suite/chrome/mailnews/pref/am-junk.dtd
create mode 100755 suite/chrome/mailnews/pref/am-main.dtd
create mode 100755 suite/chrome/mailnews/pref/am-mdn.dtd
create mode 100755 suite/chrome/mailnews/pref/am-mdn.properties
create mode 100755 suite/chrome/mailnews/pref/am-offline.dtd
create mode 100755 suite/chrome/mailnews/pref/am-server-advanced.dtd
create mode 100755 suite/chrome/mailnews/pref/am-server-top.dtd
create mode 100755 suite/chrome/mailnews/pref/am-serverwithnoidentities.dtd
create mode 100755 suite/chrome/mailnews/pref/mailPrefsOverlay.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-addressing.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-character_encoding.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-composing_messages.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-directory-add.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-directory.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-formatting.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-junk.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-mailnews.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-notifications.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-offline.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-receipts.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-tags.dtd
create mode 100755 suite/chrome/mailnews/pref/pref-viewing_messages.dtd
create mode 100755 suite/chrome/mailnews/pref/prefs.properties
create mode 100644 suite/chrome/mailnews/pref/removeAccount.dtd
create mode 100644 suite/chrome/mailnews/pref/removeAccount.properties
create mode 100755 suite/chrome/mailnews/pref/replicationProgress.properties
create mode 100755 suite/chrome/mailnews/pref/smtpEditOverlay.dtd
create mode 100755 suite/chrome/mailnews/region.properties
create mode 100755 suite/chrome/mailnews/renameFolderDialog.dtd
create mode 100755 suite/chrome/mailnews/search-attributes.properties
create mode 100755 suite/chrome/mailnews/search-operators.properties
create mode 100755 suite/chrome/mailnews/search.properties
create mode 100755 suite/chrome/mailnews/searchTermOverlay.dtd
create mode 100755 suite/chrome/mailnews/shutdownWindow.properties
create mode 100755 suite/chrome/mailnews/smime.properties
create mode 100755 suite/chrome/mailnews/smime/am-smime.dtd
create mode 100755 suite/chrome/mailnews/smime/am-smime.properties
create mode 100755 suite/chrome/mailnews/smime/certFetchingStatus.dtd
create mode 100755 suite/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd
create mode 100755 suite/chrome/mailnews/smime/msgCompSMIMEOverlay.properties
create mode 100755 suite/chrome/mailnews/smime/msgCompSecurityInfo.dtd
create mode 100755 suite/chrome/mailnews/smime/msgCompSecurityInfo.properties
create mode 100755 suite/chrome/mailnews/smime/msgReadSMIMEOverlay.dtd
create mode 100755 suite/chrome/mailnews/smime/msgReadSMIMEOverlay.properties
create mode 100755 suite/chrome/mailnews/smime/msgReadSecurityInfo.dtd
create mode 100755 suite/chrome/mailnews/smime/msgSecurityInfo.properties
create mode 100755 suite/chrome/mailnews/start.dtd
create mode 100755 suite/chrome/mailnews/subscribe.dtd
create mode 100755 suite/chrome/mailnews/subscribe.properties
create mode 100755 suite/chrome/mailnews/textImportMsgs.properties
create mode 100755 suite/chrome/mailnews/threadpane.dtd
create mode 100755 suite/chrome/mailnews/vCardImportMsgs.properties
create mode 100755 suite/chrome/mailnews/viewLog.dtd
create mode 100755 suite/chrome/mailnews/virtualFolderListDialog.dtd
create mode 100755 suite/chrome/mailnews/virtualFolderProperties.dtd
create mode 100755 suite/chrome/mailnews/wmImportMsgs.properties
create mode 100755 suite/chrome/mozldap/ldap.properties
create mode 100755 suite/crashreporter/crashreporter-override.ini
create mode 100755 suite/defines.inc
create mode 100755 suite/extra-jar.mn
create mode 100755 suite/installer/windows/custom.properties
create mode 100755 suite/installer/windows/mui.properties
create mode 100755 suite/installer/windows/override.properties
create mode 100755 suite/profile/bookmarks.extra
create mode 100755 suite/profile/bookmarks.inc
create mode 100755 suite/profile/chrome/userChrome-example.css
create mode 100755 suite/profile/chrome/userContent-example.css
create mode 100755 suite/profile/panels.extra
create mode 100755 suite/searchplugins/list.txt
create mode 100755 suite/suite-l10n.js
create mode 100755 suite/updater/updater.ini
create mode 100755 toolkit/chrome/alerts/alert.dtd
create mode 100644 toolkit/chrome/alerts/alert.properties
create mode 100755 toolkit/chrome/autoconfig/autoconfig.properties
create mode 100755 toolkit/chrome/global-platform/mac/intl.properties
create mode 100755 toolkit/chrome/global-platform/mac/platformKeys.properties
create mode 100755 toolkit/chrome/global-platform/unix/intl.properties
create mode 100755 toolkit/chrome/global-platform/unix/platformKeys.properties
create mode 100755 toolkit/chrome/global-platform/win/intl.properties
create mode 100755 toolkit/chrome/global-platform/win/platformKeys.properties
create mode 100644 toolkit/chrome/global/aboutReader.properties
create mode 100755 toolkit/chrome/global/aboutRights.dtd
create mode 100644 toolkit/chrome/global/aboutStudies.properties
create mode 100755 toolkit/chrome/global/aboutTelemetry.dtd
create mode 100755 toolkit/chrome/global/aboutTelemetry.properties
create mode 100644 toolkit/chrome/global/aboutWebrtc.properties
create mode 100755 toolkit/chrome/global/appPicker.dtd
create mode 100644 toolkit/chrome/global/autocomplete.properties
create mode 100755 toolkit/chrome/global/browser.properties
create mode 100755 toolkit/chrome/global/charsetMenu.dtd
create mode 100755 toolkit/chrome/global/charsetMenu.properties
create mode 100755 toolkit/chrome/global/commonDialog.dtd
create mode 100755 toolkit/chrome/global/commonDialogs.properties
create mode 100755 toolkit/chrome/global/console.dtd
create mode 100755 toolkit/chrome/global/console.properties
create mode 100755 toolkit/chrome/global/contentAreaCommands.properties
create mode 100644 toolkit/chrome/global/datetimebox.dtd
create mode 100755 toolkit/chrome/global/dialog.properties
create mode 100755 toolkit/chrome/global/dialogOverlay.dtd
create mode 100755 toolkit/chrome/global/editMenuOverlay.dtd
create mode 100644 toolkit/chrome/global/extensions.properties
create mode 100644 toolkit/chrome/global/fallbackMenubar.properties
create mode 100755 toolkit/chrome/global/filepicker.properties
create mode 100755 toolkit/chrome/global/findbar.properties
create mode 100644 toolkit/chrome/global/global-extension-fields.properties
create mode 100755 toolkit/chrome/global/globalKeys.dtd
create mode 100644 toolkit/chrome/global/intl.css
create mode 100755 toolkit/chrome/global/intl.properties
create mode 100755 toolkit/chrome/global/keys.properties
create mode 100755 toolkit/chrome/global/mozilla.dtd
create mode 100644 toolkit/chrome/global/narrate.properties
create mode 100755 toolkit/chrome/global/notification.dtd
create mode 100755 toolkit/chrome/global/nsTreeSorting.properties
create mode 100755 toolkit/chrome/global/printPageSetup.dtd
create mode 100755 toolkit/chrome/global/printPreview.dtd
create mode 100755 toolkit/chrome/global/printPreviewProgress.dtd
create mode 100755 toolkit/chrome/global/printProgress.dtd
create mode 100755 toolkit/chrome/global/printdialog.properties
create mode 100755 toolkit/chrome/global/resetProfile.dtd
create mode 100755 toolkit/chrome/global/resetProfile.properties
create mode 100755 toolkit/chrome/global/textcontext.dtd
create mode 100755 toolkit/chrome/global/tree.dtd
create mode 100755 toolkit/chrome/global/videocontrols.dtd
create mode 100755 toolkit/chrome/global/viewSource.properties
create mode 100755 toolkit/chrome/global/wizard.dtd
create mode 100755 toolkit/chrome/global/wizard.properties
create mode 100755 toolkit/chrome/mozapps/downloads/downloads.properties
create mode 100755 toolkit/chrome/mozapps/downloads/settingsChange.dtd
create mode 100755 toolkit/chrome/mozapps/downloads/unknownContentType.dtd
create mode 100755 toolkit/chrome/mozapps/downloads/unknownContentType.properties
create mode 100755 toolkit/chrome/mozapps/extensions/blocklist.dtd
create mode 100755 toolkit/chrome/mozapps/extensions/extensions.dtd
create mode 100755 toolkit/chrome/mozapps/extensions/extensions.properties
create mode 100755 toolkit/chrome/mozapps/handling/handling.dtd
create mode 100755 toolkit/chrome/mozapps/handling/handling.properties
create mode 100755 toolkit/chrome/mozapps/profile/createProfileWizard.dtd
create mode 100644 toolkit/chrome/mozapps/profile/profileDowngrade.dtd
create mode 100755 toolkit/chrome/mozapps/profile/profileSelection.dtd
create mode 100755 toolkit/chrome/mozapps/profile/profileSelection.properties
create mode 100755 toolkit/chrome/mozapps/update/updates.dtd
create mode 100755 toolkit/chrome/mozapps/update/updates.properties
create mode 100755 toolkit/chrome/passwordmgr/passwordManager.dtd
create mode 100755 toolkit/chrome/passwordmgr/passwordmgr.properties
create mode 100755 toolkit/chrome/places/places.properties
create mode 100644 toolkit/chrome/pluginproblem/pluginproblem.dtd
create mode 100755 toolkit/chrome/search/search.properties
create mode 100644 toolkit/crashreporter/aboutcrashes.ftl
create mode 100755 toolkit/crashreporter/crashreporter.ini
create mode 100755 toolkit/defines.inc
create mode 100644 toolkit/toolkit/about/aboutAbout.ftl
create mode 100644 toolkit/toolkit/about/aboutAddons.ftl
create mode 100644 toolkit/toolkit/about/aboutCompat.ftl
create mode 100644 toolkit/toolkit/about/aboutConfig.ftl
create mode 100644 toolkit/toolkit/about/aboutNetworking.ftl
create mode 100644 toolkit/toolkit/about/aboutPerformance.ftl
create mode 100644 toolkit/toolkit/about/aboutPlugins.ftl
create mode 100644 toolkit/toolkit/about/aboutProfiles.ftl
create mode 100644 toolkit/toolkit/about/aboutRights.ftl
create mode 100644 toolkit/toolkit/about/aboutServiceWorkers.ftl
create mode 100644 toolkit/toolkit/about/aboutSupport.ftl
create mode 100644 toolkit/toolkit/about/aboutTelemetry.ftl
create mode 100644 toolkit/toolkit/about/abuseReports.ftl
create mode 100644 toolkit/toolkit/about/url-classifier.ftl
create mode 100644 toolkit/toolkit/global/processTypes.ftl
create mode 100644 toolkit/toolkit/global/resetProfile.ftl
create mode 100644 toolkit/toolkit/global/videocontrols.ftl
create mode 100644 toolkit/toolkit/intl/languageNames.ftl
create mode 100644 toolkit/toolkit/intl/regionNames.ftl
create mode 100644 toolkit/toolkit/main-window/editmenu.ftl
create mode 100644 toolkit/toolkit/main-window/findbar.ftl
create mode 100644 toolkit/toolkit/passwordmgr/passwordManagerList.ftl
create mode 100644 toolkit/toolkit/preferences/preferences.ftl
create mode 100644 toolkit/toolkit/printing/printDialogs.ftl
create mode 100644 toolkit/toolkit/printing/printPreview.ftl
create mode 100644 toolkit/toolkit/updates/history.ftl
diff --git a/browser/branding/official/brand.dtd b/browser/branding/official/brand.dtd
new file mode 100755
index 00000000000..af65dc17e9e
--- /dev/null
+++ b/browser/branding/official/brand.dtd
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/browser/branding/official/brand.ftl b/browser/branding/official/brand.ftl
new file mode 100644
index 00000000000..7603daaadb5
--- /dev/null
+++ b/browser/branding/official/brand.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Firefox Brand
+##
+## Firefox must be treated as a brand, and kept in English.
+## It cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+##
+## Reference: https://www.mozilla.org/styleguide/communications/translation/
+
+-brand-shorter-name = Firefox
+-brand-short-name = Firefox
+-brand-full-name = Mozilla Firefox
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+-brand-product-name = Firefox
+-vendor-short-name = Mozilla
+trademarkInfo = Firefox 以å Firefox æ å¿å为 Mozilla åºé伿æçåæ ã
diff --git a/browser/branding/official/brand.properties b/browser/branding/official/brand.properties
new file mode 100755
index 00000000000..9c08cf70ea7
--- /dev/null
+++ b/browser/branding/official/brand.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/.
+
+brandShorterName=Firefox
+brandShortName=Firefox
+brandFullName=Mozilla Firefox
+# LOCALIZATION NOTE(brandProductName):
+# This brand name can be used in messages where the product name needs to
+# remain unchanged across different versions (Nightly, Beta, etc.).
+brandProductName=Firefox
+vendorShortName=Mozilla
+
+syncBrandShortName=忥
diff --git a/browser/browser/aboutCertError.ftl b/browser/browser/aboutCertError.ftl
new file mode 100644
index 00000000000..e97ed0431af
--- /dev/null
+++ b/browser/browser/aboutCertError.ftl
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-intro = { $hostname } 使ç¨äºæ æçå®å
¨è¯ä¹¦ã
+cert-error-mitm-intro = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ï¼èè¯ä¹¦ç±åä¿¡ä»»çæ°åè¯ä¹¦é¢åæºæé¢åã
+cert-error-mitm-mozilla = { -brand-short-name } ç±éè¥å©ç Mozilla æä¾æ¯æãMozilla 管çä¸ç»å®å
¨å¼æ¾çæ°åè¯ä¹¦è®¤è¯æºæï¼CAï¼åå¨åºã该åå¨åºå¸®å©ç¡®ä¿è¿äºæ°åè¯ä¹¦è®¤è¯æºæéµå¾ªæä½³å®è·µï¼ä»¥ä¿éç¨æ·çå®å
¨ã
+cert-error-mitm-connection = { -brand-short-name } ä½¿ç¨ Mozilla çæ°åè¯ä¹¦è®¤è¯æºæåå¨åºæ¥éªè¯è¿æ¥æ¯å¦å®å
¨ï¼èéç¨æ·æä½ç³»ç»ææä¾çè¯ä¹¦åºãå æ¤ï¼å¦ææ¨çé²ç
æ¯è½¯ä»¶æç½ç»ä½¿ç¨ä¸å¨ Mozilla æ°åè¯ä¹¦è®¤è¯æºæå表ä¸çæºææç¾åçè¯ä¹¦æ¥æ¦æªç½ç»æµéï¼è¯¥è¿æ¥è¢«è§ä¸ºä¸å®å
¨ã
+cert-error-trust-unknown-issuer-intro = å¯è½æäººè¯å¾åå
该ç½ç«ï¼æ¨ä¸åºè¯¥ç»§ç»è®¿é®ã
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-trust-unknown-issuer = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ã{ -brand-short-name } ä¸ä¿¡ä»» { $hostname }ï¼å å
¶è¯ä¹¦é¢åè
æªç¥ï¼è¯ä¹¦æ¯èªç¾åçï¼æè
æå¡å¨æªåéæ£ç¡®çä¸é´è¯ä¹¦ã
+cert-error-trust-cert-invalid = 该è¯ä¹¦ä¸è¢«ä¿¡ä»»ï¼å 为å®ç±æ æç CA è¯ä¹¦é¢åè
é¢åã
+cert-error-trust-untrusted-issuer = 该è¯ä¹¦å 为å
¶é¢åè
è¯ä¹¦ä¸åä¿¡ä»»èä¸è¢«ä¿¡ä»»ã
+cert-error-trust-signature-algorithm-disabled = 该è¯ä¹¦ä¸è¢«ä¿¡ä»»ï¼å 为è¯ä¹¦ç¾åæä½¿ç¨çç¾åç®æ³å ä¸å®å
¨å·²è¢«ç¦ç¨ã
+cert-error-trust-expired-issuer = 该è¯ä¹¦å 为å
¶é¢åè
è¯ä¹¦å·²è¿æèä¸è¢«ä¿¡ä»»ã
+cert-error-trust-self-signed = 该è¯ä¹¦å 为å
¶èªç¾åèä¸è¢«ä¿¡ä»»ã
+cert-error-trust-symantec = ç± GeoTrustãRapidSSLãSymantecãThawte 以å VeriSign é¢åçè¯ä¹¦å·²ä¸å认为å
·æå®å
¨æ§ï¼è¿äºè¯ä¹¦é¢åæºæè¿å¾æªéµå¾ªå®å
¨ååã
+cert-error-untrusted-default = 该è¯ä¹¦åºèªä¸åä¿¡ä»»çæ¥æºã
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-domain-mismatch = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ã{ -brand-short-name } ä¸è½ä¿¡ä»»æ¤ç½ç«ï¼å®ä½¿ç¨çè¯ä¹¦å¯¹ { $hostname } æ æã
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $alt-name (String) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ã{ -brand-short-name } ä¸è½ä¿¡ä»»æ¤ç½ç«ï¼å®ä½¿ç¨çè¯ä¹¦å¯¹ { $hostname } æ æã æ¤è¯ä¹¦ä»
对 { $alt-name } ææã
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $alt-name (String) - Alternate domain name for which the cert is valid.
+cert-error-domain-mismatch-single-nolink = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ã{ -brand-short-name } ä¸è½ä¿¡ä»»æ¤ç½ç«ï¼å®ä½¿ç¨çè¯ä¹¦å¯¹ { $hostname } æ æã æ¤è¯ä¹¦ä»
对 { $alt-name } ææã
+# Variables:
+# $subject-alt-names (String) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ã{ -brand-short-name } ä¸è½ä¿¡ä»»æ¤ç½ç«ï¼å®ä½¿ç¨çè¯ä¹¦å¯¹ { $hostname } æ æã该è¯ä¹¦åªéç¨äºä¸ååç§°ï¼ { $subject-alt-names }
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $not-after-local-time (Date) - Certificate is not valid after this time.
+cert-error-expired-now = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ï¼å®ä»¬å¨è®¾å®çæ¶é´æ®µå
ææã{ $hostname } çè¯ä¹¦å·²äº { $not-after-local-time } è¿æã
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+# $not-before-local-time (Date) - Certificate is not valid before this time.
+cert-error-not-yet-valid-now = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ï¼å®ä»¬å¨è®¾å®çæ¶é´æ®µå
ææã{ $hostname } çè¯ä¹¦å°çæäº { $not-before-local-time }ã
+# Variables:
+# $error (String) - NSS error code string that specifies type of cert error. e.g. unknown issuer, invalid cert, etc.
+cert-error-code-prefix-link = é误代ç ï¼{ $error }
+# Variables:
+# $hostname (String) - Hostname of the website with cert error.
+cert-error-symantec-distrust-description = å个ç½ç«éè¿è¯ä¹¦è¯æèªå·±ç身份ï¼èè¯ä¹¦ç±åä¿¡ä»»çæ°åè¯ä¹¦é¢åæºæé¢åã大夿°æµè§å¨å·²ä¸åä¿¡ä»»ç± GeoTrustãRapidSSLãSymantecãThawte 以å VeriSign é¢åçè¯ä¹¦ã{ $hostname } 使ç¨äºç±ä¸è¿°æºæä¹ä¸é¢åçè¯ä¹¦ï¼å èç½ç«èº«ä»½ä¸åå¯ä¿¡ã
+cert-error-symantec-distrust-admin = æ¨å¯ä»¥åç½ç«ç®¡çåå馿¤é®é¢ã
diff --git a/browser/browser/aboutConfig.ftl b/browser/browser/aboutConfig.ftl
new file mode 100644
index 00000000000..65fbaf8d2aa
--- /dev/null
+++ b/browser/browser/aboutConfig.ftl
@@ -0,0 +1,38 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# An old map warning, see https://en.wikipedia.org/wiki/Here_be_dragons
+about-config-warning-title = å
ææ¶é¾ï¼
+about-config-warning-text = ä¿®æ¹è¿äºé«çº§è®¾ç½®å¯è½å¯¹æ¬åºç¨ç¨åºçç¨³å®æ§ãå®å
¨æ§ä»¥åæ§è½é æä¸è¯å½±åã请ä»
卿¨å忏
æ¥çæ
åµä¸ç»§ç»æä½ã
+about-config-warning-checkbox = 䏿¬¡ä»æ¾ç¤ºæ¤è¦å
+about-config-warning-button = æä¼å°å¿ç
+about-config-title = about:config
+about-config2-title = é«çº§é
ç½®
+about-config-search-input =
+ .placeholder = æç´¢
+about-config-show-all = æ¾ç¤ºå
¨é¨
+about-config-pref-add = æ·»å
+about-config-pref-toggle = 忢
+about-config-pref-edit = ç¼è¾
+about-config-pref-save = ä¿å
+about-config-pref-reset = éç½®
+about-config-pref-delete = å é¤
+
+## Labels for the type selection radio buttons shown when adding preferences.
+
+about-config-pref-add-type-boolean = å¸å°
+about-config-pref-add-type-number = æ°å¼
+about-config-pref-add-type-string = å符串
+
+## Preferences with a non-default value are differentiated visually, and at the
+## same time the state is made accessible to screen readers using an aria-label
+## that won't be visible or copied to the clipboard.
+##
+## Variables:
+## $value (String): The full value of the preference.
+
+about-config-pref-accessible-value-default =
+ .aria-label = { $value }ï¼é»è®¤ï¼
+about-config-pref-accessible-value-custom =
+ .aria-label = { $value }ï¼èªå®ä¹ï¼
diff --git a/browser/browser/aboutDialog.ftl b/browser/browser/aboutDialog.ftl
new file mode 100644
index 00000000000..4bd95d4a832
--- /dev/null
+++ b/browser/browser/aboutDialog.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+aboutDialog-title =
+ .title = å
³äº { -brand-full-name }
+releaseNotes-link = æ°çåå
+update-checkForUpdatesButton =
+ .label = æ£æ¥æ´æ°
+ .accesskey = C
+update-updateButton =
+ .label = éå¼ { -brand-shorter-name } ä»¥æ´æ°
+ .accesskey = R
+update-checkingForUpdates = æ£å¨æ£æ¥æ´æ°â¦
+update-downloading =
æ£å¨ä¸è½½æ´æ° â
+update-applying = æ£å¨åºç¨æ´æ°â¦
+update-failed = æ´æ°å¤±è´¥ã
+update-failed-main = æ´æ°å¤±è´¥ã ä¸è½½ææ°çæ¬
+update-adminDisabled = æ´æ°å·²è¢«ç³»ç»ç®¡çåç¦ç¨
+update-noUpdatesFound = { -brand-short-name } å·²æ¯ææ°
+update-otherInstanceHandlingUpdates = { -brand-short-name } æ£å¨ç±å
¶ä»å®ä¾æ´æ°
+update-manual = å¯è®¿é®
+update-unsupported = æ¨æ æ³å¨è¿ä¸ªç³»ç»ä¸è¿ä¸æ¥æ´æ°ã
+update-restarting = æ£å¨éå¼â¦
+channel-description = æ¨ç®åå¨ æ´æ°ééã
+warningDesc-version = { -brand-short-name } æ¯å®éªæ§çæµè¯çæ¬ï¼å¯è½ä¸å¤ç¨³å®ã
+community-exp = æ¯ä¸ä¸ªï¼æºæè´åäºè®©äºèç½ä¿æå¼æ¾ãå
¬å¼ä¸äººäººå¯ç¨ã
+community-2 = { -brand-short-name } è¯çäº ãæä»¬æ¯ä¸ä¸ªï¼æºæè´åäºè®©äºèç½ä¿æå¼æ¾ãå
¬å¼ä¸äººäººå¯ç¨ã
+helpus = æ³å¸®å¿åï¼æè
+bottomLinks-license = ææä¿¡æ¯
+bottomLinks-rights = æç»ç¨æ·æå©
+bottomLinks-privacy = éç§æ¿ç
+aboutDialog-architecture-sixtyFourBit = 64 ä½
+aboutDialog-architecture-thirtyTwoBit = 32 ä½
+# Example of resulting string: 66.0.1 (64-bit)
+# Variables:
+# $version (String): version of Firefox, e.g. 66.0.1
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version = { $version } ({ $bits } ä½)
+# Example of resulting string: 66.0a1 (2019-01-16) (64-bit)
+# Variables:
+# $version (String): version of Firefox for Nightly builds, e.g. 66.0a1
+# $isodate (String): date in ISO format, e.g. 2019-01-16
+# $bits (Number): bits of the architecture (32 or 64)
+aboutDialog-version-nightly = { $version } ({ $isodate }) ({ $bits } ä½)
diff --git a/browser/browser/aboutPolicies.ftl b/browser/browser/aboutPolicies.ftl
new file mode 100644
index 00000000000..6d915968c97
--- /dev/null
+++ b/browser/browser/aboutPolicies.ftl
@@ -0,0 +1,14 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-policies-title = ä¼ä¸çç¥
+# 'Active' is used to describe the policies that are currently active
+active-policies-tab = å·²æ¿æ´»
+errors-tab = é误
+documentation-tab = ææ¡£
+no-specified-policies-message = ä¼ä¸çç¥æå¡å·²æ¿æ´»ï¼ä½æªå¯ç¨ä»»ä½çç¥ã
+inactive-message = ä¼ä¸çç¥æå¡å¤äºæªæ¿æ´»ç¶æã
+policy-name = çç¥å
+policy-value = çç¥å¼
+policy-errors = çç¥é误
diff --git a/browser/browser/aboutPrivateBrowsing.ftl b/browser/browser/aboutPrivateBrowsing.ftl
new file mode 100644
index 00000000000..b29f0f2370c
--- /dev/null
+++ b/browser/browser/aboutPrivateBrowsing.ftl
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+about-private-browsing-learn-more = 详ç»äºè§£éç§æµè§ã
+about-private-browsing-info-visited = 访é®è¿ç页é¢
+privatebrowsingpage-open-private-window-label = æå¼éç§çªå£
+ .accesskey = P
+about-private-browsing-info-notsaved = 彿¨å¨éç§çªå£ä¸æµè§æ¶ï¼{ -brand-short-name } ä¸ä¼ä¿åï¼
+about-private-browsing-search-placeholder = å¨ç½ç»ä¸æç´¢
+about-private-browsing-info-bookmarks = 书ç¾
+about-private-browsing-info-title = æ¨å·²è¿å
¥éç§çªå£
+about-private-browsing-info-searches = æç´¢è®°å½
+about-private-browsing-info-downloads = ä¸è½½é¡¹
+private-browsing-title = éç§æµè§æ¨¡å¼
+about-private-browsing-info-saved = { -brand-short-name } å°ä¿åæ¨çï¼
+about-private-browsing-info-myths = éç§æµè§åè½ç常è§è¯¯è§£
+about-private-browsing-info-clipboard = åªè´´æ¿å
容
+about-private-browsing-info-temporary-files = ä¸´æ¶æä»¶
+about-private-browsing-info-cookies = Cookie
+tracking-protection-start-tour = ççæä¹ç¨
+about-private-browsing-note = éç§æµè§æ¨¡å¼æ æ³è®©æ¨å¨äºèç½ä¸å¿åãæ¨çé主æè
çµä¿¡è¿è¥åä»ç¶å¯ä»¥ç¥éæ¨è®¿é®äºä»ä¹é¡µé¢ã
+about-private-browsing =
+ .title = å¨ç½ç»ä¸æç´¢
+about-private-browsing-not-private = æ¨å½åä¸å¨éç§çªå£ä¸ã
+content-blocking-title = å
å®¹æ¦æª
+content-blocking-description = æäºç½ç«ä¼ä½¿ç¨è·è¸ªå¨æ¥çæ§æ¨ä¸ç½åäºä»ä¹ãå¨éç§çªå£ä¸ï¼{ -brand-short-name } çå
å®¹æ¦æªåè½ä¼èªå¨æ¦æªè®¸å¤è¯å¾æ¶éæ¨çä¸ç½è¡ä¸ºçè·è¸ªå¨ã
+about-private-browsing-info-description = { -brand-short-name } 卿¨éåºæ¬ç¨åºæå
³éææéç§æµè§æ ç¾é¡µåçªå£æ¶ï¼å°æ¸
餿¨çæç´¢è®°å½ä¸æµè§åå²ãè½ç¶è¿æ ·åä¸ä¼ä½¿æ¨å¯¹ç½ç«æçµä¿¡è¿è¥åå¿åï¼ä½è¿æ¯å¯ä»¥æ´ç®åå°è®©ä½¿ç¨æ¤è®¡ç®æºçäººæ æ³å¾ç¥æ¨å¨ç½ä¸çæ´»å¨ã
diff --git a/browser/browser/aboutRestartRequired.ftl b/browser/browser/aboutRestartRequired.ftl
new file mode 100644
index 00000000000..4b1181c7da3
--- /dev/null
+++ b/browser/browser/aboutRestartRequired.ftl
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+restart-required-title = éè¦éå¼
+restart-required-header = æ±æï¼æä»¬éè¦éå¼ä¸ä¸æµè§å¨ã
+restart-required-intro = æä»¬åå¨åå°å®è£
äºä¸ä»½æ´æ°ãç¹å»éå¼ { -brand-short-name } ä»¥å®ææ´æ°ã
+restart-required-intro-brand = { -brand-short-name } å·²å¨åå°èªå¨æ´æ°ãè¯·ç¹æ¤éå¯ { -brand-short-name } å®ææ´æ°ã
+restart-required-description = æä»¬ä¹åå°è¿åæ¨çææé¡µé¢ãçªå£åæ ç¾é¡µï¼ä½¿å
¶çä¸å»ä¸åå¦åã
+restart-button-label = éå¼ { -brand-short-name }
diff --git a/browser/browser/aboutRobots.ftl b/browser/browser/aboutRobots.ftl
new file mode 100644
index 00000000000..85cb24d4334
--- /dev/null
+++ b/browser/browser/aboutRobots.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used in the about:robots page, which ties in with the
+### robots theme used in the Firefox 3 Beta 2/3 first run pages.
+### They're just meant to be fun and whimsical, with references to some geeky
+### but well-known robots in movies and books. Be creative with translations!
+
+# Nonsense line from the movie "The Day The Earth Stood Still". No translation needed.
+page-title = é«ç¹ï¼ä¸è¦ç¸é£è¿ä¸ªä¸çï¼
+# Movie: Logan's Run... Box (cyborg): "Welcome Humans! I am ready for you."
+error-title-text = 欢è¿ä½ ï¼äººç±»ï¼
+# Movie: The Day The Earth Stood Still. Spoken by Klaatu.
+error-short-desc-text = æä»¬å¸¦çåå¹³ä¸å好忥æè®¿æ¨ï¼
+# Various books by Isaac Asimov. http://en.wikipedia.org/wiki/Three_Laws_of_Robotics
+error-long-desc1 = æºå¨äººä¸å¾ä¼¤å®³äººç±»ï¼æè¢ææè§åè§äººç±»åå°ä¼¤å®³ã
+# Movie: Blade Runner. Batty: "I've seen things you people wouldnât believe..."
+error-long-desc2 = æºå¨äººè§è¿ä½ 们人类ç»å¯¹æ æ³ç¸ä¿¡çäºç©ã
+# Book: Hitchhikerâs Guide To The Galaxy. What the Sirius Cybernetics Corporation calls robots.
+error-long-desc3 = æºå¨äººæ¯æè¶£ç塿ä¼ä¼´ã
+# TV: Futurama. Bender's first line is "Bite my shiny metal ass."
+error-long-desc4 = æºå¨äººæå¬ä¸å¾çéªäº®çéå±å±è¡ã
+# TV: Battlestar Galactica (2004 series). From the opening text.
+error-trailer-desc-text = èä¸ä»ä»¬æä¸ªè®¡åã
+# Book: Hitchhiker's Guide To The Galaxy. Arthur presses a button and it warns him.
+error-try-again = éè¯
+ .label2 = 请ä¸è¦éå¤ç¹å»æ¤æé®ã
diff --git a/browser/browser/aboutSessionRestore.ftl b/browser/browser/aboutSessionRestore.ftl
new file mode 100644
index 00000000000..751d658820e
--- /dev/null
+++ b/browser/browser/aboutSessionRestore.ftl
@@ -0,0 +1,40 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+restore-page-tab-title = æ¢å¤æµè§ç¶æ
+# The title is intended to be apologetic and disarming, expressing dismay
+# and regret that we are unable to restore the session for the user
+restore-page-error-title = 徿±æï¼æä»¬å¨æ¢å¤æ¨ç页颿¶éå°äºé®é¢ã
+restore-page-problem-desc = æä»¬å¨æ¢å¤æ¨ä¸æ¬¡çæµè§ç¶ææ¶éå°é®é¢ãéæ©âæ¢å¤æµè§ç¶æâå¯åè¯ä¸æ¬¡ã
+restore-page-try-this = è¿æ¯æ æ³æ¢å¤æµè§ç¶æåï¼å¯è½æä¸ªæ ç¾é¡µé æäºé®é¢ã请ççä¸åå
åæå¼çæ ç¾é¡µä¸æåªäºä¸å¿
è¦æ¢å¤ï¼åæ¶å¾éååè¯ä¸æ¬¡ã
+restore-page-hide-tabs = éèå
åçæ ç¾é¡µ
+restore-page-show-tabs = æ¥çå
åçæ ç¾é¡µ
+# When tabs are distributed across multiple windows, this message is used as a
+# header above the group of tabs for each window.
+#
+# Variables:
+# $windowNumber: Progressive number associated to each window
+restore-page-window-label = çªå£ { $windowNumber }
+restore-page-restore-header =
+ .label = æ¢å¤
+restore-page-list-header =
+ .label = çªå£åæ ç¾é¡µ
+restore-page-try-again-button =
+ .label = æ¢å¤æµè§ç¶æ
+ .accesskey = R
+restore-page-close-button =
+ .label = å¼å§æ°ä¸æ¬¡æµè§
+ .accesskey = N
+
+## The following strings are used in about:welcomeback
+
+welcome-back-tab-title = æåï¼
+welcome-back-page-title = æåï¼
+welcome-back-page-info = { -brand-short-name } èå¿å¾
åã
+welcome-back-restore-button =
+ .label = åºåï¼
+ .accesskey = L
+welcome-back-restore-all-label = æ¢å¤å
¨é¨çªå£ä¸æ ç¾é¡µ
+welcome-back-restore-some-label = ä»
æ¢å¤æ¨éæ©ç
+welcome-back-page-info-link = æ¨çéå ç»ä»¶å个æ§åè°æ´å·²è¢«ç§»é¤ï¼æµè§å¨è®¾ç½®ä¹å·²æ¢å¤å°é»è®¤å¼ãå¦æè¿æ ·è¿æ æ³è§£å³æ¨çé®é¢ï¼æ¨å¯è¿ä¸æ¥äºè§£è¿è½åä»ä¹ã
diff --git a/browser/browser/aboutTabCrashed.ftl b/browser/browser/aboutTabCrashed.ftl
new file mode 100644
index 00000000000..5d50bf47c0b
--- /dev/null
+++ b/browser/browser/aboutTabCrashed.ftl
@@ -0,0 +1,24 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+crashed-title = æ ç¾é¡µå´©æºæ¥åå¨
+crashed-close-tab-button = å
³éæ ç¾é¡µ
+crashed-restore-tab-button = æ¢å¤æ¤æ ç¾é¡µ
+crashed-restore-all-button = æ¢å¤ææå·²å´©æºçæ ç¾é¡µ
+crashed-header = ç³ç³ï¼æ¨çæ ç¾é¡µå´©æºäºã
+crashed-offer-help = æä»¬å¯ä»¥å¸®ä½ ï¼
+crashed-single-offer-help-message = ç¹å»â{ crashed-restore-tab-button }âå¯éæ°è½½å
¥è¯¥é¡µé¢ã
+crashed-multiple-offer-help-message = ç¹å»â{ crashed-restore-tab-button }âæâ{ crashed-restore-all-button }âå¯éæ°è½½å
¥è¯¥é¡µé¢ã
+crashed-request-help = ä½ æ¿æå¸®æä»¬ä¸ªå¿åï¼
+crashed-request-help-message = åé¦å´©æºæ¥åè½å¸®å©æä»¬æ¾åºé®é¢æå¨ï¼ä¸ææ¹è¿ { -brand-short-name }ã
+crashed-request-report-title = å馿¤æ ç¾é¡µ
+crashed-send-report = èªå¨åéä¸ä»½å´©æºæ¥åä»¥å¸®å©æä»¬ä¿®å¤æ¤ç±»é®é¢ã
+crashed-comment =
+ .placeholder = å ä¸é注ï¼éå¡«ä¸å
¬å¼å¯è§ï¼
+crashed-include-URL = å
å« { -brand-short-name } å´©æºæ¶æ¨è®¿é®çç½åã
+crashed-email-placeholder = 请å¨è¿éè¾å
¥æ¨ççµåé®ä»¶å°å
+crashed-email-me = 彿æ´å¤ä¿¡æ¯æ¶ç»æåéçµåé®ä»¶
+crashed-report-sent = å´©æºæ¥åå·²æäº¤ãæè°¢æ¨å¸®å© { -brand-short-name } å徿´å¥½ï¼
+crashed-request-auto-submit-title = åé¦åå°æ ç¾é¡µ
+crashed-auto-submit-checkbox = æ´æ°é¦é项为 { -brand-short-name } å´©æºæ¶èªå¨æäº¤æ¥åã
diff --git a/browser/browser/appMenuNotifications.ftl b/browser/browser/appMenuNotifications.ftl
new file mode 100644
index 00000000000..b13ee5d5b66
--- /dev/null
+++ b/browser/browser/appMenuNotifications.ftl
@@ -0,0 +1,49 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+appmenu-update-available =
+ .label = æ°ç { -brand-shorter-name } åå¸äºã
+ .buttonlabel = ä¸è½½æ´æ°
+ .buttonaccesskey = D
+ .secondarybuttonlabel = ææ¶ä¸è¦
+ .secondarybuttonaccesskey = N
+appmenu-update-available-message = æ´æ°æ¨ç { -brand-shorter-name }ï¼äº«åææ°é度æ§è½ä¸éç§æä¿éã
+appmenu-update-manual =
+ .label = { -brand-shorter-name } æ æ³æ´æ°è³ææ°çæ¬ã
+ .buttonlabel = ä¸è½½ { -brand-shorter-name }
+ .buttonaccesskey = D
+ .secondarybuttonlabel = ææ¶ä¸è¦
+ .secondarybuttonaccesskey = N
+appmenu-update-manual-message = 建议ä¸è½½ { -brand-shorter-name } 宿´å
ï¼æä»¬å°å婿¨å®è£
å®ã
+appmenu-update-whats-new =
+ .value = ççæä»ä¹æ°åè½ã
+appmenu-update-unsupported =
+ .label = { -brand-shorter-name } æ æ³æ´æ°è³ææ°çæ¬ã
+ .buttonlabel = 详ç»äºè§£
+ .buttonaccesskey = L
+ .secondarybuttonlabel = å
³é
+ .secondarybuttonaccesskey = C
+appmenu-update-unsupported-message = æ¨çç³»ç»ä¸æ¯æææ°çæ¬ç { -brand-shorter-name }ã
+appmenu-update-restart =
+ .label = éå¼ { -brand-shorter-name } ä»¥æ´æ°ã
+ .buttonlabel = éå¼å¹¶æ¢å¤å½åæµè§ç¶æ
+ .buttonaccesskey = R
+ .secondarybuttonlabel = ææ¶ä¸è¦
+ .secondarybuttonaccesskey = N
+appmenu-update-restart-message = ç¨ççå»ï¼{ -brand-shorter-name } éå¼åå°æ¢å¤æ¨ææä¸å¨éç§æµè§æ¨¡å¼ä¸æå¼çæ ç¾é¡µåçªå£ã
+appmenu-addon-private-browsing-installed =
+ .buttonlabel = 好çï¼æç½äº
+ .buttonaccesskey = O
+appmenu-addon-post-install-message = ç¹å» èåä¸ç æ¥ç®¡çæ¨çéå ç»ä»¶ã
+appmenu-addon-post-install-incognito-checkbox =
+ .label = å
è®¸æ¤æ©å±å¨éç§çªå£ä¸è¿è¡
+ .accesskey = A
+appmenu-addon-private-browsing =
+ .label = éç§çªå£ä¸æ©å±çåå
+ .buttonlabel = ç®¡çæ©å±
+ .buttonaccesskey = M
+ .secondarybuttonlabel = 好çï¼æç½äº
+ .secondarybuttonaccesskey = O
+appmenu-addon-private-browsing-message = é¤éæ¨å¨è®¾ç½®ä¸æç¡®å
许ï¼å¦åæ°è£
å° { -brand-shorter-name } çæ©å±ä¸å¾æ æ³å¨éç§çªå£ä¸ä½¿ç¨ã
+appmenu-addon-private-browsing-learn-more = äºè§£å¦ä½ç®¡çæ©å±è®¾ç½®ã
diff --git a/browser/browser/branding/brandings.ftl b/browser/browser/branding/brandings.ftl
new file mode 100644
index 00000000000..2f30eb28f8e
--- /dev/null
+++ b/browser/browser/branding/brandings.ftl
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+## The following feature names must be treated as a brand, and kept in English.
+## They cannot be:
+## - Declined to adapt to grammatical case.
+## - Transliterated.
+## - Translated.
+
+-facebook-container-brand-name = Facebook Container
+-lockwise-brand-name = Firefox Lockwise
+-monitor-brand-name = Firefox Monitor
+-pocket-brand-name = Pocket
+-send-brand-name = Firefox Send
diff --git a/browser/browser/branding/sync-brand.ftl b/browser/browser/branding/sync-brand.ftl
new file mode 100644
index 00000000000..da2e37e9b27
--- /dev/null
+++ b/browser/browser/branding/sync-brand.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+-sync-brand-short-name = 忥
+# âSyncâ can be localized, âFirefoxâ must be treated as a brand,
+# and kept in English.
+-sync-brand-name = Firefox 忥
+# âAccountâ can be localized, âFirefoxâ must be treated as a brand,
+# and kept in English.
+-fxaccount-brand-name = Firefox è´¦æ·
diff --git a/browser/browser/customizeMode.ftl b/browser/browser/customizeMode.ftl
new file mode 100644
index 00000000000..63b5752b88b
--- /dev/null
+++ b/browser/browser/customizeMode.ftl
@@ -0,0 +1,45 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+customize-mode-restore-defaults =
+ .label = æ¢å¤é»è®¤è®¾ç½®
+customize-mode-menu-and-toolbars-header = æéè¦çä¸è¥¿æè¿å·¥å
·æ ææå èåã
+customize-mode-overflow-list-title = æå èå
+customize-mode-uidensity =
+ .label = å¯åº¦
+customize-mode-done =
+ .label = 宿
+customize-mode-lwthemes-menu-manage =
+ .label = 管ç
+ .accesskey = M
+customize-mode-toolbars =
+ .label = å·¥å
·æ
+customize-mode-titlebar =
+ .label = æ 颿
+customize-mode-uidensity-menu-touch =
+ .label = 触æ§
+ .accesskey = T
+ .tooltiptext = 触æ§
+customize-mode-uidensity-auto-touch-mode-checkbox =
+ .label = å¨å¹³æ¿æ¨¡å¼ä¸ä½¿ç¨ä¸ºè§¦æ§ä¼åççé¢
+customize-mode-extra-drag-space =
+ .label = çªå£ææ½åº
+customize-mode-lwthemes =
+ .label = 主é¢
+customize-mode-overflow-list-description = æé®å¯ä»¥ææ¾å°è¿éï¼æ¹ä¾¿ä½¿ç¨ãä¸å ç¨å·¥å
·æ 空é´
+customize-mode-uidensity-menu-normal =
+ .label = æ®é
+ .accesskey = N
+ .tooltiptext = æ®é
+customize-mode-uidensity-menu-compact =
+ .label = ç´§å
+ .accesskey = C
+ .tooltiptext = ç´§å
+customize-mode-lwthemes-menu-get-more =
+ .label = è·åæ´å¤ä¸»é¢
+ .accesskey = G
+customize-mode-undo-cmd =
+ .label = æ¤é
+customize-mode-lwthemes-my-themes =
+ .value = æç主é¢
diff --git a/browser/browser/newInstallPage.ftl b/browser/browser/newInstallPage.ftl
new file mode 100644
index 00000000000..1d8a0f91706
--- /dev/null
+++ b/browser/browser/newInstallPage.ftl
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### For this feature, "installation" is used to mean "this discrete download of
+### Firefox" and "version" is used to mean "the specific revision number of a
+### given Firefox channel". These terms are not synonymous.
+
+title = éè¦æ¶æ¯
+heading = æ¶åæ¨ç { -brand-short-name } é
ç½®æä»¶çåå
+changed-title = æä¹äºï¼
+changed-desc-profiles = æä»¬ä¸ºæ¤çæ¬ç { -brand-short-name } æ°å»ºäºä¸é¨çç¨æ·é
ç½®æä»¶ãFirefox ä¼å¨ç¨æ·é
ç½®æä»¶ä¸ä¿å书ç¾ãå¯ç ãç¨æ·å好设置çä¿¡æ¯ã
+changed-desc-dedicated = 为äºä¿è¯æ¨å¯ä»¥å¨å®è£
çåä¸ªçæ¬ç Firefoxï¼å
æ¬ FirefoxãFirefox ESRãFirefox BetaãFirefox Developer Edition å Firefox Nightlyï¼é¡ºç
å°åæ¢ï¼ç°å¨ä¸åçæ¬ç Firefox ä¼ä½¿ç¨å
¶ä¸é¨çç¨æ·é
ç½®æä»¶ï¼ä¸åèªå¨ä¸å
¶ä»çæ¬å
±äº«ã
+lost = æ¨ä¹åçä¸ªäººæ°æ®åå®å¶ä¿¡æ¯è¿å¨æ¨ççµèä¸ã妿æ¨ä¹åå¨è¿å°çµèä¸ç¨è¿ Firefoxï¼è¿äºæ°æ®ä»ç¶åäºå¦ä¸ä»½å®è£
ççæ¬ä¸ã
+options-title = æå¯ä»¥åä»ä¹ï¼
+options-do-nothing = æ¨å¯ä»¥ä»ä¹ä¹ä¸åï¼æ¨ç { -brand-short-name } å°ä¸æ¤è®¡ç®æºä¸å®è£
çå
¶ä» Firefox æä¸åçé
ç½®æä»¶ã
+options-use-sync = è¥æ¨æ³å¨ææå®è£
ç Firefox ä¸äº«ç¨ç¸åçé
ç½®æä»¶æ°æ®ï¼å¯ä½¿ç¨ { -fxaccount-brand-name }ä¿æåæ¥ã
+resources = è¿å¯åèï¼
+support-link = ææ¯æ¯ææç« - 使ç¨é
ç½®æä»¶ç®¡çå¨
+sync-header = ç»å½æå建 { -fxaccount-brand-name }
+sync-label = è¾å
¥æ¨ççµåé®ä»¶å°å
+sync-input =
+ .placeholder = çµåé®ä»¶å°å
+sync-button = ç»§ç»
+sync-terms = è¥ç»§ç»ï¼å³è¡¨ç¤ºæ¨åææä»¬çæå¡æ¡æ¬¾åéç§å£°æã
+sync-first = 忬¡ä½¿ç¨ { -sync-brand-name }ï¼æ¨éè¦å¨æ¯å¥å®è£
ç Firefox ä¸ç»å½æè½åæ¥æ¨çä¿¡æ¯ã
+sync-learn = 详ç»äºè§£
diff --git a/browser/browser/newtab/asrouter.ftl b/browser/browser/newtab/asrouter.ftl
new file mode 100644
index 00000000000..efa43d549e6
--- /dev/null
+++ b/browser/browser/newtab/asrouter.ftl
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+cfr-doorhanger-extension-heading = æ¨èæ©å±
+cfr-doorhanger-pintab-heading = è¯è¯çï¼åºå®æ ç¾é¡µ
+cfr-doorhanger-extension-sumo-link =
+ .tooltiptext = 为ä»ä¹æä¼çå°è¿ä¸ªï¼
+cfr-doorhanger-extension-cancel-button = ææ¶ä¸è¦
+ .accesskey = N
+cfr-doorhanger-extension-ok-button = ç«å»æ·»å
+ .accesskey = A
+cfr-doorhanger-pintab-ok-button = åºå®æ¤æ ç¾é¡µ
+ .accesskey = P
+cfr-doorhanger-extension-manage-settings-button = ç®¡çæ¨è设置
+ .accesskey = M
+cfr-doorhanger-extension-never-show-recommendation = ä¸åæ¾ç¤ºæ¤æ¨è
+ .accesskey = S
+cfr-doorhanger-extension-learn-more-link = 详ç»äºè§£
+# This string is used on a new line below the add-on name
+# Variables:
+# $name (String) - Add-on author name
+cfr-doorhanger-extension-author = ç± { $name } å¼å
+# This is a notification displayed in the address bar.
+# When clicked it opens a panel with a message for the user.
+cfr-doorhanger-extension-notification = æ¨è
+
+## Add-on statistics
+## These strings are used to display the total number of
+## users and rating for an add-on. They are shown next to each other.
+
+# Variables:
+# $total (Number) - The rating of the add-on from 1 to 5
+cfr-doorhanger-extension-rating =
+ .tooltiptext =
+ { $total ->
+ *[other] { $total } æ
+ }
+# Variables:
+# $total (Number) - The total number of users using the add-on
+cfr-doorhanger-extension-total-users =
+ { $total ->
+ *[other] { $total } ä¸ªç¨æ·
+ }
+cfr-doorhanger-pintab-description = åºå®å¸¸ç¨çç½ç«ï¼å°±ç®éå¯ä¹è½å¿«æ·æå¼ã
+
+## These messages are steps on how to use the feature and are shown together.
+
+cfr-doorhanger-pintab-step1 = å³é®ç¹å»æ¨æ³è¦åºå®çæ ç¾é¡µã
+cfr-doorhanger-pintab-step2 = å¨èåä¸éæ©åºå®æ ç¾é¡µã
+cfr-doorhanger-pintab-step3 = è¥ç½ç«ææ°å¨åï¼åºå®çæ ç¾é¡µä¸ä¼åºç°èè²å°ç¹ã
+cfr-doorhanger-pintab-animation-pause = æå
+cfr-doorhanger-pintab-animation-resume = æ¢å¤
+
+## Firefox Accounts Message
+
+cfr-doorhanger-bookmark-fxa-header = æä¹¦ç¾é身带çèµ°
+cfr-doorhanger-bookmark-fxa-body = æ¾å°å¥½ç½ç«äºï¼æ¥ä¸æ¥ä¹æè¯¥ä¹¦ç¾åæ¥è³ç§»å¨è®¾å¤å§ãå¼å§ä½¿ç¨ { -fxaccount-brand-name }ã
+cfr-doorhanger-bookmark-fxa-link-text = ç«å³åæ¥ä¹¦ç¾...
+cfr-doorhanger-bookmark-fxa-close-btn-tooltip =
+ .aria-label = å
³éæé®
+ .title = å
³é
diff --git a/browser/browser/newtab/onboarding.ftl b/browser/browser/newtab/onboarding.ftl
new file mode 100644
index 00000000000..155ddcddc03
--- /dev/null
+++ b/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## UI strings for the simplified onboarding modal
+
+
+### UI strings for the simplified onboarding modal / about:welcome
+### Various strings use a non-breaking space to avoid a single dangling /
+### widowed word, so test on various window sizes if you also want this.
+
+
+## These button action text can be split onto multiple lines, so use explicit
+## newlines in translations to control where the line break appears (e.g., to
+## avoid breaking quoted text).
+
+onboarding-button-label-learn-more = 详ç»äºè§£
+onboarding-button-label-try-now = ç«å³å°é²
+onboarding-button-label-get-started = å¼å§ä½¿ç¨
+
+## Welcome modal dialog strings
+
+onboarding-welcome-header = 欢è¿ä½¿ç¨ { -brand-short-name }
+onboarding-welcome-body = æµè§å¨å®è£
宿ã
äºè§£ { -brand-product-name } çå
¶ä»åè½ã
+onboarding-welcome-learn-more = 详ç»äºè§£å¥½å¤ã
+onboarding-join-form-header = å å
¥ { -brand-product-name }
+onboarding-join-form-body = 卿¤è¾å
¥æ¨ççµåé®ä»¶å°åï¼å³å¯å¼å§ä½¿ç¨ã
+onboarding-join-form-email =
+ .placeholder = è¾å
¥çµåé®ä»¶å°å
+onboarding-join-form-email-error = éè¦ææççµåé®ä»¶å°å
+onboarding-join-form-legal = è¥ç»§ç»ï¼å³è¡¨ç¤ºæ¨åææä»¬çæå¡æ¡æ¬¾åéç§å£°æã
+onboarding-join-form-continue = ç»§ç»
+onboarding-start-browsing-button-label = å¼å§æµè§
+
+## These are individual benefit messages shown with an image, title and
+## description.
+
+onboarding-benefit-products-title = æç¨ç产å
+onboarding-benefit-products-text = 使ç¨åç§å°éæ¨éç§çå·¥å
·ï¼æ´å¿«å®æå·¥ä½ã
+onboarding-benefit-knowledge-title = å®ç¨å°ç¥è¯
+onboarding-benefit-knowledge-text = äºè§£æéè¦ç¥éçä¸åï¼è®©æ¨ä¸ç½æ´æºè½ãæ´å®å
¨ã
+onboarding-benefit-privacy-title = ä¿ééç§æ
+# "Personal Data Promise" is a concept that should be translated consistently
+# across the product. It refers to a concept shown elsewhere to the user: "The
+# Firefox Personal Data Promise is the way we honor your data in everything we
+# make and do. We take less data. We keep it safe. And we make sure that we are
+# transparent about how we use it."
+onboarding-benefit-privacy-text = æä»¬æåçä¸åï¼å符åæä»¬å¯¹ä¸ªäººæ°æ®éç§çæ¿è¯ºï¼ç´¢åæ´å°ãç¡®ä¿å®å
¨ãç»ä¸éçã
+
+## These strings belong to the individual onboarding messages.
+
+
+## Each message has a title and a description of what the browser feature is.
+## Each message also has an associated button for the user to try the feature.
+## The string for the button is found above, in the UI strings section
+
+onboarding-private-browsing-title = éç§æµè§
+onboarding-private-browsing-text = ä¸ç½æ´ç§å¯ã使ç¨é
æå
å®¹æ¦æªåè½çéç§æµè§ï¼å¸®å©æ¨æ¦æªç½ç»ä¸è·è¸ªæ¨çå¨çº¿è·è¸ªå¨ã
+onboarding-screenshots-title = å±å¹æªå¾
+onboarding-screenshots-text = ä¸ç¨ç¦»å¼ { -brand-short-name } å³å¯æªåãä¿å以åå享å±å¹æªå¾ãå¯ç´æ¥æªåæ´ä¸ªé¡µé¢æéå®åºåï¼ç¶åèªå¨ä¸ä¼ å°ç½ç»ä¸ï¼æ¹ä¾¿è®¿é®å享ã
+onboarding-addons-title = éå ç»ä»¶
+onboarding-addons-text = éå ç»ä»¶è½æ©å± { -brand-short-name } çå
ç½®åè½ï¼ä½¿æµè§å¨æ´æ»¡è¶³æ¨çéæ±ãæ¨å¯ä»¥ç¨éå ç»ä»¶æ¥æ¯ä»·æ ¼ãæ¥å¤©æ°ï¼ææ¯éç¨ä¸»é¢æ¥å½°æ¾æ¨ç个æ§ã
+onboarding-ghostery-title = Ghostery
+onboarding-ghostery-text = ä½¿ç¨ Ghostery çæ©å±æ¦æªæ¼äººç广åï¼è®©æ¨ä¸ç½æ´å¿«ãæ´æºè½ãæ´å®å
¨ã
+# Note: "Sync" in this case is a generic verb, as in "to synchronize"
+onboarding-fxa-title = 忥
+onboarding-fxa-text = 注å { -fxaccount-brand-name } ä¹åï¼æ¨å¯å¨ä»»ä½ä½¿ç¨ { -brand-short-name } çä»»ä½å°æ¹åæ¥æ¨ç书ç¾ãå¯ç åæå¼çæ ç¾é¡µã
+onboarding-tracking-protection-title = æ§å¶æ¨å¦ä½è¢«è·è¸ª
+onboarding-tracking-protection-text = ä¸å欢被广ååå¤è·è¸ªï¼ { -brand-short-name } å¯å©æ¨æ§å¶å¹¿ååå¨ç½ä¸è·è¸ªæ¨å¨çº¿æ´»å¨çæ¹å¼ã
+# "Update" is a verb, as in "Update the existing settings", not "Options about
+# updates".
+onboarding-tracking-protection-button =
+ { PLATFORM() ->
+ [windows] æ´æ°é项
+ *[other] æ´æ°é¦é项
+ }
+onboarding-tracking-protection-title2 = ä¿æ¤æ¨ä¸åè·è¸ª
+onboarding-tracking-protection-text2 = { -brand-short-name } å¯å¸®å©é»æ¢ç½ç«çå¨çº¿è·è¸ªï¼è®©å¹¿åæ´é¾ç¯ä¸æ¨ã
+onboarding-tracking-protection-button2 = å·¥ä½åç
+onboarding-data-sync-title = å°æ¨ç设置é身带çèµ°
+# "Sync" is short for synchronize.
+onboarding-data-sync-text = å¨ä»»ä½ä½¿ç¨ { -brand-product-name } çå°æ¹åæ¥ä¹¦ç¾ä¸å¯ç ã
+onboarding-data-sync-button = å¼å¯{ -sync-brand-short-name }
+# "Sync" is short for synchronize.
+onboarding-data-sync-text2 = å¨ä»»ä½ä½¿ç¨ { -brand-product-name } çå°æ¹åæ¥ä¹¦ç¾ãå¯ç çæ°æ®ã
+onboarding-data-sync-button2 = ç»å½{ -sync-brand-short-name }
+onboarding-firefox-monitor-title = è¦ææ°æ®å¤æ³
+onboarding-firefox-monitor-text = { -monitor-brand-name } ä¼çæ§æ¨ççµåé®ä»¶å°åæ¯å¦åºç°å¨æ°æ®å¤æ³äºä»¶ä¸ï¼å¹¶å¨ææ°å¤æ³äºä»¶æ¶éç¥æ¨ã
+onboarding-firefox-monitor-button = 订é
è¦æ¥
+onboarding-browse-privately-title = ç§å¯æµè§
+onboarding-browse-privately-text = éç§æµè§ä¼èªå¨æ¸
餿¨çæç´¢ä¸ä¸ç½è®°å½ï¼è®©ä½¿ç¨æ¤è®¡ç®æºçå
¶ä»äººæ æ³å¾ç¥æ¨å¨ç½ä¸çæ´»å¨ã
+onboarding-browse-privately-button = æå¼éç§çªå£
+onboarding-firefox-send-title = 以ç§å¯çæ¹å¼å享æä»¶
+onboarding-firefox-send-text = { -send-brand-name } éè¿ç«¯å°ç«¯å å¯ä¸é¾æ¥å°æå³çï¼ä¿æ¤æ¨è¦å享çæä»¶ã
+onboarding-firefox-send-text2 = ä¸ä¼ æ¨çæä»¶å° { -send-brand-name }ï¼å³å¯éè¿ç«¯å°ç«¯å å¯ä¸é¾æ¥å°æå³çæ¥è¿è¡å享ã
+onboarding-firefox-send-button = è¯ç¨ { -send-brand-name }
+onboarding-mobile-phone-title = è·åææºç { -brand-product-name }
+onboarding-mobile-phone-text = ä¸è½½éç¨äº iOS æ Android ç { -brand-product-name }ï¼å³å¯è·¨è®¾å¤åæ¥æ°æ®ã
+# "Mobile" is short for mobile/cellular phone, "Browser" is short for web
+# browser.
+onboarding-mobile-phone-button = ä¸è½½ç§»å¨æµè§å¨
+onboarding-send-tabs-title = 峿¶åéæ ç¾é¡µç»èªå·±
+# "Send Tabs" refers to "Send Tab to Device" feature that appears when opening a
+# tab's context menu.
+onboarding-send-tabs-text = Send Tabs å¯å³æ¶è·¨è®¾å¤å享ç½é¡µï¼æ é¡»å¤å¶ãç²è´´æç¦»å¼æµè§å¨ã
+onboarding-send-tabs-button = å¼å§ä½¿ç¨ Send Tabs
+onboarding-pocket-anywhere-title = éæ¶éå°é
读åèå¬
+# "downtime" refers to the user's free/spare time.
+onboarding-pocket-anywhere-text = { -pocket-brand-name } å¯ä¿åæ¨åç±çæ
äºï¼ä»¥ä¾¿æ¨é²ææ¶é
读ãèå¬åè§çï¼ç¦»çº¿äº¦ä¸å¨è¯ä¸ã
+onboarding-pocket-anywhere-text2 = å¯ä½¿ç¨ { -pocket-brand-name } åºç¨ç¦»çº¿ä¿åæ¨åç±çæ
äºï¼ä»¥ä¾¿æ¨é²ææ¶é
读ãèå¬åè§çã
+onboarding-pocket-anywhere-button = è¯ç¨ { -pocket-brand-name }
+onboarding-lockwise-passwords-title = å°æ¨çå¯ç é身带çèµ°
+onboarding-lockwise-passwords-text = { -lockwise-brand-name } ä¼å°æ¨çå¯ç ä¿åå¨å®å
¨çå°æ¹ï¼è®©æ¨å¯è½»æ¾ç»å½è´¦å·ã
+onboarding-lockwise-passwords-button = è·å { -lockwise-brand-name }
+onboarding-lockwise-passwords-text2 = { -lockwise-brand-name } ä¼å®å
¨å°ä¿åæ¨çå¯ç ï¼è®©æ¨å¯è½»æ¾å¨å个ç½ç«ä¸ç»å½è´¦å·ã
+onboarding-lockwise-passwords-button2 = è·ååºç¨
+onboarding-facebook-container-title = 为 Facebook 设置边ç
+onboarding-facebook-container-text = { -facebook-container-brand-name } å¯å°æ¨ç Facebook 身份ä¸å
¶ä»ç½ç«é离ï¼ä½¿ Facebook é¾ä»¥è·è¸ªæ¨å¨ç½ç»ä¸çä¸ä¸¾ä¸å¨ã
+onboarding-facebook-container-text2 = { -facebook-container-brand-name } å¯å°æ¨ç Facebook 身份ä¸å
¶ä»ç½ç«é离ï¼ä½¿ Facebook æ´é¾ä»¥éè¿å¹¿åå®ä½æ¨ã
+onboarding-facebook-container-button = æ·»å æ©å±
+
+## Message strings belonging to the Return to AMO flow
+
+return-to-amo-sub-header = 太æ£äºï¼æ¨å·²æåå®è£
{ -brand-short-name }
+# will be replaced with the icon belonging to the extension
+#
+# Variables:
+# $addon-name (String) - Name of the add-on
+return-to-amo-addon-header = ç°å¨æ¥å®è£
{ $addon-name } å§ã
+return-to-amo-extension-button = æ·»å æ©å±
+return-to-amo-get-started-button = { -brand-short-name } 使ç¨å
¥é¨
diff --git a/browser/browser/pageInfo.ftl b/browser/browser/pageInfo.ftl
new file mode 100644
index 00000000000..a8129a53caf
--- /dev/null
+++ b/browser/browser/pageInfo.ftl
@@ -0,0 +1,231 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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-info-window =
+ .style = width: 600px; min-height: 550px;
+copy =
+ .key = C
+menu-copy =
+ .label = å¤å¶
+ .accesskey = C
+select-all =
+ .key = A
+menu-select-all =
+ .label = å
¨é
+ .accesskey = A
+close-window =
+ .key = A
+general-tab =
+ .label = 常è§
+ .accesskey = G
+general-title =
+ .value = æ é¢ï¼
+general-url =
+ .value = ç½åï¼
+general-type =
+ .value = ç±»åï¼
+general-mode =
+ .value = æ¸²ææ¨¡å¼ï¼
+general-size =
+ .value = 大å°ï¼
+general-referrer =
+ .value = æ¥æºç½åï¼
+general-modified =
+ .value = ä¿®æ¹æ¶é´ï¼
+general-encoding =
+ .value = æåç¼ç ï¼
+general-meta-name =
+ .label = åç§°
+general-meta-content =
+ .label = å
容
+media-tab =
+ .label = åªä½
+ .accesskey = M
+media-location =
+ .value = ä½ç½®ï¼
+media-text =
+ .value = åè¡¥ææ¬ï¼
+media-alt-header =
+ .label = å¤ç¨æå
+media-address =
+ .label = ç½å
+media-type =
+ .label = ç±»å
+media-size =
+ .label = 大å°
+media-count =
+ .label = æ°é
+media-dimension =
+ .value = 尺寸ï¼
+media-long-desc =
+ .value = è¯¦ç»æè¿°ï¼
+media-save-as =
+ .label = å¦å为â¦
+ .accesskey = A
+media-save-image-as =
+ .label = å¦å为â¦
+ .accesskey = e
+media-preview =
+ .value = åªä½é¢è§ï¼
+perm-tab =
+ .label = æé
+ .accesskey = P
+permissions-for =
+ .value = æéï¼å¯¹äº:
+security-tab =
+ .label = å®å
¨
+ .accesskey = S
+security-view =
+ .label = æ¥çè¯ä¹¦
+ .accesskey = V
+security-view-unknown = æªç¥
+ .value = æªç¥
+security-view-identity =
+ .value = ç½ç«èº«ä»½
+security-view-identity-owner =
+ .value = ææè
ï¼
+security-view-identity-domain =
+ .value = ç½ç«ï¼
+security-view-identity-verifier =
+ .value = éªè¯è
ï¼
+security-view-identity-validity =
+ .value = è¿ææ¶é´ï¼
+security-view-privacy =
+ .value = éç§ååå²è®°å½
+security-view-privacy-history-value = æä¹å访é®è¿è¯¥ç½ç«åï¼
+security-view-privacy-sitedata-value = æ¤ç½ç«å¨æçè®¡ç®æºä¸åå¨äºä¿¡æ¯åï¼
+security-view-privacy-clearsitedata =
+ .label = æ¸
é¤ Cookie åç½ç«æ°æ®
+ .accesskey = C
+security-view-privacy-passwords-value = æä¿åè¿è¯¥ç½ç«çä»»ä½å¯ç åï¼
+security-view-privacy-viewpasswords =
+ .label = æ¥çå·²ä¿åçå¯ç
+ .accesskey = w
+security-view-technical =
+ .value = ææ¯ç»è
+help-button =
+ .label = 帮å©
+
+## These strings are used to tell the user if the website is storing cookies
+## and data on the users computer in the security tab of pageInfo
+## Variables:
+## $value (number) - Amount of data being stored
+## $unit (string) - The unit of data being stored (Usually KB)
+
+security-site-data-cookies = æï¼Cookie å { $value } { $unit } ç½ç«æ°æ®
+security-site-data-only = æï¼{ $value } { $unit } ç½ç«æ°æ®
+security-site-data-cookies-only = æï¼Cookie
+security-site-data-no = æ
+image-size-unknown = æªç¥
+not-set-verified-by = æªææ
+not-set-alternative-text = æªææ
+not-set-date = æªææ
+media-img = å¾å
+media-bg-img = èæ¯
+media-border-img = è¾¹æ¡
+media-list-img = 项ç®
+media-cursor = å
æ
+media-object = 对象
+media-embed = åµå
¥
+media-link = 徿
+media-input = è¾å
¥
+media-video = è§é¢
+media-audio = é³é¢
+saved-passwords-yes = æ¯
+saved-passwords-no = å¦
+no-page-title =
+ .value = æ æ é¢é¡µ
+general-quirks-mode =
+ .value = æªå¼æ¨¡å¼
+general-strict-mode =
+ .value = æ åè§è模å¼
+security-no-owner = æ¤ç½ç«æªæä¾ææè
ä¿¡æ¯ã
+media-select-folder = è¯·éæ©ä¿åå¾åçæä»¶å¤¹
+media-unknown-not-cached =
+ .value = æªç¥ï¼æªç¼åï¼
+permissions-use-default =
+ .label = 使ç¨é»è®¤è®¾ç½®
+security-no-visits = å¦
+# This string is used to display the number of meta tags
+# in the General Tab
+# Variables:
+# $tags (number) - The number of meta tags
+general-meta-tags =
+ .value =
+ { $tags ->
+ [one] å
ä¿¡æ¯ï¼1 个æ ç¾ï¼
+ *[other] å
ä¿¡æ¯ï¼{ $tags } 个æ ç¾ï¼
+ }
+# This string is used to display the number of times
+# the user has visited the website prior
+# Variables:
+# $visits (number) - The number of previous visits
+security-visits-number =
+ { $visits ->
+ [0] å¦
+ [one] æ¯ï¼1 次
+ *[other] æ¯ï¼{ $visits } 次
+ }
+# This string is used to display the size of a media file
+# Variables:
+# $kb (number) - The size of an image in Kilobytes
+# $bytes (number) - The size of an image in Bytes
+properties-general-size =
+ .value =
+ { $bytes ->
+ [one] { $kb } KB ({ $bytes } åè)
+ *[other] { $kb } KB ({ $bytes } åè)
+ }
+# This string is used to display the type and number
+# of frames of a animated image
+# Variables:
+# $type (string) - The type of a animated image
+# $frames (number) - The number of frames in an animated image
+media-animated-image-type =
+ .value =
+ { $frames ->
+ [one] { $type } å¾åï¼å¨ç»ï¼{ $frames } 帧ï¼
+ *[other] { $type } å¾åï¼å¨ç»ï¼{ $frames } 帧ï¼
+ }
+# This string is used to display the type of
+# an image
+# Variables:
+# $type (string) - The type of an image
+media-image-type =
+ .value = { $type } å¾å
+# This string is used to display the size of a scaled image
+# in both scaled and unscaled pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+# $scaledx (number) - The scaled horizontal size of an image
+# $scaledy (number) - The scaled vertical size of an image
+media-dimensions-scaled =
+ .value = { $dimx }px à { $dimy }px (缩æ¾è³ { $scaledx }px à { $scaledy }px)
+# This string is used to display the size of an image in pixels
+# Variables:
+# $dimx (number) - The horizontal size of an image
+# $dimy (number) - The vertical size of an image
+media-dimensions =
+ .value = { $dimx }px à { $dimy }px
+# This string is used to display the size of a media
+# file in kilobytes
+# Variables:
+# $size (number) - The size of the media file in kilobytes
+media-file-size = { $size } KB
+# This string is used to display the website name next to the
+# "Block Images" checkbox in the media tab
+# Variables:
+# $website (string) - The website name
+media-block-image =
+ .label = æ¦æªæ¥èª { $website } çå¾å
+ .accesskey = B
+# This string is used to display the URL of the website on top of the
+# pageInfo dialog box
+# Variables:
+# $website (string) - The url of the website pageInfo is getting info for
+page-info-page =
+ .title = 页é¢ä¿¡æ¯ - { $website }
+page-info-frame =
+ .title = æ¡æ¶ä¿¡æ¯ - { $website }
diff --git a/browser/browser/panicButton.ftl b/browser/browser/panicButton.ftl
new file mode 100644
index 00000000000..1035a98e7a4
--- /dev/null
+++ b/browser/browser/panicButton.ftl
@@ -0,0 +1,31 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+panic-button-open-new-window = æ°å»ºä¸ä¸ªå¹²åççªå£
+panic-button-undo-warning = æ¤æä½æ æ³æ¤éã
+panic-button-forget-button =
+ .label = æ¹å»å§ï¼
+
+## These strings are combined to form a complete sentence starting with
+## panic-main-timeframe-desc. For example: "Forget the last: Five minutes".
+## Please ensure that this remains the case in the translation.
+
+panic-main-timeframe-desc = æ¹å»æè¿ï¼
+panic-button-5min =
+ .label = 5 åé
+panic-button-2hr =
+ .label = 2 å°æ¶
+panic-button-day =
+ .label = 24 å°æ¶
+
+## These strings are combined to form a complete sentence starting with
+## panic-button-action-desc. For example: "Proceeding will: Delete Recent Cookies".
+## Please ensure that this remains the case in the translation.
+## Note also that some strings include tags for emphasis on the
+## words "Cookies", "History", "Tabs" and "Windows". The translation should do the same.
+
+panic-button-action-desc = è¿å°ï¼
+panic-button-delete-cookies = å é¤è¿æç Cookie
+panic-button-delete-history = å é¤è¿æçåå²è®°å½
+panic-button-delete-tabs-and-windows = å
³éææçæ ç¾é¡µåçªå£
diff --git a/browser/browser/policies/policies-descriptions.ftl b/browser/browser/policies/policies-descriptions.ftl
new file mode 100644
index 00000000000..949761d85cb
--- /dev/null
+++ b/browser/browser/policies/policies-descriptions.ftl
@@ -0,0 +1,88 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## The Enterprise Policies feature is aimed at system administrators
+## who want to deploy these settings across several Firefox installations
+## all at once. This is traditionally done through the Windows Group Policy
+## feature, but the system also supports other forms of deployment.
+## These are short descriptions for individual policies, to be displayed
+## in the documentation section in about:policies.
+
+policy-3rdparty = 设置 WebExtension å¯éè¿ chrome.storage.managed ååççç¥ã
+policy-AppUpdateURL = 设置èªå®ä¹çåºç¨ç¨åºæ´æ°ç½åã
+policy-Authentication = ä¸ºæ¯æçç½ç«é
ç½®éæèº«ä»½éªè¯ã
+policy-BlockAboutAddons = 黿¢è®¿é®éå ç»ä»¶ç®¡çå¨ï¼about:addonsï¼ã
+policy-BlockAboutConfig = 黿¢è®¿é® about:config 页é¢ã
+policy-BlockAboutProfiles = 黿¢è®¿é® about:profiles 页é¢ã
+policy-BlockAboutSupport = 黿¢è®¿é® about:support 页é¢ã
+policy-Bookmarks = å¨ä¹¦ç¾å·¥å
·æ ï¼ä¹¦ç¾èåæç¹å®æä»¶å¤¹ä¸å建书ç¾ã
+policy-CaptivePortal = å¯ç¨æç¦ç¨å¼ºå¶é¨æ·æ¯æã
+policy-CertificatesDescription = æ·»å è¯ä¹¦æä½¿ç¨å
ç½®çè¯ä¹¦ã
+policy-Cookies = å
许ææç»ç½ç«è®¾ç½® Cookieã
+policy-DefaultDownloadDirectory = 设置é»è®¤ä¸è½½ç®å½ã
+policy-DisableAppUpdate = 黿¢æµè§å¨æ´æ°ã
+policy-DisableBuiltinPDFViewer = ç¦ç¨ { -brand-short-name } å
ç½®ç PDF é
è¯»å¨ PDF.jsã
+policy-DisableDeveloperTools = 黿¢è®¿é®å¼åè
å·¥å
·ã
+policy-DisableFeedbackCommands = ç¦ç¨â帮å©âèåä¸çâåéåé¦âå½ä»¤ï¼æäº¤åé¦å举æ¥è¯éªç½ç«ï¼ã
+policy-DisableFirefoxAccounts = ç¦ç¨ { -fxaccount-brand-name }çåºç¡æå¡ï¼å
å«åæ¥ã
+# Firefox Screenshots is the name of the feature, and should not be translated.
+policy-DisableFirefoxScreenshots = ç¦ç¨ Firefox Screenshots åè½ã
+policy-DisableFirefoxStudies = 黿¢ { -brand-short-name } è¿è¡ç ç©¶å®éªã
+policy-DisableForgetButton = 黿¢ä½¿ç¨âå¿è®°âåè½ã
+policy-DisableFormHistory = ä¸è¦è®°ä½æç´¢å表åçåå²è®°å½ã
+policy-DisableMasterPasswordCreation = è¥ä¸º trueï¼å°æ æ³å建主å¯ç ã
+policy-DisablePocket = ç¦ç¨ä¿åç½é¡µå° Pocket çåè½ã
+policy-DisablePrivateBrowsing = ç¦ç¨éç§æµè§åè½ã
+policy-DisableProfileImport = ç¦ç¨èªå
¶ä»æµè§å¨å¯¼å
¥æ°æ®çèåå½ä»¤ã
+policy-DisableProfileRefresh = ç¦ç¨ about:support 页é¢ä¸çâç¿»æ° { -brand-short-name }âæé®ã
+policy-DisableSafeMode = ç¦ç¨ä»¥å®å
¨æ¨¡å¼éæ°æå¼çåè½ã注æï¼ä»
å¯å¨ Windows ä¸ä½¿ç¨ç»çç¥ç¦ç¨æä½ Shift é®è¿å
¥å®å
¨æ¨¡å¼ã
+policy-DisableSecurityBypass = 黿¢ç¨æ·ç»è¿æäºå®å
¨æ§è¦åã
+policy-DisableSetAsDesktopBackground = ç¦ç¨å°å¾åçâ设为æ¡é¢èæ¯âèåå½ä»¤ã
+policy-DisableSystemAddonUpdate = 黿¢æµè§å¨å®è£
ææ´æ°âç³»ç»éå ç»ä»¶âã
+policy-DisableTelemetry = å
³éâ饿µâç»ä»¶ã
+policy-DisplayBookmarksToolbar = é»è®¤æ¾ç¤ºä¹¦ç¾å·¥å
·æ ã
+policy-DisplayMenuBar = é»è®¤æ¾ç¤ºèåæ ã
+policy-DNSOverHTTPS = é
ç½®åºäº HTTPS ç DNSã
+policy-DontCheckDefaultBrowser = ç¦ç¨å¯å¨æ¶çé»è®¤æµè§å¨æ£æ¥ã
+policy-DownloadDirectory = 设置并éå®ä¸è½½ç®å½ã
+# âlockâ means that the user wonât be able to change this setting
+policy-EnableTrackingProtection = å¯ç¨æç¦ç¨å
å®¹æ¦æªï¼å¹¶å¯éæ©éå®è¯¥åè½ã
+# A âlockedâ extension canât be disabled or removed by the user. This policy
+# takes 3 keys (âInstallâ, âUninstallâ, âLockedâ), you can either keep them in
+# English or translate them as verbs.
+policy-Extensions = å®è£
ï¼ç§»é¤æé宿©å±ãå®è£
é项å¯å°ç½åæè·¯å¾ä½ä¸ºåæ°ãç§»é¤åéå®é项åéè¦æ©å± ID ä½ä¸ºåæ°ã
+policy-ExtensionSettings = ç®¡çæ©å±çåç§å®è£
设置ã
+policy-ExtensionUpdate = å¯ç¨æç¦ç¨æ©å±èªå¨æ´æ°ã
+policy-FirefoxHome = é
ç½® Firefox 主页ã
+policy-FlashPlugin = å
许ææç»ä½¿ç¨ Flash æä»¶ã
+policy-HardwareAcceleration = è¥ä¸º falseï¼å°ä¼å
³é硬件å éã
+# âlockâ means that the user wonât be able to change this setting
+policy-Homepage = 设置主页ï¼å¯éæ©éå®ã
+policy-InstallAddonsPermission = å
许ç¹å®ç½ç«å®è£
éå ç»ä»¶ã
+policy-LocalFileLinks = å
许ç¹å®ç½ç«é¾æ¥å°æ¬å°æä»¶ã
+policy-NetworkPrediction = å¯ç¨æç¦ç¨ç½ç»é¢æµï¼DNS é¢è¯»åï¼åè½ã
+policy-NewTabPage = å¯ç¨æç¦ç¨âæ°æ ç¾é¡µâ页é¢ã
+policy-NoDefaultBookmarks = ç¦æ¢å建 { -brand-short-name } æç»çé»è®¤ä¹¦ç¾ä»¥åæºè½ä¹¦ç¾ï¼æå¸¸è®¿é®ãæè¿ä½¿ç¨çæ ç¾ï¼ã注æï¼æ¤çç¥ä»
å¨é
ç½®æä»¶é¦æ¬¡è¿è¡æ¶çæã
+policy-OfferToSaveLogins = 强å¶å¯ç¨æç¦ç¨ { -brand-short-name } çç»å½è´¦å·ä¸å¯ç ä¿ååè½ãæ¥å true æ falseã
+policy-OverrideFirstRunPage = è¦ç馿¬¡è¿è¡é¡µé¢ãå¦ææ¨æ³ç¦ç¨é¦æ¬¡è¿è¡é¡µé¢ï¼å°æ¤çç¥è®¾ä¸ºç©ºç½ã
+policy-OverridePostUpdatePage = è¦çæ´æ°åçâæ°çååâ页é¢ãå¦ææ¨æ³ç¦ç¨æ´æ°å页é¢ï¼å°æ¤çç¥è®¾ä¸ºç©ºç½ã
+policy-Permissions = é
ç½®æå头ã麦å
é£ãä½ç½®åéç¥çæéã
+policy-PopupBlocking = é»è®¤å
许ç¹å®ç½ç«æ¾ç¤ºå¼¹åºå¼çªå£ã
+policy-Preferences = 设置并éå®è¥å¹²é¦é项çå¼ã
+policy-PromptForDownloadLocation = ä¸è½½åè¯¢é®æä»¶ä¿åä½ç½®ã
+policy-Proxy = é
置代ç设置
+policy-RequestedLocales = 设置åºç¨ç¨åºè¡¨æè¯è¨åºåå好çè¯è¨åºå请æ±å表ã
+policy-SanitizeOnShutdown = å
³éæµè§å¨æ¶æ¸
é¤æææµè§æ°æ®ã
+policy-SanitizeOnShutdown2 = å
³æºæ¶ï¼æ¸
é¤ä¸ç½æ°æ®ã
+policy-SearchBar = 设置æç´¢æ çé»è®¤ä½ç½®ï¼ç¨æ·ä»å¯èªå®ä¹ã
+policy-SearchEngines = é
ç½®æç´¢å¼æè®¾ç½®ãæ¤çç¥ä»
éç¨äºå»¶é¿æ¯æçï¼ESRï¼ã
+policy-SearchSuggestEnabled = å¯ç¨æç¦ç¨æç´¢å»ºè®®ã
+# For more information, see https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/PKCS11/Module_Installation
+policy-SecurityDevices = å®è£
PKCS #11 模åã
+policy-SSLVersionMax = 设置æé« SSL çæ¬ã
+policy-SSLVersionMin = 设置æä½ SSL çæ¬ã
+policy-SupportMenu = å帮å©èåèªéæ·»å ææ¯æ¯æé¡¹ç®ã
+# âformatâ refers to the format used for the value of this policy.
+policy-WebsiteFilter = 黿¢è®¿é®æäºç½ç«ãåé
ææ¡£äºè§£è¯¥æ ¼å¼çæ´å¤è¯¦æ
ã
diff --git a/browser/browser/preferences/applicationManager.ftl b/browser/browser/preferences/applicationManager.ftl
new file mode 100644
index 00000000000..6ebbd1b3990
--- /dev/null
+++ b/browser/browser/preferences/applicationManager.ftl
@@ -0,0 +1,23 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+app-manager-window =
+ .title = åºç¨ç¨åºè¯¦ç»ä¿¡æ¯
+ .style = width: 30em; min-height: 20em;
+app-manager-remove =
+ .label = ç§»é¤
+ .accesskey = R
+app-manager-handle-webfeeds = å¦ä¸åºç¨ç¨åºå¯ç¨æ¥å¤çâç½ç«æ¶åç¹âã
+# Variables:
+# $type (String) - the URI scheme of the link (e.g. mailto:)
+app-manager-handle-protocol = å¦ä¸åºç¨ç¨åºå¯ç¨æ¥å¤çâ{ $type } 龿¥âã
+# Variables:
+# $type (String) - the MIME type (e.g. application/binary)
+app-manager-handle-file = å¦ä¸åºç¨ç¨åºå¯ç¨æ¥å¤çâ{ $type } å
容âã
+
+## These strings are followed, on a new line,
+## by the URL or path of the application.
+
+app-manager-web-app-info = æ¤ç½é¡µåºç¨ç¨åºä½äºï¼
+app-manager-local-app-info = æ¤åºç¨ç¨åºä½äºï¼
diff --git a/browser/browser/preferences/blocklists.ftl b/browser/browser/preferences/blocklists.ftl
new file mode 100644
index 00000000000..b78562533e0
--- /dev/null
+++ b/browser/browser/preferences/blocklists.ftl
@@ -0,0 +1,35 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+blocklist-window =
+ .title = æ¦æªå表
+ .style = width: 50em
+blocklist-desc = è¯·éæ©ä¸ä¸ªå表ï¼{ -brand-short-name } å°ä¾æ¤è¿æ»¤å¯è½ä¼è·è¸ªæ¨ç½ä¸æ´»å¨çç½é¡µå
ç´ ã
+blocklist-description = éæ© { -brand-short-name } ç¨äºæ¦æªå¨çº¿è·è¸ªå¨çå表ãåè¡¨ç± Disconnect æä¾ã
+blocklist-close-key =
+ .key = w
+blocklist-treehead-list =
+ .label = å表
+blocklist-button-cancel =
+ .label = åæ¶
+ .accesskey = C
+blocklist-button-ok =
+ .label = ä¿åæ´æ¹
+ .accesskey = S
+# This template constructs the name of the block list in the block lists dialog.
+# It combines the list name and description.
+# e.g. "Standard (Recommended). This list does a pretty good job."
+#
+# Variables:
+# $listName {string, "Standard (Recommended)."} - List name.
+# $description {string, "This list does a pretty good job."} - Description of the list.
+blocklist-item-list-template = { $listName } { $description }
+blocklist-item-moz-std-name = Disconnect.me æä¾çåºç¡ä¿æ¤åè¡¨ï¼æ¨èï¼ã
+blocklist-item-moz-std-desc = å
许é¨åè·è¸ªè¡ä¸ºï¼åæ¶è®©ç½ç«åè½ä¿ææ£å¸¸ã
+blocklist-item-moz-full-name = Disconnect.me æä¾çä¸¥æ ¼å表ã
+blocklist-item-moz-full-desc = æ¦æªææå·²ç¥çè·è¸ªå¨ãæäºç½ç«å¯è½ä¼å¼å¸¸ã
+blocklist-item-moz-std-listName = ä¸çº§æ¦æªåè¡¨ï¼æ¨èï¼ã
+blocklist-item-moz-std-description = å
许é¨åè·è¸ªå¨ï¼ä»¥åå°ç½ç«æ
éçã
+blocklist-item-moz-full-listName = äºçº§æ¦æªå表ã
+blocklist-item-moz-full-description = æ¦æªæ£æµå°çææè·è¸ªå¨ãå¯è½æ æ³æ£å¸¸è½½å
¥é¨åç½ç«æå
容ã
diff --git a/browser/browser/preferences/clearSiteData.ftl b/browser/browser/preferences/clearSiteData.ftl
new file mode 100644
index 00000000000..0f21e9e84b9
--- /dev/null
+++ b/browser/browser/preferences/clearSiteData.ftl
@@ -0,0 +1,50 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+clear-site-data-window =
+ .title = æ¸
餿°æ®
+ .style = width: 35em
+clear-site-data-description = æ¸
é¤ { -brand-short-name } åå¨çææ Cookie åç½ç«æ°æ®å¯è½ä½¿æ¨çç½ç«ç»å½ç¶æä¸¢å¤±ï¼è¿ä¼å é¤ç¦»çº¿ç½é¡µå
容ãä»
æ¸
é¤ç¼åæ°æ®åä¸ä¼å½±åæ¨çç»å½ç¶æã
+clear-site-data-close-key =
+ .key = w
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cookies and Site Data (24 KB)"
+# Variables:
+# $amount (Number) - Amount of site data currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cookies-with-data =
+ .label = Cookie åç½ç«æ°æ® ({ $amount } { $unit })
+ .accesskey = S
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cookies-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cookies-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cookies-empty =
+ .label = Cookie åç½ç«æ°æ®
+ .accesskey = S
+clear-site-data-cookies-info = 妿æ¸
é¤ï¼æ¨çç½ç«ç»å½ç¶æå¯è½ä¸¢å¤±
+# The parameters in parentheses in this string describe disk usage
+# in the format ($amount $unit), e.g. "Cached Web Content (24 KB)"
+# Variables:
+# $amount (Number) - Amount of cache currently stored on disk
+# $unit (String) - Abbreviation of the unit that $amount is in, e.g. "MB"
+clear-site-data-cache-with-data =
+ .label = å·²ç¼åç½ç»æ°æ® ({ $amount } { $unit })
+ .accesskey = W
+# This string is a placeholder for while the data used to fill
+# clear-site-data-cache-with-data is loading. This placeholder is usually
+# only shown for a very short time (< 1s), so it should be very similar
+# or the same as clear-site-data-cache-with-data (except the amount and unit),
+# to avoid flickering.
+clear-site-data-cache-empty =
+ .label = å·²ç¼åç½ç»å
容
+ .accesskey = W
+clear-site-data-cache-info = å°éæ°è½½å
¥ç½ç«çå¾åçæ°æ®
+clear-site-data-cancel =
+ .label = åæ¶
+ .accesskey = C
+clear-site-data-clear =
+ .label = æ¸
é¤
+ .accesskey = l
diff --git a/browser/browser/preferences/colors.ftl b/browser/browser/preferences/colors.ftl
new file mode 100644
index 00000000000..1dd39cf412e
--- /dev/null
+++ b/browser/browser/preferences/colors.ftl
@@ -0,0 +1,37 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+colors-window =
+ .title = é¢è²
+ .style =
+ { PLATFORM() ->
+ [macos] width: 41em
+ *[other] width: 38em
+ }
+colors-close-key =
+ .key = w
+colors-page-override = ä½¿ç¨æ¨å¨ä¸é¢éæ©çé¢è²è¦ç页颿å®çé¢è²
+ .accesskey = O
+colors-page-override-option-always =
+ .label = ä¸å¾
+colors-page-override-option-auto =
+ .label = ä»
å¨ä½¿ç¨é«å¯¹æ¯åº¦ä¸»é¢æ¶
+colors-page-override-option-never =
+ .label = æ»ä¸
+colors-text-and-background = æååèæ¯
+colors-text-header = ææ¬
+ .accesskey = T
+colors-background = èæ¯
+ .accesskey = B
+colors-use-system =
+ .label = 使ç¨ç³»ç»é¢è²
+ .accesskey = s
+colors-underline-links =
+ .label = ä¸ºé¾æ¥æ·»å ä¸å线
+ .accesskey = U
+colors-links-header = 龿¥é¢è²
+colors-unvisited-links = æªè®¿é®è¿ç龿¥
+ .accesskey = L
+colors-visited-links = 访é®è¿ç龿¥
+ .accesskey = V
diff --git a/browser/browser/preferences/connection.ftl b/browser/browser/preferences/connection.ftl
new file mode 100644
index 00000000000..7ed7574ad73
--- /dev/null
+++ b/browser/browser/preferences/connection.ftl
@@ -0,0 +1,90 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+connection-window =
+ .title = è¿æ¥è®¾ç½®
+ .style =
+ { PLATFORM() ->
+ [macos] width: 44em
+ *[other] width: 49em
+ }
+connection-close-key =
+ .key = w
+connection-disable-extension =
+ .label = ç¦ç¨æ©å±
+connection-proxy-configure = é
置访é®äºèç½ç代çæå¡å¨
+connection-proxy-option-no =
+ .label = ä¸ä½¿ç¨ä»£çæå¡å¨
+ .accesskey = y
+connection-proxy-option-system =
+ .label = 使ç¨ç³»ç»ä»£ç设置
+ .accesskey = U
+connection-proxy-option-auto =
+ .label = èªå¨æ£æµæ¤ç½ç»ç代ç设置
+ .accesskey = w
+connection-proxy-option-manual =
+ .label = æå¨ä»£çé
ç½®
+ .accesskey = m
+connection-proxy-http = HTTP 代ç
+ .accesskey = x
+connection-proxy-http-port = 端å£
+ .accesskey = P
+connection-proxy-http-share =
+ .label = 为ææå议使ç¨ç¸å代çæå¡å¨
+ .accesskey = s
+connection-proxy-ssl = SSL 代ç
+ .accesskey = L
+connection-proxy-ssl-port = 端å£
+ .accesskey = o
+connection-proxy-ftp = FTP 代ç
+ .accesskey = F
+connection-proxy-ftp-port = 端å£
+ .accesskey = r
+connection-proxy-socks = SOCKS 主æº
+ .accesskey = C
+connection-proxy-socks-port = 端å£
+ .accesskey = t
+connection-proxy-socks4 =
+ .label = SOCKS v4
+ .accesskey = K
+connection-proxy-socks5 =
+ .label = SOCKS v5
+ .accesskey = v
+connection-proxy-noproxy = ä¸ä½¿ç¨ä»£ç
+ .accesskey = n
+connection-proxy-noproxy-desc = ä¾å¦ï¼.mozilla.org, .net.nz, 192.168.1.0/24
+connection-proxy-autotype =
+ .label = èªå¨ä»£çé
ç½®ç URLï¼PACï¼
+ .accesskey = A
+connection-proxy-reload =
+ .label = éæ°è½½å
¥
+ .accesskey = e
+connection-proxy-autologin =
+ .label = 妿å¯ç å·²ä¿åï¼ä¸æç¤ºèº«ä»½éªè¯
+ .accesskey = i
+ .tooltip = æ¤é项å°å
è®¸å¨æ¨å·²ä¿ååæ®çæ
åµä¸èªå¨å代çè¿è¡èº«ä»½éªè¯ï¼å¦æéªè¯å¤±è´¥åæç¤ºæ¨è¾å
¥ä¿¡æ¯ã
+connection-proxy-socks-remote-dns =
+ .label = ä½¿ç¨ SOCKS v5 æ¶ä»£ç DNS æ¥è¯¢
+ .accesskey = D
+connection-dns-over-https =
+ .label = å¯ç¨åºäº HTTPS ç DNS
+ .accesskey = H
+# Variables:
+# $url (String) - URL for the DNS over HTTPS provider
+connection-dns-over-https-url-default =
+ .label = 使ç¨é»è®¤å¼ï¼{ $url }ï¼
+ .accesskey = ï¼µ
+ .tooltiptext = 使ç¨é»è®¤ URL 宿åºäº HTTPS ç DNS è§£æ
+connection-dns-over-https-url-resolver = éç¨æä¾å
+ .accesskey = P
+# Variables:
+# $name (String) - Display name or URL for the DNS over HTTPS provider
+connection-dns-over-https-url-item-default =
+ .label = { $name }ï¼é»è®¤å¼ï¼
+ .tooltiptext = 使ç¨é»è®¤ URL 宿åºäº HTTPS ç DNS è§£æ
+connection-dns-over-https-url-custom =
+ .label = èªå®ä¹
+ .accesskey = C
+ .tooltiptext = è¾å
¥æ¨å好ç URLï¼ç¨æ¥å®æåºäº HTTPS ç DNS è§£æ
+connection-dns-over-https-custom-label = èªå®ä¹
diff --git a/browser/browser/preferences/containers.ftl b/browser/browser/preferences/containers.ftl
new file mode 100644
index 00000000000..70965fa9753
--- /dev/null
+++ b/browser/browser/preferences/containers.ftl
@@ -0,0 +1,84 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+containers-window-new =
+ .title = æ·»å æ°èº«ä»½
+ .style = width: 45em
+# Variables
+# $name (String) - Name of the container
+containers-window-update =
+ .title = { $name } 身份é¦é项
+ .style = width: 45em
+containers-window-close =
+ .key = w
+# This is a term to store style to be applied
+# on the three labels in the containers add/edit dialog:
+# - name
+# - icon
+# - color
+#
+# Using this term and referencing it in the `.style` attribute
+# of the three messages ensures that all three labels
+# will be aligned correctly.
+-containers-labels-style = min-width: 4rem
+containers-name-label = åç§°
+ .accesskey = N
+ .style = { -containers-labels-style }
+containers-name-text =
+ .placeholder = 请è¾å
¥èº«ä»½åç§°
+containers-icon-label = 徿
+ .accesskey = I
+ .style = { -containers-labels-style }
+containers-color-label = é¢è²
+ .accesskey = o
+ .style = { -containers-labels-style }
+containers-button-done =
+ .label = 宿
+ .accesskey = D
+containers-color-blue =
+ .label = èè²
+containers-color-turquoise =
+ .label = éè²
+containers-color-green =
+ .label = 绿è²
+containers-color-yellow =
+ .label = é»è²
+containers-color-orange =
+ .label = æ©è²
+containers-color-red =
+ .label = 红è²
+containers-color-pink =
+ .label = ç²è²
+containers-color-purple =
+ .label = ç´«è²
+containers-color-toolbar =
+ .label = å¹é
å·¥å
·æ
+containers-icon-fence =
+ .label = 篱ç¬
+containers-icon-fingerprint =
+ .label = æçº¹
+containers-icon-briefcase =
+ .label = å
¬æå
+# String represents a money sign but currently uses a dollar sign
+# so don't change to local currency. See Bug 1291672.
+containers-icon-dollar =
+ .label = ç¾å
符å·
+containers-icon-cart =
+ .label = è´ç©è½¦
+containers-icon-circle =
+ .label = åç¹
+containers-icon-vacation =
+ .label = åæ
+containers-icon-gift =
+ .label = 礼ç©
+containers-icon-food =
+ .label = é£å
+containers-icon-fruit =
+ .label = æ°´æ
+containers-icon-pet =
+ .label = å® ç©
+containers-icon-tree =
+ .label = æ æ¨
+containers-icon-chill =
+ .label = 墨é
diff --git a/browser/browser/preferences/fonts.ftl b/browser/browser/preferences/fonts.ftl
new file mode 100644
index 00000000000..59db8423dfd
--- /dev/null
+++ b/browser/browser/preferences/fonts.ftl
@@ -0,0 +1,149 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fonts-window =
+ .title = åä½
+fonts-window-close =
+ .key = w
+
+## Font groups by language
+
+fonts-langgroup-header = è¯è¨
+ .accesskey = F
+fonts-langgroup-arabic =
+ .label = é¿æä¼¯æ
+fonts-langgroup-armenian =
+ .label = äºç¾å°¼äºæ
+fonts-langgroup-bengali =
+ .label = åå ææ
+fonts-langgroup-simpl-chinese =
+ .label = ç®ä½ä¸æ
+fonts-langgroup-trad-chinese-hk =
+ .label = ç¹ä½ä¸æï¼é¦æ¸¯ï¼
+fonts-langgroup-trad-chinese =
+ .label = ç¹ä½ä¸æï¼å°æ¹¾ï¼
+fonts-langgroup-cyrillic =
+ .label = 西éå°åæ¯
+fonts-langgroup-devanagari =
+ .label = 梵æ
+fonts-langgroup-ethiopic =
+ .label = åå¡ä¿æ¯äºæ
+fonts-langgroup-georgian =
+ .label = 乿²»äºæ
+fonts-langgroup-el =
+ .label = å¸è
æ
+fonts-langgroup-gujarati =
+ .label = å¤åæç¹æ
+fonts-langgroup-gurmukhi =
+ .label = æé²ç©å¥æ
+fonts-langgroup-japanese =
+ .label = æ¥æ
+fonts-langgroup-hebrew =
+ .label = å¸ä¼¯è±æ
+fonts-langgroup-kannada =
+ .label = å¡çº³è¾¾æ
+fonts-langgroup-khmer =
+ .label = 髿£æ
+fonts-langgroup-korean =
+ .label = æé²æ
+# Translate "Latin" as the name of Latin (Roman) script, not as the name of the Latin language.
+fonts-langgroup-latin =
+ .label = æä¸åæ¯
+fonts-langgroup-malayalam =
+ .label = 马æé
æå§æ
+fonts-langgroup-math =
+ .label = æ°å¦
+fonts-langgroup-odia =
+ .label = 奥éäºæ
+fonts-langgroup-sinhala =
+ .label = å§ä¼½ç½æ
+fonts-langgroup-tamil =
+ .label = æ³°ç±³å°æ
+fonts-langgroup-telugu =
+ .label = æ³°å¢åºæ
+fonts-langgroup-thai =
+ .label = æ³°æ
+fonts-langgroup-tibetan =
+ .label = èæ
+fonts-langgroup-canadian =
+ .label = å æ¿å¤§å使°é³èæå
+fonts-langgroup-other =
+ .label = å
¶ä»æå
+
+## Default fonts and their sizes
+
+fonts-proportional-header = æ¯ä¾åä½
+ .accesskey = P
+fonts-default-serif =
+ .label = 衬线åä½
+fonts-default-sans-serif =
+ .label = æ 衬线åä½
+fonts-proportional-size = 大å°
+ .accesskey = z
+fonts-serif = 衬线åä½
+ .accesskey = S
+fonts-sans-serif = æ 衬线åä½
+ .accesskey = n
+fonts-monospace = ç宽åä½
+ .accesskey = M
+fonts-monospace-size = 大å°
+ .accesskey = e
+fonts-minsize = æå°åä½å¤§å°
+ .accesskey = o
+fonts-minsize-none =
+ .label = æ
+fonts-allow-own =
+ .label = å
许页é¢éæ©èªå·±çåä½ä»£æ¿æ¨çä¸è¿°éæ©
+ .accesskey = A
+
+## Text Encodings
+##
+## Translate the encoding names as adjectives for an encoding, not as the name
+## of the language.
+
+fonts-languages-fallback-header = æ§å¼å
容çæåç¼ç
+fonts-languages-fallback-desc = è¿ä¸ªæåç¼ç ç¨äºæªè½å£°æå
¶ç¼ç çæ§å¼å
容ã
+fonts-languages-fallback-label = å夿åç¼ç
+ .accesskey = T
+fonts-languages-fallback-name-auto =
+ .label = å½åè¯è¨ç¯å¢çé»è®¤å¼
+fonts-languages-fallback-name-arabic =
+ .label = é¿æä¼¯è¯
+fonts-languages-fallback-name-baltic =
+ .label = æ³¢ç½çè¯
+fonts-languages-fallback-name-ceiso =
+ .label = 䏿¬§ï¼ISO
+fonts-languages-fallback-name-cewindows =
+ .label = 䏿¬§ï¼å¾®è½¯
+fonts-languages-fallback-name-simplified =
+ .label = ç®ä½ä¸æ
+fonts-languages-fallback-name-traditional =
+ .label = ç¹ä½ä¸æ
+fonts-languages-fallback-name-cyrillic =
+ .label = 西éå°åæ¯
+fonts-languages-fallback-name-greek =
+ .label = å¸è
è¯
+fonts-languages-fallback-name-hebrew =
+ .label = å¸ä¼¯è±è¯
+fonts-languages-fallback-name-japanese =
+ .label = æ¥æ
+fonts-languages-fallback-name-korean =
+ .label = æé²æ
+fonts-languages-fallback-name-thai =
+ .label = æ³°æ
+fonts-languages-fallback-name-turkish =
+ .label = åè³å
¶æ
+fonts-languages-fallback-name-vietnamese =
+ .label = è¶åæ
+fonts-languages-fallback-name-other =
+ .label = å
¶ä»ï¼å«è¥¿æ¬§ï¼
+fonts-very-large-warning-title = è¾å¤§çæå°åä½å¤§å°
+fonts-very-large-warning-message = æ¨éæ©äºä¸ä¸ªé常大çæå°åå大å°ï¼è¶
è¿ 24 åç´ ï¼ãè¿å¯è½å¯¼è´æé¾æè
æ æ³ä½¿ç¨é常éè¦ç忝æ¬é¡µçé
置页é¢ã
+fonts-very-large-warning-accept = ç¡®å®ï¼ä¿åæçæ´æ¹
+# Variables:
+# $name {string, "Arial"} - Name of the default font
+fonts-label-default =
+ .label = é»è®¤ï¼{ $name }ï¼
+fonts-label-default-unnamed =
+ .label = é»è®¤
diff --git a/browser/browser/preferences/fxaPairDevice.ftl b/browser/browser/preferences/fxaPairDevice.ftl
new file mode 100644
index 00000000000..dfc3dc4af33
--- /dev/null
+++ b/browser/browser/preferences/fxaPairDevice.ftl
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+fxa-pair-device-dialog =
+ .title = è¿æ¥å
¶ä»è®¾å¤
+ .style = width: 26em; min-height: 35em;
+fxa-qrcode-heading-phase1 = 1. è¥æ¨å°æªå¨ç§»å¨è®¾å¤ä¸å®è£
Firefoxï¼è¯·å
宿å®è£
ã
+fxa-qrcode-heading-phase2 = 2. æ¥ç请ç»å½è³{ -sync-brand-short-name }ï¼æä½¿ç¨ Android è®¾å¤æ«æ{ -sync-brand-short-name }设置éçé
对ç ã
+fxa-qrcode-error-title = é
对失败ã
+fxa-qrcode-error-body = 请éè¯ã
diff --git a/browser/browser/preferences/languages.ftl b/browser/browser/preferences/languages.ftl
new file mode 100644
index 00000000000..bffd14e0622
--- /dev/null
+++ b/browser/browser/preferences/languages.ftl
@@ -0,0 +1,55 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+webpage-languages-window =
+ .title = ç½é¡µè¯è¨è®¾ç½®
+ .style = width: 40em
+languages-close-key =
+ .key = w
+languages-description = æäºç½é¡µæå¤ç§è¯è¨å¯ä¾éæ©ãè¯·éæ©æ¤ç±»ç½é¡µåºæ¾ç¤ºçè¯è¨ï¼æå好ä»ä¸å°ä¸æåï¼
+languages-customize-spoof-english =
+ .label = 请æ±è±æçç½é¡µï¼å¼ºåéç§ä¿æ¤
+languages-customize-moveup =
+ .label = ä¸ç§»
+ .accesskey = U
+languages-customize-movedown =
+ .label = ä¸ç§»
+ .accesskey = D
+languages-customize-remove =
+ .label = ç§»é¤
+ .accesskey = R
+languages-customize-select-language =
+ .placeholder = éæ©è¦æ·»å çè¯è¨â¦
+languages-customize-add =
+ .label = æ·»å
+ .accesskey = A
+# The pattern used to generate strings presented to the user in the
+# locale selection list.
+#
+# Example:
+# Icelandic [is]
+# Spanish (Chile) [es-CL]
+#
+# Variables:
+# $locale (String) - A name of the locale (for example: "Icelandic", "Spanish (Chile)")
+# $code (String) - Locale code of the locale (for example: "is", "es-CL")
+languages-code-format =
+ .label = { $locale } [{ $code }]
+languages-active-code-format =
+ .value = { languages-code-format.label }
+browser-languages-window =
+ .title = { -brand-short-name } è¯è¨è®¾ç½®
+ .style = width: 40em
+browser-languages-description = { -brand-short-name } å°æ¾ç¤ºç第ä¸ä¸ªè¯è¨ä½ä¸ºæ¨çé»è®¤è¯è¨ï¼å¹¶å¨å¿
è¦æ¶æè¯è¨çé¡ºåºæ¾ç¤ºå¤ç¨è¯è¨ã
+browser-languages-search = æç´¢æ´å¤è¯è¨â¦
+browser-languages-searching =
+ .label = æ£å¨æç´¢è¯è¨â¦
+browser-languages-downloading =
+ .label = æ£å¨ä¸è½½â¦
+browser-languages-select-language =
+ .label = éæ©è¦æ·»å çè¯è¨â¦
+ .placeholder = éæ©è¦æ·»å çè¯è¨â¦
+browser-languages-installed-label = å·²å®è£
çè¯è¨
+browser-languages-available-label = å¯ç¨çè¯è¨
+browser-languages-error = { -brand-short-name } ç®åæ æ³æ´æ°æ¨çè¯è¨ãè¯·æ£æ¥æ¨æ¯å¦å·²è¿æ¥å°äºèç½ï¼ç¶åéè¯ã
diff --git a/browser/browser/preferences/permissions.ftl b/browser/browser/preferences/permissions.ftl
new file mode 100644
index 00000000000..8dae3b024a5
--- /dev/null
+++ b/browser/browser/preferences/permissions.ftl
@@ -0,0 +1,151 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+permissions-window =
+ .title = ä¾å¤
+ .style = width: 45em
+permissions-close-key =
+ .key = w
+permissions-address = ç½ç«å°å
+ .accesskey = d
+permissions-block =
+ .label = 黿¢
+ .accesskey = B
+permissions-session =
+ .label = å¨è¿æ¬¡æµè§æé´å
许
+ .accesskey = S
+permissions-allow =
+ .label = å
许
+ .accesskey = A
+permissions-site-name =
+ .label = ç½ç«
+permissions-status =
+ .label = ç¶æ
+permissions-remove =
+ .label = ç§»é¤ç½ç«
+ .accesskey = R
+permissions-remove-all =
+ .label = ç§»é¤å
¨é¨ç½ç«
+ .accesskey = e
+permissions-button-cancel =
+ .label = åæ¶
+ .accesskey = C
+permissions-button-ok =
+ .label = ä¿åæ´æ¹
+ .accesskey = S
+permissions-autoplay-menu = ææç½ç«çé»è®¤å¼ï¼
+permissions-searchbox =
+ .placeholder = æç´¢ç½ç«
+permissions-capabilities-autoplay-allow =
+ .label = å
许é³é¢åè§é¢
+permissions-capabilities-autoplay-block =
+ .label = 黿¢é³é¢
+permissions-capabilities-autoplay-blockall =
+ .label = 黿¢é³é¢åè§é¢
+permissions-capabilities-allow =
+ .label = å
许
+permissions-capabilities-block =
+ .label = 黿¢
+permissions-capabilities-prompt =
+ .label = æ¯æ¬¡é½é®æ
+permissions-capabilities-listitem-allow =
+ .value = å
许
+permissions-capabilities-listitem-block =
+ .value = 黿¢
+permissions-capabilities-listitem-allow-session =
+ .value = å¨è¿æ¬¡æµè§æé´å
许
+
+## Invalid Hostname Dialog
+
+permissions-invalid-uri-title = è¾å
¥äºéæ³ç主æºå
+permissions-invalid-uri-label = 请è¾å
¥åæ³ç主æºå
+
+## Exceptions - Tracking Protection
+
+permissions-exceptions-content-blocking-window =
+ .title = ä¾å¤ - å
å®¹æ¦æª
+ .style = { permissions-window.style }
+permissions-exceptions-content-blocking-desc = æ¨å¨è¿äºç½ç«ä¸å·²ç¦ç¨å
å®¹æ¦æªã
+
+## Exceptions - Cookies
+
+permissions-exceptions-cookie-window =
+ .title = ä¾å¤ - Cookie åç½ç«æ°æ®
+ .style = { permissions-window.style }
+permissions-exceptions-cookie-desc = æ¨å¯ä»¥æå®ä¸å¾å
许æä¸å
许åªäºç½ç«ä½¿ç¨ Cookie åç½ç«æ°æ®ã请è¾å
¥æè¦æå®ç宿´ç½åï¼ç¶åç¹å»â黿¢âãâå¨è¿æ¬¡æµè§æé´å
许âæâå
许âã
+
+## Exceptions - Pop-ups
+
+permissions-exceptions-popup-window =
+ .title = æç¹æ®æéçç½ç« - å¼¹åºå¼çªå£
+ .style = { permissions-window.style }
+permissions-exceptions-popup-desc = æ¨å¯ä»¥æå®åªäºç½ç«å¯ä»¥æå¼å¼¹åºå¼çªå£ã请è¾å
¥æè¦æå®ç宿´ç½åï¼ç¶åç¹å»âå
许âã
+
+## Exceptions - Saved Logins
+
+permissions-exceptions-saved-logins-window =
+ .title = ä¾å¤ - å·²ä¿åçç»å½ä¿¡æ¯
+ .style = { permissions-window.style }
+permissions-exceptions-saved-logins-desc = ä¸åç½ç«çç»å½ä¿¡æ¯å°ä¸è¢«ä¿å
+
+## Exceptions - Add-ons
+
+permissions-exceptions-addons-window =
+ .title = æç¹æ®æéçç½ç« - éå ç»ä»¶å®è£
+ .style = { permissions-window.style }
+permissions-exceptions-addons-desc = æ¨å¯ä»¥æå®åªäºç½ç«å¯ä»¥å®è£
éå ç»ä»¶ã请è¾å
¥æè¦æå®ç宿´ç½åï¼ç¶åç¹å»âå
许âã
+
+## Exceptions - Autoplay Media
+
+permissions-exceptions-autoplay-media-window2 =
+ .title = ä¾å¤ - èªå¨ææ¾
+ .style = { permissions-window.style }
+permissions-exceptions-autoplay-media-desc2 = æ¨å¯ä»¥æå®ä¸å¾å
许æä¸å
许åªäºç½ç«èªå¨ææ¾æå£°åªä½å
容ã请è¾å
¥æè¦æå®ç宿´ç½åï¼ç¶åç¹å»â黿¢âæè
âå
许âã
+
+## Site Permissions - Autoplay
+
+permissions-site-autoplay-window =
+ .title = 设置 - èªå¨ææ¾
+ .style = { permissions-window.style }
+permissions-site-autoplay-desc = æ¨å¯ä»¥å¨æ¤å¤ç®¡çä¸éµä»é»è®¤èªå¨ææ¾è®¾ç½®çç½ç«ã
+
+## Site Permissions - Notifications
+
+permissions-site-notification-window =
+ .title = 设置 - éç¥æé
+ .style = { permissions-window.style }
+permissions-site-notification-desc = ä¸åç½ç«æ¾è¯·æ±åæ¨åééç¥ãæ¨å¯éæ©å
许åªäºç½ç«åééç¥ï¼è¿å¯ç¦æ¢æ°çåééç¥è¯·æ±ã
+permissions-site-notification-disable-label =
+ .label = ç¦æ¢æ°çåééç¥è¯·æ±
+permissions-site-notification-disable-desc = ææå表å¤çç½ç«å°æ æ³è¯·æ±è·å¾åééç¥çæéãç¦æ¢æ¤æéå¯è½ä¼å½±åæäºç½ç«çåè½ã
+
+## Site Permissions - Location
+
+permissions-site-location-window =
+ .title = 设置 - ä½ç½®æé
+ .style = { permissions-window.style }
+permissions-site-location-desc = ä¸åç½ç«æ¾è¯·æ±è·ç¥æ¨çä½ç½®ãæ¨å¯éæ©å
许åªäºç½ç«å¾è·ç¥çä½ç½®ï¼è¿å¯ç¦æ¢æ°çè·åä½ç½®è¯·æ±ã
+permissions-site-location-disable-label =
+ .label = ç¦æ¢æ°çè·åä½ç½®è¯·æ±
+permissions-site-location-disable-desc = ææå表å¤çç½ç«å°æ æ³è¯·æ±è·ç¥æ¨çä½ç½®ãç¦æ¢æ¤æéå¯è½ä¼å½±åæäºç½ç«çåè½ã
+
+## Site Permissions - Camera
+
+permissions-site-camera-window =
+ .title = 设置 - æå头æé
+ .style = { permissions-window.style }
+permissions-site-camera-desc = ä¸åç½ç«æ¾è¯·æ±ææ§æ¨çæåå¤´ãæ¨å¯éæ©å
许åªäºç½ç«ææ§æ¨çæå头ï¼è¿å¯ç¦æ¢æ°çææ§æå头请æ±ã
+permissions-site-camera-disable-label =
+ .label = ç¦æ¢æ°çææ§æå头请æ±
+permissions-site-camera-disable-desc = ææå表å¤çç½ç«å°æ æ³è¯·æ±ææ§æ¨çæå头ãç¦æ¢æ¤æéå¯è½ä¼å½±åæäºç½ç«çåè½ã
+
+## Site Permissions - Microphone
+
+permissions-site-microphone-window =
+ .title = 设置 - 麦å
飿é
+ .style = { permissions-window.style }
+permissions-site-microphone-desc = ä¸åç½ç«æ¾è¯·æ±ææ§æ¨ç麦å
é£ãæ¨å¯éæ©å
许åªäºç½ç«ææ§æ¨ç麦å
é£ï¼è¿å¯ç¦æ¢æ°çææ§éº¦å
é£è¯·æ±ã
+permissions-site-microphone-disable-label =
+ .label = ç¦æ¢æ°çææ§éº¦å
é£è¯·æ±
+permissions-site-microphone-disable-desc = ææå表å¤çç½ç«å°æ æ³è¯·æ±ææ§æ¨ç麦å
é£ãç¦æ¢æ¤æéå¯è½ä¼å½±åæäºç½ç«çåè½ã
diff --git a/browser/browser/preferences/preferences.ftl b/browser/browser/preferences/preferences.ftl
new file mode 100644
index 00000000000..6f7e56f22cb
--- /dev/null
+++ b/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,878 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+do-not-track-description = åç½ç«ååºâ请å¿è·è¸ªâä¿¡å·ï¼ç¤ºææ¨ä¸æ³è¢«è·è¸ª
+do-not-track-learn-more = 详ç»äºè§£
+do-not-track-option-default-content-blocking-known =
+ .label = ä»
å½ { -brand-short-name } è®¾ç½®ä¸ºæ¦æªå·²ç¥è·è¸ªå¨æ¶
+do-not-track-option-always =
+ .label = ä¸å¾åé
+pref-page =
+ .title =
+ { PLATFORM() ->
+ [windows] é项
+ *[other] é¦é项
+ }
+# This is used to determine the width of the search field in about:preferences,
+# in order to make the entire placeholder string visible
+#
+# Please keep the placeholder string short to avoid truncation.
+#
+# Notice: The value of the `.style` attribute is a CSS string, and the `width`
+# is the name of the CSS property. It is intended only to adjust the element's width.
+# Do not translate.
+search-input-box =
+ .style = width: 15.4em
+ .placeholder =
+ { PLATFORM() ->
+ [windows] å¨é项䏿¥æ¾
+ *[other] å¨é¦é项䏿¥æ¾
+ }
+policies-notice =
+ { PLATFORM() ->
+ [windows] æ¨çç»ç»å·²ç¦ç¨æäºé项ã
+ *[other] æ¨çç»ç»å·²ç¦ç¨æäºé¦é项ã
+ }
+managed-notice = æ¨çæµè§å¨æ£ç±ç»ç»ç®¡çã
+pane-general-title = 常è§
+category-general =
+ .tooltiptext = { pane-general-title }
+pane-home-title = 主页
+category-home =
+ .tooltiptext = { pane-home-title }
+pane-search-title = æç´¢
+category-search =
+ .tooltiptext = { pane-search-title }
+pane-privacy-title = éç§ä¸å®å
¨
+category-privacy =
+ .tooltiptext = { pane-privacy-title }
+pane-sync-title2 = { -sync-brand-short-name }
+category-sync2 =
+ .tooltiptext = { pane-sync-title2 }
+help-button-label = { -brand-short-name } 帮å©
+addons-button-label = æ©å±å主é¢
+focus-search =
+ .key = f
+close-button =
+ .aria-label = å
³é
+
+## Browser Restart Dialog
+
+feature-enable-requires-restart = å¿
须鿰æå¼ { -brand-short-name } æè½å¯ç¨æ¤åè½ã
+feature-disable-requires-restart = å¿
须鿰æå¼ { -brand-short-name } æè½ç¦ç¨æ¤åè½ã
+should-restart-title = éæ°æå¼ { -brand-short-name }
+should-restart-ok = ç«å³éå¼ { -brand-short-name }
+cancel-no-restart-button = åæ¶
+restart-later = ç¨åéå¼
+
+## Extension Control Notifications
+##
+## These strings are used to inform the user
+## about changes made by extensions to browser settings.
+##
+##
is going to be replaced by the extension icon.
+##
+## Variables:
+## $name (String): name of the extension
+
+# This string is shown to notify the user that their home page
+# is being controlled by an extension.
+extension-controlled-homepage-override = æ©å±
{ $name } æ£å¨æ§å¶æ¨ç主页ã
+# This string is shown to notify the user that their new tab page
+# is being controlled by an extension.
+extension-controlled-new-tab-url = æ©å±
{ $name } æ£å¨æ§å¶æ¨çæ°æ ç¾é¡µã
+# This string is shown to notify the user that their notifications permission
+# is being controlled by an extension.
+extension-controlled-web-notifications = æ©å±
{ $name } æ£å¨æ§å¶æ¤è®¾ç½®ã
+# This string is shown to notify the user that the default search engine
+# is being controlled by an extension.
+extension-controlled-default-search = æ¨çé»è®¤æç´¢å¼æç±æ©å±
{ $name } 设置ã
+# This string is shown to notify the user that Container Tabs
+# are being enabled by an extension.
+extension-controlled-privacy-containers = æ©å±
{ $name } éè¦å¯ç¨èº«ä»½æ ç¾é¡µåè½æè½ä½¿ç¨ã
+# This string is shown to notify the user that their content blocking "All Detected Trackers"
+# preferences are being controlled by an extension.
+extension-controlled-websites-content-blocking-all-trackers = æ©å±
{ $name } æ£å¨æ§å¶æ¤è®¾ç½®ã
+# This string is shown to notify the user that their proxy configuration preferences
+# are being controlled by an extension.
+extension-controlled-proxy-config = æ©å±
{ $name } æ£å¨æ§å¶ { -brand-short-name } å¦ä½è¿æ¥äºèç½ã
+# This string is shown after the user disables an extension to notify the user
+# how to enable an extension that they disabled.
+#
+#
will be replaced with Add-ons icon
+#
will be replaced with Menu icon
+extension-controlled-enable = è¦å¯ç¨è¯¥æ©å±ï¼è¯·ä»
èåæå¼
éå ç»ä»¶é¡µé¢ã
+
+## Preferences UI Search Results
+
+search-results-header = æç´¢ç»æ
+# `` will be replaced by the search term.
+search-results-empty-message =
+ { PLATFORM() ->
+ [windows] 徿±æï¼æ²¡ææ¾å°æå
³ââçé项ã
+ *[other] 徿±æï¼æ²¡ææ¾å°æå
³ââçé¦é项ã
+ }
+search-results-help-link = éè¦å¸®å©ï¼è®¿é® { -brand-short-name } ææ¯æ¯æ
+
+## General Section
+
+startup-header = å¯å¨
+# { -brand-short-name } will be 'Firefox Developer Edition',
+# since this setting is only exposed in Firefox Developer Edition
+separate-profile-mode =
+ .label = å
许 { -brand-short-name } å Firefox åæ¶è¿è¡
+use-firefox-sync = æç¤ºï¼è¿å°ä½¿ç¨åç¬çé
ç½®æä»¶ï¼å¯ä½¿ç¨â{ -sync-brand-short-name }âå¨ä¸¤å¥æµè§å¨é´å
±äº«æ°æ®ã
+get-started-not-logged-in = ç»å½å°{ -sync-brand-short-name }â¦
+get-started-configured = æå¼{ -sync-brand-short-name }æå¡é¦é项
+always-check-default =
+ .label = æ»æ¯æ£æ¥ { -brand-short-name } æ¯å¦æ¯æ¨çé»è®¤æµè§å¨
+ .accesskey = w
+is-default = { -brand-short-name } ç®åæ¯æ¨çé»è®¤æµè§å¨
+is-not-default = { -brand-short-name } ç®å䏿¯æ¨çé»è®¤æµè§å¨
+set-as-my-default-browser =
+ .label = 设为é»è®¤â¦
+ .accesskey = D
+startup-restore-previous-session =
+ .label = æ¢å¤å
åçæµè§ç¶æ
+ .accesskey = s
+startup-restore-warn-on-quit =
+ .label = éåºæµè§å¨æ¶æé确认
+disable-extension =
+ .label = ç¦ç¨æ©å±
+tabs-group-header = æ ç¾é¡µ
+ctrl-tab-recently-used-order =
+ .label = æä¸ Ctrl+Tab æ¶ï¼ä¾ç
§æè¿ä½¿ç¨é¡ºåºå¾ªç¯åæ¢æ ç¾é¡µ
+ .accesskey = T
+open-new-link-as-tabs =
+ .label = æå¼é¾æ¥å¨æ°æ ç¾é¡µèéæ°çªå£
+ .accesskey = w
+warn-on-close-multiple-tabs =
+ .label = å
³éå¤ä¸ªæ ç¾é¡µæ¶è¦åæ¨
+ .accesskey = m
+warn-on-open-many-tabs =
+ .label = æå¼å¤ä¸ªæ ç¾é¡µå¯è½ææ
¢ { -brand-short-name } æ¶è¦åæ
+ .accesskey = d
+switch-links-to-new-tabs =
+ .label = 卿°æ ç¾é¡µä¸æå¼é¾æ¥æ¶ï¼ç«å³åæ¢è¿å»
+ .accesskey = h
+show-tabs-in-taskbar =
+ .label = å¨ Windows 任塿 䏿¾ç¤ºæ ç¾é¡µé¢è§å¾
+ .accesskey = k
+browser-containers-enabled =
+ .label = å¯ç¨èº«ä»½æ ç¾é¡µ
+ .accesskey = n
+browser-containers-learn-more = 详ç»äºè§£
+browser-containers-settings =
+ .label = 设置â¦
+ .accesskey = i
+containers-disable-alert-title = å
³éææèº«ä»½æ ç¾é¡µï¼
+containers-disable-alert-desc =
+ { $tabCount ->
+ [one] 妿æ¨ç°å¨ç¦ç¨èº«ä»½æ ç¾é¡µï¼å°æ { $tabCount } ä¸ªå®¹å¨æ ç¾é¡µè¢«å
³éãæ¨ç¡®å®è¦ç¦ç¨èº«ä»½æ ç¾é¡µåï¼
+ *[other] 妿æ¨ç°å¨ç¦ç¨èº«ä»½æ ç¾é¡µï¼å°æ { $tabCount } ä¸ªå®¹å¨æ ç¾é¡µè¢«å
³éãæ¨ç¡®å®è¦ç¦ç¨èº«ä»½æ ç¾é¡µåï¼
+ }
+containers-disable-alert-ok-button =
+ { $tabCount ->
+ [one] å
³é { $tabCount } 个身份æ ç¾é¡µ
+ *[other] å
³é { $tabCount } 个身份æ ç¾é¡µ
+ }
+containers-disable-alert-cancel-button = ä¿æå¯ç¨
+containers-remove-alert-title = ç§»é¤æ¤èº«ä»½ï¼
+# Variables:
+# $count (Number) - Number of tabs that will be closed.
+containers-remove-alert-msg = 妿æ¨ç°å¨ç§»é¤æ¤èº«ä»½ï¼{ $count } 个身份æ ç¾é¡µå°è¢«å
³éãæ¨æ¯å¦ç¡®å®ç§»é¤æ¤èº«ä»½ï¼
+containers-remove-ok-button = ç§»é¤æ¤èº«ä»½
+containers-remove-cancel-button = ä¸ç§»é¤æ¤èº«ä»½
+
+## General Section - Language & Appearance
+
+language-and-appearance-header = è¯è¨ä¸å¤è§
+fonts-and-colors-header = åä½åé¢è²
+default-font = é»è®¤åä½
+ .accesskey = D
+default-font-size = 大å°
+ .accesskey = S
+advanced-fonts =
+ .label = é«çº§â¦
+ .accesskey = A
+colors-settings =
+ .label = é¢è²â¦
+ .accesskey = C
+language-header = è¯è¨
+choose-language-description = éæ©æ¨æ³è¦ä¼å
使ç¨åªç§è¯è¨æ¾ç¤ºé¡µé¢
+choose-button =
+ .label = éæ©â¦
+ .accesskey = o
+choose-browser-language-description = éæ© { -brand-short-name } æ¾ç¤ºèåãæ¶æ¯åéç¥æ¶ä½¿ç¨çè¯è¨ã
+manage-browser-languages-button =
+ .label = 设置å¤ç¨è¯è¨â¦
+ .accesskey = l
+confirm-browser-language-change-description = éå¼ { -brand-short-name } 以åºç¨è¿äºæ´æ¹
+confirm-browser-language-change-button = åºç¨å¹¶éæ°æå¼
+translate-web-pages =
+ .label = ç¿»è¯ç½é¡µå
容
+ .accesskey = T
+# The
element is replaced by the logo of the provider
+# used to provide machine translations for web pages.
+translate-attribution = ç¿»è¯ç±
æä¾
+translate-exceptions =
+ .label = ä¾å¤â¦
+ .accesskey = x
+check-user-spelling =
+ .label = 卿¨è¾å
¥æ¶æ£æ¥æ¼å
+ .accesskey = t
+
+## General Section - Files and Applications
+
+files-and-applications-title = æä»¶ä¸åºç¨ç¨åº
+download-header = ä¸è½½
+download-save-to =
+ .label = ä¿åæä»¶è³
+ .accesskey = v
+download-choose-folder =
+ .label =
+ { PLATFORM() ->
+ [macos] éæ©â¦
+ *[other] æµè§â¦
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [macos] e
+ *[other] o
+ }
+download-always-ask-where =
+ .label = æ¯æ¬¡é½é®æ¨è¦åå°åª
+ .accesskey = A
+applications-header = åºç¨ç¨åº
+applications-description = éæ© { -brand-short-name } å¦ä½å¤çè¿äºæä»¶ã
+applications-filter =
+ .placeholder = æç´¢æä»¶ç±»åæåºç¨ç¨åº
+applications-type-column =
+ .label = å
容类å
+ .accesskey = T
+applications-action-column =
+ .label = æä½
+ .accesskey = A
+drm-content-header = éç¨æ°åçæç®¡çï¼DRMï¼çå
容
+play-drm-content =
+ .label = ææ¾éç¨ DRM çå
容
+ .accesskey = P
+play-drm-content-learn-more = 详ç»äºè§£
+update-application-title = { -brand-short-name } æ´æ°
+update-application-description = 让 { -brand-short-name } ä¿æææ°ï¼æç»æ¥ææå¼ºçæ§è½ãç¨³å®æ§åå®å
¨æ§ã
+update-application-version = çæ¬: { $version } æ°çåå
+update-history =
+ .label = æ¾ç¤ºæ´æ°åå²â¦
+ .accesskey = p
+update-application-allow-description = å
许 { -brand-short-name }ï¼
+update-application-auto =
+ .label = èªå¨å®è£
æ´æ°ï¼æ¨èï¼
+ .accesskey = A
+update-application-check-choose =
+ .label = æ£æ¥æ´æ°ï¼ä½ç±æ¨å³å®æ¯å¦å®è£
+ .accesskey = C
+update-application-manual =
+ .label = 䏿£æ¥æ´æ°ï¼ä¸æ¨èï¼
+ .accesskey = N
+update-application-warning-cross-user-setting = æ¤è®¾ç½®å°å½±å使ç¨è¿ä»½ { -brand-short-name } ç¨åºçææ Windows è´¦æ·å { -brand-short-name } é
ç½®æä»¶ã
+update-application-use-service =
+ .label = 使ç¨ä¸é¡¹ç³»ç»æå¡ä»¥éé»å®è£
æ´æ°
+ .accesskey = b
+update-enable-search-update =
+ .label = èªå¨æ´æ°æç´¢å¼æ
+ .accesskey = e
+update-pref-write-failure-title = åå
¥å¤±è´¥
+# Variables:
+# $path (String) - Path to the configuration file
+update-pref-write-failure-message = æ æ³ä¿åé¦éé¡¹ãæªè½åå
¥æä»¶ï¼{ $path }
+update-setting-write-failure-title = ä¿åâæ´æ°âé¦é项æ¶åºé
+# Variables:
+# $path (String) - Path to the configuration file
+# The newlines between the main text and the line containing the path is
+# intentional so the path is easier to identify.
+update-setting-write-failure-message =
+ { -brand-short-name } éå°éè¯¯ï¼æªè½ä¿åæ¤æ´æ¹ã请注æï¼è®¾ç½®æ¤æ´æ°é¦é项éè¦åå
¥ä¸åæä»¶çæéãæ¨æç³»ç»ç®¡çåå¯ä»¥éè¿æäºç¨æ·ç»å¯¹æ¤æä»¶çå®å
¨æ§å¶ææ¥è§£å³æ¤é误ã
+
+ æ æ³åå
¥æä»¶ï¼{ $path }
+update-in-progress-title = æ£å¨æ´æ°
+update-in-progress-message = æ¨è¦ç»§ç» { -brand-short-name } çæ¤æ¬¡æ´æ°åï¼
+update-in-progress-ok-button = æ¾å¼
+# Continue is the cancel button so pressing escape or using a platform standard
+# method of closing the UI will not discard the update.
+update-in-progress-cancel-button = ç»§ç»
+
+## General Section - Performance
+
+performance-title = æ§è½
+performance-use-recommended-settings-checkbox =
+ .label = ä½¿ç¨æ¨èçæ§è½è®¾ç½®
+ .accesskey = U
+performance-use-recommended-settings-desc = èªå¨éæ©é忤çµèé
ç½®ç设置ã
+performance-settings-learn-more = 详ç»äºè§£
+performance-allow-hw-accel =
+ .label = èªå¨å¯ç¨ç¡¬ä»¶å é
+ .accesskey = r
+performance-limit-content-process-option = å
容è¿ç¨éå¶
+ .accesskey = L
+performance-limit-content-process-enabled-desc = è°é«å
容è¿ç¨æ°éå¯ä»¥æ¹å使ç¨å¤ä¸ªæ ç¾é¡µæ¶çæ§è½ï¼ä½ä¹å°æ¶èæ´å¤å
åã
+performance-limit-content-process-blocked-desc = ä»
å¨å¤è¿ç¨ { -brand-short-name } æ¶å¯ä¿®æ¹è¿ç¨æ°éã äºè§£å¦ä½æ£æ¥å¤è¿ç¨çå¯ç¨ç¶åµ
+# Variables:
+# $num - default value of the `dom.ipc.processCount` pref.
+performance-default-content-process-count =
+ .label = { $num } (é»è®¤)
+
+## General Section - Browsing
+
+browsing-title = æµè§
+browsing-use-autoscroll =
+ .label = 使ç¨èªå¨æ»å±
+ .accesskey = a
+browsing-use-smooth-scrolling =
+ .label = 使ç¨å¹³æ»æ»å¨
+ .accesskey = m
+browsing-use-onscreen-keyboard =
+ .label = å¨éè¦æ¶æ¾ç¤ºè§¦æ¸é®ç
+ .accesskey = k
+browsing-use-cursor-navigation =
+ .label = ä¸å¾ä½¿ç¨é®çæ¹å鮿µè§ç½é¡µï¼é®çæµè§æ¨¡å¼ï¼
+ .accesskey = c
+browsing-search-on-start-typing =
+ .label = è¥å¨ææ¬æ¡å¤è¾å
¥ï¼åå¨é¡µé¢ä¸æ¥æ¾ææ¬
+ .accesskey = x
+browsing-cfr-recommendations =
+ .label = 卿¨æµè§æ¶æ¨èæ©å±
+ .accesskey = R
+browsing-cfr-features =
+ .label = 卿¨æµè§æ¶æ¨èæ°åè½
+ .accesskey = f
+browsing-cfr-recommendations-learn-more = 详ç»äºè§£
+
+## General Section - Proxy
+
+network-settings-title = ç½ç»è®¾ç½®
+network-proxy-connection-description = é
ç½® { -brand-short-name } å¦ä½è¿æ¥äºèç½ã
+network-proxy-connection-learn-more = 详ç»äºè§£
+network-proxy-connection-settings =
+ .label = 设置â¦
+ .accesskey = e
+
+## Home Section
+
+home-new-windows-tabs-header = æ°çªå£åæ ç¾é¡µ
+home-new-windows-tabs-description2 = éæ©æ¨æå¼ä¸»é¡µãæ°çªå£åæ°æ ç¾é¡µæ¶è¦çå°çå
容ã
+
+## Home Section - Home Page Customization
+
+home-homepage-mode-label = 䏻页忰çªå£
+home-newtabs-mode-label = æ°æ ç¾é¡µ
+home-restore-defaults =
+ .label = æ¢å¤é»è®¤è®¾ç½®
+ .accesskey = R
+# "Firefox" should be treated as a brand and kept in English,
+# while "Home" and "(Default)" can be localized.
+home-mode-choice-default =
+ .label = Firefox 主页ï¼é»è®¤ï¼
+home-mode-choice-custom =
+ .label = èªå®ä¹ç½åâ¦
+home-mode-choice-blank =
+ .label = 空ç½é¡µ
+home-homepage-custom-url =
+ .placeholder = ç²è´´ä¸ä¸ªç½åâ¦
+# This string has a special case for '1' and [other] (default). If necessary for
+# your language, you can add {$tabCount} to your translations and use the
+# standard CLDR forms, or only use the form for [other] if both strings should
+# be identical.
+use-current-pages =
+ .label =
+ { $tabCount ->
+ [1] 使ç¨å½å页é¢
+ *[other] 使ç¨å½åææé¡µé¢
+ }
+ .accesskey = C
+choose-bookmark =
+ .label = 使ç¨ä¹¦ç¾â¦
+ .accesskey = B
+
+## Search Section
+
+search-bar-header = æç´¢æ
+search-bar-hidden =
+ .label = 使ç¨å°åæ 宿æç´¢å访é®
+search-bar-shown =
+ .label = æ·»å æç´¢æ å°å·¥å
·æ
+search-engine-default-header = é»è®¤æç´¢å¼æ
+search-engine-default-desc = éæ©å¨å°åæ åæç´¢æ ä¸æç´¢æ¶é»è®¤ä½¿ç¨çæç´¢å¼æã
+search-suggestions-option =
+ .label = æä¾æç´¢å»ºè®®
+ .accesskey = s
+search-show-suggestions-url-bar-option =
+ .label = å¨å°åæ ç»æä¸æ¾ç¤ºæç´¢å»ºè®®
+ .accesskey = l
+# This string describes what the user will observe when the system
+# prioritizes search suggestions over browsing history in the results
+# that extend down from the address bar. In the original English string,
+# "ahead" refers to location (appearing most proximate to), not time
+# (appearing before).
+search-show-suggestions-above-history-option =
+ .label = å¨å°åæ æ¾ç¤ºçç»æä¸ï¼å°æç´¢å»ºè®®æ¾ç¤ºå¨æµè§åå²ä¸æ¹
+search-suggestions-cant-show = ç±äºæ¨å·²ç»è®¾ç½® { -brand-short-name } ä¸è¦è®°ä½æµè§åå²ï¼å°åæ ä¸å°ä¸ä¼æ¾ç¤ºæç´¢å»ºè®®ã
+search-one-click-header = å¿«æ·æç´¢å¼æå表
+search-one-click-desc = è¯·éæ©å¨å°åæ åæç´¢æ è¾å
¥å
³é®è¯æ¶ï¼æ¨å¸ææ¾ç¤ºå¨ä¸æ¹çå
¶ä»å¯éç¨çæç´¢å¼æã
+search-choose-engine-column =
+ .label = æç´¢å¼æ
+search-choose-keyword-column =
+ .label = å
³é®è¯
+search-restore-default =
+ .label = æ¢å¤é»è®¤æç´¢å¼æ
+ .accesskey = d
+search-remove-engine =
+ .label = ç§»é¤
+ .accesskey = R
+search-find-more-link = å¯»æ¾æ´å¤æç´¢å¼æ
+# This warning is displayed when the chosen keyword is already in use
+# ('Duplicate' is an adjective)
+search-keyword-warning-title = å
³é®è¯éå¤
+# Variables:
+# $name (String) - Name of a search engine.
+search-keyword-warning-engine = æ¨éæ©çå
³é®è¯å·²ç¨äºâ{ $name }âï¼è¯·æ¢ä¸ä¸ªã
+search-keyword-warning-bookmark = æ¨éæ©çå
³é®è¯å·²ç¨äºæä¸ªä¹¦ç¾ï¼è¯·æ¢ä¸ä¸ªã
+
+## Containers Section
+
+containers-back-link = « è¿å
+containers-header = 身份æ ç¾é¡µ
+containers-add-button =
+ .label = æ·»å æ°èº«ä»½
+ .accesskey = A
+containers-preferences-button =
+ .label = é¦é项
+containers-remove-button =
+ .label = ç§»é¤
+
+## Sync Section - Signed out
+
+sync-signedout-caption = 让æ¨ä¸ªæ§åçç½ç»ä½éªé身ç¸ä¼´
+sync-signedout-description = 卿¨çåç§è®¾å¤é´åæ¥æ¨ç书ç¾ãåå²è®°å½ãæ ç¾é¡µãå¯ç ãéå ç»ä»¶ä¸é¦é项ã
+sync-signedout-account-title = ä½¿ç¨ { -fxaccount-brand-name }ç»å½ï¼å¼å¯åæ¥åè½
+sync-signedout-account-create = 没æè´¦æ·åï¼æ³¨åä¸ä¸ªå§
+ .accesskey = C
+sync-signedout-account-signin =
+ .label = ç»å½â¦
+ .accesskey = I
+# This message contains two links and two icon images.
+# `
` - Android logo icon
+# `` - Link to Android Download
+# `
` - iOS logo icon
+# `` - Link to iOS Download
+#
+# They can be moved within the sentence as needed to adapt
+# to your language, but should not be changed or translated.
+sync-mobile-promo = å¨
Android æè
iOS ä¸å®è£
Firefoxï¼è®©æ¨ç个æ§ä½éªé身ç¸ä¼´ã
+
+## Sync Section - Signed in
+
+sync-profile-picture =
+ .tooltiptext = æ´æ¹å¤´å
+sync-disconnect =
+ .label = æå¼è¿æ¥â¦
+ .accesskey = D
+sync-manage-account = 管çè´¦æ·
+ .accesskey = o
+sync-signedin-unverified = { $email } æªéªè¯ã
+sync-signedin-login-failure = 请ç»å½ä»¥éæ°è¿æ¥ { $email }
+sync-resend-verification =
+ .label = éåéªè¯é®ä»¶
+ .accesskey = d
+sync-remove-account =
+ .label = ç§»é¤è´¦å·
+ .accesskey = p
+sync-sign-in =
+ .label = ç»å½
+ .accesskey = g
+sync-signedin-settings-header = åæ¥è®¾ç½®
+sync-signedin-settings-desc = éæ© { -brand-short-name } è¦å¨æ¨ç设å¤é´åæ¥åªäºæ°æ®ã
+sync-engine-bookmarks =
+ .label = 书ç¾
+ .accesskey = m
+sync-engine-history =
+ .label = åå²è®°å½
+ .accesskey = r
+sync-engine-tabs =
+ .label = æå¼çæ ç¾é¡µ
+ .tooltiptext = å·²åæ¥çææè®¾å¤ç®åæå¼ä»ä¹
+ .accesskey = T
+sync-engine-logins =
+ .label = ç»å½ä¿¡æ¯
+ .tooltiptext = æ¨å·²ä¿åçç¨æ·ååå¯ç
+ .accesskey = L
+sync-engine-addresses =
+ .label = 鮿¿å°å
+ .tooltiptext = æ¨å·²ä¿åç鮿¿å°åï¼ä»
éæ¡é¢çï¼
+ .accesskey = e
+sync-engine-creditcards =
+ .label = ä¿¡ç¨å¡
+ .tooltiptext = å§åãå·ç ãæææéï¼ä»
éæ¡é¢çï¼
+ .accesskey = C
+sync-engine-addons =
+ .label = éå ç»ä»¶
+ .tooltiptext = ç¨äº Firefox æ¡é¢ççæ©å±å主é¢
+ .accesskey = A
+sync-engine-prefs =
+ .label =
+ { PLATFORM() ->
+ [windows] é项
+ *[other] é¦é项
+ }
+ .tooltiptext = æ¨å·²æ´æ¹ç常è§ãéç§åå®å
¨è®¾ç½®
+ .accesskey = s
+sync-device-name-header = 设å¤åç§°
+sync-device-name-change =
+ .label = æ´æ¹è®¾å¤åç§°â¦
+ .accesskey = h
+sync-device-name-cancel =
+ .label = åæ¶
+ .accesskey = n
+sync-device-name-save =
+ .label = ä¿å
+ .accesskey = v
+sync-connect-another-device = è¿æ¥å
¶ä»è®¾å¤
+sync-manage-devices = 管ç设å¤
+sync-fxa-begin-pairing = é
对设å¤
+sync-tos-link = æå¡æ¡æ¬¾
+sync-fxa-privacy-notice = éç§å£°æ
+
+## Privacy Section
+
+privacy-header = æµè§å¨éç§
+
+## Privacy Section - Forms
+
+logins-header = ç»å½ä¿¡æ¯ä¸å¯ç
+forms-ask-to-save-logins =
+ .label = åæ¨è¯¢é®æ¯å¦ä¿åç½ç«çç»å½ååå¯ç
+ .accesskey = r
+forms-exceptions =
+ .label = ä¾å¤â¦
+ .accesskey = x
+forms-generate-passwords =
+ .label = 建议并çæé«å¼ºåº¦å¯ç
+ .accesskey = u
+forms-saved-logins =
+ .label = å·²ä¿åçç»å½ä¿¡æ¯â¦
+ .accesskey = L
+forms-master-pw-use =
+ .label = 使ç¨ä¸»å¯ç
+ .accesskey = U
+forms-master-pw-change =
+ .label = ä¿®æ¹ä¸»å¯ç â¦
+ .accesskey = M
+
+## Privacy Section - History
+
+history-header = åå²è®°å½
+# This label is followed, on the same line, by a dropdown list of options
+# (Remember history, etc.).
+# In English it visually creates a full sentence, e.g.
+# "Firefox will" + "Remember history".
+#
+# If this doesn't work for your language, you can translate this message:
+# - Simply as "Firefox", moving the verb into each option.
+# This will result in "Firefox" + "Will remember history", etc.
+# - As a stand-alone message, for example "Firefox history settings:".
+history-remember-label = { -brand-short-name } å°
+ .accesskey = w
+history-remember-option-all =
+ .label = è®°å½åå²
+history-remember-option-never =
+ .label = ä¸è®°å½åå²
+history-remember-option-custom =
+ .label = 使ç¨èªå®ä¹è®¾ç½®
+history-remember-description = { -brand-short-name } å°è®°ä½æ¨çæµè§ãä¸è½½ã表ååæç´¢è®°å½ã
+history-dontremember-description = { -brand-short-name } å°éç¨ä¸âéç§æµè§æ¨¡å¼âç¸åç设置ï¼ä¸ä¼è®°å½æ¨æµè§ç½ç»çåå²ã
+history-private-browsing-permanent =
+ .label = ä¸å¾ä½¿ç¨éç§æµè§æ¨¡å¼
+ .accesskey = p
+history-remember-browser-option =
+ .label = è®°ä½æµè§åä¸è½½åå²
+ .accesskey = b
+history-remember-search-option =
+ .label = è®°ä½æç´¢å表ååå²
+ .accesskey = f
+history-clear-on-close-option =
+ .label = å¨ { -brand-short-name } å
³éæ¶æ¸
é¤åå²è®°å½
+ .accesskey = r
+history-clear-on-close-settings =
+ .label = 设置â¦
+ .accesskey = t
+history-clear-button =
+ .label = æ¸
é¤åå²è®°å½â¦
+ .accesskey = s
+
+## Privacy Section - Site Data
+
+sitedata-header = Cookie åç½ç«æ°æ®
+sitedata-total-size-calculating = æ£å¨è®¡ç®ç½ç«æ°æ®åç¼åç大å°â¦
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+sitedata-total-size = æ¨å·²åå¨ç Cookieãç½ç«æ°æ®åç¼åç®å使ç¨äº { $value } { $unit } ç£ç空é´ã
+sitedata-learn-more = 详ç»äºè§£
+sitedata-delete-on-close =
+ .label = å
³é { -brand-short-name } æ¶å é¤ Cookie ä¸ç½ç«æ°æ®
+ .accesskey = C
+sitedata-delete-on-close-private-browsing = æ°¸ä¹
å¯ç¨éç§æµè§æ¨¡å¼åï¼æ¯æ¬¡å
³é { -brand-short-name } æ¶é½ä¼æ¸
é¤ Cookie åç½ç«æ°æ®ã
+sitedata-allow-cookies-option =
+ .label = æ¥å Cookie åç½ç«æ°æ®
+ .accesskey = A
+sitedata-disallow-cookies-option =
+ .label = 黿¢ Cookie åç½ç«æ°æ®
+ .accesskey = B
+# This label means 'type of content that is blocked', and is followed by a drop-down list with content types below.
+# The list items are the strings named sitedata-block-*-option*.
+sitedata-block-desc = 黿¢ç±»å
+ .accesskey = T
+sitedata-option-block-trackers =
+ .label = ç¬¬ä¸æ¹è·è¸ªå¨
+sitedata-option-block-unvisited =
+ .label = æªè®¿é®ç½ç«ç Cookie
+sitedata-option-block-all-third-party =
+ .label = ææç¬¬ä¸æ¹ Cookieï¼å¯è½å¯¼è´ç½ç«å¼å¸¸ï¼
+sitedata-option-block-all =
+ .label = ææ Cookieï¼å°ä¼å¯¼è´ç½ç«å¼å¸¸ï¼
+sitedata-clear =
+ .label = æ¸
餿°æ®â¦
+ .accesskey = l
+sitedata-settings =
+ .label = ç®¡çæ°æ®â¦
+ .accesskey = M
+sitedata-cookies-permissions =
+ .label = 管çæéâ¦
+ .accesskey = P
+
+## Privacy Section - Address Bar
+
+addressbar-header = å°åæ
+addressbar-suggest = 使ç¨å°åæ æ¶ï¼ä¸ºæå»ºè®®ï¼
+addressbar-locbar-history-option =
+ .label = æµè§åå²
+ .accesskey = H
+addressbar-locbar-bookmarks-option =
+ .label = 书ç¾
+ .accesskey = k
+addressbar-locbar-openpage-option =
+ .label = å·²æå¼çæ ç¾é¡µ
+ .accesskey = O
+addressbar-suggestions-settings = æ´æ¹æç´¢å¼æå»ºè®®çé¦é项
+
+## Privacy Section - Content Blocking
+
+content-blocking-header = å
å®¹æ¦æª
+content-blocking-description = æ¦æªä¼å¨ç½ç»ä¸è·è¸ªæ¨çç¬¬ä¸æ¹å
å®¹ãæ§å¶å¤å¤§ç¨åº¦ä¸æ¨è¦è®©ä¸åç½ç«ä¿çå¹¶äºç¸å享æ¨çä¸ç½æ´»å¨ã
+content-blocking-section-description = 卿µè§æ¶ä¿æ¤æ¨çéç§ãæ¦æªä¼è·è¸ªæ¨è®¿é®æ´»å¨ï¼å¹¶åæç¨æ·ç¹å¾çéèå
å®¹ãæ¦æªæ¤ç±»å
容ä¹å¯è½ä½¿é¡µé¢å è½½æ´å¿«ã
+content-blocking-learn-more = 详ç»äºè§£
+# The terminology used to refer to categories of Content Blocking is also used in chrome/browser/browser.properties and should be translated consistently.
+# "Standard" in this case is an adjective, meaning "default" or "normal".
+content-blocking-setting-standard =
+ .label = æ å
+ .accesskey = d
+content-blocking-setting-strict =
+ .label = ä¸¥æ ¼
+ .accesskey = r
+content-blocking-setting-custom =
+ .label = èªå®ä¹
+ .accesskey = C
+content-blocking-standard-description = ä»
å¨éç§çªå£ä¸æ¦æªå·²ç¥çè·è¸ªå¨
+content-blocking-standard-desc = å¹³è¡¡ä¿æ¤ä¸æ§è½ãå
许é¨åè·è¸ªå¨ä»¥ç¡®ä¿ç½ç«è¿è¡æ£å¸¸ã
+content-blocking-strict-desc = æ¦æª { -brand-short-name } æ£æµå°çææè·è¸ªå¨ãå¯è½å¯¼è´æäºç½ç«å¼å¸¸ã
+content-blocking-strict-description = æ´å¼ºçä¿æ¤ï¼å¯è½å¯¼è´æäºç½ç«å¼å¸¸ã
+content-blocking-custom-desc = éæ©è¦æ¦æªçå
容ã
+content-blocking-private-trackers = ä»
å¨éç§çªå£ä¸æ¦æªå·²ç¥çè·è¸ªå¨
+content-blocking-third-party-cookies = ç¬¬ä¸æ¹è·è¸ª Cookie
+content-blocking-all-cookies = ææ Cookie
+content-blocking-unvisited-cookies = æªè®¿é®ç½ç«ç Cookie
+content-blocking-all-windows-trackers = 卿æçªå£æ¦æªå·²ç¥çè·è¸ªå¨
+content-blocking-all-third-party-cookies = ææç¬¬ä¸æ¹ Cookie
+content-blocking-cryptominers = å å¯è´§å¸æç¿ç¨åº
+content-blocking-fingerprinters = æ°åæçº¹è·è¸ªç¨åº
+content-blocking-warning-title = 注æï¼
+content-blocking-warning-description = æ¦æªå
容åå¯è½å¯¼è´æäºç½ç«å¼å¸¸ãä½å¯¹æ¨ä¿¡ä»»çç½ç«ç¦ç¨æ¦æªé常ç®åã
+content-blocking-learn-how = äºè§£æ¹æ³
+content-blocking-reload-description = éè¦éæ°è½½å
¥æ ç¾é¡µæè½åºç¨åæ´ã
+content-blocking-reload-tabs-button =
+ .label = éæ°è½½å
¥æææ ç¾é¡µ
+ .accesskey = R
+content-blocking-trackers-label =
+ .label = è·è¸ªå¨
+ .accesskey = T
+content-blocking-tracking-protection-option-all-windows =
+ .label = ææçªå£
+ .accesskey = A
+content-blocking-option-private =
+ .label = ä»
å¨éç§çªå£ä¸
+ .accesskey = p
+content-blocking-tracking-protection-change-block-list = æ´æ¢æ¦æªå表
+content-blocking-cookies-label =
+ .label = Cookie
+ .accesskey = C
+content-blocking-expand-section =
+ .tooltiptext = 详ç»ä¿¡æ¯
+# Cryptomining refers to using scripts on websites that can use a computerâs resources to mine cryptocurrency without a userâs knowledge.
+content-blocking-cryptominers-label =
+ .label = å å¯è´§å¸æç¿ç¨åº
+ .accesskey = y
+# Browser fingerprinting is a method of tracking users by the configuration and settings information (their "digital fingerprint")
+# that is visible to websites they browse, rather than traditional tracking methods such as IP addresses and unique cookies.
+content-blocking-fingerprinters-label =
+ .label = æ°åæçº¹è·è¸ªç¨åº
+ .accesskey = F
+
+## Privacy Section - Tracking
+
+tracking-manage-exceptions =
+ .label = 管çä¾å¤â¦
+ .accesskey = x
+
+## Privacy Section - Permissions
+
+permissions-header = æé
+permissions-location = ä½ç½®
+permissions-location-settings =
+ .label = 设置â¦
+ .accesskey = l
+permissions-camera = æå头
+permissions-camera-settings =
+ .label = 设置â¦
+ .accesskey = c
+permissions-microphone = 麦å
é£
+permissions-microphone-settings =
+ .label = 设置â¦
+ .accesskey = m
+permissions-notification = éç¥
+permissions-notification-settings =
+ .label = 设置â¦
+ .accesskey = n
+permissions-notification-link = 详ç»äºè§£
+permissions-notification-pause =
+ .label = æåéç¥ç´è³ä¸æ¬¡æå¼ { -brand-short-name }
+ .accesskey = n
+permissions-block-autoplay-media2 =
+ .label = 黿¢ç½ç«èªå¨ææ¾å£°é³
+ .accesskey = B
+permissions-block-autoplay-media-exceptions =
+ .label = ä¾å¤â¦
+ .accesskey = E
+permissions-autoplay = èªå¨ææ¾
+permissions-autoplay-settings =
+ .label = 设置â¦
+ .accesskey = t
+permissions-block-popups =
+ .label = æ¦æªå¼¹åºå¼çªå£
+ .accesskey = B
+permissions-block-popups-exceptions =
+ .label = ä¾å¤â¦
+ .accesskey = E
+permissions-addon-install-warning =
+ .label = å½ç½ç«å°è¯å®è£
éå ç»ä»¶æ¶è¦åæ¨
+ .accesskey = W
+permissions-addon-exceptions =
+ .label = ä¾å¤â¦
+ .accesskey = E
+permissions-a11y-privacy-checkbox =
+ .label = 黿¢æ éç¢æå¡æ¥å
¥æ¨çæµè§å¨
+ .accesskey = a
+permissions-a11y-privacy-link = 详ç»äºè§£
+
+## Privacy Section - Data Collection
+
+collection-header = { -brand-short-name } æ°æ®æ¶éä¸ä½¿ç¨
+collection-description = æä»¬åå¾ä¸ºæ¨æä¾éæ©æï¼å¹¶ä¿è¯åªæ¶éæä»¬ä¸ºä¼äººæä¾åæ¹è¿ { -brand-short-name } æéçä¿¡æ¯ãæä»¬ä»
å¨å¾å¾æ¨çåæåæ¥æ¶ä¸ªäººä¿¡æ¯ã
+collection-privacy-notice = éç§å£°æ
+collection-health-report =
+ .label = å
许 { -brand-short-name } å { -vendor-short-name } åéææ¯ä¿¡æ¯åäº¤äºæ°æ®
+ .accesskey = r
+collection-health-report-link = 详ç»äºè§£
+collection-studies =
+ .label = å
许 { -brand-short-name } å®è£
å¹¶è¿è¡ä¸äºå®éªé¡¹ç®
+collection-studies-link = æ¥ç { -brand-short-name } å¨è¿è¡çå®éª
+addon-recommendations =
+ .label = å
许 { -brand-short-name } æä¾ä¸ªæ§åçæ©å±æ¨è
+addon-recommendations-link = 详ç»äºè§£
+# This message is displayed above disabled data sharing options in developer builds
+# or builds with no Telemetry support available.
+collection-health-report-disabled = 卿¤æå»ºé
ç½®ä¸æ°æ®åé¦è¢«ç¦ç¨
+collection-backlogged-crash-reports =
+ .label = å
许 { -brand-short-name } 代æ¨åé积åçå´©æºæ¥å
+ .accesskey = c
+collection-backlogged-crash-reports-link = 详ç»äºè§£
+
+## Privacy Section - Security
+##
+## It is important that wording follows the guidelines outlined on this page:
+## https://developers.google.com/safe-browsing/developers_guide_v2#AcceptableUsage
+
+security-header = å®å
¨
+security-browsing-protection = 欺è¯å
容åå±é©è½¯ä»¶é²æ¤
+security-enable-safe-browsing =
+ .label = æ¦æªå±é©ä¸è¯éªå
容
+ .accesskey = B
+security-enable-safe-browsing-link = 详ç»äºè§£
+security-block-downloads =
+ .label = æ¦æªå±é©çä¸è½½é¡¹
+ .accesskey = D
+security-block-uncommon-software =
+ .label = åç°æµæ°è½¯ä»¶æç½è§è½¯ä»¶æ¶ååºè¦å
+ .accesskey = C
+
+## Privacy Section - Certificates
+
+certs-header = è¯ä¹¦
+certs-personal-label = 彿å¡å¨è¯·æ±æ¨ç个人è¯ä¹¦æ¶
+certs-select-auto-option =
+ .label = èªå¨éæ©ä¸ä¸ª
+ .accesskey = S
+certs-select-ask-option =
+ .label = æ¯æ¬¡åè¯¢é®æ
+ .accesskey = A
+certs-enable-ocsp =
+ .label = æ¥è¯¢ OCSP ååºæå¡å¨ï¼ä»¥ç¡®è®¤è¯ä¹¦å½åæ¯å¦ææ
+ .accesskey = Q
+certs-view =
+ .label = æ¥çè¯ä¹¦â¦
+ .accesskey = C
+certs-devices =
+ .label = å®å
¨è®¾å¤â¦
+ .accesskey = D
+space-alert-learn-more-button =
+ .label = 详ç»äºè§£
+ .accesskey = L
+space-alert-over-5gb-pref-button =
+ .label =
+ { PLATFORM() ->
+ [windows] æå¼é项
+ *[other] æå¼é¦é项
+ }
+ .accesskey =
+ { PLATFORM() ->
+ [windows] O
+ *[other] O
+ }
+space-alert-over-5gb-message =
+ { PLATFORM() ->
+ [windows] { -brand-short-name } è¿è¡æéçç£ç空é´ä¸è¶³ãç½ç«å
容å¯è½æ æ³æ£å¸¸æ¾ç¤ºãæ¨å¯ä»¥å¨ é项 > éç§ä¸å®å
¨ > Cookie åç½ç«æ°æ® 䏿¸
é¤å·²åå¨çæ°æ®ã
+ *[other] { -brand-short-name } è¿è¡æéçç£ç空é´ä¸è¶³ãç½ç«å
容å¯è½æ æ³æ£å¸¸æ¾ç¤ºãæ¨å¯ä»¥å¨ é¦é项 > éç§ä¸å®å
¨ > Cookie åç½ç«æ°æ® 䏿¸
é¤å·²åå¨çæ°æ®ã
+ }
+space-alert-under-5gb-ok-button =
+ .label = æç¥éäº
+ .accesskey = K
+space-alert-under-5gb-message = { -brand-short-name } è¿è¡æéçç£ç空é´ä¸è¶³ãç½ç«å
容å¯è½æ æ³æ£å¸¸æ¾ç¤ºãç¹å»â详ç»äºè§£âäºè§£å¦ä½ä¼åæ¨çç£ç空é´ï¼ä»èè·å¾æ´å¥½çæµè§ä½éªã
+
+## The following strings are used in the Download section of settings
+
+desktop-folder-name = æ¡é¢
+downloads-folder-name = ä¸è½½
+choose-download-folder-title = éæ©ä¸è½½æä»¶å¤¹ï¼
+# Variables:
+# $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc...
+save-files-to-cloud-storage =
+ .label = ä¿åæä»¶è³ { $service-name }
diff --git a/browser/browser/preferences/selectBookmark.ftl b/browser/browser/preferences/selectBookmark.ftl
new file mode 100644
index 00000000000..7271aafaf97
--- /dev/null
+++ b/browser/browser/preferences/selectBookmark.ftl
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+select-bookmark-window =
+ .title = 设为主页
+ .style = width: 32em;
+select-bookmark-desc = éæ©ä¸ä¸ªä¹¦ç¾ä½ä¸ºæ¨ç主页ã妿æ¨éæ©äºä¸ä¸ªæä»¶å¤¹ï¼åå
¶ä¸ç书ç¾ä¼åå«åæ¶å¨è¥å¹²æ ç¾é¡µéæå¼ã
diff --git a/browser/browser/preferences/siteDataSettings.ftl b/browser/browser/preferences/siteDataSettings.ftl
new file mode 100644
index 00000000000..230df765a23
--- /dev/null
+++ b/browser/browser/preferences/siteDataSettings.ftl
@@ -0,0 +1,57 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+## Settings
+
+site-data-settings-window =
+ .title = 管ç Cookie åç½ç«æ°æ®
+site-data-settings-description = 以ä¸ç½ç«å¨æ¨çè®¡ç®æºä¸åå¨äº Cookie åç½ç«æ°æ®ã{ -brand-short-name } 伿°¸ä¹
åå¨ç½ç«çæ°æ®ï¼ç´è³æ¨å é¤ï¼æè
å¨éè¦ç©ºé´æ¶å é¤éæä¹
åå¨çç½ç«æ°æ®ã
+site-data-search-textbox =
+ .placeholder = æç´¢ç½ç«
+ .accesskey = S
+site-data-column-host =
+ .label = ç«ç¹
+site-data-column-cookies =
+ .label = Cookie
+site-data-column-storage =
+ .label = åå¨
+site-data-column-last-used =
+ .label = 䏿¬¡ä½¿ç¨
+site-data-remove-selected =
+ .label = ç§»é¤éä¸
+ .accesskey = r
+site-data-button-cancel =
+ .label = åæ¶
+ .accesskey = C
+site-data-button-save =
+ .label = ä¿åæ´æ¹
+ .accesskey = a
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+site-usage-pattern = { $value } { $unit }
+site-usage-persistent = { site-usage-pattern } (æä¹
)
+# Variables:
+# $value (Number) - Value of the unit (for example: 4.6, 500)
+# $unit (String) - Name of the unit (for example: "bytes", "KB")
+site-storage-usage =
+ .value = { $value } { $unit }
+site-storage-persistent =
+ .value = { site-storage-usage.value }ï¼æä¹
ï¼
+site-data-remove-all =
+ .label = å
¨é¨ç§»é¤
+ .accesskey = e
+site-data-remove-shown =
+ .label = ç§»é¤çéåºç项ç®
+ .accesskey = e
+
+## Removing
+
+site-data-removing-dialog =
+ .title = { site-data-removing-header }
+ .buttonlabelaccept = ç§»é¤
+site-data-removing-header = ç§»é¤ Cookie åç½ç«æ°æ®
+site-data-removing-desc = ç§»é¤ Cookie åç½ç«æ°æ®å¯è½ä½¿æ¨çç½ç«ç»å½ç¶æä¸¢å¤±ãç¡®å®æ§è¡ï¼
+site-data-removing-table = ä¸åç½ç«ç Cookie åç½ç«æ°æ®å°è¢«ç§»é¤
diff --git a/browser/browser/preferences/syncDisconnect.ftl b/browser/browser/preferences/syncDisconnect.ftl
new file mode 100644
index 00000000000..604679bc61d
--- /dev/null
+++ b/browser/browser/preferences/syncDisconnect.ftl
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+sync-disconnect-dialog =
+ .title = æå¼{ -sync-brand-short-name }ï¼
+ .style = width: 36em; min-height: 35em;
+sync-disconnect-heading = æ¨æ¯å¦ä¹è¦ç§»é¤è¿å°è®¡ç®æºä¸çæµè§å¨æ°æ®ï¼ä¸ç®¡ææ ·ï¼æ¨ç { -sync-brand-name }æ°æ®ä»ç卿¨çè´¦å·ä¸ã
+sync-disconnect-remove-sync-caption = ç§»é¤ { -sync-brand-name }æ°æ®
+sync-disconnect-remove-sync-data = 书ç¾ãåå²è®°å½ãå¯ç çã
+sync-disconnect-remove-other-caption = ç§»é¤å
¶ä»éç§æ°æ®
+sync-disconnect-remove-other-data = Cookieãç¼åã离线ç½ç«æ°æ®çã
+# Shown while the disconnect is in progress
+sync-disconnect-disconnecting = æ£å¨æå¼è¿æ¥â¦
+sync-disconnect-cancel =
+ .label = åæ¶
+ .accesskey = C
+
+## Disconnect confirm Button
+##
+## The 2 labels which may be shown on the single "Disconnect" button, depending
+## on the state of the checkboxes.
+
+sync-disconnect-confirm-disconnect-delete =
+ .label = æå¼å¹¶å é¤
+ .accesskey = D
+sync-disconnect-confirm-disconnect =
+ .label = ä»
æå¼è¿æ¥
+ .accesskey = D
diff --git a/browser/browser/preferences/translation.ftl b/browser/browser/preferences/translation.ftl
new file mode 100644
index 00000000000..65e60a84f1e
--- /dev/null
+++ b/browser/browser/preferences/translation.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+translation-window =
+ .title = ä¾å¤ - ç¿»è¯
+ .style = width: 36em
+translation-close-key =
+ .key = w
+translation-languages-disabled-desc = ç¿»è¯ä¸æ¯æä¸åè¯è¨
+translation-languages-column =
+ .label = è¯è¨
+translation-languages-button-remove =
+ .label = ç§»é¤è¯è¨
+ .accesskey = R
+translation-languages-button-remove-all =
+ .label = ç§»é¤ææè¯è¨
+ .accesskey = e
+translation-sites-disabled-desc = ç¿»è¯ä¸æ¯æä¸åç½ç«
+translation-sites-column =
+ .label = ç½ç«
+translation-sites-button-remove =
+ .label = ç§»é¤æ¤ç«ç¹
+ .accesskey = S
+translation-sites-button-remove-all =
+ .label = ç§»é¤å
¨é¨ç«ç¹
+ .accesskey = i
+translation-button-close =
+ .label = å
³é
+ .accesskey = C
diff --git a/browser/browser/safeMode.ftl b/browser/browser/safeMode.ftl
new file mode 100644
index 00000000000..9f3b03043ad
--- /dev/null
+++ b/browser/browser/safeMode.ftl
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+safe-mode-window =
+ .title = { -brand-short-name } å®å
¨æ¨¡å¼
+ .style = max-width: 400px
+start-safe-mode =
+ .label = å¨å®å
¨æ¨¡å¼ä¸å¯å¨
+refresh-profile =
+ .label = ç¿»æ° { -brand-short-name }
+safe-mode-description = å®å
¨æ¨¡å¼æ¯ { -brand-short-name } çä¸ç§ç¹æ®æ¨¡å¼ï¼å¯ä»¥ç¨æ¥ææ¥é®é¢ã
+safe-mode-description-details = æ¨çéå ç»ä»¶åèªå®ä¹è®¾ç½®å°è¢«ææ¶ç¦ç¨ï¼é¨å { -brand-short-name } åè½ä¹å¯è½ææ¶åç¨ã
+refresh-profile-instead = æ¨ä¹å¯ä»¥è·³è¿æ
éæé¤å¹¶å°è¯ç¿»æ° { -brand-short-name }ã
+# Shown on the safe mode dialog after multiple startup crashes.
+auto-safe-mode-description = { -brand-short-name } å¯å¨æ¶è¢«æå¤å
³éãè¿å¯è½æ¯ç±äºéå ç»ä»¶æè
å
¶ä»åå 导è´ãæ¨å¯ä»¥å°è¯å¨å®å
¨æ¨¡å¼ä¸æé¤æ
éï¼ä»¥è§£å³æ¤é®é¢ã
diff --git a/browser/browser/safebrowsing/blockedSite.ftl b/browser/browser/safebrowsing/blockedSite.ftl
new file mode 100644
index 00000000000..fbf53ae2511
--- /dev/null
+++ b/browser/browser/safebrowsing/blockedSite.ftl
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+safeb-blocked-phishing-page-title = å³å°è¿å
¥çæ¯è¯éªç½ç«
+safeb-blocked-malware-page-title = è®¿é®æ¤ç½ç«å¯è½æå®³æ¨çè®¡ç®æº
+safeb-blocked-unwanted-page-title = ç½ç«å¯è½å«ææå®³ç¨åº
+safeb-blocked-harmful-page-title = å³å°è¿å
¥çç½ç«å¯è½å«ææ¶æè½¯ä»¶
+safeb-blocked-phishing-page-short-desc = æ¤é¡µé¢å¯è½è¯å¾è¯±å¯¼æ¨å®è£
æ¶æè½¯ä»¶ï¼éé²å¯ç ãä¿¡ç¨å¡å·ç个人信æ¯ï¼æè¯±å¯¼æ¨åå
¶ä»é£é©è¡ä¸ºï¼{ -brand-short-name } å·²æ¦æªã
+safeb-blocked-malware-page-short-desc = æ¤é¡µé¢å¯è½è¯å¾å®è£
ä¼çªåæå 餿¨çµèä¸ä¸ªäººèµæçæ¶æè½¯ä»¶ï¼{ -brand-short-name } å·²æ¦æªã
+safeb-blocked-unwanted-page-short-desc = æ¤é¡µé¢å¯è½è¯å¾è¯±å¯¼æ¨å®è£
æå®³ä¸ç½ä½éªçç¨åºï¼ä¾å¦è¯´ä¿®æ¹æ¨çæµè§å¨ä¸»é¡µãå±ç¤ºæ°äººç广åï¼ï¼{ -brand-short-name } å·²æ¦æªã
+safeb-blocked-harmful-page-short-desc = { -brand-short-name } å·²æ¦æªæ¤é¡µé¢ï¼å
¶å¯è½ä¼å°è¯å®è£
å±é©çåºç¨ï¼ä»èçªåæå 餿¨çä¿¡æ¯ï¼ä¾å¦ç
§çãå¯ç ãé®ä»¶ãéèæè¯çï¼ã
+safeb-palm-advisory-desc = å®å
¨ä¿¡æ¯ç± { $advisoryname } æä¾ã
+safeb-palm-accept-label = è¿å
+safeb-palm-see-details-label = æ¥é
详æ
+safeb-blocked-phishing-page-error-desc-override = { $sitename } 被举æ¥ä¸ºè¯éªç½ç«ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯ï¼æå¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã
+safeb-blocked-phishing-page-error-desc-no-override = { $sitename } 被举æ¥ä¸ºè¯éªç½ç«ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯ã
+safeb-blocked-phishing-page-learn-more = å° www.antiphishing.org å¯ä»¥è¯¦ç»äºè§£è¯éªç½ç«åéé±¼ãå° support.mozilla.org å¯ä»¥è¯¦ç»äºè§£ { -brand-short-name } é²èé鱼忶æè½¯ä»¶çæºå¶ã
+safeb-blocked-malware-page-error-desc-override = { $sitename } 被举æ¥å«ææ¶æè½¯ä»¶ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯æå¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã
+safeb-blocked-malware-page-error-desc-no-override = { $sitename } 被举æ¥å«ææ¶æè½¯ä»¶ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯ã
+safeb-blocked-malware-page-learn-more = å° StopBadware.org å¯ä»¥è¯¦ç»äºè§£æå®³çç½é¡µå
容ï¼å
æ¬ç
æ¯åå
¶ä»æ¶æè½¯ä»¶ï¼ï¼ç½ç«ä¸è¿ä»ç»äºä¿æ¤æ¨ççµèçå°ç¥è¯ãå° support.mozilla.org å¯ä»¥è¯¦ç»äºè§£ { -brand-short-name } é²èé鱼忶æè½¯ä»¶çæºå¶ã
+safeb-blocked-unwanted-page-error-desc-override = { $sitename } 被举æ¥å«ææå®³è½¯ä»¶ãæ¨å¯ä»¥å¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã
+safeb-blocked-unwanted-page-error-desc-no-override = { $sitename } 被举æ¥å«ææå®³è½¯ä»¶ã
+safeb-blocked-unwanted-page-learn-more = æ¥é
æµæ°è½¯ä»¶æ¿ç å¯ä»¥è¯¦ç»äºè§£æå®³åæµæ°ç软件ãå° support.mozilla.org å¯ä»¥è¯¦ç»äºè§£ { -brand-short-name } é²èé鱼忶æè½¯ä»¶çæºå¶ã
+safeb-blocked-harmful-page-error-desc-override = { $sitename } 被举æ¥å«æé£é©è½¯ä»¶ãæ¨å¯ä»¥å¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã
+safeb-blocked-harmful-page-error-desc-no-override = { $sitename } 被举æ¥å«ææ½å¨æå®³ç软件ã
+safeb-blocked-harmful-page-learn-more = è®¿é® support.mozilla.org 详ç»äºè§£ { -brand-short-name } çéé±¼ç½ç«ä¸æ¶æç½ç«é²æ¤åè½ã
+safeb-palm-notdeceptive =
+ .label = è¿ä¸æ¯è¯éªç½ç«â¦
+ .accesskey = d
diff --git a/browser/browser/sanitize.ftl b/browser/browser/sanitize.ftl
new file mode 100644
index 00000000000..1743964b597
--- /dev/null
+++ b/browser/browser/sanitize.ftl
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+sanitize-prefs =
+ .title = æ¸
é¤åå²è®°å½è®¾ç½®
+ .style = width: 34em
+sanitize-prefs-style =
+ .style = width: 17em
+dialog-title =
+ .title = æ¸
餿è¿çåå²è®°å½
+ .style = width: 34em
+# When "Time range to clear" is set to "Everything", this message is used for the
+# title instead of dialog-title.
+dialog-title-everything =
+ .title = æ¸
é¤å
¨é¨åå²
+ .style = width: 34em
+clear-data-settings-label = éåºåï¼{ -brand-short-name } ä¼èªå¨æ¸
餿æ
+
+## clear-time-duration-prefix is followed by a dropdown list, with
+## values localized using clear-time-duration-value-* messages.
+## clear-time-duration-suffix is left empty in English, but can be
+## used in other languages to change the structure of the message.
+##
+## This results in English:
+## Time range to clear: (Last Hour, Today, etc.)
+
+clear-time-duration-prefix =
+ .value = è¦æ¸
é¤çæ¶é´èå´ï¼
+ .accesskey = T
+clear-time-duration-value-last-hour =
+ .label = æè¿ä¸å°æ¶
+clear-time-duration-value-last-2-hours =
+ .label = æè¿ä¸¤å°æ¶
+clear-time-duration-value-last-4-hours =
+ .label = æè¿åå°æ¶
+clear-time-duration-value-today =
+ .label = ä»å¤©
+clear-time-duration-value-everything =
+ .label = å
¨é¨
+clear-time-duration-suffix =
+ .value = { "" }
+
+## These strings are used as section comments and checkboxes
+## to select the items to remove
+
+history-section-label = åå²è®°å½
+item-history-and-downloads =
+ .label = æµè§åä¸è½½åå²
+ .accesskey = B
+item-cookies =
+ .label = Cookie
+ .accesskey = C
+item-active-logins =
+ .label = ç»å½ç¶æ
+ .accesskey = L
+item-cache =
+ .label = ç¼å
+ .accesskey = a
+item-form-search-history =
+ .label = 表ååæç´¢åå²
+ .accesskey = F
+data-section-label = æ°æ®
+item-site-preferences =
+ .label = ç«ç¹è®¾ç½®
+ .accesskey = S
+item-offline-apps =
+ .label = è±æºç½ç«æ°æ®
+ .accesskey = O
+sanitize-everything-undo-warning = æ¤æä½ä¸å¯æ¤éã
+window-close =
+ .key = w
+sanitize-button-ok =
+ .label = ç«å³æ¸
é¤
+# The label for the default button between the user clicking it and the window
+# closing. Indicates the items are being cleared.
+sanitize-button-clearing =
+ .label = æ¸
é¤
+# 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.
+sanitize-everything-warning = å
¨é¨åå²è®°å½ä¼è¢«æ¸
空ã
+# 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.
+sanitize-selected-warning = å°æ¸
空éä¸ç项ç®å
容ã
diff --git a/browser/browser/syncedTabs.ftl b/browser/browser/syncedTabs.ftl
new file mode 100644
index 00000000000..b43a1dc933e
--- /dev/null
+++ b/browser/browser/syncedTabs.ftl
@@ -0,0 +1,39 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+synced-tabs-sidebar-title = ååæ¥çæ ç¾é¡µ
+synced-tabs-sidebar-noclients-subtitle = æ³æ¥çæ¨å¨å
¶ä»è®¾å¤ä¸çæ ç¾é¡µåï¼
+synced-tabs-sidebar-notsignedin = ç»å½å³å¯æ¥çæ¨çå
¶ä»è®¾å¤ä¸çæ ç¾é¡µå表ã
+synced-tabs-sidebar-unverified = æ¨çè´¦å·éè¦éªè¯ã
+synced-tabs-sidebar-notabs = å°æ æå¼çæ ç¾é¡µ
+synced-tabs-sidebar-openprefs = æå¼{ -sync-brand-short-name }æå¡é¦é项
+synced-tabs-sidebar-tabsnotsyncing = å¼å¯æ ç¾é¡µåæ¥æå¡ï¼å³å¯æ¥çæ¨çå
¶ä»è®¾å¤ä¸çæ ç¾é¡µå表ã
+synced-tabs-sidebar-connect-another-device = è¿æ¥å
¶ä»è®¾å¤
+synced-tabs-sidebar-search =
+ .placeholder = å¨ååæ¥çæ ç¾é¡µä¸æç´¢
+synced-tabs-context-open =
+ .label = æå¼
+ .accesskey = O
+synced-tabs-context-open-in-new-tab =
+ .label = æ°å»ºæ ç¾é¡µæå¼
+ .accesskey = w
+synced-tabs-context-open-in-new-window =
+ .label = æ°å»ºçªå£æå¼
+ .accesskey = N
+synced-tabs-context-open-in-new-private-window =
+ .label = æ°å»ºéç§çªå£æå¼
+ .accesskey = P
+synced-tabs-context-bookmark-single-tab =
+ .label = ä¸ºæ¤æ ç¾é¡µæ·»å 书ç¾â¦
+ .accesskey = B
+synced-tabs-context-copy =
+ .label = å¤å¶
+ .accesskey = C
+synced-tabs-context-open-all-in-tabs =
+ .label = æå¼æ ç¾ç»
+ .accesskey = O
+synced-tabs-context-manage-devices =
+ .label = 管ç设å¤â¦
+ .accesskey = D
+fxa-sign-in = ç»å½{ -sync-brand-short-name }æå¡
diff --git a/browser/browser/tabContextMenu.ftl b/browser/browser/tabContextMenu.ftl
new file mode 100644
index 00000000000..e67adbc7d4d
--- /dev/null
+++ b/browser/browser/tabContextMenu.ftl
@@ -0,0 +1,70 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+reload-tab =
+ .label = éæ°è½½å
¥æ ç¾é¡µ
+ .accesskey = R
+select-all-tabs =
+ .label = éæ©æææ ç¾é¡µ
+ .accesskey = S
+duplicate-tab =
+ .label = å
éæ ç¾é¡µ
+ .accesskey = D
+duplicate-tabs =
+ .label = å
éæ ç¾é¡µ
+ .accesskey = D
+close-tabs-to-the-end =
+ .label = å
³éå³ä¾§æ ç¾é¡µ
+ .accesskey = i
+close-other-tabs =
+ .label = å
³éå
¶ä»æ ç¾é¡µ
+ .accesskey = o
+reload-tabs =
+ .label = éæ°è½½å
¥æ ç¾é¡µ
+ .accesskey = R
+pin-tab =
+ .label = åºå®æ ç¾é¡µ
+ .accesskey = P
+unpin-tab =
+ .label = åæ¶åºå®æ ç¾é¡µ
+ .accesskey = b
+pin-selected-tabs =
+ .label = åºå®æ ç¾é¡µ
+ .accesskey = P
+unpin-selected-tabs =
+ .label = åæ¶åºå®æ ç¾é¡µ
+ .accesskey = b
+bookmark-selected-tabs =
+ .label = 为æ ç¾é¡µæ·»å 书ç¾â¦
+ .accesskey = k
+bookmark-tab =
+ .label = 为æ ç¾é¡µæ·»å 书ç¾
+ .accesskey = B
+reopen-in-container =
+ .label = ç¨èº«ä»½æ ç¾é¡µæå¼
+ .accesskey = e
+move-to-start =
+ .label = ç§»å¨å°å¼å¤´
+ .accesskey = S
+move-to-end =
+ .label = ç§»å¨å°æ«å°¾
+ .accesskey = E
+move-to-new-window =
+ .label = ç§»å¨å°æ°çªå£
+ .accesskey = W
+undo-close-tab =
+ .label = æ¢å¤å
³éçæ ç¾é¡µ
+ .accesskey = U
+close-tab =
+ .label = å
³éæ ç¾é¡µ
+ .accesskey = c
+close-tabs =
+ .label = å
³éæ ç¾é¡µ
+ .accesskey = S
+move-tabs =
+ .label = ç§»å¨æ ç¾é¡µ
+ .accesskey = v
+move-tab =
+ .label = ç§»å¨æ ç¾é¡µ
+ .accesskey = v
diff --git a/browser/browser/toolbarContextMenu.ftl b/browser/browser/toolbarContextMenu.ftl
new file mode 100644
index 00000000000..c9ef84148eb
--- /dev/null
+++ b/browser/browser/toolbarContextMenu.ftl
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+toolbar-context-menu-reload-selected-tab =
+ .label = éæ°è½½å
¥æéæ ç¾é¡µ
+ .accesskey = R
+toolbar-context-menu-reload-selected-tabs =
+ .label = éæ°è½½å
¥éä¸çæ ç¾é¡µ
+ .accesskey = R
+toolbar-context-menu-bookmark-selected-tab =
+ .label = 为é䏿 ç¾é¡µæ·»å 书ç¾â¦
+ .accesskey = T
+toolbar-context-menu-bookmark-selected-tabs =
+ .label = 为é䏿 ç¾é¡µæ·»å 书ç¾â¦
+ .accesskey = T
+toolbar-context-menu-select-all-tabs =
+ .label = éæ©æææ ç¾é¡µ
+ .accesskey = S
+toolbar-context-menu-undo-close-tab =
+ .label = æ¢å¤å
³éçæ ç¾é¡µ
+ .accesskey = U
diff --git a/browser/browser/touchbar/touchbar.ftl b/browser/browser/touchbar/touchbar.ftl
new file mode 100644
index 00000000000..5e281238f60
--- /dev/null
+++ b/browser/browser/touchbar/touchbar.ftl
@@ -0,0 +1,20 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Strings in this file are used to localize button titles displayed on the
+# MacBook Touch Bar.
+back = åé
+forward = åè¿
+reload = å·æ°
+home = 主页
+fullscreen = å
¨å±
+find = æ¥æ¾
+new-tab = æ°æ ç¾é¡µ
+add-bookmark = æ·»å 书ç¾
+open-bookmarks-sidebar = æå¼ä¹¦ç¾ä¾§æ
+reader-view = é
读å¨è§å¾
+# Meant to match the string displayed in an empty URL bar.
+open-location = æç´¢æè¾å
¥ç½å
+share = å
񄧮
+close-window = å
³éçªå£
diff --git a/browser/chrome/browser-region/region.properties b/browser/chrome/browser-region/region.properties
new file mode 100755
index 00000000000..4fb5c092096
--- /dev/null
+++ b/browser/chrome/browser-region/region.properties
@@ -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/.
+
+# increment this number when anything gets changed in the list below. This will
+# cause Firefox to re-read these prefs and inject any new handlers into the
+# profile database. Note that "new" is defined as "has a different URL"; this
+# means that it's not possible to update the name of existing handler, so
+# don't make any spelling errors here.
+gecko.handlerService.defaultHandlersVersion=4
+
+# The default set of protocol handlers for mailto:
+gecko.handlerService.schemes.mailto.0.name=Yahoo! é®ä»¶
+gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s
+gecko.handlerService.schemes.mailto.1.name=Gmail
+gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s
+
+# The default set of protocol handlers for irc:
+gecko.handlerService.schemes.irc.0.name=Mibbit
+gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s
+
+# The default set of protocol handlers for ircs:
+gecko.handlerService.schemes.ircs.0.name=Mibbit
+gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s
diff --git a/browser/chrome/browser/aboutPrivateBrowsing.dtd b/browser/chrome/browser/aboutPrivateBrowsing.dtd
new file mode 100755
index 00000000000..438c071e3f8
--- /dev/null
+++ b/browser/chrome/browser/aboutPrivateBrowsing.dtd
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/aboutRobots.dtd b/browser/chrome/browser/aboutRobots.dtd
new file mode 100755
index 00000000000..be1030211cd
--- /dev/null
+++ b/browser/chrome/browser/aboutRobots.dtd
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/aboutTabCrashed.dtd b/browser/chrome/browser/aboutTabCrashed.dtd
new file mode 100644
index 00000000000..35e68114916
--- /dev/null
+++ b/browser/chrome/browser/aboutTabCrashed.dtd
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/accounts.properties b/browser/chrome/browser/accounts.properties
new file mode 100644
index 00000000000..eafb3c1090d
--- /dev/null
+++ b/browser/chrome/browser/accounts.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/.
+
+# LOCALIZATION NOTE (reconnectDescription) - %S = Email address of user's Firefox Account
+reconnectDescription = éæ°è¿æ¥ %S
+
+# LOCALIZATION NOTE (verifyDescription) - %S = Email address of user's Firefox Account
+verifyDescription = 确认 %S
+
+# These strings are shown in a desktop notification after the
+# user requests we resend a verification email.
+verificationSentTitle = å·²ååºéªè¯é®ä»¶
+# LOCALIZATION NOTE (verificationSentBody) - %S = Email address of user's Firefox Account
+verificationSentBody = éªè¯é¾æ¥å·²åéå° %Sã
+verificationNotSentTitle = æ æ³åééªè¯é®ä»¶
+verificationNotSentBody = æä»¬ç®åæ æ³åééªè¯é®ä»¶ï¼è¯·ç¨ååè¯ã
+
+# LOCALIZATION NOTE (deviceConnectedTitle, deviceConnectedBody, deviceConnectedBody.noDeviceName)
+# These strings are used in a notification shown when a new device joins the Sync account.
+# deviceConnectedBody.noDeviceName is shown instead of deviceConnectedBody when we
+# could not get the device name that joined
+deviceConnectedTitle = Firefox 忥
+deviceConnectedBody = è¿å°çµèæ£å¨ä¸ %S 忥ã
+deviceConnectedBody.noDeviceName = è¿å°çµèæ£å¨ä¸ä¸å°æ°è®¾å¤åæ¥ã
+
+# LOCALIZATION NOTE (syncStartNotification.title, syncStartNotification.body)
+# These strings are used in a notification shown after Sync is connected.
+syncStartNotification.title = 忥æå¡å·²å¯ç¨
+# %S is brandShortName
+syncStartNotification.body2 = %S å³å°å¼å§åæ¥ã
+
+# LOCALIZATION NOTE (deviceDisconnectedNotification.title, deviceDisconnectedNotification.body)
+# These strings are used in a notification shown after Sync was disconnected remotely.
+deviceDisconnectedNotification.title = 忥æå¡å·²æå¼
+deviceDisconnectedNotification.body = è¿å°çµèå·²æåæå¼ Firefox 忥æå¡ã
+
+# LOCALIZATION NOTE (sendToAllDevices.menuitem)
+# Displayed in the Send Tab/Page/Link to Device context menu when right clicking a tab, a page or a link.
+sendToAllDevices.menuitem = åéå°ææè®¾å¤
+
+# LOCALIZATION NOTE (sendTabToDevice.unconfigured, sendTabToDevice.unconfigured.status)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account is unconfigured. Redirects to a marketing page.
+sendTabToDevice.unconfigured.status = æªè¿æ¥å°åæ¥
+sendTabToDevice.unconfigured = äºè§£åéæ ç¾é¡µâ¦
+
+# LOCALIZATION NOTE (sendTabToDevice.signintosync)
+# Displayed in the Send Tabs context menu and the page action panel when sync is not
+# configured. Allows users to immediately sign into sync via the preferences.
+sendTabToDevice.signintosync = ç»å½ä»¥åæ¥â¦
+
+# LOCALIZATION NOTE (sendTabToDevice.singledevice, sendTabToDevice.connectdevice,
+# sendTabToDevice.singledevice.status)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account has only 1 device. The sendTabToDevice.singledevice link
+# redirects to a marketing page, the sendTabToDevice.connectdevice redirects
+# to an FxAccounts page that tells to you to connect another device.
+sendTabToDevice.singledevice.status = å°æªè¿ä¸è®¾å¤
+sendTabToDevice.singledevice = äºè§£åéæ ç¾é¡µâ¦
+sendTabToDevice.connectdevice = è¿æ¥å
¶ä»è®¾å¤â¦
+
+# LOCALIZATION NOTE (sendTabToDevice.verify, sendTabToDevice.verify.status)
+# Displayed in the Send Tabs context menu when right clicking a tab, a page or a link
+# and the Sync account is unverified. Redirects to the Sync preferences page.
+sendTabToDevice.verify.status = è´¦å·æªéªè¯
+sendTabToDevice.verify = éªè¯æ¨çè´¦å·â¦
+
+# LOCALIZATION NOTE (tabArrivingNotification.title, tabArrivingNotificationWithDevice.title,
+# multipleTabsArrivingNotification.title, unnamedTabsArrivingNotification2.body,
+# unnamedTabsArrivingNotificationMultiple2.body, unnamedTabsArrivingNotificationNoDevice.body,
+# singleTabArrivingWithTruncatedURL.body)
+# These strings are used in a notification shown when we're opening tab(s) another device sent us to display.
+
+# LOCALIZATION NOTE (tabArrivingNotification.title, tabArrivingNotificationWithDevice.title)
+# The body for these is the URL of the tab received
+tabArrivingNotification.title = æ¶å°æ ç¾é¡µ
+# LOCALIZATION NOTE (tabArrivingNotificationWithDevice.title) %S is the device name
+tabArrivingNotificationWithDevice.title = æ¥èª %S çæ ç¾é¡µ
+
+multipleTabsArrivingNotification.title = æ¶å°æ ç¾é¡µ
+# LOCALIZATION NOTE (unnamedTabsArrivingNotification2.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received and #2 is the device name.
+unnamedTabsArrivingNotification2.body = æ¶å°ä» #2 忥ç #1 个æ ç¾é¡µ
+# LOCALIZATION NOTE (unnamedTabsArrivingNotificationMultiple2.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received.
+unnamedTabsArrivingNotificationMultiple2.body = æ¶å°ä»å
¶ä»è®¾å¤åæ¥ç #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (unnamedTabsArrivingNotificationNoDevice.body):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs received
+# This version is used when we don't know any device names.
+unnamedTabsArrivingNotificationNoDevice.body = æ¶å° #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (singleTabArrivingWithTruncatedURL.body):
+# Used when a tab from a remote device arrives but the URL must be truncated.
+# Should display the URL with an indication that it's benen truncated.
+# %S is the portion of the URL that remains after truncation.
+singleTabArrivingWithTruncatedURL.body = %Sâ¦
+
+# LOCALIZATION NOTE (account.title):
+# Used as a default header for the FxA toolbar menu.
+account.title = è´¦æ·
diff --git a/browser/chrome/browser/activity-stream/newtab.properties b/browser/chrome/browser/activity-stream/newtab.properties
new file mode 100644
index 00000000000..e0dbc9cc455
--- /dev/null
+++ b/browser/chrome/browser/activity-stream/newtab.properties
@@ -0,0 +1,215 @@
+newtab_page_title=æ°æ ç¾é¡µ
+
+header_top_sites=常ç¨ç½ç«
+header_highlights=éé¦
+# LOCALIZATION NOTE(header_recommended_by): This is followed by the name
+# of the corresponding content provider.
+header_recommended_by={provider} æ¨è
+
+# LOCALIZATION NOTE(context_menu_button_sr): This is for screen readers when
+# the context menu button is focused/active. Title is the label or hostname of
+# the site.
+context_menu_button_sr=æå¼ {title} çå¿«æ·èå
+
+# LOCALIZATION NOTE(section_context_menu_button_sr): This is for screen readers when
+# the section edit context menu button is focused/active.
+section_context_menu_button_sr=æå¼çåå¿«æ·èå
+
+# LOCALIZATION NOTE (type_label_*): These labels are associated to pages to give
+# context on how the element is related to the user, e.g. type indicates that
+# the page is bookmarked, or is currently open on another device
+type_label_visited=æ¾ç»è®¿é®
+type_label_bookmarked=å·²å 书ç¾
+type_label_recommended=è¶å¿
+type_label_pocket=å·²ä¿åå° Pocket
+type_label_downloaded=å·²ä¸è½½
+
+# LOCALIZATION NOTE (menu_action_*): These strings are displayed in a context
+# menu and are meant as a call to action for a given page.
+# LOCALIZATION NOTE (menu_action_bookmark): Bookmark is a verb, as in "Add to
+# bookmarks"
+menu_action_bookmark=æ·»å 书ç¾
+menu_action_remove_bookmark=ç§»é¤ä¹¦ç¾
+menu_action_open_new_window=æ°å»ºçªå£æå¼
+menu_action_open_private_window=æ°å»ºéç§æµè§çªå£æå¼
+menu_action_dismiss=éè
+menu_action_delete=ä»åå²è®°å½ä¸å é¤
+menu_action_pin=åºå®
+menu_action_unpin=åæ¶åºå®
+confirm_history_delete_p1=ç¡®å®å 餿¤é¡µé¢å¨æ¨çåå²è®°å½ä¸çææè®°å½ï¼
+# LOCALIZATION NOTE (confirm_history_delete_notice_p2): this string is displayed in
+# the same dialog as confirm_history_delete_p1. "This action" refers to deleting a
+# page from history.
+confirm_history_delete_notice_p2=æ¤æä½ä¸è½æ¤éã
+menu_action_save_to_pocket=ä¿åå° Pocket
+menu_action_delete_pocket=ä» Pocket å é¤
+menu_action_archive_pocket=å¨ Pocket ä¸åæ¡£
+
+# LOCALIZATION NOTE (menu_action_show_file_*): These are platform specific strings
+# found in the context menu of an item that has been downloaded. The intention behind
+# "this action" is that it will show where the downloaded file exists on the file system
+# for each operating system.
+menu_action_show_file_mac_os=æ¾ç¤ºäºè®¿è¾¾
+menu_action_show_file_windows=æå¼æå¨æä»¶å¤¹
+menu_action_show_file_linux=æå¼æå¨æä»¶å¤¹
+menu_action_show_file_default=æ¾ç¤ºæä»¶
+menu_action_open_file=æå¼æä»¶
+
+# LOCALIZATION NOTE (menu_action_copy_download_link, menu_action_go_to_download_page):
+# "Download" here, in both cases, is not a verb, it is a noun. As in, "Copy the
+# link that belongs to this downloaded item"
+menu_action_copy_download_link=å¤å¶ä¸è½½é¾æ¥
+menu_action_go_to_download_page=åå¾ä¸è½½é¡µé¢
+menu_action_remove_download=ä»åå²è®°å½ä¸ç§»é¤
+
+# LOCALIZATION NOTE (search_button): This is screenreader only text for the
+# search button.
+search_button=æç´¢
+
+# LOCALIZATION NOTE (search_header): Displayed at the top of the panel
+# showing search suggestions. {search_engine_name} is replaced with the name of
+# the current default search engine. e.g. 'Google Search'
+search_header={search_engine_name} æç´¢
+
+# LOCALIZATION NOTE (search_web_placeholder): This is shown in the searchbox when
+# the user hasn't typed anything yet.
+search_web_placeholder=å¨ç½ç»ä¸æç´¢
+
+# LOCALIZATION NOTE (section_disclaimer_topstories): This is shown below
+# the topstories section title to provide additional information about
+# how the stories are selected.
+section_disclaimer_topstories=æ ¹æ®æ¨çé
读å好æ¨èç½ä¸çæè¶£æ¥éãåºèª Pocketï¼ç°å¨æ¯ Mozilla çä¸é¨åã
+section_disclaimer_topstories_linktext=äºè§£å®çå·¥ä½åçã
+# LOCALIZATION NOTE (section_disclaimer_topstories_buttontext): The text of
+# the button used to acknowledge, and hide this disclaimer in the future.
+section_disclaimer_topstories_buttontext=ææç½äº
+
+# LOCALIZATION NOTE (prefs_*, settings_*): These are shown in about:preferences
+# for a "Firefox Home" section. "Firefox" should be treated as a brand and kept
+# in English, while "Home" should be localized matching the about:preferences
+# sidebar mozilla-central string for the panel that has preferences related to
+# what is shown for the homepage, new windows, and new tabs.
+prefs_home_header=Firefox 主页å
容
+prefs_home_description=éæ©è¦å¨æ¨ç Firefox 䏻页䏿¾ç¤ºççåã
+
+prefs_content_discovery_header=Firefox 主页
+prefs_content_discovery_description=Firefox 主页ä¸çâå
容åç°âå¯å©æ¨åç°ç½ç»ä¸çé«åè´¨ãæä»·å¼çæç« ã
+prefs_content_discovery_button=å
³éå
容åç°
+
+# LOCALIZATION NOTE (prefs_section_rows_option): This is a semi-colon list of
+# plural forms used in a drop down of multiple row options (1 row, 2 rows).
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+prefs_section_rows_option={num} è¡
+prefs_search_header=ç½ç»æç´¢
+prefs_topsites_description=æ¨ç»å¸¸è®¿é®çç½ç«
+prefs_topstories_description2=æ¥èªç½ç»ç精彩å
容ï¼ä¸ºæ¨é身æé
+prefs_topstories_options_sponsored_label=èµå©å
容
+prefs_topstories_sponsored_learn_more=详ç»äºè§£
+prefs_highlights_description=æ¨è®¿é®è¿æä¿åè¿çç½ç«ç²¾é
+prefs_highlights_options_visited_label=访é®è¿ç页é¢
+prefs_highlights_options_download_label=æè¿ä¸è½½
+prefs_highlights_options_pocket_label=ä¿åå¨ Pocket ç页é¢
+prefs_snippets_description=æ¥èª Mozilla å Firefox ç快讯
+settings_pane_button_label=å®å¶æ¨çæ°æ ç¾é¡µ
+settings_pane_topsites_header=常ç¨ç½ç«
+settings_pane_highlights_header=éé¦
+settings_pane_highlights_options_bookmarks=书ç¾
+# LOCALIZATION NOTE(settings_pane_snippets_header): For the "Snippets" feature
+# traditionally on about:home. Alternative translation options: "Small Note" or
+# something that expresses the idea of "a small message, shortened from
+# something else, and non-essential but also not entirely trivial and useless."
+settings_pane_snippets_header=åªè¨çè¯
+
+# LOCALIZATION NOTE (edit_topsites_*): This is shown in the Edit Top Sites modal
+# dialog.
+edit_topsites_button_text=ç¼è¾
+edit_topsites_edit_button=ç¼è¾æ¤ç½ç«
+
+# LOCALIZATION NOTE (topsites_form_*): This is shown in the New/Edit Topsite modal.
+topsites_form_add_header=æ°å»ºå¸¸ç¨ç½ç«
+topsites_form_edit_header=ç¼è¾å¸¸ç¨ç½ç«
+topsites_form_title_label=æ é¢
+topsites_form_title_placeholder=è¾å
¥æ é¢
+topsites_form_url_label=ç½å
+topsites_form_image_url_label=èªå®ä¹å¾åç½å
+topsites_form_url_placeholder=è¾å
¥æç²è´´ç½å
+topsites_form_use_image_link=使ç¨èªå®ä¹å¾åâ¦
+# LOCALIZATION NOTE (topsites_form_*_button): These are verbs/actions.
+topsites_form_preview_button=é¢è§
+topsites_form_add_button=æ·»å
+topsites_form_save_button=ä¿å
+topsites_form_cancel_button=åæ¶
+topsites_form_url_validation=éè¦ææçç½å
+topsites_form_image_validation=å¾åè½½å
¥å¤±è´¥ã请å°è¯å
¶ä»ç½åã
+
+# LOCALIZATION NOTE (pocket_read_more): This is shown at the bottom of the
+# trending stories section and precedes a list of links to popular topics.
+pocket_read_more=çé¨ä¸»é¢ï¼
+# LOCALIZATION NOTE (pocket_read_even_more): This is shown as a link at the
+# end of the list of popular topic links.
+pocket_read_even_more=æ¥çæ´å¤æç«
+pocket_more_reccommendations=æ´å¤æ¨è
+pocket_how_it_works=ä½¿ç¨æ¹æ³
+pocket_cta_button=è·å Pocket
+pocket_cta_text=å°æ¨åç±çæ
äºä¿åå° Pocketï¼ç¨ç²¾å½©ç读ç©ä¸ºææ³æ³¨å
¥æ´»åã
+
+highlights_empty_state=å¼å§ç½ä¸å²æµªä¹æ
å§ï¼ä¹åè¿é伿¾ç¤ºæ¨æè¿çè¿æå äºä¹¦ç¾ç精彩æç« ãè§é¢ä¸å
¶ä»é¡µé¢ã
+# LOCALIZATION NOTE (topstories_empty_state): When there are no recommendations,
+# in the space that would have shown a few stories, this is shown instead.
+# {provider} is replaced by the name of the content provider for this section.
+topstories_empty_state=æææç« é½è¯»å®å¦ï¼æç¹åæ¥ï¼{provider} å°æ¨èæ´å¤çé¨æç« ãçä¸åäºï¼éæ©ä¸ä¸ªçé¨è¯é¢ï¼æ¾å°æ´å¤ç½ä¸ç好æç« ã
+
+# LOCALIZATION NOTE (manual_migration_explanation2): This message is shown to encourage users to
+# import their browser profile from another browser they might be using.
+manual_migration_explanation2=æå¨å
¶ä»æµè§å¨ä¸ä¿åç书ç¾ãåå²è®°å½åå¯ç å¸¦å° Firefox å§ã
+# LOCALIZATION NOTE (manual_migration_cancel_button): This message is shown on a button that cancels the
+# process of importing another browserâs profile into Firefox.
+manual_migration_cancel_button=ä¸ç¨äº
+# LOCALIZATION NOTE (manual_migration_import_button): This message is shown on a button that starts the process
+# of importing another browserâs profile profile into Firefox.
+manual_migration_import_button=ç«å³å¯¼å
¥
+
+# LOCALIZATION NOTE (error_fallback_default_*): This message and suggested
+# action link are shown in each section of UI that fails to render
+error_fallback_default_info=ååï¼è½½å
¥å
容æ¶åçé误ã
+error_fallback_default_refresh_suggestion=å·æ°é¡µé¢ä»¥éè¯ã
+
+# LOCALIZATION NOTE (section_menu_action_*). These strings are displayed in the section
+# context menu and are meant as a call to action for the given section.
+section_menu_action_remove_section=ç§»é¤çå
+section_menu_action_collapse_section=æå çå
+section_menu_action_expand_section=å±å¼çå
+section_menu_action_manage_section=管ççå
+section_menu_action_manage_webext=ç®¡çæ©å±
+section_menu_action_add_topsite=æ·»å 常ç¨ç½ç«
+section_menu_action_add_search_engine=æ·»å æç´¢å¼æ
+section_menu_action_move_up=ä¸ç§»
+section_menu_action_move_down=ä¸ç§»
+section_menu_action_privacy_notice=éç§å£°æ
+
+# LOCALIZATION NOTE (firstrun_*). These strings are displayed only once, on the
+# firstrun of the browser, they give an introduction to Firefox and Sync.
+firstrun_title=é身æºå¸¦ Firefox
+firstrun_content=卿¨çææè®¾å¤ä¸è·åæ¨ç书ç¾ãåå²è®°å½ãå¯ç 以åå
¶ä»è®¾ç½®ã
+firstrun_learn_more_link=详ç»äºè§£ Firefox è´¦æ·
+
+# LOCALIZATION NOTE (firstrun_form_header and firstrun_form_sub_header):
+# firstrun_form_sub_header is a continuation of firstrun_form_header, they are one sentence.
+# firstrun_form_header is displayed more boldly as the call to action.
+firstrun_form_header=请è¾å
¥æ¨ççµåé®ç®±
+firstrun_form_sub_header=ç»§ç»ä½¿ç¨ Firefox 忥æå¡ã
+
+firstrun_email_input_placeholder=çµåé®ä»¶
+firstrun_invalid_input=éè¦ææççµåé®ä»¶å°å
+
+# LOCALIZATION NOTE (firstrun_extra_legal_links): {terms} is equal to firstrun_terms_of_service, and
+# {privacy} is equal to firstrun_privacy_notice. {terms} and {privacy} are clickable links.
+firstrun_extra_legal_links=è¥æ¨éæ©ç»§ç»ï¼å³è¡¨ç¤ºæ¨åææä»¬ç{terms}å{privacy}ã
+firstrun_terms_of_service=æå¡æ¡æ¬¾
+firstrun_privacy_notice=éç§å£°æ
+
+firstrun_continue_to_login=ç»§ç»
+firstrun_skip_login=è·³è¿æ¤æ¥éª¤
+
+# LOCALIZATION NOTE (context_menu_title): Action tooltip to open a context menu
+context_menu_title=æå¼èå
diff --git a/browser/chrome/browser/app-extension-fields.properties b/browser/chrome/browser/app-extension-fields.properties
new file mode 100644
index 00000000000..5cae1791d5f
--- /dev/null
+++ b/browser/chrome/browser/app-extension-fields.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 (extension.firefox-compact-light@mozilla.org.name): This is displayed in about:addons -> Appearance
+extension.firefox-compact-light@mozilla.org.name=æäº®
+extension.firefox-compact-light@mozilla.org.description=æäº®é
è²ç主é¢ã
+
+# LOCALIZATION NOTE (extension.firefox-compact-dark@mozilla.org.name): This is displayed in about:addons -> Appearance
+extension.firefox-compact-dark@mozilla.org.name=æ·±é
+extension.firefox-compact-dark@mozilla.org.description=æ·±éé
è²ç主é¢ã
+
diff --git a/browser/chrome/browser/baseMenuOverlay.dtd b/browser/chrome/browser/baseMenuOverlay.dtd
new file mode 100755
index 00000000000..12ca37c7e02
--- /dev/null
+++ b/browser/chrome/browser/baseMenuOverlay.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/browser.dtd b/browser/chrome/browser/browser.dtd
new file mode 100755
index 00000000000..ceafb790ef5
--- /dev/null
+++ b/browser/chrome/browser/browser.dtd
@@ -0,0 +1,1193 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Cookie">
+åå²è®°å½">
+æ ç¾é¡µåçªå£">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ èåä¸ç æ¥ç®¡çæ¨çéå ç»ä»¶ã">
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/browser.properties b/browser/chrome/browser/browser.properties
new file mode 100755
index 00000000000..ca4ea19dda6
--- /dev/null
+++ b/browser/chrome/browser/browser.properties
@@ -0,0 +1,1118 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+nv_timeout=å·²è¶
æ¶
+openFile=æå¼æä»¶
+
+droponhometitle=设置主页
+droponhomemsg=æ¨è¦å°å
¶è®¾ä¸ºæ¨çæ°ä¸»é¡µåï¼
+droponhomemsgMultiple=æ¨æ³å°è¿äºææ¡£è®¾ä¸ºæ¨çæ°ä¸»é¡µåï¼
+
+# context menu strings
+
+# LOCALIZATION NOTE (contextMenuSearch): %1$S is the search engine,
+# %2$S is the selection string.
+contextMenuSearch=ç¨ %1$S æç´¢â%2$Sâ
+contextMenuSearch.accesskey=S
+
+# bookmark dialog strings
+
+bookmarkAllTabsDefault=[æä»¶å¤¹åç§°]
+
+xpinstallPromptMessage=%S 已黿¢æ¤ç½ç«å¨æ¨çè®¡ç®æºä¸å®è£
软件ç请æ±ã
+# LOCALIZATION NOTE (xpinstallPromptMessage.header)
+# The string contains the hostname of the site the add-on is being installed from.
+xpinstallPromptMessage.header=å
许 %S å®è£
éå ç»ä»¶ï¼
+xpinstallPromptMessage.message=æ¨æ£å°è¯ä» %S å®è£
éå ç»ä»¶ãç»§ç»ä¹åè¯·ç¡®ä¿æ¨ä¿¡ä»»æ¤ç«ç¹ã
+xpinstallPromptMessage.header.unknown=å
许æªç¥ç«ç¹å®è£
éå ç»ä»¶ï¼
+xpinstallPromptMessage.message.unknown=æ¨æ£å°è¯ä»æªç¥ç«ç¹å®è£
éå ç»ä»¶ãç»§ç»ä¹åè¯·ç¡®ä¿æ¨ä¿¡ä»»æ¤ç«ç¹ã
+xpinstallPromptMessage.learnMore=详ç»äºè§£å¦ä½å®å
¨å°å®è£
éå ç»ä»¶
+xpinstallPromptMessage.dontAllow=ä¸å
许
+xpinstallPromptMessage.dontAllow.accesskey=D
+xpinstallPromptAllowButton=å
许
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See http://www.mozilla.org/access/keyboard/accesskey for details
+xpinstallPromptAllowButton.accesskey=A
+xpinstallPromptMessage.neverAllow=æ°¸ä¸å
许
+xpinstallPromptMessage.neverAllow.accesskey=N
+# Accessibility Note:
+# Be sure you do not choose an accesskey that is used elsewhere in the active context (e.g. main menu bar, submenu of the warning popup button)
+# See https://website-archive.mozilla.org/www.mozilla.org/access/access/keyboard/ for details
+xpinstallPromptMessage.install=ç»§ç»å®è£
+xpinstallPromptMessage.install.accesskey=C
+
+xpinstallDisabledMessageLocked=软件å®è£
已被æ¨çç³»ç»ç®¡çåç¦ç¨ã
+xpinstallDisabledMessage=软件å®è£
已被ç¦ç¨ã请åå»âå¯ç¨âå¹¶éè¯ã
+xpinstallDisabledButton=å¯ç¨
+xpinstallDisabledButton.accesskey=n
+
+# LOCALIZATION NOTE (addonInstallBlockedByPolicy)
+# This message is shown when the installation of an add-on is blocked by
+# enterprise policy. %1$S is replaced by the name of the add-on.
+# %2$S is replaced by the ID of add-on. %3$S is a custom message that
+# the administration can add to the message.
+addonInstallBlockedByPolicy=%1$Sï¼%2$Sï¼å·²è¢«ç³»ç»ç®¡çåç¦ç¨ã%3$S
+
+# LOCALIZATION NOTE (webextPerms.header)
+# This string is used as a header in the webextension permissions dialog,
+# %S is replaced with the localized name of the extension being installed.
+# See https://bug1308309.bmoattachments.org/attachment.cgi?id=8814612
+# for an example of the full dialog.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.header=æ·»å %Sï¼
+
+webextPerms.unsignedWarning=注æï¼æ¤éå ç»ä»¶æªç»éªè¯ãæ¶æçéå ç»ä»¶å¯è½ä¼çªåæ¨çç§å¯ä¿¡æ¯ææåæ¨çè®¡ç®æºã请ä»
å¨ä¿¡ä»»æ¤éå ç»ä»¶çæ¥æºæ¶æå®è£
ã
+
+# LOCALIZATION NOTE (webextPerms.listIntro)
+# This string will be followed by a list of permissions requested
+# by the webextension.
+webextPerms.listIntro=è¦æ±åå¾ä¸åæéï¼
+webextPerms.learnMore=详ç»äºè§£æé
+webextPerms.add.label=æ·»å
+webextPerms.add.accessKey=A
+webextPerms.cancel.label=åæ¶
+webextPerms.cancel.accessKey=C
+
+# LOCALIZATION NOTE (webextPerms.sideloadMenuItem)
+# %1$S will be replaced with the localized name of the sideloaded add-on.
+# %2$S will be replace with the name of the application (e.g., Firefox, Nightly)
+webextPerms.sideloadMenuItem=%1$S 已添å å° %2$S
+
+# LOCALIZATION NOTE (webextPerms.sideloadHeader)
+# This string is used as a header in the webextension permissions dialog
+# when the extension is side-loaded.
+# %S is replaced with the localized name of the extension being installed.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.sideloadHeader=%S è£
好äº
+webextPerms.sideloadText2=æ¨çè®¡ç®æºä¸çæä¸ªç¨åºå®è£
äºå¯è½ä¼å½±åæ¨çæµè§å¨çéå ç»ä»¶ãè¯·æ£æ¥æ¤éä»¶ç»ä»¶æè¦æ±çæéï¼ç¶åéæ©å¯ç¨æè
åæ¶ï¼ä¿æç¦ç¨ç¶æï¼ã
+webextPerms.sideloadTextNoPerms=æ¨çè®¡ç®æºä¸çæä¸ªç¨åºå®è£
äºå¯è½ä¼å½±åæ¨çæµè§å¨çéå ç»ä»¶ãè¯·éæ©å¯ç¨æè
åæ¶ï¼ä¿æç¦ç¨ç¶æï¼ã
+
+webextPerms.sideloadEnable.label=å¯ç¨
+webextPerms.sideloadEnable.accessKey=E
+webextPerms.sideloadCancel.label=åæ¶
+webextPerms.sideloadCancel.accessKey=C
+
+# LOCALIZATION NOTE (webextPerms.updateMenuItem)
+# %S will be replaced with the localized name of the extension which
+# has been updated.
+webextPerms.updateMenuItem=%S éè¦æ°çæé
+
+# LOCALIZATION NOTE (webextPerms.updateText)
+# %S is replaced with the localized name of the updated extension.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.updateText=%S å·²ææ´æ°ãæ¨å¿
é¡»æ¥åæ°çæ¬ä¸çæ°æéæè½å®è£
æ´æ°ãéæ©âåæ¶âåä¿æç®å使ç¨ççæ¬ã
+
+webextPerms.updateAccept.label=æ´æ°
+webextPerms.updateAccept.accessKey=U
+
+# LOCALIZATION NOTE (webextPerms.optionalPermsHeader)
+# %S is replace with the localized name of the extension requested new
+# permissions.
+# Note, this string will be used as raw markup. Avoid characters like <, >, &
+webextPerms.optionalPermsHeader=%S éè¦é¢å¤æéã
+webextPerms.optionalPermsListIntro=宿³è¦ï¼
+webextPerms.optionalPermsAllow.label=å
许
+webextPerms.optionalPermsAllow.accessKey=A
+webextPerms.optionalPermsDeny.label=æç»
+webextPerms.optionalPermsDeny.accessKey=D
+
+webextPerms.description.bookmarks=读ååä¿®æ¹ä¹¦ç¾
+webextPerms.description.browserSettings=读ååä¿®æ¹æµè§å¨è®¾ç½®
+webextPerms.description.browsingData=æ¸
餿è¿çæµè§è®°å½ãCookie åæå
³æ°æ®
+webextPerms.description.clipboardRead=è·ååªè´´æ¿æ°æ®
+webextPerms.description.clipboardWrite=è¾å
¥æ°æ®å°åªè´´æ¿
+webextPerms.description.devtools=让å¼åè
å·¥å
·å¯ä»¥å忍æå¼çæ ç¾é¡µä¸çæ°æ®
+webextPerms.description.dns=è®¿é® IP å°åå主æºåç§°ä¿¡æ¯
+webextPerms.description.downloads=ä¸è½½æä»¶åè¯»åæµè§å¨çä¸è½½åå²
+webextPerms.description.downloads.open=æå¼å·²ä¸è½½è³æ¨çè®¡ç®æºçæä»¶
+webextPerms.description.find=读åå·²æå¼çæææ ç¾é¡µçææ¬
+webextPerms.description.geolocation=è·ç¥æ¨çä½ç½®
+webextPerms.description.history=ååæµè§åå²
+webextPerms.description.management=çæ§æ©å±ä½¿ç¨æ
åµå管ç主é¢
+# LOCALIZATION NOTE (webextPerms.description.nativeMessaging)
+# %S will be replaced with the name of the application
+webextPerms.description.nativeMessaging=ä¸ %S ä¹å¤çå
¶ä»ç¨åºäº¤æ¢ä¿¡æ¯
+webextPerms.description.notifications=ä¸ºæ¨æ¾ç¤ºéç¥
+webextPerms.description.pkcs11=æä¾å¯ç è®¤è¯æå¡
+webextPerms.description.privacy=读ååä¿®æ¹éç§è®¾ç½®
+webextPerms.description.proxy=æ§å¶æµè§å¨ç代ç设置
+webextPerms.description.sessions=ååæè¿å
³éçæ ç¾é¡µ
+webextPerms.description.tabs=ååæµè§å¨æ ç¾é¡µ
+webextPerms.description.tabHide=éèåæ¾ç¤ºæµè§å¨æ ç¾é¡µ
+webextPerms.description.topSites=ååæµè§åå²
+webextPerms.description.unlimitedStorage=æ ééåå¨å®¢æ·ç«¯æ°æ®
+webextPerms.description.webNavigation=卿¨ä¸ç½æ¶äºè§£æµè§å¨çè¡ä¸ºç¶æ
+
+webextPerms.hostDescription.allUrls=å忍卿æç½ç«çæ°æ®
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.wildcard)
+# %S will be replaced by the DNS domain for which a webextension
+# is requesting access (e.g., mozilla.org)
+webextPerms.hostDescription.wildcard=ååæ¨å¨ %S ååçæ°æ®
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManyWildcards):
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# domains for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManyWildcards=å忍ç¨äºå
¶ä» #1 个ååçæ°æ®
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.oneSite)
+# %S will be replaced by the DNS host name for which a webextension
+# is requesting access (e.g., www.mozilla.org)
+webextPerms.hostDescription.oneSite=ååæ¨å¨ %S çæ°æ®
+
+# LOCALIZATION NOTE (webextPerms.hostDescription.tooManySites)
+# Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 will be replaced by an integer indicating the number of additional
+# hosts for which this webextension is requesting permission.
+webextPerms.hostDescription.tooManySites=å忍ç¨äºå
¶ä» #1 个ç½ç«çæ°æ®
+
+# LOCALIZATION NOTE (webext.defaultSearch.description)
+# %1$S is replaced with the localized named of the extension that is asking to change the default search engine.
+# %2$S is replaced with the name of the current search engine
+# %3$S is replaced with the name of the new search engine
+webext.defaultSearch.description=%1$S æ³å°æ¨çé»è®¤æç´¢å¼æä» %2$S æ´æ¹ä¸º %3$Sãæ¨åæåï¼
+webext.defaultSearchYes.label=æ¯
+webext.defaultSearchYes.accessKey=Y
+webext.defaultSearchNo.label=å¦
+webext.defaultSearchNo.accessKey=N
+
+# LOCALIZATION NOTE (webext.remove.confirmation.title)
+# %S is the name of the extension which is about to be removed.
+webext.remove.confirmation.title=ç§»é¤ %S
+# LOCALIZATION NOTE (webext.remove.confirmation.message)
+# %1$S is the name of the extension which is about to be removed.
+# %2$S is brandShorterName
+webext.remove.confirmation.message=ç§»é¤ %2$S ä¸ç %1$S åï¼
+webext.remove.confirmation.button=ç§»é¤
+
+# LOCALIZATION NOTE (webext.remove.abuseReportCheckbox.message)
+# %S is vendorShortName
+webext.remove.abuseReportCheckbox.message=æè¦å %S ä¸¾æ¥æ¤æ©å±
+
+# LOCALIZATION NOTE (addonPostInstall.message1)
+# %1$S is replaced with the localized named of the extension that was
+# just installed.
+# %2$S is replaced with the localized name of the application.
+addonPostInstall.message1=%1$S 已添å å° %2$Sã
+
+# LOCALIZATION NOTE (addonDownloadingAndVerifying):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Also see https://bugzilla.mozilla.org/show_bug.cgi?id=570012 for mockups
+addonDownloadingAndVerifying=æ£å¨ä¸è½½å¹¶éªè¯ #1 个éå ç»ä»¶â¦
+addonDownloadVerifying=æ£å¨éªè¯
+
+addonInstall.unsigned=ï¼æªéªè¯ï¼
+addonInstall.cancelButton.label=åæ¶
+addonInstall.cancelButton.accesskey=C
+addonInstall.acceptButton2.label=æ·»å
+addonInstall.acceptButton2.accesskey=A
+
+# LOCALIZATION NOTE (addonConfirmInstallMessage,addonConfirmInstallUnsigned):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName
+# #2 is the number of add-ons being installed
+addonConfirmInstall.message=æ¤ç½ç«æ³è®©æ¨å¨ #1 ä¸å®è£
#2 个éå ç»ä»¶ï¼
+addonConfirmInstallUnsigned.message=注æï¼æ¤ç½ç«æ³å¨ #1 ä¸å®è£
#2 个æªéè¿éªè¯çéå ç»ä»¶ã请谨æ
å³å®ã
+
+# LOCALIZATION NOTE (addonConfirmInstallSomeUnsigned.message):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName
+# #2 is the total number of add-ons being installed (at least 2)
+addonConfirmInstallSomeUnsigned.message=注æï¼æ¤ç½ç«æ³å¨ #1 ä¸å®è£
#2 个éå ç»ä»¶ï¼å
¶ä¸ä¸äºæªéè¿éªè¯ã请谨æ
å³å®ã
+
+# LOCALIZATION NOTE (addonInstalled):
+# %S is the name of the add-on
+addonInstalled=%S å®è£
æåã
+# LOCALIZATION NOTE (addonsGenericInstalled):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of add-ons
+addonsGenericInstalled=#1 个éå ç»ä»¶å·²å®è£
æåã
+
+# LOCALIZATION NOTE (addonInstallError-1, addonInstallError-2, addonInstallError-3, addonInstallError-4, addonInstallError-5, addonLocalInstallError-1, addonLocalInstallError-2, addonLocalInstallError-3, addonLocalInstallError-4, addonLocalInstallError-5):
+# %1$S is the application name, %2$S is the add-on name
+addonInstallError-1=æ¤éå ç»ä»¶æªè½ä¸è½½ï¼å ä¸ºè¿æ¥å¤±è´¥ã
+addonInstallError-2=æä¸è½½ç䏿¯æ¬è¦å®è£
éå ç»ä»¶ %1$Sï¼æ æ³å®è£
ã
+addonInstallError-3=仿¤ç½ç«ä¸è½½çè¿ä¸ªéå ç»ä»¶æä»¶æåäºï¼æ æ³å®è£
ã
+addonInstallError-4=%2$S æªè½å®è£
ï¼å 为 %1$S æ æ³ä¿®æ¹æéçæä»¶ã
+addonInstallError-5=%1$S 已黿¢æ¤ç½ç«å®è£
æªéè¿éªè¯çéå ç»ä»¶ã
+addonLocalInstallError-1=å 为æä»¶ç³»ç»éè¯¯ï¼æ æ³å®è£
该éå ç»ä»¶ã
+addonLocalInstallError-2=æä¸è½½ç䏿¯æ¬è¦å®è£
éå ç»ä»¶ %1$Sï¼æ æ³å®è£
ã
+addonLocalInstallError-3=该éå ç»ä»¶æ æ³å®è£
ï¼å 为å®ä¼¼ä¹å·²æåã
+addonLocalInstallError-4=%2$S æªè½å®è£
ï¼å 为 %1$S æ æ³ä¿®æ¹æéçæä»¶ã
+addonLocalInstallError-5=æ¤éå ç»ä»¶æ æ³å®è£
ï¼å ä¸ºå®æªéè¿éªè¯ã
+
+# LOCALIZATION NOTE (addonInstallErrorIncompatible):
+# %1$S is the application name, %2$S is the application version, %3$S is the add-on name
+addonInstallErrorIncompatible=%3$S æªè½å®è£
ï¼å 为å®ä¸ %1$S %2$S ä¸å
¼å®¹ã
+
+# LOCALIZATION NOTE (addonInstallErrorBlocklisted): %S is add-on name
+addonInstallErrorBlocklisted=%S æªè½å®è£
ï¼å 为å®å¾å¯è½å¼åç¨³å®æ§æå®å
¨æ§é®é¢ã
+
+unsignedAddonsDisabled.message=æäºå·²å®è£
çéå ç»ä»¶æªéè¿éªè¯ï¼ç°å·²è¢«ç¦ç¨ã
+unsignedAddonsDisabled.learnMore.label=详ç»äºè§£
+unsignedAddonsDisabled.learnMore.accesskey=L
+
+# LOCALIZATION NOTE (lightTheme.name): This is displayed in about:addons -> Appearance
+lightTheme.name=æäº®
+lightTheme.description=æäº®é
è²ç主é¢ã
+
+# LOCALIZATION NOTE (darkTheme.name): This is displayed in about:addons -> Appearance
+darkTheme.name=æ·±é
+darkTheme.description=æ·±éé
è²ç主é¢ã
+
+# LOCALIZATION NOTE (lwthemeInstallRequest.message2): %S will be replaced with
+# the host name of the site.
+lwthemeInstallRequest.message2=æ¤ç½ç« (%S) å°è¯å®è£
ä¸ä¸ªä¸»é¢ã
+lwthemeInstallRequest.allowButton2=å
许
+lwthemeInstallRequest.allowButton.accesskey2=a
+
+# LOCALIZATION NOTE (popupWarning.message): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popupWarning.message=#1 黿¢äºæ¤ç½ç«ç #2 个弹çªã
+# LOCALIZATION NOTE (popupWarning.exceeded.message): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is left empty for English, since the number of blocked pop-ups is always greater than 1.
+# #1 is brandShortName and #2 is the number of pop-ups blocked.
+popupWarning.exceeded.message=#1 黿¢äºæ¤ç½ç«æå¼è¶
è¿ #2 个弹åºå¼çªå£ã
+popupWarningButton=é项
+popupWarningButton.accesskey=O
+popupWarningButtonUnix=é¦é项
+popupWarningButtonUnix.accesskey=P
+popupAllow=å
许 %S å¼¹åºçªå£
+popupBlock=黿¢ %S å¼¹åºçªå£
+popupWarningDontShowFromMessage=å½å¼¹åºå¼çªå£è¢«æ¦æªæ¶ä¸æ¾ç¤ºæ¤æ¶æ¯
+popupShowPopupPrefix=æ¾ç¤ºâ%Sâ
+
+# LOCALIZATION NOTE (popupShowBlockedPopupsIndicatorText): Semicolon separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of pop-ups blocked.
+popupShowBlockedPopupsIndicatorText=æ¾ç¤º #1 ä¸ªå·²æ¦æªçå¼¹åºçªå£â¦
+
+# Bad Content Blocker Doorhanger Notification
+# %S is brandShortName
+badContentBlocked.blocked.message=%S æ¦æªäºæ¤é¡µé¢ä¸çé¨åå
容ã
+badContentBlocked.notblocked.message=%S æªæ¦æªæ¤é¡µé¢ä¸çä»»ä½å
容ã
+
+crashedpluginsMessage.title=æä»¶ %S 已崩æºã
+crashedpluginsMessage.reloadButton.label=éæ°è½½å
¥é¡µé¢
+crashedpluginsMessage.reloadButton.accesskey=R
+crashedpluginsMessage.submitButton.label=æäº¤å´©æºæ¥å
+crashedpluginsMessage.submitButton.accesskey=S
+crashedpluginsMessage.learnMore=详ç»äºè§£â¦
+
+# Keyword fixup messages
+# LOCALIZATION NOTE (keywordURIFixup.message): Used when the user tries to visit
+# a local host page, by the time the DNS request recognizes it, we have already
+# loaded a search page for the given word. An infobar then asks to the user
+# whether he rather wanted to visit the host. %S is the recognized host.
+keywordURIFixup.message=æ¨æ¯è¦è®¿é® %S åï¼
+keywordURIFixup.goTo=æ¯çï¼å¸¦æåå¾ %S
+keywordURIFixup.goTo.accesskey=Y
+keywordURIFixup.dismiss=ä¸äºï¼è°¢è°¢
+keywordURIFixup.dismiss.accesskey=N
+
+pluginInfo.unknownPlugin=æªç¥
+
+# Flash activation doorhanger UI
+flashActivate.message=æ¨æ³å
è®¸å¨æ¤ç½ç«ä¸è¿è¡ Adobe Flash åï¼è¯·åªå¨æ¨ä¿¡ä»»çç½ç«ä¸å
许 Adobe Flashã
+flashActivate.outdated.message=æ¨æ³å
è®¸å¨æ¤ç½ç«ä¸è¿è¡çæ¬è¿æ¶ç Adobe Flash åï¼è¿æ¶ççæ¬å¯è½å½±åæµè§å¨æ§è½åå®å
¨æ§ã
+flashActivate.remember=è®°ä½æ¤å³å®
+flashActivate.noAllow=ä¸å
许
+flashActivate.allow=å
许
+flashActivate.noAllow.accesskey=D
+flashActivate.allow.accesskey=A
+
+# in-page UI
+# LOCALIZATION NOTE (PluginClickToActivate2): Two changes were done to the
+# previous version of the string. The first is that we changed the wording from
+# "Activate" to "Run", because it's shorter and feels less technical in English.
+# Feel free to keep using the previous wording in your language if it's already
+# the best one.
+# The second change is that we removed the period at the end of the phrase, because
+# it's not natural in our UI, and the underline was removed from this, so it doesn't
+# look like a link anymore. We suggest that everyone removes that period too.
+PluginClickToActivate2=è¿è¡ %S
+PluginVulnerableUpdatable=è¯¥çæ¬æä»¶åå¨å®å
¨éæ£ï¼åºå½æ´æ°ã
+PluginVulnerableNoUpdate=æ¤æä»¶æå®å
¨éæ£ã
+
+# Sanitize
+# LOCALIZATION NOTE (update.downloadAndInstallButton.label): %S is replaced by the
+# version of the update: "Update to 28.0".
+update.downloadAndInstallButton.label=æ´æ°å° %S
+update.downloadAndInstallButton.accesskey=U
+
+menuOpenAllInTabs.label=å
¨é¨æå¼
+
+# History menu
+menuRestoreAllTabs.label=è¿åæææ ç¾é¡µ
+# LOCALIZATION NOTE (menuRestoreAllTabsSubview.label): like menuRestoreAllTabs.label,
+# but used in the history subview in the panel UI, so needs to mention these are *closed* tabs.
+menuRestoreAllTabsSubview.label=æ¢å¤å
³éçæ ç¾é¡µ
+# LOCALIZATION NOTE (menuRestoreAllWindows, menuUndoCloseWindowLabel, menuUndoCloseWindowSingleTabLabel):
+# see bug 394759
+menuRestoreAllWindows.label=æ¢å¤ææçªå£
+# LOCALIZATION NOTE (menuRestoreAllWindowsSubview.label): like menuRestoreAllWindows.label,
+# but used in the history subview in the panel UI, so needs to mention these are *closed* windows.
+menuRestoreAllWindowsSubview.label=æ¢å¤å
³éççªå£
+# LOCALIZATION NOTE (menuUndoCloseWindowLabel): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 Window Title, #2 Number of tabs
+menuUndoCloseWindowLabel=#1 (ä¸å
¶ä»å
± #2 个æ ç¾é¡µ)
+menuUndoCloseWindowSingleTabLabel=#1
+
+# Unified Back-/Forward Popup
+tabHistory.current=åç卿¤é¡µ
+tabHistory.goBack=åéè³æ¤é¡µé¢
+tabHistory.goForward=åè¿è³æ¤é¡µé¢
+
+# URL Bar
+pasteAndGo.label=ç²è´´å¹¶åå¾
+# LOCALIZATION NOTE (reloadButton.tooltip):
+# %S is the keyboard shortcut for reloading the current page
+reloadButton.tooltip=éæ°è½½å
¥å½åé¡µé¢ (%S)
+# LOCALIZATION NOTE (stopButton.tooltip):
+# %S is the keyboard shortcut for stopping loading the page
+stopButton.tooltip=åæ¢è½½å
¥æ¤é¡µé¢ (%S)
+# LOCALIZATION NOTE (urlbar-zoom-button.tooltip):
+# %S is the keyboard shortcut for resetting the zoom level to 100%
+urlbar-zoom-button.tooltip=é置缩æ¾çº§å« (%S)
+# LOCALIZATION NOTE (reader-mode-button.tooltip):
+# %S is the keyboard shortcut for entering/exiting reader view
+reader-mode-button.tooltip=忢é
读å¨è§å¾ (%S)
+# LOCALIZATION NOTE (urlbar.placeholder):
+# %S is the name of the user's current search engine
+urlbar.placeholder=ä½¿ç¨ %S æç´¢ï¼æè
è¾å
¥ç½å
+# LOCALIZATION NOTE (urlbarSearchTip.onboarding):
+# %S is the name of the user's current search engine
+urlbarSearchTip.onboarding=è¾å
¥å¯¥å¯¥ï¼æéä¸åï¼å¨å°åæ å°±è½ç¨ %S æç´¢ã
+# LOCALIZATION NOTE (urlbarSearchTip.engineIsCurrentPage):
+# %S is the name of the user's current search engine
+urlbarSearchTip.engineIsCurrentPage=å¨è¿éæç´¢ï¼å¯ä»¥çå° %S æä¾ç建议ï¼è¿ææ¨çç¸å
³æµè§åå²ã
+
+# LOCALIZATION NOTE(zoom-button.label): %S is the current page zoom level,
+# %% will be displayed as a single % character (% is commonly used to define
+# format specifiers, so it needs to be escaped).
+zoom-button.label = %S%%
+
+# Block autorefresh
+refreshBlocked.goButton=å
许
+refreshBlocked.goButton.accesskey=A
+refreshBlocked.refreshLabel=%S 黿¢äºæ¤é¡µé¢èªå¨éæ°è½½å
¥ã
+refreshBlocked.redirectLabel=%S 黿¢äºæ¤é¡µé¢èªå¨éå®åè³å
¶ä»é¡µé¢ã
+
+# General bookmarks button
+# LOCALIZATION NOTE (bookmarksMenuButton.tooltip):
+# %S is the keyboard shortcut for "Show All Bookmarks"
+bookmarksMenuButton.tooltip=æ¾ç¤ºæ¨çä¹¦ç¾ (%S)
+# Star button
+starButtonOn.tooltip2=ç¼è¾æ¤ä¹¦ç¾ï¼%Sï¼
+starButtonOff.tooltip2=为æ¤é¡µæ·»å 书ç¾ï¼%Sï¼
+
+# Downloads button tooltip
+# LOCALIZATION NOTE (downloads.tooltip):
+# %S is the keyboard shortcut for "Downloads"
+downloads.tooltip=æ¾ç¤ºä¸è½½è¿åº¦ (%S)
+
+# Print button tooltip on OS X
+# LOCALIZATION NOTE (printButton.tooltip):
+# Use the unicode ellipsis char, \u2026,
+# or use "..." if \u2026 doesn't suit traditions in your locale.
+# %S is the keyboard shortcut for "Print"
+printButton.tooltip=æå°æ¤é¡µâ¦ (%S)
+
+# New Window button tooltip
+# LOCALIZATION NOTE (newWindowButton.tooltip):
+# %S is the keyboard shortcut for "New Window"
+newWindowButton.tooltip=æå¼æ°çªå£ (%S)
+
+# New Tab button tooltip
+# LOCALIZATION NOTE (newTabButton.tooltip):
+# %S is the keyboard shortcut for "New Tab"
+newTabButton.tooltip=æå¼æ°æ ç¾é¡µ (%S)
+
+# Offline web applications
+offlineApps.available2=æ¨æ¯å¦è¦å
许 %S 卿¨çè®¡ç®æºä¸å卿°æ®ï¼
+offlineApps.allowStoring.label=å
许å卿°æ®
+offlineApps.allowStoring.accesskey=A
+offlineApps.dontAllow.label=ä¸å
许
+offlineApps.dontAllow.accesskey=n
+
+offlineApps.usage=æ¤ç«ç¹ ï¼%Sï¼ æ£å¨ä¿åè¶
è¿ %SMB çæ°æ®è³æ¨çè®¡ç®æºä»¥ä¾è±æºä½¿ç¨ã
+offlineApps.manageUsage=æ¾ç¤ºè®¾ç½®
+offlineApps.manageUsageAccessKey=S
+
+# Canvas permission prompt
+# LOCALIZATION NOTE (canvas.siteprompt): %S is hostname
+canvas.siteprompt=æ¨æ³å
许 %S ä½¿ç¨æ¨ç HTML5 Canvas å¾åæ°æ®åï¼ç½ç«å¯è½ç¨æ¤æ°æ®æ¥è¯å«æ¨ççµèã
+canvas.notAllow=ä¸å
许
+canvas.notAllow.accesskey=n
+canvas.allow=å
许è·å¾æ°æ®
+canvas.allow.accesskey=A
+canvas.remember=è®°ä½æçå³å®
+
+# WebAuthn prompts
+# LOCALIZATION NOTE (webauthn.registerPrompt2): %S is hostname
+webauthn.registerPrompt2=%S æ³è¦ç¨æ¨çä¸ä¸ªå®å
¨å¯é¥æ³¨åè´¦æ·ãæ¨ç°å¨å¯ä»¥è¿æ¥å¹¶ææï¼ä¹å¯ä»¥åæ¶ã
+# LOCALIZATION NOTE (webauthn.registerDirectPrompt2):
+# %1$S is hostname. %2$S is brandShortName.
+# The website is asking for extended information about your
+# hardware authenticator that shouldn't be generally necessary. Permitting
+# this is safe if you only use one account at this website. If you have
+# multiple accounts at this website, and you use the same hardware
+# authenticator, then the website could link those accounts together.
+# And this is true even if you use a different profile / browser (or even Tor
+# Browser). To avoid this, you should use different hardware authenticators
+# for different accounts on this website.
+webauthn.registerDirectPrompt2=%1$S è¯·æ±æ¨çå®å
¨å¯é¥çæ©å±ä¿¡æ¯ï¼è¿å¯è½ä¼å½±åæ¨çéç§ã\n\n%2$S å¯ä»¥ä¸ºæ¨å¿ååä¸è¿°ä¿¡æ¯ï¼ä½è¯¥ç½ç«å¯è½ä¼æç»å¯é¥ãå¦æè¢«æç»ï¼æ¨å¯ä»¥éè¯ã
+# LOCALIZATION NOTE (webauthn.signPrompt2): %S is hostname
+webauthn.signPrompt2=%S å¸æä½¿ç¨å·²æ³¨åçå®å
¨å¯é¥éªè¯æ¨çèº«ä»½ãæ¨ç°å¨å¯ä»¥è¿æ¥å¹¶ææï¼ä¹å¯ä»¥åæ¶ã
+webauthn.cancel=åæ¶
+webauthn.cancel.accesskey=c
+webauthn.proceed=ç»§ç»
+webauthn.proceed.accesskey=p
+webauthn.anonymize=è¿æ¯è¦å¿å
+
+# Spoof Accept-Language prompt
+privacy.spoof_english=å°æ¨çè¯è¨è®¾ä¸ºè±è¯è½è®©ç½ç«æ´é¾è¯å«æ¨ï¼æå©äºå¼ºåä¿æ¤æ¨çéç§ãè¦æ¹ä¸ºè¦æ±è±è¯ç½é¡µåï¼
+
+# LOCALIZATION NOTE (identity.headerWithHost):
+# %S is the hostname of the site that is being displayed.
+identity.headerWithHost=ç½ç«ä¿¡æ¯ - %S
+identity.identified.verifier=éªè¯è
ï¼%S
+identity.identified.verified_by_you=æ¨å·²å°æ¤ç½ç«å å
¥å®å
¨ä¾å¤ã
+identity.identified.state_and_country=%S, %S
+
+# LOCALIZATION NOTE (identity.notSecure.label):
+# Keep this string as short as possible, this is displayed in the URL bar
+# use a synonym for "safe" or "private" if "secure" is too long.
+identity.notSecure.label=ä¸å®å
¨
+
+identity.icon.tooltip=æ¾ç¤ºç½ç«ä¿¡æ¯
+identity.extension.label=æ©å± (%S)
+identity.extension.tooltip=ç±æ©å±è½½å
¥ï¼%S
+identity.showDetails.tooltip=æ¾ç¤ºè¿æ¥ç»è
+
+contentBlocking.title=å
å®¹æ¦æª
+contentBlocking.tooltip=æå¼å
å®¹æ¦æªé¦é项
+
+contentBlocking.tooltipWin=æå¼å
å®¹æ¦æªé项
+contentBlocking.tooltipOther=æå¼å
å®¹æ¦æªé¦é项
+
+# LOCALIZATION NOTE (contentBlocking.category.*):
+# The terminology used to refer to levels of Content Blocking is also used
+# in preferences and should be translated consistently.
+# LOCALIZATION NOTE (contentBlocking.category.standard):
+# "Standard" in this case is an adjective, meaning "default" or "normal"
+contentBlocking.category.standard=æ å
+contentBlocking.category.strict=ä¸¥æ ¼
+contentBlocking.category.custom=èªå®ä¹
+
+# LOCALIZATION NOTE (contentBlocking.trackers.allowed.label):
+# This label signals that this type of content blocking is turned
+# OFF and is not blocking tracker content, so this is not
+# a positive thing. It forms the end of the (imaginary) sentence
+# "Trackers [are] Allowed"
+contentBlocking.trackers.allowed.label=å·²å
许
+# LOCALIZATION NOTE (contentBlocking.trackers.blocking.label):
+# This label signals that this type of content blocking is turned
+# ON and is successfully blocking tracker content, so this is
+# a positive thing. However, it is important to note that there is no
+# guarantee that we _actually_ blocked anything, hence we present it
+# in the present tense, not the past tense in English. The idea is that
+# past tense would imply that something was blocked, while present
+# tense expresses that we are waiting for trackers to load
+# and will block them as appropriate. This concept may not directly
+# translate to your language, but it is still preferable if the translation
+# would not make it seem like the blocking had already happened.
+# So in full context this word could be part of the sentence:
+# "[Firefox is] Blocking [trackers when they get loaded.]"
+contentBlocking.trackers.blocking.label=æ¦æªå¼å¯
+
+# LOCALIZATION NOTE (contentBlocking.trackersView.blocked.label):
+# This label is shown next to a tracker in the trackers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.trackersView.blocked.label=å·²æ¦æª
+
+contentBlocking.trackersView.empty.label=æ¤ç½ç«ä¸æªæ£åº
+
+# LOCALIZATION NOTE (contentBlocking.cookies.allowed.label):
+# This label signals that this type of content blocking is turned
+# OFF and is not blocking tracker content, so this is not
+# a positive thing. It forms the end of the (imaginary) sentence
+# "Cookies [are] Allowed"
+contentBlocking.cookies.allowed.label=å·²å
许
+# LOCALIZATION NOTE (contentBlocking.cookies.blockingTrackers.label, contentBlocking.cookies.blocking3rdParty.label,
+# contentBlocking.cookies.blockingUnvisited.label,contentBlocking.cookies.blockingAll.label):
+# See localization note for contentBlocking.trackers.blocking.label to get recommendations on translating "Blocking".
+contentBlocking.cookies.blockingTrackers.label=æ¦æªç¨äºè·è¸ªç Cookie
+contentBlocking.cookies.blocking3rdParty.label=æ¦æªç¬¬ä¸æ¹ Cookie
+contentBlocking.cookies.blockingUnvisited.label=æ¦æªæªè®¿é®ç½ç«ç Cookie
+contentBlocking.cookies.blockingAll.label=æ¦æªææ Cookie
+
+contentBlocking.cookiesView.firstParty.label=æ¥èªæ¤ç½ç«
+# LOCALIZATION NOTE (contentBlocking.cookiesView.firstParty.empty.label):
+# This references the header from contentBlocking.cookiesView.firstParty.label:
+# "[Cookies] From This Site: None detected on this site".
+contentBlocking.cookiesView.firstParty.empty.label=æ¤ç½ç«ä¸æªæ£åº
+
+contentBlocking.cookiesView.trackers.label=è·è¸ª Cookie
+# LOCALIZATION NOTE (contentBlocking.cookiesView.trackers.empty.label):
+# This references the header from contentBlocking.cookiesView.trackers.label:
+# "Tracking Cookies: None detected on this site".
+contentBlocking.cookiesView.trackers.empty.label=æ¤ç½ç«ä¸æªæ£åº
+
+contentBlocking.cookiesView.thirdParty.label=ç¬¬ä¸æ¹ Cookie
+# LOCALIZATION NOTE (contentBlocking.cookiesView.thirdParty.empty.label):
+# This references the header from contentBlocking.cookiesView.thirdParty.label:
+# "Third-Party Cookies: None detected on this site".
+contentBlocking.cookiesView.thirdParty.empty.label=æ¤ç½ç«ä¸æªæ£åº
+
+# LOCALIZATION NOTE (contentBlocking.cookiesView.allowed.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Allowed"
+contentBlocking.cookiesView.allowed.label=å·²å
许
+# LOCALIZATION NOTE (contentBlocking.cookiesView.blocked.label):
+# This label is shown next to a cookie origin in the cookies subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cookiesView.blocked.label=å·²æ¦æª
+# LOCALIZATION NOTE (contentBlocking.cookiesView.removeButton.tooltip): %S is the domain of the site.
+contentBlocking.cookiesView.removeButton.tooltip=æ¸
é¤å¯¹ %S ç Cookie ä¾å¤
+
+# LOCALIZATION NOTE (contentBlocking.fingerprintersView.blocked.label):
+# This label is shown next to a fingerprinter in the fingerprinters subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.fingerprintersView.blocked.label=å·²æ¦æª
+
+# LOCALIZATION NOTE (contentBlocking.fingerprinters.allowed.label):
+# This label signals that this type of content blocking is turned
+# OFF and is not blocking fingerprinters, so this is not
+# a positive thing. It forms the end of the (imaginary) sentence
+# "Fingerprinters [are] Allowed"
+contentBlocking.fingerprinters.allowed.label=å·²å
许
+# LOCALIZATION NOTE (contentBlocking.fingerprinters.blocking.label):
+# This label signals that this type of content blocking is turned
+# ON and is successfully blocking fingerprinters, so this is
+# a positive thing. However, it is important to note that there is no
+# guarantee that we _actually_ blocked anything, hence we present it
+# in the present tense, not the past tense in English. The idea is that
+# past tense would imply that something was blocked, while present
+# tense expresses that we are waiting for fingerprinters to load
+# and will block them as appropriate. This concept may not directly
+# translate to your language, but it is still preferable if the translation
+# would not make it seem like the blocking had already happened.
+# So in full context this word could be part of the sentence:
+# "[Firefox is] Blocking [fingerprinters when they get loaded.]"
+contentBlocking.fingerprinters.blocking.label=æ¦æªå¼å¯
+
+# LOCALIZATION NOTE (contentBlocking.cryptominersView.blocked.label):
+# This label is shown next to a cryptominer in the cryptominers subview.
+# It forms the end of the (imaginary) sentence "www.example.com [was] Blocked"
+contentBlocking.cryptominersView.blocked.label=å·²æ¦æª
+
+# LOCALIZATION NOTE (contentBlocking.cryptominers.allowed.label):
+# This label signals that this type of content blocking is turned
+# OFF and is not blocking cryptominers, so this is not
+# a positive thing. It forms the end of the (imaginary) sentence
+# "Cryptominers [are] Allowed"
+contentBlocking.cryptominers.allowed.label=å·²å
许
+# LOCALIZATION NOTE (contentBlocking.cryptominers.blocking.label):
+# This label signals that this type of content blocking is turned
+# ON and is successfully blocking cryptominers, so this is
+# a positive thing. However, it is important to note that there is no
+# guarantee that we _actually_ blocked anything, hence we present it
+# in the present tense, not the past tense in English. The idea is that
+# past tense would imply that something was blocked, while present
+# tense expresses that we are waiting for cryptominers to load
+# and will block them as appropriate. This concept may not directly
+# translate to your language, but it is still preferable if the translation
+# would not make it seem like the blocking had already happened.
+# So in full context this word could be part of the sentence:
+# "[Firefox is] Blocking [cryptominers when they get loaded.]"
+contentBlocking.cryptominers.blocking.label=æ¦æªå¼å¯
+
+# LOCALIZATION NOTE (contentBlocking.intro.title): %S is brandShortName.
+contentBlocking.intro.title=%S æ°åè½ï¼å
å®¹æ¦æª
+# LOCALIZATION NOTE (contentBlocking.v1.intro.description): %S is brandShortName.
+contentBlocking.intro.v1.description=彿¨çå°è¿ä¸ªç¾çæ¶ï¼æå³ç %S å·²æ¦æªè¯¥é¡µé¢ä¸å¯è½è·è¸ªæ¨çæµè§è¡ä¸ºæéä½è®¿é®é度çå
容ã
+contentBlocking.intro.v2.description=è·è¸ªä¿æ¤çéç§ä¿éç°å·²èå
¥å
å®¹æ¦æªåè½ã卿¨çå°ç¾çæ¶ï¼å
å®¹æ¦æªåè½ä¸ºå¼å¯ç¶æã
+# LOCALIZATION NOTE (trackingProtection.intro.step1of3): Indicates that the intro panel is step one of three in a tour.
+trackingProtection.intro.step1of3=1 / 3
+trackingProtection.intro.nextButton.label=ä¸ä¸æ¥
+
+trackingProtection.icon.activeTooltip=å·²æ¦æªè·è¸ªè¡ä¸º
+trackingProtection.icon.disabledTooltip=æ£æµå°è·è¸ªå
容
+
+# Edit Bookmark UI
+editBookmarkPanel.newBookmarkTitle=æ°å»ºä¹¦ç¾
+editBookmarkPanel.editBookmarkTitle=ç¼è¾æ¤ä¹¦ç¾
+editBookmarkPanel.cancel.label=åæ¶
+editBookmarkPanel.cancel.accesskey=C
+
+# LOCALIZATION NOTE (editBookmark.removeBookmarks.label): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is the number of bookmarks to be removed.
+# If this causes problems with localization you can also do "Remove Bookmarks (#1)"
+# instead of "Remove #1 Bookmarks".
+editBookmark.removeBookmarks.label=ç§»é¤ #1 个书ç¾
+editBookmark.removeBookmarks.accesskey=R
+
+# Post Update Notifications
+pu.notifyButton.label=详æ
â¦
+pu.notifyButton.accesskey=D
+# LOCALIZATION NOTE %S will be replaced by the short name of the application.
+puNotifyText=%S æ´æ°å®æ¯
+puAlertTitle=%S å·²æ´æ°
+puAlertText=å廿¤å¤æ¥ç详ç»ä¿¡æ¯
+
+# Application menu
+
+# LOCALIZATION NOTE(zoomReduce-button.tooltip): %S is the keyboard shortcut.
+zoomReduce-button.tooltip = ç¼©å° (%S)
+# LOCALIZATION NOTE(zoomReset-button.tooltip): %S is the keyboard shortcut.
+zoomReset-button.tooltip = é置缩æ¾çº§å« (%S)
+# LOCALIZATION NOTE(zoomEnlarge-button.tooltip): %S is the keyboard shortcut.
+zoomEnlarge-button.tooltip = æ¾å¤§ (%S)
+
+# LOCALIZATION NOTE (cut-button.tooltip): %S is the keyboard shortcut.
+cut-button.tooltip = åªå (%S)
+# LOCALIZATION NOTE (copy-button.tooltip): %S is the keyboard shortcut.
+copy-button.tooltip = å¤å¶ (%S)
+# LOCALIZATION NOTE (paste-button.tooltip): %S is the keyboard shortcut.
+paste-button.tooltip = ç²è´´ (%S)
+
+# Geolocation UI
+
+geolocation.allowLocation=å
许è·åä½ç½®
+geolocation.allowLocation.accesskey=A
+geolocation.dontAllowLocation=ä¸å
许
+geolocation.dontAllowLocation.accesskey=n
+geolocation.shareWithSite3=æ¨æ¯å¦è¦å
许 %S è·åæ¨çä½ç½®ï¼
+geolocation.shareWithFile3=æ¨æ¯å¦è¦å
è®¸æ¤æ¬å°æä»¶è·åæ¨çä½ç½®ï¼
+geolocation.remember=è®°ä½æ¤å³å®
+
+# Persistent storage UI
+persistentStorage.allow=å
许
+persistentStorage.allow.accesskey=A
+persistentStorage.neverAllow.label=æ°¸ä¸å
许
+persistentStorage.neverAllow.accesskey=N
+persistentStorage.notNow.label=ææ¶ä¸è¦
+persistentStorage.notNow.accesskey=w
+persistentStorage.allowWithSite=æ¨è¦å
许 %S 卿ä¹
åå¨ä¸å卿°æ®åï¼
+
+webNotifications.allow=å
许éç¥
+webNotifications.allow.accesskey=A
+webNotifications.notNow=ææ¶ä¸è¦
+webNotifications.notNow.accesskey=n
+webNotifications.never=æ°¸ä¸å
许
+webNotifications.never.accesskey=v
+webNotifications.receiveFromSite2=æ¨æ¯å¦è¦å
许 %S åééç¥ï¼
+
+# Phishing/Malware Notification Bar.
+# LOCALIZATION NOTE (notADeceptiveSite, notAnAttack)
+# The two button strings will never be shown at the same time, so
+# it's okay for them to have the same access key
+safebrowsing.getMeOutOfHereButton.label=带æç¦»å¼ï¼
+safebrowsing.getMeOutOfHereButton.accessKey=G
+safebrowsing.deceptiveSite=è¯éªç½ç«ï¼
+safebrowsing.notADeceptiveSiteButton.label=è¿ä¸æ¯è¯éªç½ç«â¦
+safebrowsing.notADeceptiveSiteButton.accessKey=D
+safebrowsing.reportedAttackSite=æ¤é¡µé¢æ®ä¸¾æ¥ææ»å»è¡ä¸ºï¼
+safebrowsing.notAnAttackButton.label=è¿ä¸æ¯ä¸ä¸ªæå®³ç½ç«â¦
+safebrowsing.notAnAttackButton.accessKey=a
+safebrowsing.reportedUnwantedSite=æ¤ç½ç«è¢«ä¸¾æ¥æä¾æµæ°è½¯ä»¶ï¼
+safebrowsing.reportedHarmfulSite=ä¸¾æ¥æ¶æç½ç«ï¼
+
+# Ctrl-Tab
+# LOCALIZATION NOTE (ctrlTab.listAllTabs.label): #1 represents the number
+# of tabs in the current browser window. It will always be 2 at least.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+ctrlTab.listAllTabs.label=ååºå
¨é¨ #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (addKeywordTitleAutoFill): %S will be replaced by the page's title
+# Used as the bookmark name when saving a keyword for a search field.
+addKeywordTitleAutoFill=ç¨ %S æç´¢
+
+# safeModeRestart
+safeModeRestartPromptTitle=éæ°æå¼å¹¶ç¦ç¨éå ç»ä»¶
+safeModeRestartPromptMessage=æ¨ç¡®å®è¦ç¦ç¨ææéå ç»ä»¶å¹¶é弿µè§å¨åï¼
+safeModeRestartButton=éæ°æå¼
+
+# LOCALIZATION NOTE (browser.menu.showCharacterEncoding): Set to the string
+# "true" (spelled and capitalized exactly that way) to show the "Text
+# Encoding" menu in the main Firefox button on Windows. Any other value will
+# hide it. Regardless of the value of this setting, the "Text Encoding"
+# menu will always be accessible via the "Web Developer" menu.
+# This is not a string to translate; it just controls whether the menu shows
+# up in the Firefox button. If users frequently use the "Text Encoding"
+# menu, set this to "true". Otherwise, you can leave it as "false".
+browser.menu.showCharacterEncoding=false
+
+# Mozilla data reporting notification (Telemetry, Firefox Health Report, etc)
+dataReportingNotification.message = %1$S ä¼èªå¨å %2$S åé¦ä¸äºæ°æ®ï¼è®©æä»¬è½å¤æ¹åæ¨ç使ç¨ä½éªã
+dataReportingNotification.button.label = æè¦éæ©æä¾åªäºä¿¡æ¯
+dataReportingNotification.button.accessKey = C
+
+# Process hang reporter
+processHang.label = æä¸ªç½é¡µè®©æ¨çæµè§å¨åæ
¢äºãæ¨æ³å¦ä½å¤çï¼
+# LOCALIZATION NOTE (processHang.add-on.label): %1$S is the name of the
+# extension. %2$S is the name of the product (e.g., Firefox)
+processHang.add-on.label = æ©å±â%1$Sâ嫿çæä¸ªèæ¬ææ
¢äº %2$Sã
+processHang.add-on.learn-more.text = 详ç»äºè§£
+processHang.button_stop.label = 忢
+processHang.button_stop.accessKey = S
+processHang.button_stop_sandbox.label = 卿¤é¡µé¢ä¸´æ¶ç¦ç¨æ©å±
+processHang.button_stop_sandbox.accessKey = A
+processHang.button_wait.label = çå¾
+processHang.button_wait.accessKey = W
+processHang.button_debug.label = è°è¯èæ¬
+processHang.button_debug.accessKey = D
+
+# LOCALIZATION NOTE (fullscreenButton.tooltip): %S is the keyboard shortcut for full screen
+fullscreenButton.tooltip=å
¨å±æ¾ç¤ºæ¤çªå£ (%S)
+
+# These are visible when opening the popup inside the bookmarks sidebar
+sidebar.moveToLeft=ç§»å¨ä¾§æ å°å·¦ä¾§
+sidebar.moveToRight=ç§»å¨ä¾§æ å°å³ä¾§
+
+# LOCALIZATION NOTE (getUserMedia.shareCamera2.message,
+# getUserMedia.shareMicrophone2.message,
+# getUserMedia.shareScreen3.message,
+# getUserMedia.shareCameraAndMicrophone2.message,
+# getUserMedia.shareCameraAndAudioCapture2.message,
+# getUserMedia.shareScreenAndMicrophone3.message,
+# getUserMedia.shareScreenAndAudioCapture3.message,
+# getUserMedia.shareAudioCapture2.message):
+# %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.shareCamera2.message = æ¨æ¯å¦è¦å
许 %S ä½¿ç¨æ¨çæå头ï¼
+getUserMedia.shareMicrophone2.message = æ¨æ¯å¦è¦å
许 %S ä½¿ç¨æ¨ç麦å
é£ï¼
+getUserMedia.shareScreen3.message = æ¨æ¯å¦è¦å
许 %S æ¥çæ¨çå±å¹ï¼
+getUserMedia.shareCameraAndMicrophone2.message = æ¨æ¯å¦è¦å
许 %S ä½¿ç¨æ¨çæå头å麦å
é£ï¼
+getUserMedia.shareCameraAndAudioCapture2.message = æ¨æ¯å¦è¦å
许 %S ä½¿ç¨æ¨çæå头åå¬å°æ¤æ ç¾é¡µç声é³ï¼
+getUserMedia.shareScreenAndMicrophone3.message = æ¨æ¯å¦è¦å
许 %S ä½¿ç¨æ¨ç麦å
é£åæ¥çæ¨çå±å¹ï¼
+getUserMedia.shareScreenAndAudioCapture3.message = æ¨æ¯å¦è¦å
许 %S å¬å°æ¤æ ç¾é¡µç声é³åæ¥çæ¨çå±å¹ï¼
+getUserMedia.shareAudioCapture2.message = æ¨æ¯å¦è¦å
许 %S å¬å°æ¤æ ç¾é¡µç声é³ï¼
+# LOCALIZATION NOTE (getUserMedia.shareScreenWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+# %S will be the 'learn more' link
+getUserMedia.shareScreenWarning.message = 请åªä¸æ¨ä¿¡ä»»çç½ç«å
±äº«å±å¹ãå¦åè¯éªç½ç«å°è·æ¨çå°ç¸åçç»é¢ï¼å¹¶å èè½çªåæ¨çéç§æ°æ®ã%S
+# LOCALIZATION NOTE (getUserMedia.shareFirefoxWarning.message): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+# %1$S is brandShortName (eg. Firefox)
+# %2$S will be the 'learn more' link
+getUserMedia.shareFirefoxWarning.message = 请åªä¸æ¨ä¿¡ä»»çç½ç«å
±äº« %1$Sãå¦åè¯éªç½ç«å°è·æ¨çå°ç¸åçç»é¢ï¼å¹¶å èè½çªåæ¨çéç§æ°æ®ã%2$S
+# LOCALIZATION NOTE(getUserMedia.shareScreen.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+getUserMedia.shareScreen.learnMoreLabel = 详ç»äºè§£
+getUserMedia.selectWindowOrScreen.label=è¦å享ççªå£æå±å¹ï¼
+getUserMedia.selectWindowOrScreen.accesskey=W
+getUserMedia.pickWindowOrScreen.label = éæ©çªå£æå±å¹
+getUserMedia.shareEntireScreen.label = æ´ä¸ªå±å¹
+# LOCALIZATION NOTE (getUserMedia.shareMonitor.label):
+# %S is screen number (digits 1, 2, etc)
+# Example: Screen 1, Screen 2,..
+getUserMedia.shareMonitor.label = å±å¹ %S
+# LOCALIZATION NOTE (getUserMedia.shareApplicationWindowCount.label):
+# Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# Replacement for #1 is the name of the application.
+# Replacement for #2 is the number of windows currently displayed by the application.
+getUserMedia.shareApplicationWindowCount.label=#1ï¼#2 个çªå£ï¼
+# LOCALIZATION NOTE (getUserMedia.allow.label,
+# getUserMedia.dontAllow.label):
+# These two buttons are the possible answers to the various prompts in the
+# "getUserMedia.share{device}.message" strings.
+getUserMedia.allow.label = å
许
+getUserMedia.allow.accesskey = A
+getUserMedia.dontAllow.label = ä¸å
许
+getUserMedia.dontAllow.accesskey = D
+getUserMedia.remember=è®°ä½æ¤å³å®
+# LOCALIZATION NOTE (getUserMedia.reasonForNoPermanentAllow.screen3,
+# getUserMedia.reasonForNoPermanentAllow.audio,
+# getUserMedia.reasonForNoPermanentAllow.insecure):
+# %S is brandShortName
+getUserMedia.reasonForNoPermanentAllow.screen3=%S ä¸è½é¿æå
è®¸è®¿é®æ¨çå±å¹ã
+getUserMedia.reasonForNoPermanentAllow.audio=%S æ æ³æ°¸ä¹
ä¸è®©æ¨å
æå®ç¹å®æ ç¾é¡µï¼å°±å
许ååä»»ææ ç¾é¡µçé³é¢å
容ã
+getUserMedia.reasonForNoPermanentAllow.insecure=æ¨ä¸æ¤ç½ç«é´çè¿æ¥å¹¶ä¸å®å
¨ã为äºä¿æ¤æ¨ï¼%S å°åªå
è®¸æ¤æ¬¡æµè§æé´ç访é®ã
+
+getUserMedia.sharingMenu.label = æ£å¨å
±äº«è®¾å¤çæ ç¾é¡µ
+getUserMedia.sharingMenu.accesskey = d
+# LOCALIZATION NOTE (getUserMedia.sharingMenuCamera
+# getUserMedia.sharingMenuMicrophone,
+# getUserMedia.sharingMenuAudioCapture,
+# getUserMedia.sharingMenuApplication,
+# getUserMedia.sharingMenuScreen,
+# getUserMedia.sharingMenuWindow,
+# getUserMedia.sharingMenuBrowser,
+# getUserMedia.sharingMenuCameraMicrophone,
+# getUserMedia.sharingMenuCameraMicrophoneApplication,
+# getUserMedia.sharingMenuCameraMicrophoneScreen,
+# getUserMedia.sharingMenuCameraMicrophoneWindow,
+# getUserMedia.sharingMenuCameraMicrophoneBrowser,
+# getUserMedia.sharingMenuCameraAudioCapture,
+# getUserMedia.sharingMenuCameraAudioCaptureApplication,
+# getUserMedia.sharingMenuCameraAudioCaptureScreen,
+# getUserMedia.sharingMenuCameraAudioCaptureWindow,
+# getUserMedia.sharingMenuCameraAudioCaptureBrowser,
+# getUserMedia.sharingMenuCameraApplication,
+# getUserMedia.sharingMenuCameraScreen,
+# getUserMedia.sharingMenuCameraWindow,
+# getUserMedia.sharingMenuCameraBrowser,
+# getUserMedia.sharingMenuMicrophoneApplication,
+# getUserMedia.sharingMenuMicrophoneScreen,
+# getUserMedia.sharingMenuMicrophoneWindow,
+# getUserMedia.sharingMenuMicrophoneBrowser,
+# getUserMedia.sharingMenuAudioCaptureApplication,
+# getUserMedia.sharingMenuAudioCaptureScreen,
+# getUserMedia.sharingMenuAudioCaptureWindow,
+# getUserMedia.sharingMenuAudioCaptureBrowser):
+# %S is the website origin (e.g. www.mozilla.org)
+getUserMedia.sharingMenuCamera = %S (æå头)
+getUserMedia.sharingMenuMicrophone = %S (麦å
é£)
+getUserMedia.sharingMenuAudioCapture = %S (æ ç¾é¡µé³é¢)
+getUserMedia.sharingMenuApplication = %S (åºç¨ç¨åº)
+getUserMedia.sharingMenuScreen = %S (å±å¹)
+getUserMedia.sharingMenuWindow = %S (çªå£)
+getUserMedia.sharingMenuBrowser = %S (æ ç¾é¡µ)
+getUserMedia.sharingMenuCameraMicrophone = %S (æå头å麦å
é£)
+getUserMedia.sharingMenuCameraMicrophoneApplication = %S (æå头ã麦å
é£ååºç¨ç¨åº)
+getUserMedia.sharingMenuCameraMicrophoneScreen = %S (æå头ã麦å
é£åå±å¹)
+getUserMedia.sharingMenuCameraMicrophoneWindow = %S (æå头ã麦å
é£åçªå£)
+getUserMedia.sharingMenuCameraMicrophoneBrowser = %S (æå头ã麦å
é£åæ ç¾é¡µ)
+getUserMedia.sharingMenuCameraAudioCapture = %S (æåå¤´åæ ç¾é¡µé³é¢)
+getUserMedia.sharingMenuCameraAudioCaptureApplication = %S (æåå¤´ãæ ç¾é¡µé³é¢ååºç¨ç¨åº)
+getUserMedia.sharingMenuCameraAudioCaptureScreen = %S (æåå¤´ãæ ç¾é¡µé³é¢åå±å¹)
+getUserMedia.sharingMenuCameraAudioCaptureWindow = %S (æåå¤´ãæ ç¾é¡µé³é¢åçªå£)
+getUserMedia.sharingMenuCameraAudioCaptureBrowser = %S (æåå¤´ãæ ç¾é¡µé³é¢åæ ç¾é¡µ)
+getUserMedia.sharingMenuCameraApplication = %S (æå头ååºç¨ç¨åº)
+getUserMedia.sharingMenuCameraScreen = %S (æå头åå±å¹)
+getUserMedia.sharingMenuCameraWindow = %S (æå头åçªå£)
+getUserMedia.sharingMenuCameraBrowser = %S (æåå¤´åæ ç¾é¡µ)
+getUserMedia.sharingMenuMicrophoneApplication = %S (麦å
é£ååºç¨ç¨åº)
+getUserMedia.sharingMenuMicrophoneScreen = %S (麦å
é£åå±å¹)
+getUserMedia.sharingMenuMicrophoneWindow = %S (æå头åçªå£)
+getUserMedia.sharingMenuMicrophoneBrowser = %S (麦å
é£åæ ç¾é¡µ)
+getUserMedia.sharingMenuAudioCaptureApplication = %S (æ ç¾é¡µé³é¢ååºç¨ç¨åº)
+getUserMedia.sharingMenuAudioCaptureScreen = %S (æ ç¾é¡µé³é¢åå±å¹)
+getUserMedia.sharingMenuAudioCaptureWindow = %S (æ ç¾é¡µé³é¢åçªå£)
+getUserMedia.sharingMenuAudioCaptureBrowser = %S (æ ç¾é¡µé³é¢åæ ç¾é¡µ)
+# LOCALIZATION NOTE(getUserMedia.sharingMenuUnknownHost): this is used for the website
+# origin for the sharing menu if no readable origin could be deduced from the URL.
+getUserMedia.sharingMenuUnknownHost = æªç¥æ¥æº
+
+# LOCALIZATION NOTE(emeNotifications.drmContentPlaying.message2): %S is brandShortName.
+emeNotifications.drmContentPlaying.message2 = æ¤ç½ç«çä¸äºé³é¢æè§é¢ä½¿ç¨äºå«æ°åçæç®¡çï¼DRMï¼ç软件ï¼è¿å¯è½ä¼éå¶ %S è½è®©æ¨ä½¿ç¨çåè½ã
+emeNotifications.drmContentPlaying.button.label = é
ç½®â¦
+emeNotifications.drmContentPlaying.button.accesskey = C
+
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S will be the 'learn more' link
+emeNotifications.drmContentDisabled.message = æ¨å¿
é¡»å¯ç¨ DRM æè½ææ¾æ¤é¡µé¢ä¸çæäºé³é¢æè§é¢ã%S
+emeNotifications.drmContentDisabled.button.label = å¯ç¨æ°åçæç®¡çï¼DRMï¼
+emeNotifications.drmContentDisabled.button.accesskey = E
+# LOCALIZATION NOTE(emeNotifications.drmContentDisabled.learnMoreLabel): NB: inserted via innerHTML, so please don't use <, > or & in this string.
+emeNotifications.drmContentDisabled.learnMoreLabel = 详ç»äºè§£
+
+# LOCALIZATION NOTE(emeNotifications.drmContentCDMInstalling.message): NB: inserted via innerHTML, so please don't use <, > or & in this string. %S is brandShortName
+emeNotifications.drmContentCDMInstalling.message = %S æ£å¨å®è£
ç»ä»¶ï¼ä»¥ä¾¿ææ¾æ¤é¡µé¢ä¸çé³é¢æè§é¢ã请ç¨ååè¯ã
+
+emeNotifications.unknownDRMSoftware = æªç¥
+
+# LOCALIZATION NOTE - %S is brandShortName
+slowStartup.message = %S å¯å¨å¾â¦ä¼¼ä¹â¦å¤ªæ
¢äºâ¦
+slowStartup.helpButton.label = äºè§£å¦ä½å å¿«å¯å¨é度
+slowStartup.helpButton.accesskey = L
+slowStartup.disableNotificationButton.label = ä¸è¦åéç¥æ
+slowStartup.disableNotificationButton.accesskey = A
+
+# LOCALIZATION NOTE - %S is brandShortName
+flashHang.message = %S æ´æ¹äºä¸äº Adobe Flash ç设置以æ¹åæ§è½ã
+flashHang.helpButton.label = 详ç»äºè§£â¦
+flashHang.helpButton.accesskey = L
+
+# LOCALIZATION NOTE (customizeMode.tabTitle): %S is brandShortName
+customizeMode.tabTitle = å®å¶ %S
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.mainMessage,
+# e10s.accessibilityNotice.enableAndRestart.label,
+# e10s.accessibilityNotice.enableAndRestart.accesskey):
+# These strings are related to the messages we display to offer e10s (Multi-process) to users
+# on the pre-release channels. They won't be used in release but they will likely be used in
+# beta starting from version 41, so it's still useful to have these strings properly localized.
+# %S is brandShortName
+e10s.accessibilityNotice.mainMessage2 = ç±äºä¸æ°ç %S åè½ä¸å
¼å®¹ï¼é¨åæ éç¢åè½å·²è¢«ç¦ç¨ã
+e10s.accessibilityNotice.acceptButton.label = ç¡®å®
+e10s.accessibilityNotice.acceptButton.accesskey = O
+e10s.accessibilityNotice.enableAndRestart.label = å¯ç¨ï¼éè¦é弿µè§å¨ï¼
+e10s.accessibilityNotice.enableAndRestart.accesskey = E
+
+# LOCALIZATION NOTE (e10s.accessibilityNotice.jawsMessage): %S is brandShortName
+e10s.accessibilityNotice.jawsMessage = ç±äºä¸ %S åæ¨çæ éç¢è½¯ä»¶æå
¼å®¹æ§é®é¢ï¼æ æ³æ¾ç¤ºæ ç¾é¡µå
容ãè¯·æ´æ°æ¨çå±å¹é
è¯»å¨ææ¹ç¨ Firefox å»¶é¿æ¯æçï¼ESRï¼ã
+
+# LOCALIZATION NOTE (userContextPersonal.label,
+# userContextWork.label,
+# userContextShopping.label,
+# userContextBanking.label,
+# userContextNone.label):
+# These strings specify the four predefined contexts included in support of the
+# Contextual Identity / Containers project. Each context is meant to represent
+# the context that the user is in when interacting with the site. Different
+# contexts will store cookies and other information from those sites in
+# different, isolated locations. You can enable the feature by typing
+# about:config in the URL bar and changing privacy.userContext.enabled to true.
+# Once enabled, you can open a new tab in a specific context by clicking
+# File > New Container Tab > (1 of 4 contexts). Once opened, you will see these
+# strings on the right-hand side of the URL bar.
+userContextPersonal.label = ç§äºº
+userContextWork.label = åå
¬
+userContextBanking.label = éè
+userContextShopping.label = è´ç©
+userContextNone.label = æ 身份
+
+userContextPersonal.accesskey = P
+userContextWork.accesskey = W
+userContextBanking.accesskey = B
+userContextShopping.accesskey = S
+userContextNone.accesskey = N
+
+userContext.aboutPage.label = 管ç身份
+userContext.aboutPage.accesskey = O
+
+userContextOpenLink.label = æ°å»º%Sæ ç¾é¡µæå¼é¾æ¥
+
+muteTab.label = é鳿 ç¾é¡µ
+muteTab.accesskey = M
+unmuteTab.label = åæ¶é鳿 ç¾é¡µ
+unmuteTab.accesskey = M
+playTab.label = ææ¾æ ç¾é¡µ
+playTab.accesskey = P
+
+muteSelectedTabs2.label = é鳿 ç¾é¡µ
+# LOCALIZATION NOTE (muteSelectedTabs2.accesskey): The accesskey should
+# match the accesskey for muteTab.accesskey
+muteSelectedTabs2.accesskey = M
+unmuteSelectedTabs2.label = åæ¶é鳿 ç¾é¡µ
+# LOCALIZATION NOTE (unmuteSelectedTabs2.accesskey): The accesskey should
+# match the accesskey for unmuteTab.accesskey
+unmuteSelectedTabs2.accesskey = m
+playTabs.label = ææ¾æ ç¾é¡µ
+playTabs.accesskey = y
+
+# LOCALIZATION NOTE (sendTabsToDevice.label):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs sent to the device.
+sendTabsToDevice.label = åé #1 个æ ç¾é¡µå°è®¾å¤
+sendTabsToDevice.accesskey = n
+
+# LOCALIZATION NOTE (pageAction.sendTabsToDevice.label):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs sent to the device.
+pageAction.sendTabsToDevice.label = åé #1 个æ ç¾é¡µå°è®¾å¤
+
+# LOCALIZATION NOTE (certErrorDetails*.label): These are text strings that
+# appear in the about:certerror page, so that the user can copy and send them to
+# the server administrators for troubleshooting.
+certErrorDetailsHSTS.label = HTTP ä¸¥æ ¼ä¼ è¾å®å
¨ï¼HSTSï¼ï¼%S
+certErrorDetailsKeyPinning.label = HTTP å
¬é¥åºå®ï¼%S
+certErrorDetailsCertChain.label = è¯ä¹¦é¾ï¼
+
+# LOCALIZATION NOTE (pendingCrashReports2.label): Semi-colon list of plural forms
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of pending crash reports
+pendingCrashReports2.label = æ¨æ #1 份æªåéçå´©æºæ¥å
+pendingCrashReports.viewAll = æ¥ç
+pendingCrashReports.send = åé
+pendingCrashReports.alwaysSend = ä¸å¾åé
+
+decoder.noCodecs.button = äºè§£å¦ä½è¿è¡
+decoder.noCodecs.accesskey = L
+decoder.noCodecs.message = ä¸ºäºææ¾è§é¢ï¼æ¨å¯è½éè¦å®è£
微软çâåªä½åè½å
âï¼Media Feature Packï¼ã
+decoder.noCodecsLinux.message = ä¸ºäºææ¾è§é¢ï¼æ¨å¯è½éè¦å®è£
æéçè§é¢ç¼ç å¨ã
+decoder.noHWAcceleration.message = ä¸ºäºæ¹åè§é¢è´¨éï¼æ¨å¯è½éè¦å®è£
微软çâåªä½åè½å
âï¼Media Feature Packï¼ã
+decoder.noPulseAudio.message = è¦ææ¾é³é¢ï¼æ¨å¯è½éè¦å®è£
å¿
éç PulseAudio 软件ã
+decoder.unsupportedLibavcodec.message = libavcodec å¯è½åå¨å®å
¨éæ£æå·²ä¸åæ¯æï¼åºå½è¢«æ´æ°ä»¥ææ¾è§é¢ã
+
+decoder.decodeError.message = è§£ç åªä½èµæºæ¶åçé误ã
+decoder.decodeError.button = åé¦ç½ç«é®é¢
+decoder.decodeError.accesskey = R
+decoder.decodeWarning.message = è§£ç åªä½èµæºæ¶åç坿¢å¤çé误ã
+
+# LOCALIZATION NOTE (captivePortal.infoMessage3):
+# Shown in a notification bar when we detect a captive portal is blocking network access
+# and requires the user to log in before browsing.
+captivePortal.infoMessage3 = æ¨å¿
é¡»å
ç»å½æ¤ç½ç»æè½è®¿é®äºèç½ã
+# LOCALIZATION NOTE (captivePortal.showLoginPage2):
+# The label for a button shown in the info bar in all tabs except the login page tab.
+# The button shows the portal login page tab when clicked.
+captivePortal.showLoginPage2 = æå¼ç½ç»ç»å½é¡µé¢
+
+permissions.remove.tooltip = æ¸
餿¤æéå¹¶éæ°è¯¢é®
+
+# LOCALIZATION NOTE (aboutDialog.architecture.*):
+# The sixtyFourBit and thirtyTwoBit strings describe the architecture of the
+# current Firefox build: 32-bit or 64-bit. These strings are used in parentheses
+# between the Firefox version and the "What's new" link 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 ä½
+
+# LOCALIZATION NOTE (certImminentDistrust.message):
+# Shown in the browser console when visiting a website that is trusted today,
+# but won't be in the future unless the site operator makes a change.
+certImminentDistrust.message = æ¤ç½ç«ä½¿ç¨çå®å
¨è¯ä¹¦å¨æªæ¥çæ¬ä¸å°ä¸ååä¿¡ä»»ãæ´å¤ä¿¡æ¯è¯·è®¿é® https://wiki.mozilla.org/CA/Upcoming_Distrust_Actions
+
+midi.Allow.label = å
许
+midi.Allow.accesskey = A
+midi.DontAllow.label = ä¸å
许
+midi.DontAllow.accesskey = N
+midi.remember=è®°ä½æ¤å³å®
+midi.shareWithFile.message = å
è®¸æ¤æ¬å°æä»¶è®¿é®æ¨ç MIDI 设å¤ï¼
+# LOCALIZATION NOTE (midi.shareWithSite.message): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareWithSite.message = å
许 %S è®¿é®æ¨ç MIDI 设å¤ï¼
+midi.shareSysexWithFile.message = å
è®¸æ¤æ¬å°æä»¶è®¿é®æ¨ç MIDI 设å¤å¹¶åé/æ¥æ¶ SysEx æ¶æ¯ï¼
+# LOCALIZATION NOTE (midi.shareSysexWithSite.message): %S is the name of the site URL (https://...) requesting MIDI access
+midi.shareSysexWithSite.message = å
许 %S è®¿é®æ¨ç MIDI 设å¤å¹¶åé/æ¥æ¶ SysEx æ¶æ¯ï¼
+
+# 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 main menu.
+panel.back = åé
+
+storageAccess.Allow.label = å
许åå
+storageAccess.Allow.accesskey = A
+storageAccess.AllowOnAnySite.label = å
许å¨ä»»ä½ç½ç«åå
+storageAccess.AllowOnAnySite.accesskey = w
+storageAccess.DontAllow.label = 黿¢åå
+storageAccess.DontAllow.accesskey = B
+# LOCALIZATION NOTE (storageAccess.message):
+# %1$S is the name of the site URL (www.site1.example) trying to track the user's activity.
+# %2$S is the name of the site URL (www.site2.example) that the user is visiting. This is the same domain name displayed in the address bar.
+storageAccess.message = æ¨æ¿æå
许 %1$S è·è¸ªæ¨å¨ %2$S çä¸ç½æ´»å¨åï¼
+# LOCALIZATION NOTE (storageAccess.description.label):
+# %1$S is the name of the site URL (www.site1.example) trying to track the user's activity.
+# %2$S will be replaced with the localized version of storageAccess.description.learnmore. This text will be converted into a hyper-link linking to the SUMO page explaining the concept of third-party trackers.
+storageAccess.description.label = 妿æ¨ä¸ç¥éæè
ä¸ä¿¡ä»» %1$Sï¼å»ºè®®æ¨å¨æ¤ç½ç«æ¦æªå®ã详ç»äºè§£ %2$S
+# LOCALIZATION NOTE (storageAccess.description.learnmore):
+# The value of this string is embedded inside storageAccess.description.label. See the localization note for storageAccess.description.label.
+storageAccess.description.learnmore = ç¬¬ä¸æ¹è·è¸ªå¨
+
+confirmationHint.sendToDevice.label = å·²åéï¼
+confirmationHint.sendToDeviceOffline.label = å·²æéï¼ç¦»çº¿ï¼
+confirmationHint.copyURL.label = å·²å¤å¶å°åªè´´æ¿ï¼
+confirmationHint.pageBookmarked.label = å·²ä¿åå°âæç足迹âï¼
+confirmationHint.addSearchEngine.label = 已添å å°æç´¢å¼æï¼
+confirmationHint.pinTab.label = å·²åºå®ï¼
+confirmationHint.pinTab.description = å³é®ç¹å»æ ç¾é¡µä»¥åæ¶åºå®ã
+
+# LOCALIZATION NOTE (livebookmarkMigration.title):
+# Used by the export of user's live bookmarks to an OPML file as a title for the file.
+# %S will be replaced with brandShortName
+livebookmarkMigration.title = %S 宿¶ä¹¦ç¾
+browser.startup.homepage = https://start.firefoxchina.cn
diff --git a/browser/chrome/browser/customizableui/customizableWidgets.properties b/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100755
index 00000000000..b8e81f25dfc
--- /dev/null
+++ b/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -0,0 +1,106 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+history-panelmenu.label = åå²è®°å½
+# LOCALIZATION NOTE(history-panelmenu.tooltiptext2): %S is the keyboard shortcut
+history-panelmenu.tooltiptext2 = æ¾ç¤ºæ¨çåå²è®°å½ï¼%Sï¼
+
+remotetabs-panelmenu.label = å忥æ ç¾é¡µ
+remotetabs-panelmenu.tooltiptext2 = æ¾ç¤ºæ¥èªå
¶ä»è®¾å¤çæ ç¾é¡µ
+
+privatebrowsing-button.label = æ°å»ºéç§çªå£
+# LOCALIZATION NOTE(privatebrowsing-button.tooltiptext): %S is the keyboard shortcut
+privatebrowsing-button.tooltiptext = æ°å»ºä¸ä¸ªéç§æµè§çªå£ (%S)
+
+save-page-button.label = ä¿å页é¢
+# LOCALIZATION NOTE(save-page-button.tooltiptext3): %S is the keyboard shortcut
+save-page-button.tooltiptext3 = ä¿åæ¤é¡µ (%S)
+
+find-button.label = æ¥æ¾
+# LOCALIZATION NOTE(find-button.tooltiptext3): %S is the keyboard shortcut.
+find-button.tooltiptext3 = 卿¤é¡µé¢ä¸æ¥æ¾ (%S)
+
+open-file-button.label = æå¼æä»¶
+# LOCALIZATION NOTE (open-file-button.tooltiptext3): %S is the keyboard shortcut.
+open-file-button.tooltiptext3 = æå¼æä»¶ (%S)
+
+developer-button.label = å¼åè
+# LOCALIZATION NOTE(developer-button.tooltiptext): %S is the keyboard shortcut
+developer-button.tooltiptext2 = æå¼ Web å¼åè
å·¥å
· (%S)
+
+profiler-button.label = æ§è½åæå¨
+profiler-button.tooltiptext = è®°å½æ§è½åææ°æ®
+
+sidebar-button.label = ä¾§æ
+sidebar-button.tooltiptext2 = æ¾ç¤ºä¾§æ
+
+add-ons-button.label = éå ç»ä»¶
+# LOCALIZATION NOTE(add-ons-button.tooltiptext3): %S is the keyboard shortcut
+add-ons-button.tooltiptext3 = ç®¡çæ¨çéå ç»ä»¶ (%S)
+
+preferences-button.label = é¦é项
+preferences-button.tooltiptext2 = æå¼é¦é项
+preferences-button.tooltiptext.withshortcut = æå¼é¦é项ï¼%Sï¼
+# LOCALIZATION NOTE (preferences-button.labelWin): Windows-only label for Options
+preferences-button.labelWin = é项
+# LOCALIZATION NOTE (preferences-button.tooltipWin): Windows-only tooltip for Options
+preferences-button.tooltipWin2 = æå¼é项
+
+zoom-controls.label = ç¼©æ¾æ§å¶
+zoom-controls.tooltiptext2 = ç¼©æ¾æ§å¶
+
+zoom-out-button.label = 缩å°
+# LOCALIZATION NOTE(zoom-out-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-out-button.tooltiptext2 = ç¼©å° (%S)
+
+# LOCALIZATION NOTE(zoom-reset-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-reset-button.tooltiptext2 = éç½®ç¼©æ¾ (%S)
+
+zoom-in-button.label = æ¾å¤§
+# LOCALIZATION NOTE(zoom-in-button.tooltiptext2): %S is the keyboard shortcut.
+zoom-in-button.tooltiptext2 = æ¾å¤§ (%S)
+
+edit-controls.label = ç¼è¾æ§å¶
+edit-controls.tooltiptext2 = ç¼è¾æ§å¶
+
+cut-button.label = åªå
+# LOCALIZATION NOTE(cut-button.tooltiptext2): %S is the keyboard shortcut.
+cut-button.tooltiptext2 = åªå (%S)
+
+copy-button.label = å¤å¶
+# LOCALIZATION NOTE(copy-button.tooltiptext2): %S is the keyboard shortcut.
+copy-button.tooltiptext2 = å¤å¶ (%S)
+
+paste-button.label = ç²è´´
+# LOCALIZATION NOTE(paste-button.tooltiptext2): %S is the keyboard shortcut.
+paste-button.tooltiptext2 = ç²è´´ (%S)
+
+# LOCALIZATION NOTE (characterencoding-button2.label): The \u00ad text at the beginning
+# of the string is used to disable auto hyphenation on the button text when it is displayed
+# in the menu panel.
+characterencoding-button2.label = æåç¼ç
+characterencoding-button2.tooltiptext = æ¾ç¤ºæåç¼ç é项
+
+email-link-button.label = ç¨é®ä»¶åé龿¥
+email-link-button.tooltiptext3 = ç¨é®ä»¶å鿤页龿¥
+
+# LOCALIZATION NOTE(quit-button.tooltiptext.linux2): %1$S is the brand name (e.g. Firefox),
+# %2$S is the keyboard shortcut
+quit-button.tooltiptext.linux2 = éåº %1$S (%2$S)
+# LOCALIZATION NOTE(quit-button.tooltiptext.mac): %1$S is the brand name (e.g. Firefox),
+# %2$S is the keyboard shortcut
+quit-button.tooltiptext.mac = éåº %1$S (%2$S)
+
+panic-button.label = æ¹å»è¶³è¿¹
+panic-button.tooltiptext = æ¹å»æäºæµè§åå²
+
+# LOCALIZATION NOTE(devtools-webide-button.label, devtools-webide-button.tooltiptext):
+# widget is only visible after WebIDE has been started once (Tools > Web Developers > WebIDE)
+# %S is the keyboard shortcut
+devtools-webide-button2.label = WebIDE
+devtools-webide-button2.tooltiptext = æå¼ WebIDE (%S)
+
+toolbarspring.label = å¼¹æ§ç©ºç½
+toolbarseparator.label = åé符
+toolbarspacer.label = 空ç½
diff --git a/browser/chrome/browser/downloads/downloads.dtd b/browser/chrome/browser/downloads/downloads.dtd
new file mode 100755
index 00000000000..6d8e48c3d10
--- /dev/null
+++ b/browser/chrome/browser/downloads/downloads.dtd
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/downloads/downloads.properties b/browser/chrome/browser/downloads/downloads.properties
new file mode 100755
index 00000000000..22b3c11540e
--- /dev/null
+++ b/browser/chrome/browser/downloads/downloads.properties
@@ -0,0 +1,118 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this file,
+# You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (stateStarting):
+# Indicates that the download is starting.
+stateStarting=æ£å¨å¼å§â¦
+# LOCALIZATION NOTE (stateScanning):
+# Indicates that an external program is scanning the download for viruses.
+stateScanning=æ£å¨æ¥æ¯â¦
+# LOCALIZATION NOTE (stateFailed):
+# Indicates that the download failed because of an error.
+stateFailed=失败
+# LOCALIZATION NOTE (statePaused):
+# Indicates that the download was paused by the user.
+statePaused=å·²æå
+# LOCALIZATION NOTE (stateCanceled):
+# Indicates that the download was canceled by the user.
+stateCanceled=已忶
+# LOCALIZATION NOTE (stateCompleted):
+# Indicates that the download was completed.
+stateCompleted=已宿
+# LOCALIZATION NOTE (stateBlockedParentalControls):
+# Indicates that the download was blocked by the Parental Controls feature of
+# Windows. "Parental Controls" should be consistently named and capitalized
+# with the display of this feature in Windows. The following article can
+# provide a reference for the translation of "Parental Controls" in various
+# languages:
+# http://windows.microsoft.com/en-US/windows-vista/Set-up-Parental-Controls
+stateBlockedParentalControls=å·²ä¾ç
§å®¶é¿æ§å¶çè®¾ç½®æ¦æª
+# LOCALIZATION NOTE (stateBlockedPolicy):
+# Indicates that the download was blocked on Windows because of the "Launching
+# applications and unsafe files" setting of the "security zone" associated with
+# the target site. "Security zone" should be consistently named and capitalized
+# with the display of this feature in Windows. The following article can
+# provide a reference for the translation of "security zone" in various
+# languages:
+# http://support.microsoft.com/kb/174360
+stateBlockedPolicy=å·²ä¾ç
§æ¨çå®å
¨åºåçç¥æ¦æª
+# LOCALIZATION NOTE (stateDirty):
+# Indicates that the download was blocked after scanning.
+stateDirty=å·²æ¦æªï¼å¯è½å«æç
æ¯æé´è°è½¯ä»¶
+
+# LOCALIZATION NOTE (blockedMalware, blockedPotentiallyUnwanted,
+# blockedUncommon2):
+# These strings are shown in the panel for some types of blocked downloads, and
+# are immediately followed by the "Learn More" link, thus they must end with a
+# period. You may need to adjust "downloadDetails.width" in "downloads.dtd" if
+# this turns out to be longer than the other existing status strings.
+# Note: These strings don't exist in the UI yet. See bug 1053890.
+blockedMalware=æ¤æä»¶å
å«ç
æ¯ææ¶æè½¯ä»¶ã
+blockedPotentiallyUnwanted=æ¤æä»¶å¯è½å±å®³æ¨çè®¡ç®æºã
+blockedUncommon2=æ¤æä»¶å¾å°è¢«ä¸è½½ã
+
+# LOCALIZATION NOTE (fileMovedOrMissing):
+# Displayed when a complete download which is not at the original folder.
+fileMovedOrMissing=æä»¶å·²è¢«ç§»å¨æç§»é¤
+
+# LOCALIZATION NOTE (unblockHeaderUnblock, unblockHeaderOpen,
+# unblockTypeMalware, unblockTypePotentiallyUnwanted2,
+# unblockTypeUncommon2, unblockTip2, unblockButtonOpen,
+# unblockButtonUnblock, unblockButtonConfirmBlock):
+# These strings are displayed in the dialog shown when the user asks a blocked
+# download to be unblocked. The severity of the threat is expressed in
+# descending order by the unblockType strings, it is higher for files detected
+# as malware and lower for uncommon downloads.
+unblockHeaderUnblock=æ¨ç¡®å®è¦å
许ä¸è½½æ¤æä»¶ï¼
+unblockHeaderOpen=æ¨ç¡®å®è¦æå¼æ¤æä»¶ï¼
+unblockTypeMalware=è¿ä¸ªæä»¶å«æç
æ¯æå
¶ä»å½¢å¼çæ¶æè½¯ä»¶ï¼å°å±å®³æ¨çè®¡ç®æºã
+unblockTypePotentiallyUnwanted2=æ¤æä»¶ä¼ªè£
ææç¨çæä»¶è®©æ¨ä¸è½½ï¼ä½å®é
ä¸ä¼èææ´æ¹æ¨çç¨åºå设置ã
+unblockTypeUncommon2=æ¤æä»¶å¾å°è¢«ä¸è½½ï¼æå¼å®å¯è½ä¸å®å
¨ãå®å¯è½å
å«ç
æ¯ï¼æä¼èªè¡å¯¹æ¨çç¨åºä¸è®¾ç½®ä½åºææå¤çæ´æ¹ã
+unblockTip2=æ¨å¯ä»¥æç´¢å
¶ä»ä¸è½½æºï¼æè
ç¨ååè¯ã
+unblockButtonOpen=æå¼
+unblockButtonUnblock=å
许ä¸è½½
+unblockButtonConfirmBlock=ç§»é¤æä»¶
+
+# LOCALIZATION NOTE (sizeWithUnits):
+# %1$S is replaced with the size number, and %2$S with the measurement unit.
+sizeWithUnits=%1$S %2$S
+sizeUnknown=æªç¥å¤§å°
+
+# LOCALIZATION NOTE (statusSeparator, statusSeparatorBeforeNumber):
+# These strings define templates for the separation of different elements in the
+# status line of a download item. As a separator, by default we use the Unicode
+# character U+2014 'EM DASH' (long dash). Examples of status lines include
+# "Canceled - 222.net", "1.1 MB - website2.com", or "Paused - 1.1 MB". Note
+# that we use a wider space after the separator when it is followed by a number,
+# just to avoid visually confusing it with with a minus sign with some fonts.
+# If you use a different separator, this might not be necessary. However, there
+# is usually no need to change the separator or the order of the substitutions,
+# even for right-to-left languages, unless the defaults are not suitable.
+statusSeparator=%1$S â %2$S
+statusSeparatorBeforeNumber=%1$S â %2$S
+
+fileExecutableSecurityWarning=â%Sâæ¯å¯æ§è¡æä»¶ãè¿ç±»æä»¶æå¯è½æºå¸¦ç
æ¯ãæ¨é©¬çæ¶æä»£ç ï¼æå¼æ¶è¯·å°å¿ãæ¨ç¡®å®è¦å¯å¨â%Sâåï¼
+fileExecutableSecurityWarningTitle=æå¼å¯æ§è¡æä»¶ï¼
+fileExecutableSecurityWarningDontAsk=ä¸å询é®
+
+# LOCALIZATION NOTE (otherDownloads3):
+# This is displayed in an item at the bottom of the Downloads Panel when
+# there are more downloads than can fit in the list in the panel. Use a
+# semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/Localization_and_Plurals
+otherDownloads3=æ£å¨ä¸è½½ %1$S 个æä»¶
+
+# LOCALIZATION NOTE (showLabel, showMacLabel):
+# This is displayed when you hover a download item in the Library widget view.
+# showMacLabel is only shown on Mac OSX.
+showLabel=æå¼æå¨çæä»¶å¤¹
+showMacLabel=å¨ Finder 䏿å¼
+# LOCALIZATION NOTE (openFileLabel):
+# Displayed when hovering a complete download, indicates that it's possible to
+# open the file using an app available in the system.
+openFileLabel=æå¼æä»¶
+# LOCALIZATION NOTE (retryLabel):
+# Displayed when hovering a download which is able to be retried by users,
+# indicates that it's possible to download this file again.
+retryLabel=éè¯ä¸è½½
diff --git a/browser/chrome/browser/feeds/subscribe.properties b/browser/chrome/browser/feeds/subscribe.properties
new file mode 100755
index 00000000000..f2f316b056a
--- /dev/null
+++ b/browser/chrome/browser/feeds/subscribe.properties
@@ -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/.
+
+linkTitleTextFormat=è½¬å° %S
+addHandler=å° "%S" (%S) æ·»å 为æ¶åç¹é
读å¨ï¼
+addHandlerAddButton=æ·»å æ¶åç¹é
读å¨
+addHandlerAddButtonAccesskey=A
+handlerRegistered="%S"å·²ç»æ³¨å为æ¶åç¹é
读å¨
+liveBookmarks=宿¶ä¹¦ç¾
+subscribeNow=ç«å³è®¢é
+chooseApplicationMenuItem=éæ©åºç¨ç¨åºâ¦
+chooseApplicationDialogTitle=éæ©åºç¨ç¨åº
+alwaysUse=æ»æ¯ç¨ %S 订é
æ¶åç¹
+mediaLabel=åªä½æä»¶
+
+# LOCALIZATION NOTE: The next string is for the size of the enclosed media.
+# e.g. enclosureSizeText : "50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+enclosureSizeText=%1$S %2$S
+
+bytes=æ¯ç¹
+kilobyte=KB
+megabyte=MB
+gigabyte=GB
+
+# LOCALIZATION NOTE: The next three strings explains to the user what they're
+# doing.
+# e.g. alwaysUseForVideoPodcasts : "Always use Miro to subscribe to video podcasts."
+# %S = application to use (Miro, iTunes, ...)
+alwaysUseForFeeds=æ»æ¯ç¨ %S 订é
æ¶åç¹ã
+alwaysUseForAudioPodcasts=æ»æ¯ç¨ %S 订é
æå®¢ã
+alwaysUseForVideoPodcasts=æ»æ¯ç¨ %S 订é
è§é¢æå®¢ã
+
+subscribeFeedUsing=订é
æ¤æ¶åç¹ï¼ä½¿ç¨\u0020
+subscribeAudioPodcastUsing=订é
æ¤æå®¢ï¼ä½¿ç¨\u0020
+subscribeVideoPodcastUsing=订é
æ¤è§é¢æå®¢ï¼ä½¿ç¨\u0020
+
+feedSubscriptionFeed1=è¿æ¯æ¤ç½ç«çâæ¶åç¹âï¼æ¹ä¾¿æ¨æ¶åè¿ä¸ªç½ç«é¢ç¹æ´æ°çå
容ã
+feedSubscriptionAudioPodcast1=è¿æ¯æ¤ç½ç«çâæå®¢âï¼æ¶å¸¸æéæ¤ç½ç«çå
容ã
+feedSubscriptionVideoPodcast1=è¿æ¯æ¤ç½ç«çâè§é¢æå®¢âï¼æ¶å¸¸æéæ¤ç½ç«çå
容ã
+
+feedSubscriptionFeed2=æ¨å¯ä»¥è®¢é
æ¤æ¶åç¹ï¼å½æ¤å
容åçååæ¶å³å¯æ¶å°æ´æ°ã
+feedSubscriptionAudioPodcast2=æ¨å¯ä»¥è®¢é
æ¤æå®¢ï¼å½æ¤å
容åçååæ¶å³å¯æ¶å°æ´æ°ã
+feedSubscriptionVideoPodcast2=æ¨å¯ä»¥è®¢é
æ¤è§é¢æå®¢ï¼å½æ¤å
容åçååæ¶å³å¯æ¶å°æ´æ°ã
+
+# Protocol Handling
+# "Add %appName (%appDomain) as an application for %protocolType links?"
+addProtocolHandler=å° %S (%S) æ·»å 为å¤ç %S 龿¥çåºç¨ç¨åºï¼
+
+# LOCALIZATION NOTE (addProtocolHandlerMessage):
+# Message displayed when adding a protocol handler:
+# %1$S is the application's domain, %2$S is the type of protocol
+addProtocolHandlerMessage=æ·»å â%1$Sâ为å¤ç %2$S 龿¥çä¸ä¸ªåºç¨ç¨åºï¼
+addProtocolHandlerAddButton=æ·»å åºç¨ç¨åº
+addProtocolHandlerAddButtonAccesskey=A
diff --git a/browser/chrome/browser/lightweightThemes.properties b/browser/chrome/browser/lightweightThemes.properties
new file mode 100644
index 00000000000..99e7f0d615b
--- /dev/null
+++ b/browser/chrome/browser/lightweightThemes.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/.
+
+lightweightThemes.recommended-1.name=ç«çå¤å
´
+lightweightThemes.recommended-1.description=A Web Browser Renaissance ç³» Sean.Martell çæææ (C)ï¼éç¨âç¥è¯å
±äº« ç½²å-ç¸åæ¹å¼å
±äº«â许å¯åè®®è¿è¡ææãä¸ä½ä»»ä½æ
ä¿ã
+
+lightweightThemes.recommended-2.name=å¹»æ³ç©ºé´
+lightweightThemes.recommended-2.description=Space Fantasy ç³» fx5800p çæææ (C)ï¼éç¨âç¥è¯å
±äº« ç½²å-ç¸åæ¹å¼å
±äº«â许å¯åè®®è¿è¡ææãä¸ä½ä»»ä½æ
ä¿ã
+
+lightweightThemes.recommended-4.name=æåæ¸å
+lightweightThemes.recommended-4.description=Pastel Gradient ç³» darrinhenein çæææ (C)ï¼éç¨âç¥è¯å
±äº« ç½²åâ许å¯åè®®è¿è¡ææãä¸ä½ä»»ä½æ
ä¿ã
diff --git a/browser/chrome/browser/migration/migration.dtd b/browser/chrome/browser/migration/migration.dtd
new file mode 100755
index 00000000000..9decbfb9a1b
--- /dev/null
+++ b/browser/chrome/browser/migration/migration.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/migration/migration.properties b/browser/chrome/browser/migration/migration.properties
new file mode 100755
index 00000000000..40b0acf8423
--- /dev/null
+++ b/browser/chrome/browser/migration/migration.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/.
+
+profileName_format=%S %S
+
+# Browser Specific
+sourceNameIE=微软 IE æµè§å¨
+sourceNameEdge=Microsoft Edge
+sourceNameSafari=Safari
+sourceNameCanary=Google Chrome Canary
+sourceNameChrome=Google Chrome
+sourceNameChromeBeta=Google Chrome Beta
+sourceNameChromeDev=Google Chrome Dev
+sourceNameChromium=Chromium
+sourceNameFirefox=Mozilla Firefox
+sourceName360se=360 å®å
¨æµè§å¨
+
+importedBookmarksFolder=æ¥èª %S
+
+importedSafariReadingList=é
读åè¡¨ï¼æ¥èª Safariï¼
+importedEdgeReadingList=é
读åè¡¨ï¼æ¥èª Edgeï¼
+
+# Import Sources
+# Note: When adding an import source for profile reset, add the string name to
+# resetProfile.js if it should be listed in the reset dialog.
+1_ie=äºèç½é项
+1_edge=设置
+1_safari=é¦é项
+1_chrome=é¦é项
+1_360se=é¦é项
+
+2_ie=Cookie
+2_edge=Cookie
+2_safari=Cookie
+2_chrome=Cookie
+2_firefox=Cookie
+2_360se=Cookie
+
+4_ie=æµè§åå²
+4_edge=æµè§åå²
+4_safari=æµè§åå²
+4_chrome=æµè§åå²
+4_firefox_history_and_bookmarks=æµè§åå²å书ç¾
+4_360se=æµè§åå²
+
+8_ie=å·²ä¿åç表åè®°å½
+8_edge=å·²ä¿åç表åè®°å½
+8_safari=å·²ä¿åç表åè®°å½
+8_chrome=å·²ä¿åç表åè®°å½
+8_firefox=å·²ä¿åç表åè®°å½
+8_360se=å·²ä¿åç表åè®°å½
+
+16_ie=å·²ä¿åçå¯ç
+16_edge=å·²ä¿åçå¯ç
+16_safari=å·²ä¿åçå¯ç
+16_chrome=å·²ä¿åçå¯ç
+16_firefox=å·²ä¿åçå¯ç
+16_360se=å·²ä¿åçå¯ç
+
+32_ie=æ¶è夹
+32_edge=æ¶è夹
+32_safari=书ç¾
+32_chrome=书ç¾
+32_360se=书ç¾
+
+64_ie=å
¶ä»æ°æ®
+64_edge=å
¶ä»æ°æ®
+64_safari=å
¶ä»æ°æ®
+64_chrome=å
¶ä»æ°æ®
+64_firefox_other=å
¶ä»æ°æ®
+64_360se=å
¶ä»æ°æ®
+
+128_firefox=çªå£åæ ç¾é¡µ
+
+# Automigration undo notification.
+# %1$S will be replaced with brandShortName, %2$S will be replaced with the name of the browser we imported from
+automigration.undo.message2.all = æ¥å
¥ %1$Sï¼å·²ä» %2$S 导å
¥æ¨æç±çç½ç«ã书ç¾ãåå²è®°å½åå¯ç ã
+automigration.undo.message2.bookmarks = æ¥å
¥ %1$Sï¼å·²ä» %2$S 导å
¥æ¨æç±çç½ç«å书ç¾ã
+automigration.undo.message2.bookmarks.logins = æ¥å
¥ %1$Sï¼å·²ä» %2$S 导å
¥æ¨æç±çç½ç«ã书ç¾åå¯ç ã
+automigration.undo.message2.bookmarks.visits = æ¥å
¥ %1$Sï¼å·²ä» %2$S 导å
¥æ¨æç±çç½ç«ã书ç¾ååå²è®°å½ã
+automigration.undo.message2.logins = æ¥å
¥ %1$Sï¼å·²ä» %2$S 导å
¥æ¨çå¯ç ã
+automigration.undo.message2.logins.visits = æ¥å
¥ %1$Sï¼å·²ä» %2$S 导å
¥æ¨æç±çç½ç«ãåå²è®°å½åå¯ç ã
+automigration.undo.message2.visits = æ¥å
¥ %1$Sï¼å·²ä» %2$S 导å
¥æ¨æç±çç½ç«ååå²è®°å½ã
+automigration.undo.keep2.label = 好ï¼ç¥éäº
+automigration.undo.keep2.accesskey = O
+automigration.undo.dontkeep2.label = ä¸ç¨äº
+automigration.undo.dontkeep2.accesskey = N
+automigration.undo.unknownbrowser = æªç¥æµè§å¨
diff --git a/browser/chrome/browser/newInstall.dtd b/browser/chrome/browser/newInstall.dtd
new file mode 100644
index 00000000000..1a5debe5d26
--- /dev/null
+++ b/browser/chrome/browser/newInstall.dtd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/pageInfo.dtd b/browser/chrome/browser/pageInfo.dtd
new file mode 100755
index 00000000000..2c7a1951b2e
--- /dev/null
+++ b/browser/chrome/browser/pageInfo.dtd
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/pageInfo.properties b/browser/chrome/browser/pageInfo.properties
new file mode 100755
index 00000000000..0725b0cb658
--- /dev/null
+++ b/browser/chrome/browser/pageInfo.properties
@@ -0,0 +1,68 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+pageInfo.page.title=页é¢ä¿¡æ¯ - %S
+pageInfo.frame.title=æ¡æ¶ä¿¡æ¯ - %S
+
+noPageTitle=æ æ é¢é¡µ
+unknown=æªç¥
+notset=æªææ
+yes=æ¯
+no=å¦
+
+mediaImg=å¾å
+mediaVideo=è§é¢
+mediaAudio=é³é¢
+mediaBGImg=èæ¯
+mediaBorderImg=è¾¹æ¡
+mediaListImg=项ç®
+mediaCursor=å
æ
+mediaObject=对象
+mediaEmbed=åµå
¥
+mediaLink=徿
+mediaInput=è¾å
¥
+mediaFileSize=%S KB
+mediaSize=%Spx à %Spx
+mediaSelectFolder=è¯·éæ©ä¿åå¾åçæä»¶å¤¹
+mediaBlockImage=æ¦æªæ¥èª %S çå¾å
+mediaUnknownNotCached=æªç¥ï¼æªç¼åï¼
+mediaImageType=%S å¾å
+mediaAnimatedImageType=%S å¾å (å¨ç»ï¼%S 帧)
+mediaDimensions=%Spx à %Spx
+mediaDimensionsScaled=%Spx à %Spx (缩æ¾è³ %Spx à %Spx)
+
+generalQuirksMode=æªå¼æ¨¡å¼
+generalStrictMode=æ åè§è模å¼
+generalSize=%S KB (%S åè)
+generalMetaTag=å
ä¿¡æ¯ (1 个æ ç¾)
+generalMetaTags=å
ä¿¡æ¯ (%S 个æ ç¾)
+
+feedRss=RSS
+feedAtom=Atom
+feedXML=XML
+feedSubscribe=订é
+feedSubscribe.accesskey=u
+
+securityNoOwner=æ¤ç½ç«æªæä¾ææè
ä¿¡æ¯ã
+# LOCALIZATION NOTE (securityVisitsNumber):
+# Semi-colon list of plural forms.
+# See: https://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of visits and can be used in all plural forms as needed, e.g.
+# for '1': 'Yes, #1 time'
+securityVisitsNumber=æ¯ï¼å
± #1 次
+securityNoVisits=仿ª
+
+# LOCALIZATION NOTE(securitySiteDataCookies,securitySiteDataOnly): This is for site data disk usage.
+# It confirms that a website is indeed using this much space.
+# e.g. Is this website storing site data? "Yes, 50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+securitySiteDataCookies=æï¼Cookie å %1$S %2$S ç½ç«æ°æ®
+securitySiteDataOnly=æï¼%1$S %2$S ç½ç«æ°æ®
+# LOCALIZATION NOTE(securitySiteDataCookiesOnly,securitySiteDataNo):
+# This is for site data and cookies usage. It answers the question "Is this website storing cookies and/or site data?"
+securitySiteDataCookiesOnly=æï¼Cookie
+securitySiteDataNo=æ
+
+permissions.useDefault=使ç¨é»è®¤è®¾ç½®
diff --git a/browser/chrome/browser/places/bookmarkProperties.properties b/browser/chrome/browser/places/bookmarkProperties.properties
new file mode 100755
index 00000000000..72d8a8b8eb2
--- /dev/null
+++ b/browser/chrome/browser/places/bookmarkProperties.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/.
+
+dialogAcceptLabelAddItem=æ·»å
+dialogAcceptLabelSaveItem=ä¿å
+dialogAcceptLabelAddLivemark=订é
+dialogAcceptLabelAddMulti=æ·»å 书ç¾
+dialogAcceptLabelEdit=ä¿å
+dialogTitleAddBookmark=æ°å»ºä¹¦ç¾
+dialogTitleAddLivemark=订é
宿¶ä¹¦ç¾
+dialogTitleAddFolder=æ°å»ºæä»¶å¤¹
+dialogTitleAddMulti=æ°å»ºä¹¦ç¾
+dialogTitleEdit=â%Sâç屿§
+
+bookmarkAllTabsDefault=[æä»¶å¤¹åç§°]
+newFolderDefault=æ°å»ºæä»¶å¤¹
+newBookmarkDefault=æ°å»ºä¹¦ç¾
+newLivemarkDefault=æ°å»ºå®æ¶ä¹¦ç¾
diff --git a/browser/chrome/browser/places/editBookmarkOverlay.dtd b/browser/chrome/browser/places/editBookmarkOverlay.dtd
new file mode 100755
index 00000000000..41b0638eec8
--- /dev/null
+++ b/browser/chrome/browser/places/editBookmarkOverlay.dtd
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/places/places.dtd b/browser/chrome/browser/places/places.dtd
new file mode 100755
index 00000000000..4681758cf76
--- /dev/null
+++ b/browser/chrome/browser/places/places.dtd
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Z æåº">
+
+ A æåº">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/places/places.properties b/browser/chrome/browser/places/places.properties
new file mode 100755
index 00000000000..3379430f07e
--- /dev/null
+++ b/browser/chrome/browser/places/places.properties
@@ -0,0 +1,102 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+load-js-data-url-error=åºäºå®å
¨å ç´ ï¼javascript æè
æ°æ® URL ä¸ä¼å¨åå²è®°å½çªå£æè
ä¾§æ ä¸è½½å
¥ã
+noTitle=(æ æ é¢)
+
+bookmarksMenuEmptyFolder=(空)
+
+bookmarksBackupTitle=书ç¾å¤ä»½æä»¶å
+
+bookmarksRestoreAlertTitle=æ¢å¤ä¹¦ç¾
+bookmarksRestoreAlert=æ¤æä½å°ç¨å¤ä»½ç书ç¾è¦çæ¨å½åç书ç¾ï¼ç¡®å®ï¼
+bookmarksRestoreTitle=鿩书ç¾å¤ä»½
+bookmarksRestoreFilterName=JSON
+
+bookmarksRestoreFormatError=䏿¯æçæä»¶ç±»åã
+bookmarksRestoreParseError=æ æ³å¤çå¤ä»½æä»¶ã
+
+bookmarksLivemarkLoading=宿¶ä¹¦ç¾è½½å
¥ä¸â¦
+bookmarksLivemarkFailed=宿¶ä¹¦ç¾æ¶åç¹è½½å
¥å¤±è´¥ã
+
+menuOpenLivemarkOrigin.label=æå¼ "%S"
+
+sortByName=æåç§°å° '%S' æåº
+sortByNameGeneric=æåç§°æåº
+# LOCALIZATION NOTE (view.sortBy.1.name.label): sortBy properties are versioned.
+# When any of these changes, all of the properties must be bumped, and the
+# change must be annotated here. Both label and accesskey must be updated.
+# - version 1: changed view.sortBy.1.date.
+view.sortBy.1.name.label=æåç§°æåº
+view.sortBy.1.name.accesskey=N
+view.sortBy.1.url.label=æç½åæåº
+view.sortBy.1.url.accesskey=L
+view.sortBy.1.date.label=æä¸æ¬¡è®¿é®æ¶é´æåº
+view.sortBy.1.date.accesskey=V
+view.sortBy.1.visitCount.label=æè®¿é®æ¬¡æ°æåº
+view.sortBy.1.visitCount.accesskey=C
+view.sortBy.1.description.label=ææè¿°æåº
+view.sortBy.1.description.accesskey=D
+view.sortBy.1.dateAdded.label=ææ·»å æ¶é´æåº
+view.sortBy.1.dateAdded.accesskey=e
+view.sortBy.1.lastModified.label=ææåä¿®æ¹æ¥ææåº
+view.sortBy.1.lastModified.accesskey=M
+view.sortBy.1.tags.label=ææ ç¾æåº
+view.sortBy.1.tags.accesskey=T
+
+searchBookmarks=æç´¢ä¹¦ç¾
+searchHistory=æç´¢åå²è®°å½
+searchDownloads=æç´¢ä¸è½½é¡¹
+
+SelectImport=导å
¥ä¹¦ç¾æä»¶
+EnterExport=导åºä¹¦ç¾æä»¶
+
+detailsPane.noItems=æ
+# LOCALIZATION NOTE (detailsPane.itemsCountLabel): Semicolon-separated list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 number of items
+# example: 111 items
+detailsPane.itemsCountLabel=#1个项ç®
+
+mostVisitedTitle=æå¸¸è®¿é®
+recentTagsTitle=æè¿ä½¿ç¨çæ ç¾
+
+OrganizerQueryHistory=åå²è®°å½
+OrganizerQueryDownloads=ä¸è½½é¡¹
+OrganizerQueryAllBookmarks=å
¨é¨ä¹¦ç¾
+OrganizerQueryTags=æ ç¾
+
+# LOCALIZATION NOTE (tagResultLabel, bookmarkResultLabel, switchtabResultLabel,
+# keywordResultLabel, searchengineResultLabel)
+# Noun used to describe the location bar autocomplete result type
+# to users with screen readers
+# See createResultLabel() in urlbarBindings.xml
+tagResultLabel=æ ç¾
+bookmarkResultLabel=书ç¾
+switchtabResultLabel=æ ç¾é¡µ
+keywordResultLabel=å
³é®è¯
+searchengineResultLabel=æç´¢
+
+# LOCALIZATION NOTE (lockPrompt.text)
+# %S will be replaced with the application name.
+lockPrompt.title=å¯å¨æµè§å¨åºé
+lockPrompt.text=ç±äºæä¸ª %S çæä»¶æ£è¢«å
¶ä»åºç¨ç¨åºä½¿ç¨ï¼ä¹¦ç¾ååå²è®°å½ç³»ç»æ æ³è¿è¡ãæäºå®å
¨è½¯ä»¶å¯è½å¼èµ·è¿ç±»é®é¢ã
+lockPromptInfoButton.label=详ç»äºè§£
+lockPromptInfoButton.accessKey=L
+
+# LOCALIZATION NOTE (cmd.deleteSinglePage.accesskey,
+# cmd.deleteMultiplePages.accesskey): these accesskeys can use the same
+# character, since they're never displayed at the same time
+cmd.deleteSinglePage.label=å é¤é¡µé¢
+cmd.deleteSinglePage.accesskey=D
+cmd.deleteMultiplePages.label=å é¤é¡µé¢
+cmd.deleteMultiplePages.accesskey=D
+
+# LOCALIZATION NOTE (cmd.bookmarkSinglePage.accesskey,
+# cmd.bookmarkMultiplePages.accesskey): these accesskeys can use the same
+# character, since they're never displayed at the same time
+cmd.bookmarkSinglePage.label=æ·»å 书ç¾
+cmd.bookmarkSinglePage.accesskey=B
+cmd.bookmarkMultiplePages.label=æ·»å 书ç¾
+cmd.bookmarkMultiplePages.accesskey=B
diff --git a/browser/chrome/browser/pocket.properties b/browser/chrome/browser/pocket.properties
new file mode 100644
index 00000000000..46e4fcff263
--- /dev/null
+++ b/browser/chrome/browser/pocket.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/.
+
+addtags = æ·»å æ ç¾
+alreadyhaveacct = å·²ç»æ³¨åè¿ Pocket è´¦æ·äºï¼
+continueff = ä½¿ç¨ Firefox ç»§ç»
+errorgeneric = å°è¯ä¿åå° Pocket æ¶åºéã
+learnmore = 详ç»äºè§£
+loginnow = ç»å½
+maxtaglength = æ ç¾ä¸è½è¶
è¿ 25 个å符
+mustbeconnected = æ¨å¿
é¡»å·²è¿æ¥äºèç½æè½ä¿åå° Pocketãè¯·æ£æ¥æ¨çç½ç»è¿æ¥ååè¯ä¸æ¬¡ã
+onlylinkssaved = åªæé¾æ¥è½è¢«ä¿å
+pagenotsaved = 页颿ªä¿å
+pageremoved = 页é¢å·²ç§»é¤
+pagesaved = å·²ä¿åå° Pocket
+processingremove = æ£å¨ç§»é¤é¡µé¢â¦
+processingtags = æ£å¨æ·»å æ ç¾â¦
+removepage = ç§»é¤é¡µé¢
+save = ä¿å
+saving = æ£å¨ä¿åâ¦
+signupemail = éè¿çµåé®ä»¶æ³¨å
+signuptosave = å
费注å Pocketã
+suggestedtags = æ¨èæ ç¾
+tagline = å¨ Firefox ä¸ä¿åæç« åè§é¢ï¼ä»¥ä¾å¨ä»»ä½æ¶é´ãä»»ä½è®¾å¤ä¸ç¨ Pocket 访é®ã
+taglinestory_one = ç¹å» Pocket æé®ä¿å Firefox ä¸çä»»ä½æç« ãè§é¢æé¡µé¢ã
+taglinestory_two = å¨ä»»ä½æ¶é´ãä»»ä½è®¾å¤ä¸ç Pocket 䏿¥çã
+tagssaved = æ ç¾å·²æ·»å
+tos = ç»§ç»å表示æ¨åæ Pocket çæå¡æ¡æ¬¾åéç§ææ¿ç
+tryitnow = ç°å¨å°±è¯è¯
+signinfirefox = ä½¿ç¨ Firefox ç»å½
+signupfirefox = ä½¿ç¨ Firefox 注å
+viewlist = æ¥çå表
+
+# LOCALIZATION NOTE(pocket-button.label, pocket-button.tooltiptext, saveToPocketCmd.label, saveLinkToPocketCmd.label, pocketMenuitem.label):
+# "Pocket" is a brand name.
+pocket-button.label = Pocket
+pocket-button.tooltiptext = ä¿åå° Pocket
+saveToPocketCmd.label = ä¿å页é¢å° Pocket
+saveToPocketCmd.accesskey = k
+saveLinkToPocketCmd.label = ä¿å龿¥å° Pocket
+saveLinkToPocketCmd.accesskey = o
+pocketMenuitem.label = æ¥ç Pocket å表
diff --git a/browser/chrome/browser/preferences/preferences.properties b/browser/chrome/browser/preferences/preferences.properties
new file mode 100755
index 00000000000..56250ddb678
--- /dev/null
+++ b/browser/chrome/browser/preferences/preferences.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/.
+
+#### Master Password
+
+pw_change2empty_in_fips_mode=æ¨æ£å¤äº FIPS 模å¼ã该模å¼éè¦ä¸ä¸ªé空ç主å¯ç ã
+pw_change_failed_title=å¯ç ä¿®æ¹å¤±è´¥
+
+#### Applications
+
+fileEnding=%S æä»¶
+saveFile=ä¿åæä»¶
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=ä½¿ç¨ %S
+useDefault=ä½¿ç¨ %S å¤çï¼é»è®¤ï¼
+
+useOtherApp=使ç¨å
¶ä»â¦
+fpTitleChooseApp=鿩婿åºç¨ç¨åº
+manageApp=åºç¨ç¨åºè¯¦ç»ä¿¡æ¯â¦
+alwaysAsk=æ¯æ¬¡é½é®æ
+portableDocumentFormat=便æºå¼ææ¡£æ ¼å¼ (PDF)
+
+# LOCALIZATION NOTE (usePluginIn):
+# %1$S = plugin name (for example "QuickTime Plugin-in 7.2")
+# %2$S = brandShortName from brand.properties (for example "Minefield")
+usePluginIn=ä½¿ç¨ %S ï¼å¨ %S ä¸ï¼
+
+# LOCALIZATION NOTE (previewInApp): %S = brandShortName
+previewInApp=å¨ %S ä¸é¢è§
+
+# LOCALIZATION NOTE (typeDescriptionWithType):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = type (for example "application/pdf")
+typeDescriptionWithType=%S (%S)
diff --git a/browser/chrome/browser/preferences/security.dtd b/browser/chrome/browser/preferences/security.dtd
new file mode 100755
index 00000000000..9787c61617a
--- /dev/null
+++ b/browser/chrome/browser/preferences/security.dtd
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd b/browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd
new file mode 100755
index 00000000000..bd3845b40e8
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+ æä¾ã">
+
+
+
+
+
+
+
+ 被举æ¥å«ææ¶æè½¯ä»¶ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯æå¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã">
+
+ 被举æ¥å«ææ¶æè½¯ä»¶ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯ã">
+
+StopBadware.org å¯ä»¥è¯¦ç»äºè§£æå®³çç½é¡µå
容ï¼å
æ¬ç
æ¯åå
¶ä»æ¶æè½¯ä»¶ï¼ï¼ç½ç«ä¸è¿ä»ç»äºä¿æ¤æ¨ççµèçå°ç¥è¯ãå° support.mozilla.org å¯ä»¥è¯¦ç»äºè§£ &brandShortName; é²èé鱼忶æè½¯ä»¶çæºå¶ã">
+
+
+
+
+
+
+
+ 被举æ¥å«ææå®³è½¯ä»¶ãæ¨å¯ä»¥å¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã">
+
+ 被举æ¥å«ææå®³è½¯ä»¶ã">
+
+æµæ°è½¯ä»¶æ¿ç å¯ä»¥è¯¦ç»äºè§£æå®³åæµæ°ç软件ãå° support.mozilla.org å¯ä»¥è¯¦ç»äºè§£ &brandShortName; é²èé鱼忶æè½¯ä»¶çæºå¶ã">
+
+
+
+
+
+
+ 被举æ¥ä¸ºè¯éªç½ç«ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯ï¼æå¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã">
+
+ 被举æ¥ä¸ºè¯éªç½ç«ãæ¨å¯ä»¥åæ ä¾¦æµæè¯¯ã">
+
+www.antiphishing.org å¯ä»¥è¯¦ç»äºè§£è¯éªç½ç«åéé±¼ãå° support.mozilla.org å¯ä»¥è¯¦ç»äºè§£ &brandShortName; é²èé鱼忶æè½¯ä»¶çæºå¶ã">
+
+
+
+
+
+
+ 被举æ¥å«æé£é©è½¯ä»¶ãæ¨å¯ä»¥å¿½ç¥æ¤é£é©å¹¶ç»§ç»åå¾è¿ä¸ªä¸å®å
¨çç½ç«ã">
+
+ 被举æ¥å«ææ½å¨æå®³ç软件ã">
+
+support.mozilla.org 详ç»äºè§£ &brandShortName; çéé±¼ç½ç«ä¸æ¶æç½ç«é²æ¤åè½ã">
diff --git a/browser/chrome/browser/safebrowsing/report-phishing.dtd b/browser/chrome/browser/safebrowsing/report-phishing.dtd
new file mode 100755
index 00000000000..1f28bf0ec76
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/report-phishing.dtd
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/browser/chrome/browser/safebrowsing/safebrowsing.properties b/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 00000000000..0efa01a94b2
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/safebrowsing.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/.
+
+errorReportFalseDeceptiveTitle=è¿ä¸æ¯è¯éªç½ç«
+errorReportFalseDeceptiveMessage=åçé误ï¼ç®åæ æ³æ¥åã
diff --git a/browser/chrome/browser/search.properties b/browser/chrome/browser/search.properties
new file mode 100755
index 00000000000..bdc42942558
--- /dev/null
+++ b/browser/chrome/browser/search.properties
@@ -0,0 +1,73 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+searchtip=ä½¿ç¨ %S æç´¢
+
+# LOCALIZATION NOTE (searchPlaceholder): this is shown in the searchbox when
+# the user hasn't typed anything yet.
+searchPlaceholder=æç´¢
+
+# LOCALIZATION NOTE (searchHeader): this is displayed at the top of the panel
+# showing search suggestions.
+# %S is replaced with the name of the current default search engine.
+searchHeader=ç¨ %S æç´¢
+
+# LOCALIZATION NOTE (cmd_pasteAndSearch): "Search" is a verb, this is the
+# search bar equivalent to the url bar's "Paste & Go"
+cmd_pasteAndSearch=ç²è´´å¹¶æç´¢
+
+cmd_clearHistory=æ¸
空æç´¢åå²
+cmd_clearHistory_accesskey=H
+
+cmd_showSuggestions=æ¾ç¤ºå»ºè®®
+cmd_showSuggestions_accesskey=S
+
+# LOCALIZATION NOTE (cmd_addFoundEngine): %S is replaced by the name of
+# a search engine offered by a web page. Each engine is displayed as a
+# menuitem at the bottom of the search panel.
+cmd_addFoundEngine=æ·»å "%S"
+# LOCALIZATION NOTE (cmd_addFoundEngineMenu): When more than 5 engines
+# are offered by a web page, instead of listing all of them in the
+# search panel using the cmd_addFoundEngine string, they will be
+# grouped in a submenu using cmd_addFoundEngineMenu as a label.
+cmd_addFoundEngineMenu=æ·»å æç´¢å¼æ
+
+# LOCALIZATION NOTE (searchForSomethingWith):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for with:"
+# NB: please leave the and its class exactly as it is in English.
+searchForSomethingWith=ç¨ä»¥ä¸çå·¥å
·å¯»æ¾ ï¼
+
+searchAddFoundEngine2=æ·»å æç´¢å¼æ
+searchAddedFoundEngine2=æç´¢å¼æå·²æ·»å
+
+# LOCALIZATION NOTE (searchForSomethingWith2):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for with:"
+searchForSomethingWith2=æç´¢ %Sï¼ä½¿ç¨ï¼
+
+# LOCALIZATION NOTE (searchWithHeader):
+# The wording of this string should be as close as possible to
+# searchForSomethingWith2. This string will be used when the user
+# has not typed anything.
+searchWithHeader=æç´¢å¼æï¼
+
+# LOCALIZATION NOTE (searchSettings):
+# This is the label for the button that opens Search preferences.
+searchSettings=æ´æ¹æç´¢è®¾ç½®
+
+# LOCALIZATION NOTE (searchReset.intro):
+# %S is the name of the user's current search engine.
+searchReset.intro=æ¨æ³ç¨ %S æç´¢åï¼
+# LOCALIZATION NOTE (searchReset.message):
+# %1$S is brandShortName. %2$S is the name of the user's current search engine.
+searchReset.message=æ¨çæç´¢å¼æä¼¼ä¹è¢«ä¿®æ¹äºã%1$S åºè¯¥å° %2$S 设为é»è®¤æç´¢å¼æåï¼
+# LOCALIZATION NOTE (searchReset.doNotResetButton):
+# This string is used as a button label in a notification popup.
+searchReset.doNotResetButton=谢谢ï¼ä¸ç¨
+# LOCALIZATION NOTE (searchReset.resetButton):
+# %S is the name of the user's current search engine. This string is used as a
+# button label in a notification popup, where space is limited. If necessary,
+# translate simply as "Yes, Use %S" (e.g., "Yes, use Google")
+searchReset.resetButton=好çï¼ä½¿ç¨ %S æç´¢
diff --git a/browser/chrome/browser/setDesktopBackground.dtd b/browser/chrome/browser/setDesktopBackground.dtd
new file mode 100755
index 00000000000..3630529df52
--- /dev/null
+++ b/browser/chrome/browser/setDesktopBackground.dtd
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/shellservice.properties b/browser/chrome/browser/shellservice.properties
new file mode 100755
index 00000000000..9da773c9736
--- /dev/null
+++ b/browser/chrome/browser/shellservice.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/.
+
+optionsLabel=%S é项
+safeModeLabel=%S å®å
¨æ¨¡å¼ (&S)
+
+# LOCALIZATION NOTE (setDefaultBrowserMessage2, setDefaultBrowserConfirm.label):
+# %S will be replaced by brandShortName
+setDefaultBrowserMessage2 = å° %S 设为æ¨çé»è®¤æµè§å¨ï¼äº«ç¨å®æ´åè½
+setDefaultBrowserConfirm.label = å° %S 设为æçé»è®¤æµè§å¨
+setDefaultBrowserConfirm.accesskey = U
+setDefaultBrowserOptions.label = é项
+setDefaultBrowserOptions.accesskey = O
+setDefaultBrowserNotNow.label = ææ¶ä¸è¦
+setDefaultBrowserNotNow.accesskey = N
+setDefaultBrowserNever.label = ä¸å询é®
+setDefaultBrowserNever.accesskey = D
+
+# LOCALIZATION NOTE (setDefaultBrowserTitle, setDefaultBrowserMessage, setDefaultBrowserDontAsk, setDefaultBrowserAlertConfirm.label, setDefaultBrowserAlertNotNow.label):
+# These strings are used as an alternative to the ones above, in a modal dialog.
+# %S will be replaced by brandShortName
+setDefaultBrowserTitle=é»è®¤æµè§å¨
+setDefaultBrowserMessage=%S ç®å䏿¯æ¨çé»è®¤æµè§å¨ãè¦å°å®è®¾ç½®ææ¨çé»è®¤æµè§å¨åï¼
+setDefaultBrowserDontAsk=æ¯æ¬¡å¯å¨ %S æ¶é½éæ°æ£æ¥
+setDefaultBrowserAlertConfirm.label=å° %S 设为æçé»è®¤æµè§å¨
+setDefaultBrowserAlertNotNow.label=ææ¶ä¸è¦
+
+desktopBackgroundLeafNameWin=æ¡é¢èæ¯.bmp
+DesktopBackgroundDownloading=ä¿åå¾åâ¦
+DesktopBackgroundSet=设为æ¡é¢èæ¯
diff --git a/browser/chrome/browser/siteData.properties b/browser/chrome/browser/siteData.properties
new file mode 100644
index 00000000000..4c1b3c51c6b
--- /dev/null
+++ b/browser/chrome/browser/siteData.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/.
+
+clearSiteDataPromptTitle=æ¸
餿æ Cookie åç½ç«æ°æ®
+# LOCALIZATION NOTE (clearSiteDataPromptText): %S = brandShortName
+clearSiteDataPromptText=éæ©âç«å³æ¸
é¤âå°æ¸
é¤ %S åå¨çææ Cookie åç½ç«æ°æ®ãè¿å¯è½ä½¿æ¨çç½ç«ç»å½ç¶æä¸¢å¤±ï¼å¹¶å 餿æç¦»çº¿ç½é¡µå
容ã
+clearSiteDataNow=ç«å³æ¸
é¤
diff --git a/browser/chrome/browser/sitePermissions.properties b/browser/chrome/browser/sitePermissions.properties
new file mode 100755
index 00000000000..2b99658c5f6
--- /dev/null
+++ b/browser/chrome/browser/sitePermissions.properties
@@ -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/.
+
+# LOCALIZATION NOTE (state.current.allowed,
+# state.current.allowedForSession,
+# state.current.allowedTemporarily,
+# state.current.blockedTemporarily,
+# state.current.blocked,
+# state.current.hide):
+# This label is used to display active permission states in the site
+# identity popup (which does not have a lot of screen space).
+state.current.allowed = å·²å
许
+state.current.allowedForSession = å·²äºè¿æ¬¡æµè§æé´å
许
+state.current.allowedTemporarily = 已临æ¶å
许
+state.current.blockedTemporarily = 已临æ¶é»æ¢
+state.current.blocked = 已黿¢
+state.current.prompt = æ¯æ¬¡é½é®æ
+state.current.hide = éèæç¤º
+
+# LOCALIZATION NOTE (state.multichoice.alwaysAsk,
+# state.multichoice.allow,
+# state.multichoice.allowForSession,
+# state.multichoice.block):
+# Used to label permission state checkboxes in the page info dialog.
+state.multichoice.alwaysAsk = æ¯æ¬¡é½é®æ
+state.multichoice.allow = å
许
+state.multichoice.allowForSession = å¨è¿æ¬¡æµè§æé´å
许
+state.multichoice.block = 黿¢
+
+state.multichoice.autoplayblock = 黿¢é³é¢
+state.multichoice.autoplayblockall = 黿¢é³é¢åè§é¢
+state.multichoice.autoplayallow = å
许é³é¢åè§é¢
+
+permission.autoplay-media2.label = èªå¨ææ¾å£°é³
+permission.cookie.label = 设置 Cookie
+permission.desktop-notification3.label = åééç¥
+permission.image.label = è½½å
¥å¾å
+permission.camera.label = ä½¿ç¨æå头
+permission.microphone.label = 使ç¨éº¦å
é£
+permission.screen.label = å
±äº«å±å¹
+permission.install.label = å®è£
éå ç»ä»¶
+permission.popup.label = æå¼å¼¹åºå¼çªå£
+permission.geo.label = è·åæ¨çä½ç½®
+permission.shortcuts.label = è¦çé®çå¿«æ·é®
+permission.focus-tab-by-prompt.label = 忢尿¤æ ç¾é¡µ
+permission.persistent-storage.label = 卿ä¹
åå¨ä¸å卿°æ®
+permission.canvas.label = è·å Canvas æ°æ®
+permission.flash-plugin.label = è¿è¡ Adobe Flash
+permission.midi.label = è®¿é® MIDI 设å¤
+permission.midi-sysex.label = è®¿é® MIDI 设å¤ï¼æ SysEx æ¯æï¼
diff --git a/browser/chrome/browser/syncBrand.dtd b/browser/chrome/browser/syncBrand.dtd
new file mode 100755
index 00000000000..bfe131c2fce
--- /dev/null
+++ b/browser/chrome/browser/syncBrand.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/browser/chrome/browser/syncSetup.properties b/browser/chrome/browser/syncSetup.properties
new file mode 100755
index 00000000000..8025541f340
--- /dev/null
+++ b/browser/chrome/browser/syncSetup.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/.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
+
+# Firefox Accounts based setup.
+continue.label = ç»§ç»
+
+relinkVerify.title = åå¹¶è¦å
+relinkVerify.heading = æ¨ç¡®å®è¦ç»å½åæ¥æå¡åï¼
+# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
+relinkVerify.description = å
åæå¦å¤çç¨æ·å¨è¿å°çµèä¸ç»å½è¿åæ¥æå¡ãè¥ç»§ç»åæ¥ï¼å°ä¸ %S åå¹¶æ¤æµè§å¨ç书ç¾ãå¯ç ç设置
diff --git a/browser/chrome/browser/tabbrowser.properties b/browser/chrome/browser/tabbrowser.properties
new file mode 100755
index 00000000000..78ac6d9d8ce
--- /dev/null
+++ b/browser/chrome/browser/tabbrowser.properties
@@ -0,0 +1,132 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+tabs.emptyTabTitle=æ°æ ç¾é¡µ
+tabs.emptyPrivateTabTitle=éç§æµè§
+tabs.closeTab=å
³éæ ç¾é¡µ
+tabs.close=å
³é
+tabs.closeTitleTabs=è¦å
³éè¿äºæ ç¾é¡µåï¼
+tabs.closeAndQuitTitleTabs=éåºå¹¶å
³éæ ç¾é¡µï¼
+tabs.closeAndQuitTitleTabsWin=éåºå¹¶å
³éæ ç¾é¡µï¼
+# LOCALIZATION NOTE (tabs.closeWarningMultiple):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple tabs.
+tabs.closeWarningMultiple=æ¨å³å°å
³é #1 个æ ç¾é¡µãç¡®å®è¦ç»§ç»åï¼
+# LOCALIZATION NOTE (tabs.closeWarningMultipleSessionRestore2):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The forms for 0 or 1 items are not considered since this string is used only
+# for multiple tabs.
+# If
+# "Tabs in non-private windows will be restored when you restart"
+# is difficult to translate, you could translate
+# "Tabs (except those in private windows) will be restored when you restart"
+# instead.
+tabs.closeWarningMultipleSessionRestore2=æ¨å³å°å
³é #1 个æ ç¾é¡µãééç§çªå£ä¸çæ ç¾é¡µå°å¨æ¨ä¸æ¬¡å¯å¨æ¶è¿åãç¡®å®è¦å
³éåï¼
+tabs.closeButtonMultiple=å
³éè¿äºæ ç¾é¡µ
+tabs.closeWarningPromptMe=彿å°è¯å
³éå¤ä¸ªæ ç¾é¡µæ¶ååºè¦å
+
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindows):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The forms for 0 or 1 items are not considered since this string is used only for
+# multiple windows. The %S replacement form will be replaced with the contents
+# of tabs.closeWarningMultipleWindowsTabSnippet, which will contain the number
+# of tabs in these windows.
+# Note that every one of these plural forms must contain one instance of '%S'.
+tabs.closeWarningMultipleWindows=æ¨å³å°å
³é #1 个çªå£ï¼%Sï¼ãç¡®å®è¦ç»§ç»åï¼
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindowsSessionRestore2):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The forms for 0 or 1 items are not considered since this string is used only for
+# multiple windows. The %S replacement form will be replaced with the contents
+# of tabs.closeWarningMultipleWindowsTabSnippet, which will contain the number
+# of tabs in these windows.
+# If
+# "Tabs in non-private windows will be restored when you restart"
+# is difficult to translate, you could translate
+# "Tabs (except those in private windows) will be restored when you restart"
+# instead.
+# Note that every one of these plural forms must contain one instance of '%S'.
+tabs.closeWarningMultipleWindowsSessionRestore2=æ¨å³å°å
³é #1 个çªå£ï¼%Sï¼ãééç§çªå£ä¸çæ ç¾é¡µå°å¨æ¨ä¸æ¬¡å¯å¨æ¶è¿åãç¡®å®è¦å
³éåï¼
+
+# LOCALIZATION NOTE (tabs.closeWarningMultipleWindowsTabSnippet):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# The singular form is not considered since this string is used only for
+# multiple windows which must contain multiple tabs (in total).
+# This string will be inserted in tabs.closeWarningMultipleWindows
+tabs.closeWarningMultipleWindowsTabSnippet=嫿 #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (tabs.closeTabs.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be closed. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.closeTabs.tooltip=å
³é #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (tabs.closeSelectedTabs.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for closing the current tab.
+# #1 is the number of tabs that will be closed. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.closeSelectedTabs.tooltip=å
³é #1 个æ ç¾é¡µ (%S)
+
+# LOCALIZATION NOTE (tabs.muteAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for "Mute tab".
+# #1 is the number of tabs that will be muted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.muteAudio2.tooltip=éé³ #1 个æ ç¾é¡µ (%S)
+
+# LOCALIZATION NOTE (tabs.unmuteAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# %S is the keyboard shortcut for "Unmute tab".
+# #1 is the number of tabs that will be unmuted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unmuteAudio2.tooltip=åæ¶éé³ #1 个æ ç¾é¡µ (%S)
+
+# LOCALIZATION NOTE (tabs.muteAudio2.background.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be muted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.muteAudio2.background.tooltip=éé³ #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (tabs.unmuteAudio2.background.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will be unmuted. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unmuteAudio2.background.tooltip=åæ¶éé³ #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (tabs.unblockAudio2.tooltip):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# #1 is the number of tabs that will have their audio unblocked. This is ignored for the
+# single tab case in English, but can be used by other locales as necessary.
+tabs.unblockAudio2.tooltip=ææ¾ #1 个æ ç¾é¡µ
+
+# LOCALIZATION NOTE (tabs.allowTabFocusByPromptForSite):
+# %S is the hostname of the site where dialogs are allowed to switch tabs
+tabs.allowTabFocusByPromptForSite=å
许æ¥èª %S çå¯¹è¯æ¡å°æ¨å¸¦å¾æ ç¾é¡µ
+
+# LOCALIZATION NOTE (tabs.containers.tooltip):
+# Displayed as a tooltip on container tabs
+# %1$S is the title of the current tab
+# %2$S is the name of the current container
+tabs.containers.tooltip=%1$S - %2$S
+
+# LOCALIZATION NOTE (tabs.openWarningTitle, tabs.openWarningMultipleBranded, tabs.openButtonMultiple, tabs.openWarningPromptMeBranded):
+# These items are moved from chrome/browser/places/places.properties
+# Now they are not specific to bookmark.
+tabs.openWarningTitle=确认æå¼
+tabs.openWarningMultipleBranded=æ¨å°è¦æå¼ %S 个æ ç¾é¡µãä¸å¹¶è½½å
¥å¤ªå¤é¡µé¢å¯è½ä¼åæ
¢ %S çè¿è¡ãæ¨ç¡®å®è¦ä¸å¹¶æå¼åï¼
+tabs.openButtonMultiple=æå¼æ ç¾é¡µ
+tabs.openWarningPromptMeBranded=æå¼å¤ä¸ªæ ç¾é¡µå¯è½è´ä½¿ %S ç¼æ
¢æ¶è¦åæ
diff --git a/browser/chrome/browser/taskbar.properties b/browser/chrome/browser/taskbar.properties
new file mode 100755
index 00000000000..78a97fc2be3
--- /dev/null
+++ b/browser/chrome/browser/taskbar.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/.
+
+taskbar.tasks.newTab.label=æå¼æ°æ ç¾é¡µ
+taskbar.tasks.newTab.description=æ°å»ºä¸ä¸ªæµè§å¨æ ç¾é¡µã
+taskbar.tasks.newWindow.label=æå¼æ°çªå£
+taskbar.tasks.newWindow.description=æ°å»ºä¸ä¸ªæµè§å¨çªå£ã
+taskbar.tasks.newPrivateWindow.label=æ°å»ºéç§çªå£
+taskbar.tasks.newPrivateWindow.description=以éç§æµè§æ¨¡å¼æå¼æ°çªå£ã
+taskbar.frequent.label=é¢ç¹
+taskbar.recent.label=æè¿
diff --git a/browser/chrome/browser/translation.dtd b/browser/chrome/browser/translation.dtd
new file mode 100755
index 00000000000..fbfb2f0e968
--- /dev/null
+++ b/browser/chrome/browser/translation.dtd
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/translation.properties b/browser/chrome/browser/translation.properties
new file mode 100755
index 00000000000..342bb56df96
--- /dev/null
+++ b/browser/chrome/browser/translation.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 (translation.options.neverForLanguage.label):
+# %S is a language name coming from the toolkit/intl/languageNames.ftl file.
+translation.options.neverForLanguage.label=ä¸ç¿»è¯ %S
+
+# LOCALIZATION NOTE (translation.options.neverForLanguage.accesskey):
+# The accesskey value used here should not clash with the values used for
+# translation.options.*.accesskey in translation.dtd
+translation.options.neverForLanguage.accesskey=N
diff --git a/browser/chrome/browser/uiDensity.properties b/browser/chrome/browser/uiDensity.properties
new file mode 100644
index 00000000000..8b3018a74a3
--- /dev/null
+++ b/browser/chrome/browser/uiDensity.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/.
+
+uiDensity.menuitem-touch.acceltext=å·²å¯ç¨å¹³æ¿æ¨¡å¼
diff --git a/browser/chrome/browser/webrtcIndicator.properties b/browser/chrome/browser/webrtcIndicator.properties
new file mode 100755
index 00000000000..412e236895a
--- /dev/null
+++ b/browser/chrome/browser/webrtcIndicator.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 : FILE This file contains the webrtc global indicator strings
+
+# LOCALIZATION NOTE (webrtcIndicator.windowtitle): %S is the brand name (e.g. Firefox).
+# This string is used so that the window has a title in tools that enumerate/look for window
+# titles. It is not normally visible anywhere.
+webrtcIndicator.windowtitle = %S - å
±äº«æç¤ºå¨
+
+webrtcIndicator.sharingCameraAndMicrophone.tooltip = æ¨çæå头å麦å
é£ç®å已被å
±äº«ãç¹å»è¿éæ§å¶å
±äº«ã
+webrtcIndicator.sharingCamera.tooltip = æ¨çæå头ç®å已被å
±äº«ãç¹å»è¿éæ§å¶å
±äº«ã
+webrtcIndicator.sharingMicrophone.tooltip = æ¨ç麦å
é£ç®å已被å
±äº«ãç¹å»è¿éæ§å¶å
±äº«ã
+webrtcIndicator.sharingApplication.tooltip = ä¸ä¸ªåºç¨ç¨åºå¼å§è¢«å
±äº«ãç¹å»è¿éæ§å¶å
±äº«ç¶æã
+webrtcIndicator.sharingScreen.tooltip = æ¨çå±å¹ç®å已被å
±äº«ãç¹å»è¿éæ§å¶å
±äº«ã
+webrtcIndicator.sharingWindow.tooltip = ä¸ä¸ªçªå£ç®å已被å
±äº«ãç¹å»è¿éæ§å¶å
±äº«ã
+webrtcIndicator.sharingBrowser.tooltip = å³å°å享æä¸ªæ ç¾é¡µãç¹å»æ¤å¤æ¥è°æ´è¦å享çå
容ã
+
+
+# LOCALIZATION NOTE : The following strings are only used on Mac for
+# menus attached to icons near the clock on the mac menubar.
+
+# LOCALIZATION NOTE (webrtcIndicator.sharing*With.menuitem):
+# %S is the title of the tab using the share.
+webrtcIndicator.sharingCameraWith.menuitem = æ£å¨ä¸â%Sâå
±äº«æå头
+webrtcIndicator.sharingMicrophoneWith.menuitem = æ£å¨ä¸â%Sâå
±äº«éº¦å
é£
+webrtcIndicator.sharingApplicationWith.menuitem = æ£å¨ä¸â%Sâå
±äº«ä¸ä¸ªåºç¨ç¨åº
+webrtcIndicator.sharingScreenWith.menuitem = æ£å¨ä¸â%Sâå
±äº«å±å¹
+webrtcIndicator.sharingWindowWith.menuitem = æ£å¨ä¸â%Sâå
±äº«çªå£
+webrtcIndicator.sharingBrowserWith.menuitem = æ£å¨ä¸â%Sâå
±äº«æ ç¾é¡µ
+webrtcIndicator.controlSharing.menuitem = æ§å¶å
±äº«ç¶æ
+# LOCALIZATION NOTE (webrtcIndicator.sharingCameraWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingCameraWithNTabs.menuitem = æ£å¨å
许 #1 个æ ç¾é¡µè®¿é®æå头
+# LOCALIZATION NOTE (webrtcIndicator.sharingMicrophoneWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingMicrophoneWithNTabs.menuitem = æ£å¨å
许 #1 个æ ç¾é¡µè®¿é®éº¦å
é£
+# LOCALIZATION NOTE (webrtcIndicator.sharingApplicationWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingApplicationWithNTabs.menuitem = æ£å¨å
许 #1 个æ ç¾é¡µè®¿é®æä¸ªåºç¨ç¨åº
+# LOCALIZATION NOTE (webrtcIndicator.sharingScreenWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingScreenWithNTabs.menuitem = æ£å¨å
许 #1 个æ ç¾é¡µæ¥çå±å¹ç»é¢
+# LOCALIZATION NOTE (webrtcIndicator.sharingWindowWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+webrtcIndicator.sharingWindowWithNTabs.menuitem = æ£å¨å
许 #1 个æ ç¾é¡µè®¿é®çªå£
+# LOCALIZATION NOTE (webrtcIndicator.sharingBrowserWithNTabs.menuitem):
+# Semicolon-separated list of plural forms. See:
+# http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This message is shown when the contents of a tab is shared during a WebRTC
+# session, which currently is only possible with Loop/Hello.
+webrtcIndicator.sharingBrowserWithNTabs.menuitem = æ£å¨å
许 #1 个æ ç¾é¡µè®¿é®æ ç¾é¡µ
+# LOCALIZATION NOTE (webrtcIndicator.controlSharingOn.menuitem):
+# %S is the title of the tab using the share.
+webrtcIndicator.controlSharingOn.menuitem = æ§å¶å¨â%Sâçå
񄧮
diff --git a/browser/chrome/overrides/appstrings.properties b/browser/chrome/overrides/appstrings.properties
new file mode 100755
index 00000000000..9dc4a7d515d
--- /dev/null
+++ b/browser/chrome/overrides/appstrings.properties
@@ -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/.
+
+malformedURI2=è¯·æ£æ¥ç½åæ¯å¦æ£ç¡®ï¼ç¶åéè¯ã
+fileNotFound=Firefox æ æ³å¨ %S æ¾å°è¯¥æä»¶ã
+fileAccessDenied=æ æ³è¯»å %S ä¸ç该æä»¶ã
+dnsNotFound2=æä»¬æ æ³è¿æ¥è³ %S çæå¡å¨ã
+unknownProtocolFound=Firefox ä¸ç¥éå¦ä½æå¼è¿ä¸ªå°åï¼å 为åè®® (%S) æªä¸ä»»ä½ç¨åºå
³èï¼ææ¤ç¯å¢ä¸ä¸å¯æå¼è¯¥åè®®çå°åã
+connectionFailure=Firefox æ æ³å»ºç«å° %S æå¡å¨çè¿æ¥ã
+netInterrupt=è½½å
¥é¡µé¢æ¶ä¸ %S çè¿æ¥ä¸æã
+netTimeout=%S çæå¡å¨ååºæ¶é´è¿é¿ã
+redirectLoop=Firefox æ£æµå°è¯¥æå¡å¨æ£å¨å°æåæ¤ç½åçè¯·æ±æ é循ç¯éå®åã
+## LOCALIZATION NOTE (confirmRepostPrompt): In this item, donât translate "%S"
+confirmRepostPrompt=ä¸ºäºæ¾ç¤ºæ¤é¡µé¢ï¼%S å¿
é¡»åéå°é夿¤åæä½ï¼ä¾å¦æç´¢æè
确认订åï¼çä¿¡æ¯ã
+resendButton.label=éæ°åé
+unknownSocketType=Firefox ä¸ç¥éå¦ä½ä¸è¯¥æå¡å¨éä¿¡ã
+netReset=è½½å
¥é¡µé¢æ¶ä¸æå¡å¨çè¿æ¥è¢«éç½®ã
+notCached=è¯¥ææ¡£ä¸åå¯ç¨ã
+netOffline=Firefox æ£å¤äºè±æºæ¨¡å¼ï¼ä¸è½æµè§ç½ç»ã
+isprinting=æ£å¨æå°æè
æå°é¢è§æ¶ææ¡£æ æ³ä¿®æ¹ã
+deniedPortAccess=æ¤ç½å使ç¨äºä¸ä¸ªé常ç¨äºç½ç»æµè§ä»¥å¤ç®çç端å£ãåºäºå®å
¨åå ï¼Firefox åæ¶äºè¯¥è¯·æ±ã
+proxyResolveFailure=Firefox æ æ³æ¾å°æ¨æå®ç代çæå¡å¨ã
+proxyConnectFailure=Firefox å°è¯ä¸æ¨æå®ç代çæå¡å¨è¿æ¥æ¶è¢«æç»ã
+contentEncodingError=æ¨å°è¯æ¥çç页颿 æ³æ¾ç¤ºï¼å 为å®ä½¿ç¨äºæ æçæè
ä¸åæ¯æçåç¼©æ ¼å¼ã
+unsafeContentType=æ æ³æ¾ç¤ºæ¨å°è¯æ¥çç页é¢ï¼å®å
å«å¨ä¸è½å®å
¨æå¼çæä»¶ç±»åä¸ãå»ºè®®åæ¤ç½ç«ç管çååé¦è¿ä¸ªé®é¢ã
+externalProtocolTitle=å¤é¨å议请æ±
+externalProtocolPrompt=éè¦å¯å¨ä¸ä¸ªå¤é¨ç¨åºæ¥å¤ç %1$S: 龿¥ã\n\n\n请æ±ç龿¥ï¼\n\n%2$S\n\nåºç¨ç¨åº: %3$S\n\n\n妿䏿¯æ¨ä¸»å¨æ³è¿æ ·åï¼åå¯è½æ¯æäººå¨è¯å¾å©ç¨å
¶ä»ç¨åºå®æ½å
¥ä¾µãé¤éæ¨ç¡®å®è¿æ²¡é®é¢ï¼ä¸ç¶è¯·éåæ¶ã\n
+#LOCALIZATION NOTE (externalProtocolUnknown): The following string is shown if the application name can't be determined
+externalProtocolUnknown=<æªç¥>
+externalProtocolChkMsg=è¯·è®°ä½æä¸ºæ¤ç±»å龿¥æåçéæ©ã
+externalProtocolLaunchBtn=å¯å¨åºç¨ç¨åº
+malwareBlocked=æ ¹æ®ä¸¾æ¥ï¼ä½äº %S çæ¤ç½é¡µææ»å»è¡ä¸ºãç°å·²ä¾ç
§æ¨çå®å
¨é¦é项äºä»¥æ¦æªã
+harmfulBlocked=æ ¹æ®ä¸¾æ¥ï¼ä½äº %S çæ¤ç½é¡µå¯è½ææ»å»è¡ä¸ºãç°å·²æ ¹æ®æ¨çå®å
¨é项äºä»¥æ¦æªã
+unwantedBlocked=æ ¹æ®ä¸¾æ¥ï¼ä½äº %S çæ¤ç½é¡µæä¾æµæ°è½¯ä»¶ãç°å·²ä¾ç
§æ¨çå®å
¨é¦é项äºä»¥æ¦æªã
+deceptiveBlocked=æ ¹æ®ä¸¾æ¥ï¼ä½äº %S çæ¤ç½é¡µæ¯è¯éªç½ç«ãç°å·²ä¾ç
§æ¨çå®å
¨é¦é项äºä»¥æ¦æªã
+cspBlocked=æ¤é¡µé¢çå
容å®å
¨çç¥ç¦æ¢å®ä»¥è¯¥ç§æ¹å¼è½½å
¥ã
+corruptedContentErrorv2=å¨ç½ç« %S éå°ä¸ä¸ªæ æ³ä¿®å¤çç½ç»åè®®è¿è§ã
+remoteXUL=æ¤é¡µé¢ä½¿ç¨äºä¸æ¯æçææ¯ï¼Firefox é»è®¤ä¸åå¯ç¨è¯¥ææ¯ã
+## LOCALIZATION NOTE (sslv3Used) - Do not translate "%S".
+sslv3Used=Firefox æ æ³ä¿è¯æ¨å¨ %S ä¸çæ°æ®å®å
¨æ§ï¼å 为å®ä½¿ç¨ SSLv3ï¼ä¸ä¸ªç®åå®å
¨æ§æ¬ ä½³çå®å
¨åè®®ã
+inadequateSecurityError=该ç½ç«å°è¯ååçå®å
¨çº§å«ä¸è¶³ã
+blockedByPolicy=æ¨çç»ç»å·²å°éæ¤é¡µé¢æç½ç«ã
+networkProtocolError=Firefox éå°ä¸ä¸ªæ æ³ä¿®å¤çç½ç»åè®®è¿è§ã
diff --git a/browser/chrome/overrides/netError.dtd b/browser/chrome/overrides/netError.dtd
new file mode 100755
index 00000000000..be2fa259edd
--- /dev/null
+++ b/browser/chrome/overrides/netError.dtd
@@ -0,0 +1,205 @@
+
+
+
+%brandDTD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+å¦æç¡®å®æ¤ç½åæ£ç¡®ï¼æ¨å¯ä»¥å°è¯ï¼
+
+ - è¿ä¼å¿åéè¯ã
+ - æ£æ¥æ¨çç½ç»è¿æ¥æ¯å¦æ£å¸¸ã
+ - 妿æ¨é¨ç½²æç½ç»é²ç«å¢ï¼è¯·æ£æ¥ &brandShortName; æ¯å¦å·²è¢«ææè®¿é®ç½ç»ã
+
+">
+
+
+
+è¯·æ£æ¥æä»¶åæ¯å¦å¤§å°åè¾éï¼æè
æå
¶ä»è¾å
¥é误ã
+è¯·æ£æ¥æä»¶æ¯å¦å·²è¢«ç§»å¨ï¼éå½åæå é¤ã
+">
+
+
+
+ æä»¶å¯è½å·²è¢«å é¤ãç§»å¨ï¼æè
å æä»¶æéé®é¢è¢«æç»è®¿é®ã
+
+">
+
+
+&brandShortName; å æäºä¸æåå æ æ³è½½å
¥æ¤é¡µé¢ã
">
+
+
+æ¨å¿
é¡»å
ç»å½æ¤ç½ç»æè½è®¿é®äºèç½ã">
+
+
+
+
+
+
+
+
+
+
+
+æ¨è¯·æ±çææ¡£å·²æ æ³å¨ &brandShortName; çç¼å䏿¾å°ã- åºäºå®å
¨èèï¼&brandShortName; ä¸ä¼èªå¨éæ°è·åææææ¡£ã
- æ¨å¯ä»¥ç¹å»âéè¯âæ¥éæ°è¯·æ±ä»ç½ç«è·åè¯¥ææ¡£ã
">
+
+
+
+
+ 请æâéè¯â忢å°èç½æ¨¡å¼å¹¶éæ°è½½å
¥æ¤é¡µé¢ã
+">
+
+
+
+ å»ºè®®åæ¤ç½ç«ç管çååé¦è¿ä¸ªé®é¢ã">
+
+
+
+ å»ºè®®åæ¤ç½ç«ç管çååé¦è¿ä¸ªé®é¢ã ">
+
+
+
+
+
+
+
+
+
+æ¨å¯è½éè¦å®è£
å
¶ä»è½¯ä»¶æè½æå¼æ¤ç½åã
+">
+
+
+è¯·æ£æ¥æµè§å¨ç代çæå¡å¨è®¾ç½®æ¯å¦æ£ç¡®ã请èç³»æ¨çç½ç»ç®¡çå以确认代çæå¡å¨å·¥ä½æ£å¸¸ã">
+
+
+è¯·æ£æ¥æµè§å¨ç代çæå¡å¨è®¾ç½®æ¯å¦æ£ç¡®ãè¯·æ£æ¥ç¡®è®¤æ¨çè®¡ç®æºè½æ£å¸¸è¿ä¸ç½ã妿æ¨çè®¡ç®æºæç½ç»åå°é²ç«å¢æè
代çæå¡å¨çä¿æ¤ï¼è¯·ç¡®è®¤ &brandShortName; 已被ææè®¿é®ç½ç»ã">
+
+
+ææ¶åç¦ç¨ææç»æ¥å Cookie ä¼å¯¼è´æ¤é®é¢ã">
+
+
+
+è¯·æ£æ¥æ¨çç³»ç»æ¯å¦å®è£
äºä¸ªäººå®å
¨ç®¡çå¨ï¼PSMï¼ã
+è¿å¯è½æ¯ç±æå¡å¨ç«¯çéæ åé
ç½®æè´ã
+">
+
+
+
+ç±äºä¸è½éªè¯ææ¶å°çæ°æ®æ¯å¦å¯ä¿¡ï¼æ æ³æ¾ç¤ºæ¨æ³è¦æ¥çç页é¢ã
+å»ºè®®åæ¤ç½ç«ç管çååé¦è¿ä¸ªé®é¢ã
+">
+
+
+
+
+
+ ç管çåæ²¡ææ£ç¡®é
置好æ¤ç½ç«ã为é¿å
æ¨çä¿¡æ¯å¤±çªï¼&brandShortName; å¹¶æªä¸æ¤ç½ç«å»ºç«è¿æ¥ã">
+ãè¥æ¨è®¿é®æ¤ç½ç«ï¼æ»å»è
å¯è½ä¼å°è¯çªåæ¨çå¯ç ãçµåé®ä»¶ãä¿¡ç¨å¡çä¿¡æ¯ã">
+ è¦æ±å®å
¨è¿æ¥è没æç»§ç»ã">
+
+ãå¯è½æ¯è¯¥ç½ç«é
ç½®æè¯¯ï¼æè
æ¨çè®¡ç®æºæ¶é设置æè¯¯ã">
+
+
+
+
+
+è¿ä¸ªé®é¢å¤§å¤ä¸ç½ç«æå
³ï¼æ æ³éè¿æ¨çæä½è§£å³ã
+å¦ææ¨æ¯å¨ä½¿ç¨å
¬å¸ç½ç»ææäºé²ç
æ¯è½¯ä»¶æ¶éå°æ¤é®é¢ï¼å¯èèè系客æï¼ææ¯æ¯æï¼ä»¥å¯»æ±å¸®å©ãæ¨ä¹å¯ä»¥åç½ç«ç®¡çååç¥æ¤é®é¢ã
+">
+
+æ¨çè®¡ç®æºæ¶éç®å设置为 ãè¯·ç¡®ä¿æ¨çè®¡ç®æºå¨ç³»ç»è®¾ç½®ä¸å·²è®¾ç½®äºæ£ç¡®çæ¥æãæ¶é´åæ¶åºï¼ç¶åå·æ° ã
+妿æ¨çæ¶é已设置æ£ç¡®çæ¶é´ï¼åæ¤ç½ç«å¯è½åå¨é
ç½®éè¯¯ï¼æ¨æ æ³è§£å³æ¤é®é¢ãæ¨å¯ä»¥åç½ç«ç®¡çååé¦è¯¥é®é¢ã
">
+
+è¿ä¸ªé®é¢å¤§å¤ä¸ç½ç«æå
³ï¼æ æ³éè¿æ¨çæä½è§£å³ãæ¨å¯ä»¥åæ¤ç½ç«ç管çè
å馿¤é®é¢ã
+">
+
+
+æ¤ç«ç¹ææ¶æ æ³ä½¿ç¨æè
太è¿å¿ç¢ã请è¿å åéååè¯ã
+å¦ææ¨æ æ³è½½å
¥ä»»ä½ç½é¡µï¼è¯·æ£æ¥æ¨è®¡ç®æºçç½ç»è¿æ¥ç¶æã
+妿æ¨çè®¡ç®æºæç½ç»åå°é²ç«å¢æè
代çæå¡å¨çä¿æ¤ï¼è¯·ç¡®è®¤ &brandShortName; 已被ææè®¿é®ç½ç»ã
+">
+
+
+&brandShortName; å·²ä¾ç
§è¯¥é¡µé¢çå
容å®å
¨çç¥é»æ¢äºå®ä»¥è¿ç§æ¹å¼è½½å
¥ã">
+
+
+ç±äºæ£æµå°å¨æ°æ®ä¼ è¾è¿ç¨ä¸åå¨éè¯¯ï¼æ æ³æ¾ç¤ºæ¨æ£è¦æ¥çç页é¢ã- å»ºè®®åæ¤ç½ç«ç管çååé¦è¿ä¸ªé®é¢ã
">
+
+
+
+
+
+
+
+
+
+- å»ºè®®åæ¤ç½ç«ç管çååé¦è¿ä¸ªé®é¢ã
">
+
+
+
+
+
+
+æ¨çç³»ç»æ¶é´ä¼¼ä¹ä¸æ£ç¡®ï¼å æ¤ &brandShortName; æ æ³ä¸ 建ç«å®å
¨è¿æ¥ã æ¨çè®¡ç®æºæ¶é´ç®å被设置为 ï¼ä½æ£ç¡®çæ¶é´åºæ¯ ãè¯·æ´æ£æ¨çæ¥æåæ¶é´è®¾ç½®æ¥ä¿®å¤æ¤é®é¢ã
">
+æ¨çç³»ç»æ¶é´ä¼¼ä¹ä¸æ£ç¡®ï¼å æ¤ &brandShortName; æ æ³ä¸ 建ç«å®å
¨è¿æ¥ã æ¨çè®¡ç®æºæ¶é´ç®å被设置为 ãè¯·æ´æ£æ¨çæ¥æåæ¶é´è®¾ç½®æ¥ä¿®å¤æ¤é®é¢ã
">
+
+
+
+
+
+ å¯ç¨äºè¢«ç§°ä¸º HTTP ä¸¥æ ¼ä¼ è¾å®å
¨ï¼HSTSï¼çå®å
¨çç¥ï¼è¿æå³ç &brandShortName; åªè½å®å
¨å°ä¸å
¶è¿æ¥ãæ¨æ æ³æ·»å ä¾å¤ä»¥è®¿é®æ¤ç«ç¹ã">
+
+
+
+
+ 使ç¨äºè¿æ¶çå®å
¨ææ¯ï¼è¾å®¹æéåæ»å»ãæ»å»è
å¯ä»¥è½»æçªåæ¨çä¿¡æ¯ã该ç½ç«ç管çåä¿®æ£æå¡å¨åæ¨æè½è®¿é®è¯¥ç½ç«ãé误代ç ï¼NS_ERROR_NET_INADEQUATE_SECURITY
">
+
+
+
+
+ å¾åæ¯ä¸ä¸ªå®å
¨ï¼è¿æ¥å å¯ï¼çç½ç«ï¼ä½æä»¬æªè½ä¸å®å»ºç«å®å
¨è¿æ¥ãè¿ä¸ªé®é¢æ¯ç± æé æï¼å®æ¯æ¨çè®¡ç®æºææ¨æå¨ç½ç»ä¸ç软件ã">
+
+
+ï¼è¿å¯è½æ¯ä¸èµ·æ»å»ï¼æ¨ä¸åºè¯¥ç»§ç»è®¿é®è¯¥ç½ç«ã">
+ï¼è¿å¯è½æ¯ä¸èµ·æ»å»ï¼æ æ³éè¿æ¨çæä½æ¥è®¿é®æ¤ç½ç«ã">
+
+
+ï¼&brandShortName; æ æ³å¨è¿ä¸ªè®¾å®çæ¶é´ä¸è¿è¡å®å
¨è¿æ¥ãè¦è®¿é® ï¼è¯·å¨æ¨çç³»ç»è®¾ç½®ä¸ç¡®è®¤å½åçæ¥æãæ¶é´ãæ¶åºè®¾ç½®æ¯å¦æ£ç¡®ï¼ç¶åéæ°è½½å
¥ ã">
+
+
+
+
+
+æ¨å°è¯æ¥çç页颿 æ³æ¾ç¤ºï¼å ä¸ºæ£æµå°äºç½ç»åè®®ä¸çé误ã- å»ºè®®åæ¤ç½ç«ç管çååé¦è¿ä¸ªé®é¢ã
">
diff --git a/browser/chrome/overrides/settingsChange.dtd b/browser/chrome/overrides/settingsChange.dtd
new file mode 100755
index 00000000000..02a8ceb2620
--- /dev/null
+++ b/browser/chrome/overrides/settingsChange.dtd
@@ -0,0 +1,7 @@
+
+
+
+ åºç¨ç¨åº é项å¡ä¸ä¿®æ¹ç¸å
³è®¾ç½®ã">
+ åºç¨ç¨åº é项å¡ä¸ä¿®æ¹ç¸å
³è®¾ç½®ã">
diff --git a/browser/crashreporter/crashreporter-override.ini b/browser/crashreporter/crashreporter-override.ini
new file mode 100755
index 00000000000..b823bb5d769
--- /dev/null
+++ b/browser/crashreporter/crashreporter-override.ini
@@ -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/.
+
+# This file is in the UTF-8 encoding
+[Strings]
+# LOCALIZATION NOTE (CrashReporterProductErrorText2): The %s is replaced with a string containing detailed information.
+CrashReporterProductErrorText2=Firefox ç¢°ä¸æå¤é®é¢èèªè¡å
³éãæä»¬å°å°è¯å¨éæ°æå¼æ¶æ¢å¤æ¨çæ ç¾é¡µåçªå£ã\n\nå¯æï¼æä»¬æ æ³åé¦è¿æ¬¡é误å
³éçæ¥åã\n\n详æ
å¦ä¸: %s
+CrashReporterDescriptionText2=Firefox ç¢°ä¸æå¤é®é¢èèªè¡å
³éãæä»¬å°å°è¯å¨éæ°æå¼æ¶æ¢å¤æ¨çæ ç¾é¡µåçªå£ã\n\næ¨å¯ä»¥æäº¤å´©æºæ¥å以åå©æä»¬è°æ¥å¹¶ä¿®å¤æ¤é®é¢ã
diff --git a/browser/defines.inc b/browser/defines.inc
new file mode 100755
index 00000000000..fe10a8aa361
--- /dev/null
+++ b/browser/defines.inc
@@ -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/.
+#filter emptyLines
+
+#define MOZ_LANGPACK_CREATOR Mozest
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+# variable definition and use the format specified.
+#define MOZ_LANGPACK_CONTRIBUTORS Wen Shaohua Jin Jian Rongjun Mu Xie Yanbo Cathayan YFdyh000 xcffl Shen Hao Liu Xing
+
+#unfilter emptyLines
diff --git a/browser/extensions/formautofill/formautofill.properties b/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 00000000000..26dd063f9cf
--- /dev/null
+++ b/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,211 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (saveAddressesMessage): %S is brandShortName. This string is used on the doorhanger to
+# notify users that addresses are saved.
+saveAddressesMessage = %S ç°å¨å¯ä»¥ä¿åå°åï¼å©æ¨å¿«éå¡«å表åäºã
+# LOCALIZATION NOTE (autofillOptionsLink, autofillOptionsLinkOSX): These strings are used in the doorhanger for
+# updating addresses. The link leads users to Form Autofill browser preferences.
+autofillOptionsLink = 表åèªå¨å¡«åé项
+autofillOptionsLinkOSX = 表åèªå¨å¡«åå好设置
+# LOCALIZATION NOTE (autofillSecurityOptionsLink, autofillSecurityOptionsLinkOSX): These strings are used
+# in the doorhanger for saving credit card info. The link leads users to Form Autofill browser preferences.
+autofillSecurityOptionsLink = 表åèªå¨å¡«åä¸å®å
¨é项
+autofillSecurityOptionsLinkOSX = 表åèªå¨å¡«åä¸å®å
¨å好设置
+# LOCALIZATION NOTE (changeAutofillOptions, changeAutofillOptionsOSX): These strings are used on the doorhanger
+# that notifies users that addresses are saved. The button leads users to Form Autofill browser preferences.
+changeAutofillOptions = æ´æ¹è¡¨åèªå¨å¡«åé项
+changeAutofillOptionsOSX = æ´æ¹è¡¨åèªå¨å¡«åå好设置
+changeAutofillOptionsAccessKey = C
+# LOCALIZATION NOTE (addressesSyncCheckbox): If Sync is enabled, this checkbox is displayed on the doorhanger
+# shown when saving addresses.
+addressesSyncCheckbox = ä¸å·²åæ¥ç设å¤å
±äº«å°å
+# LOCALIZATION NOTE (creditCardsSyncCheckbox): If Sync is enabled and credit card sync is available,
+# this checkbox is displayed on the doorhanger shown when saving credit card.
+creditCardsSyncCheckbox = å¨åæ¥è®¾å¤é´å
±äº«ä¿¡ç¨å¡ä¿¡æ¯
+# LOCALIZATION NOTE (updateAddressMessage, updateAddressDescriptionLabel, createAddressLabel, updateAddressLabel):
+# Used on the doorhanger when an address change is detected.
+updateAddressMessage = æ¨æ³å°æ¨çå°åæ´æ°ä¸ºæ°ä¿¡æ¯åï¼
+updateAddressDescriptionLabel = è¦æ´æ°çå°åï¼
+createAddressLabel = å建æ°å°å
+createAddressAccessKey = C
+updateAddressLabel = æ´æ°å°å
+updateAddressAccessKey = U
+# LOCALIZATION NOTE (saveCreditCardMessage, saveCreditCardDescriptionLabel, saveCreditCardLabel, cancelCreditCardLabel, neverSaveCreditCardLabel):
+# Used on the doorhanger when users submit payment with credit card.
+# LOCALIZATION NOTE (saveCreditCardMessage): %S is brandShortName.
+saveCreditCardMessage = æ¨æ³è®© %S ä¿åæ¤ä¿¡ç¨å¡åï¼ï¼å®å
¨ä»£ç ä¸ä¼ä¿åï¼
+saveCreditCardDescriptionLabel = è¦ä¿åçä¿¡ç¨å¡ï¼
+saveCreditCardLabel = ä¿åä¿¡ç¨å¡
+saveCreditCardAccessKey = S
+cancelCreditCardLabel = ä¸ä¿å
+cancelCreditCardAccessKey = D
+neverSaveCreditCardLabel = æ°¸ä¸ä¿åä¿¡ç¨å¡
+neverSaveCreditCardAccessKey = N
+# LOCALIZATION NOTE (updateCreditCardMessage, updateCreditCardDescriptionLabel, createCreditCardLabel, updateCreditCardLabel):
+# Used on the doorhanger when an credit card change is detected.
+updateCreditCardMessage = æ¨æ³ç¨æ°ä¿¡æ¯æ´æ°æ¨çä¿¡ç¨å¡ä¿¡æ¯åï¼
+updateCreditCardDescriptionLabel = è¦æ´æ°çä¿¡ç¨å¡ï¼
+createCreditCardLabel = å建æ°ä¿¡ç¨å¡
+createCreditCardAccessKey = C
+updateCreditCardLabel = æ´æ°ä¿¡ç¨å¡ä¿¡æ¯
+updateCreditCardAccessKey = U
+# LOCALIZATION NOTE (openAutofillMessagePanel): Tooltip label for Form Autofill doorhanger icon on address bar.
+openAutofillMessagePanel = æå¼è¡¨åèªå¨å¡«åæ¶æ¯é¢æ¿
+
+# LOCALIZATION NOTE ( (autocompleteFooterOptionShort, autocompleteFooterOptionOSXShort): Used as a label for the button,
+# displayed at the bottom of the dropdown suggestion, to open Form Autofill browser preferences.
+autocompleteFooterOptionShort = æ´å¤é项
+autocompleteFooterOptionOSXShort = å好设置
+# LOCALIZATION NOTE (category.address, category.name, category.organization2, category.tel, category.email):
+# Used in autofill drop down suggestion to indicate what other categories Form Autofill will attempt to fill.
+category.address = å°å
+category.name = å§å
+category.organization2 = ç»ç»
+category.tel = çµè¯å·ç
+category.email = çµåé®ç®±
+# LOCALIZATION NOTE (fieldNameSeparator): This is used as a separator between categories.
+fieldNameSeparator = ,\u0020
+# LOCALIZATION NOTE (phishingWarningMessage, phishingWarningMessage2): The warning
+# text that is displayed for informing users what categories are about to be filled.
+# "%S" will be replaced with a list generated from the pre-defined categories.
+# The text would be e.g. Also autofills organization, phone, email.
+phishingWarningMessage = è¿å°èªå¨å¡«å %S æ
+phishingWarningMessage2 = èªå¨å¡«å %S
+# LOCALIZATION NOTE (insecureFieldWarningDescription): %S is brandShortName. This string is used in drop down
+# suggestion when users try to autofill credit card on an insecure website (without https).
+insecureFieldWarningDescription = %S æ£æµå°ä¸ä¸ªä¸å®å
¨çç½ç«ã表åèªå¨å¡«åå·²ææ¶ç¦ç¨
+# LOCALIZATION NOTE (clearFormBtnLabel2): Label for the button in the dropdown menu that used to clear the populated
+# form.
+clearFormBtnLabel2 = æ¸
é¤èªå¨å¡«å表å
+
+autofillHeader = 表åä¸èªå¨å¡«å
+# LOCALIZATION NOTE (autofillDescription): %S is brandShortName.
+autofillDescription = %S å¯ä»¥ä¿åæ¨çå°ååä¿¡ç¨å¡ä¿¡æ¯ã
+# LOCALIZATION NOTE (autofillAddressesCheckbox): Label for the checkbox that enables autofilling addresses.
+autofillAddressesCheckbox = èªå¨å¡«åå°å
+# LOCALIZATION NOTE (learnMoreLabel): Label for the link that leads users to the Form Autofill SUMO page.
+learnMoreLabel = 详ç»äºè§£
+# LOCALIZATION NOTE (savedAddressesBtnLabel): Label for the button that opens a dialog that shows the
+# list of saved addresses.
+savedAddressesBtnLabel = å·²ä¿åçå°åâ¦
+# LOCALIZATION NOTE (autofillCreditCardsCheckbox): Label for the checkbox that enables autofilling credit cards.
+autofillCreditCardsCheckbox = èªå¨å¡«åä¿¡ç¨å¡
+# LOCALIZATION NOTE (savedCreditCardsBtnLabel): Label for the button that opens a dialog that shows the list
+# of saved credit cards.
+savedCreditCardsBtnLabel = å·²ä¿åçä¿¡ç¨å¡â¦
+
+# LOCALIZATION NOTE (manageAddressesTitle, manageCreditCardsTitle): The dialog title for the list of addresses or
+# credit cards in browser preferences.
+manageAddressesTitle = å·²ä¿åçå°å
+manageCreditCardsTitle = å·²ä¿åçä¿¡ç¨å¡
+# LOCALIZATION NOTE (addressesListHeader, creditCardsListHeader): The header for the list of addresses or credit cards
+# in browser preferences.
+addressesListHeader = å°å
+creditCardsListHeader = ä¿¡ç¨å¡
+showCreditCardsBtnLabel = æ¾ç¤ºä¿¡ç¨å¡
+hideCreditCardsBtnLabel = éèä¿¡ç¨å¡
+removeBtnLabel = ç§»é¤
+addBtnLabel = æ·»å â¦
+editBtnLabel = ç¼è¾â¦
+# LOCALIZATION NOTE (manageDialogsWidth): This strings sets the default width for windows used to manage addresses and
+# credit cards.
+manageDialogsWidth = 560px
+
+# LOCALIZATION NOTE (addNewAddressTitle, editAddressTitle): The dialog title for creating or editing addresses
+# in browser preferences.
+addNewAddressTitle = æ·»å æ°å°å
+editAddressTitle = ç¼è¾å°å
+givenName = å
+additionalName = ä¸é´å
+familyName = å§
+organization2 = ç»ç»
+streetAddress = è¡éå°å
+
+## address-level-3 (Sublocality) names
+# LOCALIZATION NOTE (neighborhood): Used in IR, MX
+neighborhood = è¡åº
+# LOCALIZATION NOTE (village_township): Used in MY
+village_township = ææä¹¡é
+island = å²
+# LOCALIZATION NOTE (townland): Used in IE
+townland = é
+
+## address-level-2 names
+city = å¸
+# LOCALIZATION NOTE (district): Used in HK, SD, SY, TR as Address Level-2
+# and used in KR as Sublocality.
+district = åº
+# LOCALIZATION NOTE (post_town): Used in GB, NO, SE
+post_town = é®é
+# LOCALIZATION NOTE (suburb): Used in AU as Address Level-2
+# and used in ZZ as Sublocality.
+suburb = å¸é
+
+# address-level-1 names
+province = ç
+state = å·
+county = å¿
+# LOCALIZATION NOTE (parish): Used in BB, JM
+parish = æåº
+# LOCALIZATION NOTE (prefecture): Used in JP
+prefecture = é½éåºå¿
+# LOCALIZATION NOTE (area): Used in HK
+area = åºå
+# LOCALIZATION NOTE (do_si): Used in KR
+do_si = é/å¸
+# LOCALIZATION NOTE (department): Used in NI, CO
+department = ç
+# LOCALIZATION NOTE (emirate): Used in AE
+emirate = é
é¿å½
+# LOCALIZATION NOTE (oblast): Used in RU and UA
+oblast = å·
+
+# LOCALIZATION NOTE (pin, postalCode, zip, eircode): Postal code name types
+# LOCALIZATION NOTE (pin): Used in IN
+pin = 鮿¿ç¼ç
+postalCode = 鮿¿ç¼ç
+zip = Zip ç¼ç
+# LOCALIZATION NOTE (eircode): Used in IE
+eircode = Eircode 鮿¿ç¼ç
+
+country = å½å®¶/å°åº
+tel = çµè¯å·ç
+email = çµåé®ç®±
+cancelBtnLabel = åæ¶
+saveBtnLabel = ä¿å
+countryWarningMessage2 = 表åèªå¨å¡«åç®åä»
éç¨äºé¨åå°åºã
+
+# LOCALIZATION NOTE (addNewCreditCardTitle, editCreditCardTitle): The dialog title for creating or editing
+# credit cards in browser preferences.
+addNewCreditCardTitle = æ·»å æ°ä¿¡ç¨å¡
+editCreditCardTitle = ç¼è¾ä¿¡ç¨å¡
+cardNumber = å¡å·
+invalidCardNumber = 请è¾å
¥ææçå¡å·
+nameOnCard = å¡ä¸åç§°
+cardExpiresMonth = å°ææ
+cardExpiresYear = å°æå¹´
+billingAddress = è´¦åå°å
+cardNetwork = å¡çç±»å
+# LOCALIZATION NOTE (cardCVV): Credit card security code https://en.wikipedia.org/wiki/Card_security_code
+cardCVV = å®å
¨ç
+
+# LOCALIZATION NOTE: (cardNetwork.*): These are brand names and should only be translated when a locale-specific name for that brand is in common use
+cardNetwork.amex = ç¾å½è¿éï¼American Expressï¼
+cardNetwork.cartebancaire = Carte Bancaire
+cardNetwork.diners = 大æ¥å¡ï¼Diners Clubï¼
+cardNetwork.discover = åç°å¡ï¼Discoverï¼
+cardNetwork.jcb = å士ç¾ï¼JCBï¼
+cardNetwork.mastercard = ä¸äºè¾¾ï¼MasterCardï¼
+cardNetwork.mir = MIR
+cardNetwork.unionpay = é¶èï¼Union Payï¼
+cardNetwork.visa = Visa
+
+# LOCALIZATION NOTE (editCreditCardPasswordPrompt.*, useCreditCardPasswordPrompt.*): %S is brandShortName.
+editCreditCardPasswordPrompt.win = %S æ£å°è¯æ¾ç¤ºä¿¡ç¨å¡ä¿¡æ¯ã请å¨ä¸æ¹ç»å½æ¤ Windows è´¦æ·ç¡®è®¤ã
+editCreditCardPasswordPrompt.macosx = %S æ£å°è¯æ¾ç¤ºä¿¡ç¨å¡ä¿¡æ¯ã
+editCreditCardPasswordPrompt.linux = %S æ£å°è¯æ¾ç¤ºä¿¡ç¨å¡ä¿¡æ¯ã
+useCreditCardPasswordPrompt.win = %S æ£å°è¯ä½¿ç¨åå¨çä¿¡ç¨å¡ä¿¡æ¯ã请å¨ä¸æ¹ç»å½æ¤ Windows è´¦æ·ç¡®è®¤ã
+useCreditCardPasswordPrompt.macosx = %S æ£å°è¯ä½¿ç¨åå¨çä¿¡ç¨å¡ä¿¡æ¯ã
+useCreditCardPasswordPrompt.linux = %S æ£å°è¯ä½¿ç¨åå¨çä¿¡ç¨å¡ä¿¡æ¯ã
diff --git a/browser/extensions/fxmonitor/fxmonitor.properties b/browser/extensions/fxmonitor/fxmonitor.properties
new file mode 100644
index 00000000000..0f2e3e075d7
--- /dev/null
+++ b/browser/extensions/fxmonitor/fxmonitor.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/.
+
+# Header of the popup
+fxmonitor.popupHeader=å¨è¿ä¸ªç½ç«æ³¨åè¿è´¦å·åï¼
+# Firefox Monitor must be treated as a brand, and kept in English.
+# It cannot be:
+# - Declined to adapt to grammatical case.
+# - Transliterated.
+# - Translated.
+fxmonitor.brandName=Firefox Monitor
+# Tooltip text for the popup's anchor icon in the URL bar
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.anchorIcon.tooltiptext=ç½ç«å·²æ¥åç» %S
+# Text content of popup. Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This version is only used when the number of accounts is smaller than 100,000.
+# The placeholders are:
+# #1: The exact number of accounts compromised in the breach.
+# #2: The name of the breached site.
+# #3: The year of the breach.
+# #4: The brand name ("Firefox Monitor").
+fxmonitor.popupText=å¨ #3 å¹´ï¼#2 æ #1 个账å·éå°å
¥ä¾µãè®¿é® #4 æ£æ¥æ¨çè´¦å·æ¯å¦åå¨é£é©ã
+# Text content of popup. Semi-colon list of plural forms.
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This version is only used when the number of accounts is greater than 100,000.
+# The placeholders are:
+# #1: The number of accounts compromised in the breach, rounded down to the
+# most significant digit.
+# Ex.: 234,567 -> More than 200,000 accounts [...]
+# 345,678,901 -> More than 300,000,000 accounts [...]
+# 4,567,890,123 -> More than 4,000,000,000 accounts [...]
+# #2: The name of the breached site.
+# #3: The year of the breach.
+# #4: The brand name ("Firefox Monitor").
+fxmonitor.popupTextRounded=å¨ #3 å¹´ï¼#2 æè¶
è¿ #1 个账å·éå°å
¥ä¾µãè®¿é® #4 æ£æ¥æ¨çè´¦å·æ¯å¦åå¨é£é©ã
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.checkButton.label=å° %S æ£æ¥
+fxmonitor.checkButton.accessKey=C
+fxmonitor.dismissButton.label=ç¥éäº
+fxmonitor.dismissButton.accessKey=D
+# %S is replaced with fxmonitor.brandName.
+fxmonitor.neverShowButton.label=ä¸å¾ä¸æ¾ç¤º %S è¦å
+fxmonitor.neverShowButton.accessKey=N
diff --git a/browser/extensions/report-site-issue/webcompat.properties b/browser/extensions/report-site-issue/webcompat.properties
new file mode 100644
index 00000000000..1724f67c84c
--- /dev/null
+++ b/browser/extensions/report-site-issue/webcompat.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/.
+
+# LOCALIZATION NOTE(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=åé¦ç½ç«é®é¢â¦
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=æ¥åç½ç«å
¼å®¹æ§é®é¢
diff --git a/browser/extensions/webcompat-reporter/webcompat.properties b/browser/extensions/webcompat-reporter/webcompat.properties
new file mode 100644
index 00000000000..1724f67c84c
--- /dev/null
+++ b/browser/extensions/webcompat-reporter/webcompat.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/.
+
+# LOCALIZATION NOTE(wc-reporter.label2): This string will be used in the
+# Firefox page actions menu. Localized length should be considered.
+wc-reporter.label2=åé¦ç½ç«é®é¢â¦
+# LOCALIZATION NOTE(wc-reporter.tooltip): A site compatibility issue is
+# a website bug that exists in one browser (Firefox), but not another.
+wc-reporter.tooltip=æ¥åç½ç«å
¼å®¹æ§é®é¢
diff --git a/browser/firefox-l10n.js b/browser/firefox-l10n.js
new file mode 100644
index 00000000000..acd7de10529
--- /dev/null
+++ b/browser/firefox-l10n.js
@@ -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/.
+
+#filter substitution
+
+pref("browser.startup.homepage", "chrome://browser/locale/browser.properties");
diff --git a/browser/installer/custom.properties b/browser/installer/custom.properties
new file mode 100755
index 00000000000..1d62886c37e
--- /dev/null
+++ b/browser/installer/custom.properties
@@ -0,0 +1,87 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+REG_APP_DESC=$BrandShortName å°ç»æ¨å¸¦æ¥å®å
¨ãæç¨çç½ç»æµè§ä½éªãçæçç¨æ·çé¢ã强åçå®å
¨ç¹æ§ï¼å
æ¬é²æ¢å¨çº¿èº«ä»½çç¨ï¼ï¼å¹¶ä¸æ´åäºä¾¿äºæ¨ä»ç½ç»è·å浩çä¿¡æ¯çæç´¢å¼æã
+CONTEXT_OPTIONS=$BrandShortName é项 (&O)
+CONTEXT_SAFE_MODE=$BrandShortName å®å
¨æ¨¡å¼ (&S)
+OPTIONS_PAGE_TITLE=å®è£
ç±»å
+OPTIONS_PAGE_SUBTITLE=éæ©å®è£
é项
+SHORTCUTS_PAGE_TITLE=建ç«å¿«æ·æ¹å¼
+SHORTCUTS_PAGE_SUBTITLE=å建ç¨åºå¾æ
+COMPONENTS_PAGE_TITLE=设置å¯éç»ä»¶
+COMPONENTS_PAGE_SUBTITLE=å¯éçæ¨èç»ä»¶
+OPTIONAL_COMPONENTS_DESC=ç»´æ¤æå¡å°æ¯æå¨åå°éé»çæ´æ° $BrandShortNameã
+MAINTENANCE_SERVICE_CHECKBOX_DESC=å®è£
ç»´æ¤æå¡(&M)
+SUMMARY_PAGE_TITLE=æ¦è¿°
+SUMMARY_PAGE_SUBTITLE=åå¤å¼å§å®è£
$BrandShortName
+SUMMARY_INSTALLED_TO=$BrandShortName å°è¢«å®è£
å°å¦ä¸ä½ç½®ï¼
+SUMMARY_REBOOT_REQUIRED_INSTALL=为äºå®æå®è£
ï¼å¯è½éè¦æ¨éæ°å¯å¨è®¡ç®æºã
+SUMMARY_REBOOT_REQUIRED_UNINSTALL=为äºå®æå¸è½½ï¼å¯è½éè¦æ¨éæ°å¯å¨è®¡ç®æºã
+SUMMARY_TAKE_DEFAULTS=å° $BrandShortName 设为æçé»è®¤æµè§å¨
+SUMMARY_INSTALL_CLICK=ç¹å» å®è£
ç»§ç»ã
+SUMMARY_UPGRADE_CLICK=ç¹å» å级 ç»§ç»ã
+SURVEY_TEXT=åè¯æä»¬æ¨æ¯æä¹ç $BrandShortName ç (&T)
+LAUNCH_TEXT=ç«å³è¿è¡ $BrandShortName (&L)
+CREATE_ICONS_DESC=å建 $BrandShortName 徿 ï¼
+ICONS_DESKTOP=å¨æçæ¡é¢
+ICONS_STARTMENU=卿çå¼å§èåç¨åºæä»¶å¤¹ (&S)
+ICONS_QUICKLAUNCH=卿çå¿«éå¯å¨æ ä¸ (&Q)
+WARN_MANUALLY_CLOSE_APP_INSTALL=å¿
é¡»å
³é $BrandShortName æè½ç»§ç»å®è£
ã\n\n请å
³é $BrandShortName 以继ç»ã
+WARN_MANUALLY_CLOSE_APP_UNINSTALL=å¿
é¡»å
³é $BrandShortName æè½ç»§ç»å¸è½½ã\n\n请å
³é $BrandShortName 以继ç»ã
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName æ£å¨è¿è¡ã\n\n请å
å
³é $BrandShortNameï¼ç¶åå¯å¨æ¨æ°å®è£
ççæ¬ã
+WARN_WRITE_ACCESS=æ¨å¯¹è¯¥å®è£
ç®å½æ²¡æåæéã\n\n请ç¹å»ç¡®å®éæ©å
¶ä»ç®å½ã
+WARN_DISK_SPACE=æ¨éæ©çå®è£
ä½ç½®æ²¡æè¶³å¤çç£ç空é´ã\n\n请ç¹å» ç¡®å® éæ©å
¶ä»ä½ç½®ã
+WARN_MIN_SUPPORTED_OSVER_MSG=徿±æï¼$BrandShortName ä¸è½å®è£
ãæ¤çæ¬ç $BrandShortName éè¦ ${MinSupportedVer} ææ´æ°çæ¬ã请ç¹å»ç¡®å®æé®è·åæ´å¤ä¿¡æ¯ã
+WARN_MIN_SUPPORTED_CPU_MSG=徿±æï¼$BrandShortName ä¸è½å®è£
ãæ¤çæ¬ç $BrandShortName éè¦æ¯æ ${MinSupportedCPU} çå¤çå¨ã请ç¹å»ç¡®å®æé®è·åæ´å¤ä¿¡æ¯ã
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=徿±æï¼$BrandShortName ä¸è½å®è£
ãæ¤çæ¬ç $BrandShortName éè¦ ${MinSupportedVer} ææ´æ°çæ¬åæ¯æ ${MinSupportedCPU} çå¤çå¨ã请ç¹å»ç¡®å®æé®è·åæ´å¤ä¿¡æ¯ã
+WARN_RESTART_REQUIRED_UNINSTALL=æ¨å¿
须鿰å¯å¨è®¡ç®æºä»¥å®æ $BrandShortName çå¸è½½ãæ¨æ³è¦ç°å¨å°±éæ°å¯å¨åï¼
+WARN_RESTART_REQUIRED_UPGRADE=æ¨å¿
须鿰å¯å¨è®¡ç®æºä»¥å®æ $BrandShortName çåçº§ãæ¨æ³è¦ç°å¨å°±éæ°å¯å¨åï¼
+ERROR_CREATE_DIRECTORY_PREFIX=å建æä»¶å¤¹å¤±è´¥ï¼
+ERROR_CREATE_DIRECTORY_SUFFIX=åå» åæ¶ å³åæ¢å®è£
ï¼\næè
åå» éè¯ åè¯è¯ã
+
+UN_CONFIRM_PAGE_TITLE=å¸è½½ $BrandFullName
+UN_CONFIRM_PAGE_SUBTITLE=仿¨çè®¡ç®æºä¸ç§»é¤ $BrandFullNameã
+UN_CONFIRM_UNINSTALLED_FROM=$BrandShortName å°è¢«ä»ä»¥ä¸ä½ç½®å¸è½½ï¼
+UN_CONFIRM_CLICK=ç¹å» å¸è½½ 以继ç»ã
+
+BANNER_CHECK_EXISTING=æ£å¨æ£æ¥ç°æçå®è£
â¦
+
+STATUS_INSTALL_APP=æ£å¨å®è£
$BrandShortNameâ¦
+STATUS_INSTALL_LANG=æ£å¨å®è£
è¯è¨æä»¶ (${AB_CD})â¦
+STATUS_UNINSTALL_MAIN=æ£å¨å¸è½½ $BrandShortNameâ¦
+STATUS_CLEANUP=ä¸ç¹ç¹æ¸
æ´å·¥ä½â¦
+
+UN_SURVEY_CHECKBOX_LABEL=åè¯ Mozilla ä½ ä¸ºä»ä¹å¸è½½ $BrandShortName
+
+# _DESC strings support approximately 65 characters per line.
+# One line
+OPTIONS_SUMMARY=éæ©æ¨å欢çå®è£
æ¹å¼ï¼ç¶åç¹å» ä¸ä¸æ¥ã
+# One line
+OPTION_STANDARD_DESC=$BrandShortName å°ä½¿ç¨æå¸¸ç¨çé项å®è£
ã
+OPTION_STANDARD_RADIO=æ å (&S)
+# Two lines
+OPTION_CUSTOM_DESC=æ¨å¯ä»¥éæ©ä¸ªæ§åçå®è£
é项ã建议ç»éªä¸°å¯çç¨æ·éç¨ã
+OPTION_CUSTOM_RADIO=èªå®ä¹ (&C)
+
+# LOCALIZATION NOTE:
+# The following text replaces the Install button text on the summary page.
+# Verify that the access key for InstallBtn (in override.properties) and
+# UPGRADE_BUTTON is not already used by SUMMARY_TAKE_DEFAULTS.
+UPGRADE_BUTTON=å级
diff --git a/browser/installer/mui.properties b/browser/installer/mui.properties
new file mode 100755
index 00000000000..d9d0062783f
--- /dev/null
+++ b/browser/installer/mui.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/.
+
+# To make the l10n tinderboxen see changes to this file you can change a value
+# name by adding - to the end of the name followed by chars (e.g. Branding-2).
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+MUI_TEXT_WELCOME_INFO_TITLE=欢è¿ä½¿ç¨ $BrandFullNameDA å®è£
å导
+MUI_TEXT_WELCOME_INFO_TEXT=æ¬å导å°å婿¨å®è£
$BrandFullNameDAã\n\n建议æ¨å¨å¼å§å®è£
åéåºå
¶ä»ç¨åºãè¿æ ·æè½ä¿è¯æ¨ä¸å¿
éæ°å¯å¨è®¡ç®æºå°±è½æ´æ°ç¸å
³çç³»ç»æä»¶ã\n\n$_CLICK
+MUI_TEXT_COMPONENTS_TITLE=éæ©ç»ä»¶
+MUI_TEXT_COMPONENTS_SUBTITLE=éæ©æ¨æ³è¦å®è£
ç $BrandFullNameDA åè½ã
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE=æè¿°
+MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO=å°é¼ æ ç§»è³ç»ä»¶ä¸å³å¯æ¥çç¸å
³æè¿°ã
+MUI_TEXT_DIRECTORY_TITLE=éæ©å®è£
ä½ç½®
+MUI_TEXT_DIRECTORY_SUBTITLE=è¯·éæ©è¦å®è£
$BrandFullNameDA çæä»¶å¤¹ã
+MUI_TEXT_INSTALLING_TITLE=æ£å¨å®è£
+MUI_TEXT_INSTALLING_SUBTITLE=$BrandFullNameDA æ£å¨å®è£
ï¼è¯·ç¨çã
+MUI_TEXT_FINISH_TITLE=å®è£
宿
+MUI_TEXT_FINISH_SUBTITLE=å®è£
æåã
+MUI_TEXT_ABORT_TITLE=å®è£
䏿¢
+MUI_TEXT_ABORT_SUBTITLE=æªæåå®è£
ã
+MUI_BUTTONTEXT_FINISH=宿 (&F)
+MUI_TEXT_FINISH_INFO_TITLE=宿 $BrandFullNameDA å®è£
å导
+MUI_TEXT_FINISH_INFO_TEXT=$BrandFullNameDA å·²ç»å®è£
è³æ¨çè®¡ç®æºã\n\nç¹å»â宿âå³å¯å
³éæ¬å导ã
+MUI_TEXT_FINISH_INFO_REBOOT=æ¨å¿
é¡»éå¯è®¡ç®æºæè½å®æ $BrandFullNameDA çå®è£
ãç°å¨éå¯åï¼
+MUI_TEXT_FINISH_REBOOTNOW=ç«å³éå¯
+MUI_TEXT_FINISH_REBOOTLATER=æè¦ç¨åæå¨éå¯
+MUI_TEXT_STARTMENU_TITLE=éæ©å¼å§èåæä»¶å¤¹
+MUI_TEXT_STARTMENU_SUBTITLE=éæ©å建 $BrandFullNameDA ç¨åºå¿«æ·æ¹å¼çå¼å§èåæä»¶å¤¹ã
+MUI_INNERTEXT_STARTMENU_TOP=éæ©å建ç¨åºå¿«æ·æ¹å¼çå¼å§èåæä»¶å¤¹ãæ¨ä¹å¯ä»¥åå»ºæ°æä»¶å¤¹ã
+MUI_TEXT_ABORTWARNING=æ¨ç¡®å®è¦éåº $BrandFullName å®è£
ç¨åºåï¼
+MUI_UNTEXT_WELCOME_INFO_TITLE=欢è¿ä½¿ç¨ $BrandFullNameDA å¸è½½å导
+MUI_UNTEXT_WELCOME_INFO_TEXT=æ¬å导å°å婿¨å¸è½½ $BrandFullNameDAã\n\nå¼å§å¸è½½åï¼è¯·ç¡®è®¤å·²ç»å
³é $BrandFullNameDAã\n\n$_CLICK
+MUI_UNTEXT_CONFIRM_TITLE=å¸è½½ $BrandFullNameDA
+MUI_UNTEXT_CONFIRM_SUBTITLE=仿¨çè®¡ç®æºä¸ç§»é¤ $BrandFullNameDAã
+MUI_UNTEXT_UNINSTALLING_TITLE=å¸è½½ä¸
+MUI_UNTEXT_UNINSTALLING_SUBTITLE=$BrandFullNameDA æ£å¨å¸è½½ï¼è¯·ç¨çã
+MUI_UNTEXT_FINISH_TITLE=å¸è½½å®æ
+MUI_UNTEXT_FINISH_SUBTITLE=å¸è½½æåã
+MUI_UNTEXT_ABORT_TITLE=å¸è½½ä¸æ¢
+MUI_UNTEXT_ABORT_SUBTITLE=æªæåå¸è½½ã
+MUI_UNTEXT_FINISH_INFO_TITLE=æ£å¨å®æ $BrandFullNameDA å¸è½½å导
+MUI_UNTEXT_FINISH_INFO_TEXT=$BrandFullNameDA å·²ç»ä»æ¨çè®¡ç®æºå¸è½½ã\n\nç¹å»â宿âå³å¯å
³éæ¬å导ã
+MUI_UNTEXT_FINISH_INFO_REBOOT=æ¨å¿
é¡»éå¯è®¡ç®æºæè½å®æ $BrandFullNameDA çå¸è½½ãç°å¨éå¯åï¼
+MUI_UNTEXT_ABORTWARNING=æ¨ç¡®å®è¦éåº $BrandFullName å¸è½½ç¨åºåï¼
diff --git a/browser/installer/nsisstrings.properties b/browser/installer/nsisstrings.properties
new file mode 100755
index 00000000000..a343ebf5f2a
--- /dev/null
+++ b/browser/installer/nsisstrings.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:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# Do not replace $BrandShortName, $BrandProductName, $BrandFullName,
+# or $BrandFullNameDA with a custom string and always use the same one as used
+# by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+INSTALLER_WIN_CAPTION=$BrandShortName å®è£
ç¨åº
+
+# The \n in the next two strings can be moved or deleted as needed to make
+# the string fit in the 3 lines of space available.
+STUB_CLEANUP_PAVEOVER_HEADER=çæ¥å·²ç»å®è£
äº $BrandShortNameã\næ¥æ´æ°ä¸ä¸å§ã
+STUB_CLEANUP_REINSTALL_HEADER=çæ¥æ¾ç»å®è£
è¿ $BrandShortNameã\n欢è¿å次使ç¨ã
+STUB_CLEANUP_PAVEOVER_HEADER2=çæ¥å·²ç»å®è£
äº $BrandShortNameãæ¥æ´æ°ä¸ä¸å§ã
+STUB_CLEANUP_REINSTALL_HEADER2=çæ¥æ¾ç»å®è£
è¿ $BrandShortNameãæ¬¢è¿å次使ç¨ã
+STUB_CLEANUP_PAVEOVER_BUTTON=æ´æ°
+STUB_CLEANUP_REINSTALL_BUTTON=忬¡å®è£
+STUB_CLEANUP_CHECKBOX_LABEL=æ¢å¤é»è®¤è®¾ç½®å¹¶ç§»é¤èæ§éå ç»ä»¶ï¼ä»¥å徿佳æ§è½(&R)
+
+STUB_INSTALLING_LABEL2=æ£å¨å®è£
â¦
+# The \n in the next string is intended to force a nice-looking layout in en-US
+# and can be moved or deleted as needed. There's no practical limit on the
+# number of lines available.
+STUB_INSTALLING_HEADLINE=éç§è³ä¸ã\nå å
¥ $BrandProductNameã
+STUB_INSTALLING_BODY=è·åå
¶ä»éç§ä¼å
ç产åï¼å¹¶äºè§£å¦ä½è¿æºæ
§ãå®å
¨çç½ç»çæ´»ã
+STUB_BLURB_FIRST1=æå²ä»¥æ¥æ§è½æå¼ºãååºæå¿«ç $BrandShortName
+STUB_BLURB_SECOND1=页é¢è½½å
¥åæ ç¾é¡µåæ¢å¿«ä¸å å¿«
+STUB_BLURB_THIRD1=è¶
强大çéç§æµè§æ¨¡å¼
+STUB_BLURB_FOOTER2=ç为æ°ï¼ä¸è°å©
+
+WARN_MIN_SUPPORTED_OSVER_MSG=徿±æï¼æ æ³å®è£
$BrandShortNameãæ¤çæ¬ç $BrandShortName éè¦ ${MinSupportedVer} ææ´æ°çæ¬ã请ç¹å»ç¡®å®æé®è·åæ´å¤ä¿¡æ¯ã
+WARN_MIN_SUPPORTED_CPU_MSG=徿±æï¼æ æ³å®è£
$BrandShortNameãæ¤çæ¬ç $BrandShortName éè¦æ¯æ ${MinSupportedCPU} çå¤çå¨ã请ç¹å»ç¡®å®æé®è·åæ´å¤ä¿¡æ¯ã
+WARN_MIN_SUPPORTED_OSVER_CPU_MSG=徿±æï¼æ æ³å®è£
$BrandShortNameãæ¤çæ¬ç $BrandShortName éè¦ ${MinSupportedVer} ææ´æ°çæ¬åæ¯æ ${MinSupportedCPU} çå¤çå¨ã请ç¹å»ç¡®å®æé®è·åæ´å¤ä¿¡æ¯ã
+WARN_WRITE_ACCESS_QUIT=æ¨æ²¡ææéåå
¥å®è£
ç®å½
+WARN_DISK_SPACE_QUIT=æ¨æ²¡æè¶³å¤çç£ç空é´ç¨äºå®è£
ã
+WARN_MANUALLY_CLOSE_APP_LAUNCH=$BrandShortName æ£å¨è¿è¡ã\n\n请å
³é $BrandShortName ååå¯å¨æ¨æ°å®è£
ççæ¬ã
+
+ERROR_DOWNLOAD_CONT=徿±æï¼ç±äºæäºåå ï¼æä»¬æ æ³å®è£
$BrandShortNameã\néæ©âç¡®å®âéæ°å¼å§ã
+
+STUB_CANCEL_PROMPT_HEADING=æ¨è¦å®è£
$BrandShortName åï¼
+STUB_CANCEL_PROMPT_MESSAGE=妿忶ï¼å°±ä¸ä¼å®è£
$BrandShortNameã
+STUB_CANCEL_PROMPT_BUTTON_CONTINUE=å®è£
$BrandShortName
+STUB_CANCEL_PROMPT_BUTTON_EXIT=åæ¶
diff --git a/browser/installer/override.properties b/browser/installer/override.properties
new file mode 100755
index 00000000000..8e857442a3e
--- /dev/null
+++ b/browser/installer/override.properties
@@ -0,0 +1,86 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE:
+
+# This file must be saved as UTF8
+
+# Accesskeys are defined by prefixing the letter that is to be used for the
+# accesskey with an ampersand (e.g. &).
+
+# Do not replace $BrandShortName, $BrandFullName, or $BrandFullNameDA with a
+# custom string and always use the same one as used by the en-US files.
+# $BrandFullNameDA allows the string to contain an ampersand (e.g. DA stands
+# for double ampersand) and prevents the letter following the ampersand from
+# being used as an accesskey.
+
+# You can use \n to create a newline in the string but only when the string
+# from en-US contains a \n.
+
+# Strings that require a space at the end should be enclosed with double
+# quotes and the double quotes will be removed. To add quotes to the beginning
+# and end of a strong enclose the add and additional double quote to the
+# beginning and end of the string (e.g. ""This will include quotes"").
+
+SetupCaption=$BrandFullName å®è£
+UninstallCaption=$BrandFullName å¸è½½
+BackBtn=< ä¸ä¸æ¥(&B)
+NextBtn=ä¸ä¸æ¥(&N) >
+AcceptBtn=ææ¥å该åè®®æ¡æ¬¾(&A)
+DontAcceptBtn=æä¸æ¥å该åè®®æ¡æ¬¾(&D)
+InstallBtn=å®è£
(&I)
+UninstallBtn=å¸è½½(&U)
+CancelBtn=åæ¶
+CloseBtn=å
³é(&C)
+BrowseBtn=æµè§(&R)â¦
+ShowDetailsBtn=æ¾ç¤ºè¯¦ç»ä¿¡æ¯(&D)
+ClickNext=请ç¹å»âä¸ä¸æ¥âç»§ç»ã
+ClickInstall=请ç¹å»âå®è£
â以å¼å§å®è£
ã
+ClickUninstall=请ç¹å»âå¸è½½â以å¼å§å¸è½½ã
+Completed=已宿
+LicenseTextRB=请å¨å®è£
$BrandFullNameDA åä»ç»é
读åè®®æ¡æ¬¾ã. å¦ææ¨æ¥åè¯¥æ¡æ¬¾ï¼è¯·éæ©ä¸é¢ç¬¬ä¸ä¸ªé项ã $_CLICK
+ComponentsText=éæ©æ¨æ³è¦å®è£
çç»ä»¶ã$_CLICK
+ComponentsSubText2_NoInstTypes=éæ©è¦å®è£
çç»ä»¶ï¼
+DirText=å®è£
ç¨åºå°å®è£
$BrandFullNameDA è³ä¸åæä»¶å¤¹ãå¦è¦å®è£
è³å«å¤ï¼è¯·ç¹å»âæµè§âéæ©å
¶ä»æä»¶å¤¹ã $_CLICK
+DirSubText=ç®æ æä»¶å¤¹
+DirBrowseText=éæ©å®è£
$BrandFullNameDA çæä»¶å¤¹ï¼
+SpaceAvailable="å¯ç¨ç©ºé´ï¼ "
+SpaceRequired="æé空é´ï¼ "
+UninstallingText=$BrandFullNameDA å°è¢«ä»å¦ä¸æä»¶å¤¹ä¸å¸è½½ã$_CLICK
+UninstallingSubText=å¸è½½ï¼ä»ï¼
+FileError=åæä»¶å¤±è´¥ï¼\r\n\r\n$0\r\n\r\n请ç¹å» 䏿¢ æ éè¯ï¼\r\næ å¿½ç¥ ä»¥è·³è¿è¯¥æä»¶ã
+FileError_NoIgnore=åæä»¶å¤±è´¥ï¼\r\n\r\n$0\r\n\r\n请åå» éè¯ åè¯ä¸æ¬¡ï¼\r\næ åæ¶ 以忢å®è£
ã
+CantWrite="æ æ³åå
¥ï¼ "
+CopyFailed=å¤å¶å¤±è´¥
+CopyTo="å¤å¶å° "
+Registering="注åï¼ "
+Unregistering="åæ³¨åï¼ "
+SymbolNotFound="æ æ³æ¾å°ç¬¦å·ï¼ "
+CouldNotLoad="æ æ³è½½å
¥ï¼ "
+CreateFolder="å建æä»¶å¤¹ï¼ "
+CreateShortcut="åå»ºå¿«æ·æ¹å¼ï¼ "
+CreatedUninstaller="å建çå¸è½½ç¨åºï¼ "
+Delete="å é¤æä»¶ï¼ "
+DeleteOnReboot="é坿¶å é¤ï¼"
+ErrorCreatingShortcut="åå»ºå¿«æ·æ¹å¼éè¯¯ï¼ "
+ErrorCreating="å建éè¯¯ï¼ "
+ErrorDecompressing=è§£åç¼©æ°æ®åºéï¼æåçå®è£
ç¨åºï¼
+ErrorRegistering=注å DLL 失败
+ExecShell=âæ§è¡ï¼â
+Exec="æ§è¡ï¼ "
+Extract="æåï¼ "
+ErrorWriting="æåï¼ åæä»¶é误 "
+InvalidOpcode=å®è£
ç¨åºæåï¼éæ³æä½ç
+NoOLE="æ OLE ï¼ "
+OutputFolder="è¾åºæä»¶å¤¹ï¼ "
+RemoveFolder="ç§»é¤æä»¶å¤¹ï¼ "
+RenameOnReboot="é坿¶éå½åï¼ "
+Rename="éå½åï¼ "
+Skipped="è·³è¿ï¼ "
+CopyDetails=å¤å¶è¯¦ç»å
容è³åªè´´æ¿
+LogInstall=è®°å½å®è£
è¿ç¨
+Byte=B
+Kilo=K
+Mega=M
+Giga=G
diff --git a/browser/pdfviewer/chrome.properties b/browser/pdfviewer/chrome.properties
new file mode 100755
index 00000000000..4ca72119448
--- /dev/null
+++ b/browser/pdfviewer/chrome.properties
@@ -0,0 +1,19 @@
+# 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 ææ¡£å
å«è¡¨åã䏿¯æè¡¨ååæ®µçå¡«åã
+open_with_different_viewer=ç¨å
¶ä»æ¥ç卿å¼
+open_with_different_viewer.accessKey=o
diff --git a/browser/pdfviewer/viewer.properties b/browser/pdfviewer/viewer.properties
new file mode 100755
index 00000000000..5c4c5367351
--- /dev/null
+++ b/browser/pdfviewer/viewer.properties
@@ -0,0 +1,246 @@
+# 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=æå°
+download.title=ä¸è½½
+download_label=ä¸è½½
+bookmark.title=å½åå¨ççå
容ï¼å¤å¶æå¨æ°çªå£ä¸æå¼ï¼
+bookmark_label=å½åå¨ç
+
+# Secondary toolbar and context menu
+tools.title=å·¥å
·
+tools_label=å·¥å
·
+first_page.title=转å°ç¬¬ä¸é¡µ
+first_page.label=转å°ç¬¬ä¸é¡µ
+first_page_label=转å°ç¬¬ä¸é¡µ
+last_page.title=è½¬å°æåä¸é¡µ
+last_page.label=è½¬å°æåä¸é¡µ
+last_page_label=è½¬å°æåä¸é¡µ
+page_rotate_cw.title=顺æ¶éæè½¬
+page_rotate_cw.label=顺æ¶éæè½¬
+page_rotate_cw_label=顺æ¶éæè½¬
+page_rotate_ccw.title=éæ¶éæè½¬
+page_rotate_ccw.label=éæ¶éæè½¬
+page_rotate_ccw_label=éæ¶éæè½¬
+
+cursor_text_select_tool.title=å¯ç¨ææ¬éæ©å·¥å
·
+cursor_text_select_tool_label=ææ¬éæ©å·¥å
·
+cursor_hand_tool.title=å¯ç¨æå½¢å·¥å
·
+cursor_hand_tool_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=ææ¬
+document_properties_page_size_name_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_notification.title=忢侧æ ï¼ææ¡£æå«ç大纲/éä»¶ï¼
+toggle_sidebar_label=忢侧æ
+document_outline.title=æ¾ç¤ºææ¡£å¤§çº²ï¼åå»å±å¼/æå ææé¡¹ï¼
+document_outline_label=ææ¡£å¤§çº²
+attachments.title=æ¾ç¤ºéä»¶
+attachments_label=éä»¶
+thumbs.title=æ¾ç¤ºç¼©ç¥å¾
+thumbs_label=缩ç¥å¾
+findbar.title=å¨ææ¡£ä¸æ¥æ¾
+findbar_label=æ¥æ¾
+
+# 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_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=æ¾ä¸å°æå®è¯è¯
+
+# Error panel labels
+error_more_info=æ´å¤ä¿¡æ¯
+error_less_info=æ´å°ä¿¡æ¯
+error_close=å
³é
+# LOCALIZATION NOTE (error_version_info): "{{version}}" and "{{build}}" will be
+# replaced by the PDF.JS version and build ID.
+error_version_info=PDF.js v{{version}} (build: {{build}})
+# LOCALIZATION NOTE (error_message): "{{message}}" will be replaced by an
+# english string describing the error.
+error_message=ä¿¡æ¯ï¼{{message}}
+# LOCALIZATION NOTE (error_stack): "{{stack}}" will be replaced with a stack
+# trace.
+error_stack=å æ ï¼{{stack}}
+# LOCALIZATION NOTE (error_file): "{{file}}" will be replaced with a filename
+error_file=æä»¶ï¼{{file}}
+# LOCALIZATION NOTE (error_line): "{{line}}" will be replaced with a line number
+error_line=è¡å·ï¼{{line}}
+rendering_error=渲æé¡µé¢æ¶åçé误ã
+
+# 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_indicator=é误
+loading_error=è½½å
¥ PDF æ¶åçé误ã
+invalid_file_error=æ æææåç PDF æä»¶ã
+missing_file_error=ç¼ºå° PDF æä»¶ã
+unexpected_response_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 åä½ã
+document_colors_not_allowed=PDF ææ¡£æ æ³ä½¿ç¨èªå·±çé¢è²ï¼æµè§å¨ä¸âå
许页é¢éæ©èªå·±çé¢è²âçé项æªè¢«å¾éã
diff --git a/browser/profile/bookmarks.inc b/browser/profile/bookmarks.inc
new file mode 100755
index 00000000000..1e4e1e7bbd8
--- /dev/null
+++ b/browser/profile/bookmarks.inc
@@ -0,0 +1,72 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#filter emptyLines
+
+# LOCALIZATION NOTE: The 'en-US' strings in the URLs will be replaced with
+# your locale code, and link to your translated pages as soon as they're
+# live.
+
+#define bookmarks_title 书ç¾
+#define bookmarks_heading 书ç¾
+
+#define bookmarks_toolbarfolder 书ç¾å·¥å
·æ æä»¶å¤¹
+#define bookmarks_toolbarfolder_description æ·»å å°æ¤æä»¶å¤¹ç书ç¾ä¼è¢«æ¾ç¤ºå°ä¹¦ç¾å·¥å
·æ ä¸
+
+# LOCALIZATION NOTE (getting_started):
+# link title for https://www.mozilla.org/en-US/firefox/central/
+#define getting_started æ°æä¸è·¯
+
+# LOCALIZATION NOTE (firefox_heading):
+# Firefox links folder name
+#define firefox_heading Mozilla Firefox
+
+# LOCALIZATION NOTE (firefox_help):
+# link title for https://www.mozilla.org/en-US/firefox/help/
+#define firefox_help 帮å©åæç¨
+
+# LOCALIZATION NOTE (firefox_customize):
+# link title for https://www.mozilla.org/en-US/firefox/customize/
+#define firefox_customize èªå®ä¹ Firefox
+
+# LOCALIZATION NOTE (firefox_community):
+# link title for https://www.mozilla.org/en-US/contribute/
+#define firefox_community åä¸è¿æ¥
+
+# LOCALIZATION NOTE (firefox_about):
+# link title for https://www.mozilla.org/en-US/about/
+#define firefox_about å
³äºæä»¬
+
+# LOCALIZATION NOTE (nightly_heading):
+# Firefox Nightly links folder name
+#define nightly_heading Firefox Nightly èµæº
+
+# LOCALIZATION NOTE (nightly_blog):
+# Nightly builds only, link title for https://blog.nightly.mozilla.org/
+#define nightly_blog Firefox Nightly å客
+
+# LOCALIZATION NOTE (bugzilla):
+# Nightly builds only, link title for https://bugzilla.mozilla.org/
+#define bugzilla Mozilla 缺é·è·è¸ªç½ç«
+
+# LOCALIZATION NOTE (mdn):
+# Nightly builds only, link title for https://developer.mozilla.org/
+#define mdn Mozilla å¼åè
ç½ç»
+
+# LOCALIZATION NOTE (nightly_tester_tools):
+# Nightly builds only, link title for https://addons.mozilla.org/en-US/firefox/addon/nightly-tester-tools/
+#define nightly_tester_tools Nightly Tester Tools
+
+# LOCALIZATION NOTE (crashes):
+# Nightly builds only, link title for about:crashes
+#define crashes æ¨çææå´©æº
+
+# LOCALIZATION NOTE (irc):
+# Nightly builds only, link title for ircs://irc.mozilla.org/nightly
+#define irc å¨ IRC ä¸è®¨è®º Nightly
+
+# LOCALIZATION NOTE (planet):
+# Nightly builds only, link title for https://planet.mozilla.org/
+#define planet Planet Mozilla
+
+#unfilter emptyLines
diff --git a/browser/updater/updater.ini b/browser/updater/updater.ini
new file mode 100755
index 00000000000..91fd7178620
--- /dev/null
+++ b/browser/updater/updater.ini
@@ -0,0 +1,10 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is in the UTF-8 encoding
+# All strings must be less than 600 chars.
+[Strings]
+TitleText=%MOZ_APP_DISPLAYNAME% æ´æ°
+InfoText=%MOZ_APP_DISPLAYNAME% æ£å¨å®è£
æ´æ°ï¼å°äºç¨åå¯å¨â¦
+MozillaMaintenanceDescription=Mozilla ç»´æ¤æå¡è½ç¡®ä¿æ¨çè®¡ç®æºä¸ä½¿ç¨çæ¯ææ°ãæå®å
¨ç Mozilla Firefox çæ¬ãä¿æ Firefox çæ¬åæ¶æ´æ°å¯¹æ¨çç½ç»å®å
¨è³å
³éè¦ï¼Mozilla 强ç建议æ¨ä¿æå¼å¯è¿ä¸ªæå¡ã
diff --git a/calendar/README.txt b/calendar/README.txt
new file mode 100755
index 00000000000..927fc142f28
--- /dev/null
+++ b/calendar/README.txt
@@ -0,0 +1,3 @@
+For information about installing, running and configuring Sunbird
+including a list of known issues and troubleshooting information,
+refer to: http://www.mozilla.org/projects/calendar/
diff --git a/calendar/chrome/calendar/calendar-alarms.properties b/calendar/chrome/calendar/calendar-alarms.properties
new file mode 100755
index 00000000000..5cb3cca16c6
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/calendar-event-dialog-attendees.properties b/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
new file mode 100755
index 00000000000..9ab2b4a7c3d
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/calendar-event-dialog.dtd b/calendar/chrome/calendar/calendar-event-dialog.dtd
new file mode 100755
index 00000000000..f0b5e1d12ec
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog.dtd
@@ -0,0 +1,433 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-event-dialog.properties b/calendar/chrome/calendar/calendar-event-dialog.properties
new file mode 100755
index 00000000000..36b11d6019e
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/calendar-extract.properties b/calendar/chrome/calendar/calendar-extract.properties
new file mode 100755
index 00000000000..206949a8ca5
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100755
index 00000000000..d2b9eef31f5
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-invitations-dialog.properties b/calendar/chrome/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 00000000000..e0cac9c9639
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/calendar-occurrence-prompt.dtd b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
new file mode 100755
index 00000000000..5864a9335f4
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100755
index 00000000000..443d49dd5d4
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
new file mode 100755
index 00000000000..493f933ee79
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.dtd b/calendar/chrome/calendar/calendar.dtd
new file mode 100755
index 00000000000..bcb143f8542
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,409 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.properties b/calendar/chrome/calendar/calendar.properties
new file mode 100755
index 00000000000..b3de7cb7f36
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.properties
@@ -0,0 +1,806 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Misc. strings in JS
+
+# LOCALIZATION NOTE (PrintPreviewWindowTitle):
+# %1$S will be replaced with the title of a html frame
+PrintPreviewWindowTitle=æå°é¢è§ï¼ %1$S
+Untitled=æ æ é¢
+
+# 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 (noItemsInCalendarFile):
+# %1$S will be replaced with file path
+noItemsInCalendarFile=ä» %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 çæ¥åæ¶åçäºé误ã å®å°æ æ³ä½¿ç¨ã
+unknownTimezonesError=åå¤ä½¿ç¨ä½äº %1$S çæ¥åæ¶åçäºéè¯¯ãæ¥åå¯è½å¼ç¨äºæªç¥æ¶åºã请å®è£
ææ°ç calendar-timezones.xpiã
+missingCalendarTimezonesError=æªæ¾å°æ¶åºï¼è¯·å®è£
calendar-timezones.xpiã
+
+# 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
+tooNewSchemaErrorBoxTitle=æ¨çæ¥åæ°æ®ä¸ %1$S çæ¬ä¸å
¼å®¹
+
+# LOCALIZATION NOTE (tooNewSchemaErrorBoxTextLightning):
+# %1$S will be replaced with the name of the calendar application e.g. 'Lightning'
+# %2$S will be replaced with the name of the host application 'calendar'
+tooNewSchemaErrorBoxTextLightning=æ¨çé
ç½®æä»¶ä¸çæ¥åæ°æ®å·²ç»æ´æ°å° %1$S çè¾æ°çæ¬, å¦æç»§ç»è¿è¡åå¯è½å¯¼è´ä¿¡æ¯ä¸¢å¤±ææ°æ®æåï¼%1$S ç°å°è¢«ç¦ç¨ï¼%2$S ä¹å·²ç»éæ°å¯å¨ã
+
+# LOCALIZATION NOTE (tooNewSchemaButtonRestart):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonRestart=éå¼ %1$S
+
+# LOCALIZATION NOTE (tooNewSchemaButtonQuit):
+# %1$S will be replaced with the name of the host application 'Calendar'
+tooNewSchemaButtonQuit=éåº %1$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=已宿ï¼
+
+# Tooltips for attendees and organizer in event and summary dialog
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendee.combined): tooltip for itip icon in summary/event dialog.
+# 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 dialog.tooltip.attendeeRole2.*
+# %2$S - value of dialog.tooltip.attendeePartStat2.*
+dialog.tooltip.attendee.combined=%1$S %2$S
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.CHAIR): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.CHAIR=%1$S ä¸»ææ´»å¨ã
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.NON-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.NON-PARTICIPANT=%1$S éåä¸è
ã
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.OPT-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.OPT-PARTICIPANT=%1$S æ¯ä¸åå¯éåä¸è
ã
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeRole2.REQ-PARTICIPANT): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - value of dialog.tooltip.attendeeUserType2.*
+dialog.tooltip.attendeeRole2.REQ-PARTICIPANT=%1$S æ¯ä¸åå¿
éåä¸è
ã
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.ACCEPTED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.ACCEPTED=%1$S 已确认åå ã
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DECLINED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DECLINED=%1$S 已确å®ä¸ä¼åå ã
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.DELEGATED): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.DELEGATED=%1$S 已姿ä»äººåä¸ã
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.NEEDS-ACTION): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.NEEDS-ACTION=%1$S ä»éåå¤ã
+# LOCALIZATION_NOTE(dialog.tooltip.attendeePartStat2.TENTATIVE): used to compose
+# dialog.tooltip.attendee.combined
+# %1$S - common name or email address of the attendee
+dialog.tooltip.attendeePartStat2.TENTATIVE=%1$S å·²åæ¥ç¡®è®¤åå ã
+
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.INDIVIDUAL): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing individual attendee
+dialog.tooltip.attendeeUserType2.INDIVIDUAL=%1$S
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.GROUP): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a group (e.g. a distribution list)
+dialog.tooltip.attendeeUserType2.GROUP=%1$S (ç»)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.RESOURCE): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a resource (e.g. projector)
+dialog.tooltip.attendeeUserType2.RESOURCE=%1$S (èµæº)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.ROOM): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing a room
+dialog.tooltip.attendeeUserType2.ROOM=%1$S (æ¿é´)
+# LOCALIZATION_NOTE(dialog.tooltip.attendeeUserType2.UNKNOWN): used to compose
+# dialog.tooltip.attendeeRole2.*
+# %1$S - email address or common name representing an attendee of unknown type
+dialog.tooltip.attendeeUserType2.UNKNOWN=%1$S
+
+#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)
+filterXml=XML æä»¶ ï¼%1$Sï¼
+filterHtml=ç½é¡µ ï¼%1$Sï¼
+filterOutlookCsv=Outlook éå·åé ï¼%1$Sï¼
+filterWav=波形é³é¢ ï¼%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/Shanghai
+
+# 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" \nä¸å
ç½®æ¶åºä¿¡æ¯ "%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没æåæä½ç³»ç»ä¸çæ¶åºæ°æ®ç¸å¹é
çæ¶åºä¿¡æ¯ã
+
+# "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=è¿ä¸ªæ¶åºä¿¡æ¯æ¯è¾å¹é
æä½ç³»ç»æ¶åºã \nææ¤è§å, ä¸ä¸æ¬¡ç½å¤©ä¸æ åæ¶é´ç转æ¢ä»æä½ç³»ç»æ¶åºè½¬æ¢è¿æ¥ç¸å·®æå¤ä¸å¨ã \nè¿å¯è½ä¼å卿°æ®ä¸ççç¾, å¦ä¸åçå¼å§æ¶é´, \næä¸åçè§å, æéæ åå
¬åä¼°ç®è§åã
+
+TZSeemsToMatchOS=è¿ä¸ªæ¶åºä¿¡æ¯ä¼¼ä¹å¹é
æä½ç³»ç»ä¸å½åå¹´çæ¶åºã
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=è¿ä¸ªæ¶åºä¿¡æ¯ä¸çæ¶åºå·²æ ¹æ®æä½ç³»ç»æ¶åºå³å®\nè¯å«ç "%1$S"ã
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=è¿ä¸ªæ¶åºä¿¡æ¯ä¸çæ¶åºæ¯åºäºå¹é
\næä½ç³»ç»æ¶åºåç®ä½ä¸æç½ç»ç¨æ·å¯è½ä½äºçæ¶åºèéæ©çã
+
+TZFromKnownTimezones=è¿ä¸ªæ¶åºä¿¡æ¯ä¸çæ¶åºæ¯åºäºå¹é
\næä½ç³»ç»æ¶åºåæåæ¯æåºçæ¶åºä»£ç ä¸çå·²ç¥æ¶åºèéæ©çã
+
+# Print Layout
+formatListName = å表
+weekPrinterName = å¨è®¡åå¨
+monthPrinterName = æè¡¨æ ¼
+tasksWithNoDueDate = æªæå®å®ææ¥æçä»»å¡
+
+# Providers
+caldavName=CalDAV
+compositeName=ç»å
+icsName=iCalendar (ICS)
+memoryName=ä¸´æ¶ ï¼å
åï¼
+storageName=æ¬å° ï¼SQLiteï¼
+
+# Used in created html code for list layout print and html 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 (abbreviationOfWeek):
+# 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.
+abbreviationOfWeek=%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 commmon 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=å é¤ä»»å¡
+deleteTaskMessage=ä½ ç¡®å®è¦å é¤è¿ä¸ªä»»å¡ï¼
+deleteTaskAccesskey=l
+deleteItemLabel=å é¤
+deleteItemMessage=ä½ ç¡®å®è¦å é¤è¿ä¸ªé¡¹ç®ï¼
+deleteItemAccesskey=l
+deleteEventLabel=å é¤äºä»¶
+deleteEventMessage=ä½ ç¡®å®è¦å é¤è¿ä¸ªäºä»¶ï¼
+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=èå¼è¿äºæ¹å¨
+
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedFrom): this is appended behind an attendee name
+# in the tooltip and the visible name for an attendee in the event summary dialog - don't add
+# leading or trailing whitespaces here
+# %1$S - a single delegatee or a comma separated list of delegatees
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+dialog.attendee.append.delegatedFrom=ï¼ç± %1$S å§æï¼
+# LOCALIZATION_NOTE(dialog.attendee.append.delegatedTo): this is appended behind an attendee name
+# in the tooltip for an attendee in the event summary dialog - don't add leading or trailing
+# whitespaces here
+# delegation is different from simple invitation forwarding - in case of delegation the orignal
+# invited attendee gets replaced
+dialog.attendee.append.delegatedTo=ï¼å§æç» %1$Sï¼
+
+# Accessible description of a grid calendar with no selected date
+minimonthNoSelectedDate=æªéæ©æ¥æ
diff --git a/calendar/chrome/calendar/calendarCreation.dtd b/calendar/chrome/calendar/calendarCreation.dtd
new file mode 100755
index 00000000000..3b1c5f09bc5
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendarCreation.properties b/calendar/chrome/calendar/calendarCreation.properties
new file mode 100755
index 00000000000..13a0556c235
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/categories.properties b/calendar/chrome/calendar/categories.properties
new file mode 100755
index 00000000000..471382e438b
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/dateFormat.properties b/calendar/chrome/calendar/dateFormat.properties
new file mode 100755
index 00000000000..b0bbe74a2b9
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
new file mode 100755
index 00000000000..788dafe3426
--- /dev/null
+++ b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/global.dtd b/calendar/chrome/calendar/global.dtd
new file mode 100755
index 00000000000..cec73ff8bde
--- /dev/null
+++ b/calendar/chrome/calendar/global.dtd
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/menuOverlay.dtd b/calendar/chrome/calendar/menuOverlay.dtd
new file mode 100755
index 00000000000..8a4acb5d916
--- /dev/null
+++ b/calendar/chrome/calendar/menuOverlay.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.dtd b/calendar/chrome/calendar/migration.dtd
new file mode 100755
index 00000000000..5fe528b8ecd
--- /dev/null
+++ b/calendar/chrome/calendar/migration.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.properties b/calendar/chrome/calendar/migration.properties
new file mode 100755
index 00000000000..141367df641
--- /dev/null
+++ b/calendar/chrome/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/calendar/chrome/calendar/preferences/alarms.dtd b/calendar/chrome/calendar/preferences/alarms.dtd
new file mode 100755
index 00000000000..6d401f3cd87
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/alarms.dtd
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/categories.dtd b/calendar/chrome/calendar/preferences/categories.dtd
new file mode 100755
index 00000000000..0a20c582133
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/categories.dtd
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/general.dtd b/calendar/chrome/calendar/preferences/general.dtd
new file mode 100755
index 00000000000..dd5a4c2bafa
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/general.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/preferences.dtd b/calendar/chrome/calendar/preferences/preferences.dtd
new file mode 100755
index 00000000000..bc9c68f766f
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/preferences.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/views.dtd b/calendar/chrome/calendar/preferences/views.dtd
new file mode 100755
index 00000000000..273d68b8d7c
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/views.dtd
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/provider-uninstall.dtd b/calendar/chrome/calendar/provider-uninstall.dtd
new file mode 100755
index 00000000000..68e17e04b70
--- /dev/null
+++ b/calendar/chrome/calendar/provider-uninstall.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/providers/gdata/amo.properties b/calendar/chrome/calendar/providers/gdata/amo.properties
new file mode 100644
index 00000000000..80b8148e16c
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/amo.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/.
+
+# The addon name and short description are localized in gdata.properties
+
+# This is the addon description. The en-US version will sometimes have
+# additional news items at the end of the description. If you notice this and
+# would like them translated, please email the author directly.
+# params: %1$S - See amo.faqlocation
+# %2$S - See amo.website
+# NOTE: This is a multiline string, be sure to end lines with \n\ to make sure
+# it stays that way.
+amo.description=æ¤æ©å±è®© Lightning å¯ä»¥è¯»å Google Calendar ä¸çäºä»¶ä¸ä»»å¡ã\n\nè¥éæ´å¤ä¿¡æ¯ï¼è¯·å¨åé¦ bug åé
读 常è§é®é¢ãå¦å¤ï¼è¯·å
å° è®ºå ççï¼ä¹è®¸æ¨çé®é¢å·²ç»è¢«è§£å³äºï¼\n\nè¦æç´¢å¹¶æäº¤ bugï¼è¯·å° http://bugzilla.mozilla.org/ \nProduct: Calendar\nComponent: Provider: GData
+
+# You can change this if you have localized the FAQ on wiki.mozilla.org
+amo.faqlocation=http://wiki.mozilla.org/Calendar:GDATA_Provider
+
+# You can change this if you would like to provide localized support.
+amo.email=
+amo.website=http://groups.google.com/group/provider-for-google-calendar
diff --git a/calendar/chrome/calendar/providers/gdata/gdata.dtd b/calendar/chrome/calendar/providers/gdata/gdata.dtd
new file mode 100755
index 00000000000..2199ababd0a
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.dtd
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/providers/gdata/gdata.properties b/calendar/chrome/calendar/providers/gdata/gdata.properties
new file mode 100755
index 00000000000..745bf3ec6a6
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.properties
@@ -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/.
+
+# If you wish to be mentioned as a translator, please make sure your name and
+# email is in the licence block as a contributor. Multiple names are fine too.
+
+# extension information.
+# When localizing, please keep in mind that these strings had to be approved by
+# the Google Brand Features Team. Be sure to make clear that this extension is
+# *FOR* Google Calendar and not *BY* Google. Also, it was explicitly stated,
+# that the phrase "Google Calendar" should be localized just as it is on the
+# localized versions of the Google Calendar UI.
+
+# Extension Manager strings
+extensions.{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}.description=å
许ååè®¿é® Google æ¥å
+extensions.{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}.name=Google æ¥åæä¾å¨
+
+# LOCALIZATION NOTE (busyTitle):
+# Events with only free/busy access don't have a title, they will use this
+# title instead. The calendar name is used as a parameter, since its often
+# named after the person whose calendar you are viewing.
+# %1$S = The calendar name
+busyTitle=å¿ç¢ï¼%1$Sï¼
+
+# LOCALIZATION NOTE (quotaExceeded):
+# This is shown when the request quota has been exceeded.
+# %1$S = The session id (what the user enters as an email
+# in the new calendar dialog)
+quotaExceeded=%1$S çé
é¢å·²ç»ç¨å®ï¼è¯·ç¨ååè¯ã
+providerOutdated=æ¤çæ¬çæä¾è
å·²ç»è¿æï¼è¯·æ´æ°å°ææ°çæ¬ã
+
+reminderOutOfRange=Google Calendar ä»
å
è®¸ææ©äºæ´»å¨å个ææåçæéã
+
+# LOCALIZATION NOTE (syncProgressEvent):
+# %1$S = The name of the calendar that is being synchronized
+# %2$S = The number of events that have been synchronzed
+# %3$S = The total number of events in the synchronization run
+syncProgressEvent=æ£å¨åæ¥ %1$S ç第 %2$S 个äºä»¶ï¼å
± %3$S æ¡
+
+# LOCALIZATION NOTE (syncProgressTask):
+# %1$S = The name of the calendar that is being synchronized
+# %2$S = The number of tasks that have been synchronzed
+# %3$S = The total number of tasks in the synchronization run
+syncProgressTask=æ£å¨åæ¥ %1$S ç第 %2$S 个任å¡ï¼å
± %3$S 个
+
+# LOCALIZATION NOTE (syncStatus):
+# %1$S = The name of the calendar that is being synchronized
+syncStatus=æ£å¨åæ¥è¡æ¥å %1$S
+
+# LOCALIZATION NOTE (requestWindowDescription):
+# %1$S - The session id (email) used for authentication
+requestWindowDescription=Google Calendar æä¾è
æ³è¦è®¿é®æ¨ç %1$S è´¦å·ä»¥ä¾¿å忍çäºä»¶åä»»å¡ãæ¨çè´¦å·å¯ç å°ä¼ç´æ¥ä»çµèä¼ éç» Googleï¼ä¸ä¼è¢«å
¶ä»äººç¥æã
+
+# LOCALIZATION NOTE (requestWindowTitle)
+# %1$S - The session id (email) used for authentication
+requestWindowTitle=ç»å½æ¨çè´¦å· %1$S
diff --git a/calendar/chrome/calendar/providers/wcap/wcap.properties b/calendar/chrome/calendar/providers/wcap/wcap.properties
new file mode 100755
index 00000000000..9820d5c4bdb
--- /dev/null
+++ b/calendar/chrome/calendar/providers/wcap/wcap.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/.
+
+# args: host
+accessingServerFailedError.text=æ æ³è®¿é®æå¡å¨ %1$Sï¼
+loginFailed.text=ç»å½å¤±è´¥ææ æçä¼è¯ IDã
+accessDenied.text=ç¨æ·æ æååã
+
+# args: host
+noHttpsConfirmation.text=ç»å½ %1$S ä¸å®å
¨ï¼è¯¥æå¡å¨ä¸æ¯æ HTTPSã\næ¯å¦ç»§ç»ï¼
+noHttpsConfirmation.check.text=ä¸å询é®ã
+noHttpsConfirmation.label=è¦å!
+
+# args: host, prodId, serverVersion, wcapVersion
+insufficientWcapVersionConfirmation.text=æå¡å¨ %1$S ï¼%2$S, v%3$S, WCAP v%4$Sï¼ ä¸æ¯ææé WCAP çæ¬ï¼æéæä½çæ¬ä¸º 3.0.0ã\næ¯å¦ç»§ç»ï¼
+insufficientWcapVersionConfirmation.label=ä¸å
¼å®¹ç WCAP çæ¬!
+
+loginDialog.label=æ¥åæå¡å¨éè¦å¯ç
+
+privateItem.title.text=ç§äºº
+confidentialItem.title.text=æºå¯
+busyItem.title.text=ç¹å¿
diff --git a/calendar/chrome/calendar/timezones.properties b/calendar/chrome/calendar/timezones.properties
new file mode 100755
index 00000000000..755450534fb
--- /dev/null
+++ b/calendar/chrome/calendar/timezones.properties
@@ -0,0 +1,485 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# extension:
+extensions.calendar-timezones@mozilla.org.name=ç¨äº Mozilla Calendar çæ¶åºå®ä¹
+extensions.calendar-timezones@mozilla.org.description=Lightning æéçæ¶åºå®ä¹
+extensions.calendar-timezones@mozilla.org.creator=Mozilla Calendar 项ç®
+
+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'
+
+# 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=ç¾å½/Kralendijk
+pref.timezone.America.Lower_Princes=ç¾æ´²/Lower Princes
+pref.timezone.America.Metlakatla=ç¾å½/Metlakatla
+pref.timezone.America.Sitka=ç¾å½/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=åææ´²/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=äºæ´²/åºæ¯å¡å¥
diff --git a/calendar/chrome/lightning/lightning-toolbar.dtd b/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100755
index 00000000000..8658b2f8feb
--- /dev/null
+++ b/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.dtd b/calendar/chrome/lightning/lightning.dtd
new file mode 100755
index 00000000000..50626238027
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.dtd
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.properties b/calendar/chrome/lightning/lightning.properties
new file mode 100755
index 00000000000..cb9c850fd4e
--- /dev/null
+++ b/calendar/chrome/lightning/lightning.properties
@@ -0,0 +1,229 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# addon description:
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.name=Lightning
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.description=æ´åå
¥çµåé®ä»¶å®¢æ·ç«¯çæ¥å䏿ç¨å·¥å
·
+extensions.{e2fda1a4-762b-4020-b5ad-a41df1933103}.creator=Mozilla Calendar Project
+
+# Lightning branding
+brandShortName=Lightning
+
+# 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 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 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 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 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 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 - datetime of deletion
+imipBarReplyToRecentlyRemovedItem=æ¤æ¶æ¯å
å«ä¸ä¸ªåå¤ï¼æåæ¨çæ¥åä¸å¨ %1$S 已移é¤çäºä»¶ã
+imipBarUnsupportedText=æ¤æ¶æ¯å
å«ä¸ä¸ª Lightning æ æ³å¤ççäºä»¶ã
+imipBarProcessingFailed=å¤çæ¶æ¯å¤±è´¥. ç¶æ: %1$S.
+imipBarNotWritable=对éè¯·çæ¥åé
ç½®æ¯ä¸å¯åçï¼è¯·æ£æ¥è¯¥æ¥åç屿§ã
+imipSendMail.title=çµåé®ä»¶éç¥
+imipSendMail.text=æ¨æ³è¦ç«å³ååºéç¥çµåé®ä»¶å?
+imipNoIdentity=æ
+imipNoCalendarAvailable=没æå¯ç¨çå¯åæ¥åã
+
+itipReplySubject=äºä»¶é请åå¤ï¼ %1$S
+
+itipReplySubject2=åå¤é请ï¼%1$S
+itipReplyBodyAccept=%1$S å·²ç»æ¥åäºæ¨çäºä»¶é请ã
+itipReplyBodyDecline=%1$S å·²ç»æç»äºæ¨çäºä»¶é请ã
+itipReplySubjectAccept=äºä»¶é请åå¤ï¼å·²æ¥åï¼ï¼%1$S
+itipReplySubjectDecline=äºä»¶é请åå¤ï¼æç»ï¼ï¼%1$S
+itipReplySubjectTentative=äºä»¶é请åå¤ï¼ä¸ç¡®å®ï¼ï¼%1$S
+itipRequestSubject=äºä»¶éè¯·ï¼ %1$S
+itipRequestUpdatedSubject=å·²æ´æ°æ¶é´é请ï¼%1$S
+itipReplySubjectAccept2=å·²æ¥åï¼%1$S
+itipReplySubjectDecline2=æç»é请ï¼%1$S
+itipReplySubjectTentative2=æå®ï¼%1$S
+itipRequestSubject2=é请ï¼%1$S
+itipRequestUpdatedSubject2=å·²æ´æ°ï¼%1$S
+itipRequestBody=%1$S å·²ç»é请æ¨å° %2$S
+itipCancelSubject=äºä»¶å·²åæ¶ï¼%1$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(binaryComponentKnown): This is shown when Lightning is
+# missing the binary component and knows how to calculate the expected version
+# number. To test, remove the binary component from the components/
+# subdirectory and start Lightning, or force install into a different
+# Thunderbird version. In the last part of the sentence it should be made clear
+# that the user can install e.g. 3.7, 3.7.1 or anything other 3.7.x version
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The current Lightning version
+# %3$S - The expected Lightning version
+binaryComponentKnown=å¯è½æ¯å®è£
äºéè¯¯çæ¬ï¼æ æ³è½½å
¥ %1$S æéçäºè¿å¶ç»ä»¶ãæ¨ç®åå®è£
äº %1$S %2$Sï¼ä½åºè¯¥ä½¿ç¨ %3$S ç³»åçæ¬ã
+
+# LOCALIZATION_NOTE(binaryComponentUnknown): This is shown when Lightning is
+# missing the binary component but can't calculate the expected version. This
+# happens in the rare case that Lightning is installed into something other
+# than Thunderbird or Seamonkey. You may link to a different page if you can
+# commit to keeping it up to date, I'd recommend staying with the English page.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+# %2$S - The application brand name, e.g. Postbox
+# %3$S - The application version
+# %3$S - The current Lightning version
+binaryComponentUnknown=å¯è½æ¯å®è£
äºéè¯¯çæ¬ï¼æ æ³è½½å
¥ %1$S æéçäºè¿å¶ç»ä»¶ãæ¨ç®åå¨ %2$S %3$S å®è£
äº %1$S %4$Sï¼è¥é详ç»ä¿¡æ¯ï¼è¯·åè§ https://developer.mozilla.org/en/Calendar/Calendar_Versionsã
+
+# LOCALIZATION_NOTE(binaryComponentTitle): The title for the dialog that
+# notifies about a version mismatch.
+# %1$S - The Lightning brand name, from the brandShortName string above.
+binaryComponentTitle=%1$S çæ¬ä¸ç¬¦å
+
+# LOCALIZATION_NOTE(integrationLabel): Used by the notification bar shown when
+# Lightning is installed from the distribution folder. To trigger it, start a
+# new profile without Lightning in a previous Thunderbird version, then upgrade
+# to a Thunderbird that has Lightning packaged. See bug 1130852 for details.
+integrationLabel=%1$S ç°å¨ä¹æ´åäº %2$S æ©å±çæ¥ååè½ã
+integrationLearnMoreButton=详ç»ä¿¡æ¯
+integrationLearnMoreAccessKey=m
+integrationOptOutButton=ç¦ç¨
+integrationOptOutAccessKey=D
+integrationKeepItButton=ä¿ç
+integrationKeepItAccessKey=K
+
+# LOCALIZATION_NOTE(integrationRestartLabel): At the current time its not yet
+# clear if we will be completely uninstalling Lightning or disabling it. Please
+# translate this string in a general manner, so that it makes sense for both
+# options.
+integrationRestartLabel=%1$S å°ä¼å¨æ¨ä¸æ¬¡éæ°å¯å¨ %2$S æ¶è¢«ç§»é¤ï¼æ¨å¯ä»¥éæ¶å°éå ç»ä»¶ç®¡çå¨ä¸æ·»å 忥ã
+integrationRestartButton=ç«å³éæ°å¯å¨
+integrationRestartAccessKey=R
+integrationUndoButton=æ¤é
+integrationUndoAccessKey=U
+
+# LOCALIZATION NOTE(noIdentitySelectedNotification):
+noIdentitySelectedNotification=å¦ææ¨æ³ç¨æ¤æ¥åæ¥å¨ååç»å«äººæå«äººå¯æ¥çé请ï¼è¯·å¨ä¸æ¹æå®ç¨äºè¿äºé®ä»¶ç身份ã
diff --git a/calendar/lightning-l10n.js b/calendar/lightning-l10n.js
new file mode 100755
index 00000000000..8a4219d9fd1
--- /dev/null
+++ b/calendar/lightning-l10n.js
@@ -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/.
+
+#filter substitution
+
+# the default day to start the week on
+#0=Sunday 1=Monday 2=Tuesday 3=Wednesday 4=Thursday 5=Friday 6=Saturday
+pref("calendar.week.start", 0);
+
+# default days off (not in work week)
+pref("calendar.week.d0sundaysoff", true);
+pref("calendar.week.d1mondaysoff", false);
+pref("calendar.week.d2tuesdaysoff", false);
+pref("calendar.week.d3wednesdaysoff", false);
+pref("calendar.week.d4thursdaysoff", false);
+pref("calendar.week.d5fridaysoff", false);
+pref("calendar.week.d6saturdaysoff", true);
+
+pref("general.useragent.locale", "@AB_CD@");
+
+# categories
+pref("calendar.categories.names", "å¨å¹´çºªå¿µ,çæ¥,åå¡,æçµè¯,客人,ç«äº,客æ·,æ¶è,åç»,礼ç©,忥,ç¹å,é®é¢,å
¶ä»,个人,项ç®,å
Œ
±åæ¥,ç¶æ,ä¾åºå,æ
è¡,ä¼å");
diff --git a/chat/accounts.dtd b/chat/accounts.dtd
new file mode 100644
index 00000000000..9b1a6d429b4
--- /dev/null
+++ b/chat/accounts.dtd
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chat/accounts.properties b/chat/accounts.properties
new file mode 100755
index 00000000000..67dd5e8beb7
--- /dev/null
+++ b/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/chat/commands.properties b/chat/commands.properties
new file mode 100755
index 00000000000..92025fde287
--- /dev/null
+++ b/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 <å½ä»¤>äºè§£æ´å¤ä¿¡æ¯ã
+# LOCALIZATION NOTE (noCommand, noHelp):
+# %S is the command name the user typed.
+noCommand=没æâ%Sâå½ä»¤ã
+noHelp=æ±æï¼â%Sâæ²¡æå¸®å©ä¿¡æ¯ã
+
+sayHelpString=say <ä¿¡æ¯>: åé䏿¡å纯çä¿¡æ¯èä¸è¿è¡å½ä»¤å¤çã
+rawHelpString=raw <ä¿¡æ¯>: åé䏿¡æªè¿è¡ HTML 项ç®è½¬ä¹çä¿¡æ¯ã
+helpHelpString=help <åç§°>: æ¾ç¤ºå½ä»¤ <å½ä»¤åç§°> ç帮å©ä¿¡æ¯ï¼å¦æä¸å¸¦åæ°ä½¿ç¨ï¼åæ¾ç¤ºå¯ç¨çå½ä»¤å表ã
+
+# 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 <ç¶æä¿¡æ¯>: ç¨ä¸ä¸ªå¯éçç¶æä¿¡æ¯å°ç¶æè®¾ç½®ä¸º %2$S ã
+back=æç©º
+away=离å¼
+busy=å¿ç¢
+dnd=å¿ç¢
+offline=离线
diff --git a/chat/contacts.properties b/chat/contacts.properties
new file mode 100755
index 00000000000..ae848468f93
--- /dev/null
+++ b/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/chat/conversations.properties b/chat/conversations.properties
new file mode 100755
index 00000000000..363756d04a1
--- /dev/null
+++ b/chat/conversations.properties
@@ -0,0 +1,80 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (targetChanged):
+# %1$S is the new conversation title (display name of the new target),
+# %2$S is the protocol name used for the new target.
+targetChanged=å°ä¼ç»§ç» %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%
diff --git a/chat/dateFormat.properties b/chat/dateFormat.properties
new file mode 100644
index 00000000000..bf5cc310ac4
--- /dev/null
+++ b/chat/dateFormat.properties
@@ -0,0 +1,62 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+month.1.Mmm=1æ
+month.2.Mmm=2æ
+month.3.Mmm=3æ
+month.4.Mmm=4æ
+month.5.Mmm=5æ
+month.6.Mmm=6æ
+month.7.Mmm=7æ
+month.8.Mmm=8æ
+month.9.Mmm=9æ
+month.10.Mmm=10æ
+month.11.Mmm=11æ
+month.12.Mmm=12æ
+
+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=åäºæ
+
+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=å¨å
+
+day.1.short=æ¥
+day.2.short=ä¸
+day.3.short=äº
+day.4.short=ä¸
+day.5.short=å
+day.6.short=äº
+day.7.short=å
+
+noon=ä¸å
+midnight=æ·±å¤
+
+AllDay=å
¨å¤©
+
+# LOCALIZATION NOTE (finduri-MonthYear):
+# %1$S is the month name, %2$S is the year (4 digits format).
+finduri-MonthYear=%2$Så¹´%1$S
diff --git a/chat/facebook.properties b/chat/facebook.properties
new file mode 100755
index 00000000000..825cb877548
--- /dev/null
+++ b/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 Chat å·²ä¸åæ¯æï¼å 为 Facebook ç¦ç¨äºå®ä»¬ç XMPP ç½å
³ã
diff --git a/chat/imtooltip.properties b/chat/imtooltip.properties
new file mode 100755
index 00000000000..19923cf3bd5
--- /dev/null
+++ b/chat/imtooltip.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/.
+
+buddy.username=ç¨æ·å
+buddy.account=è´¦æ·
+contact.tags=æ ç¾
diff --git a/chat/irc.properties b/chat/irc.properties
new file mode 100755
index 00000000000..8c2eb1b8dda
--- /dev/null
+++ b/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 <è¦æ§è¡çå¨ä½>:æ§è¡ä¸ä¸ªå¨ä½ã
+command.ban=%S <nick!user@host>ï¼å°ç¦ç¬¦åæå®æ¨¡å¼çç¨æ·ã
+command.ctcp=%S <æµç§°> <æ¶æ¯>ï¼åé CTCP æ¶æ¯è³æµç§°ã
+command.chanserv=%S <å½ä»¤>ï¼åéå½ä»¤è³ ChanServã
+command.deop=%S <æµç§°1>[,<æµç§°2>]*ï¼ç§»é¤æäººçé¢éæä½åç¶æãæ¨å¿
须为é¢éæä½åæè½è¿ä¹åã
+command.devoice=%S <æµç§°1>[,<æµç§°2>]*ï¼ææäººçé¢éåè¨ç¶æç§»é¤ï¼ç¨äºé»æ¢è¢«ä¸»æ(+m)é¢éä¸çæäººè¯´è¯ãæ¨å¿
须为é¢éæä½åæè½è¿ä¹åã
+command.invite2=%S <nick>[ <nick>]* [<channel>]: ç¨æµç§°é请ä¸ä¸ªæè
å¤ä¸ªç¨æ·å å
¥ä½ å½åæå¨é¢éï¼æè
å å
¥æå®é¢éã
+command.join=%S <æ¿é´1>[,<æ¿é´2>]* [<å¯é¥1>[,<å¯é¥2>]*]ï¼è¿å
¥ä¸ä¸ªæè
å¤ä¸ªé¢éï¼å¯æ ¹æ®éè¦ä¸ºæ¯ä¸ªæ¿é´æä¾é¢éå¯é¥ã
+command.kick=%S <æµç§°> [<æ¶æ¯>]ï¼å°æäººä»ä¸ä¸ªé¢éç§»é¤ãæ¨å¿
é¡»æ¯é¢éæä½åæè½è¿ä¹åã
+command.list=%Sï¼æ¾ç¤ºç½ç»çè天室å表ãè¦åï¼æäºæå¡å¨å¯è½ä¼å æ¤æå¼ä¸æ¨çè¿æ¥ã
+command.memoserv=%S <å½ä»¤>ï¼åéå½ä»¤è³ MemoServã
+command.modeUser2=%S <nick> [(+|-)<模å¼>]ï¼è·åã设置æåæ¶ç¨æ·ç模å¼ã
+command.modeChannel2=%S [<channel>] [(+|-)<æ°æ¨¡å¼> [<åæ°>][,<åæ°>]*]ï¼è·åã设置æåæ¶é¢é模å¼ã
+command.msg=%S <æµç§°> <æ¶æ¯>ï¼åéç§ä¿¡è³ç¨æ·ï¼ç¸å¯¹äºé¢éèè¨ï¼ã
+command.nick=%S <æ°æµç§°>ï¼æ´æ¹æ¨çæµç§°ã
+command.nickserv=%S <å½ä»¤>ï¼åéå½ä»¤è³ NickServã
+command.notice=%S <ç®æ > <æ¶æ¯>ï¼åééç¥è³ç¨æ·æé¢éã
+command.op=%S <æµç§°1>[,<æµç§°2>]*ï¼æææäººä¸ºé¢éæä½åãæ¨å¿
é¡»æ¯é¢éæä½åæè½è¿ä¹åã
+command.operserv=%S <å½ä»¤>ï¼åéå½ä»¤è³ OperServã
+command.part=%S [æ¶æ¯]ï¼ç¦»å¼å½åé¢éå¹¶ç䏿¶æ¯ï¼å¯éï¼ã
+command.ping=%S [<æµç§°>]ï¼è¯¢é®ç¨æ·ï¼æè
æå¡å¨-䏿å®çè¯ï¼çå»¶æ¶ã
+command.quit=%S <æ¶æ¯>ï¼ä»æå¡å¨æå¼ï¼å¹¶çä¸ï¼å¯éï¼æ¶æ¯ã
+command.quote=%S <å½ä»¤>ï¼åæå¡å¨åé䏿¡åå§å½ä»¤ã
+command.time=%Sï¼æ¾ç¤ºå½å IRC æå¡å¨çå½å°æ¶é´ã
+command.topic=%S [<æ°è¯é¢>]ï¼æ¥çæè
æ´æ¹é¢éè¯é¢ã
+command.umode=%S (+|-)<æ°æ¨¡å¼>ï¼è®¾ç½®æåæ¶ä¸ä¸ªç¨æ·æ¨¡å¼ã
+command.version=%S <æµç§°>ï¼è¯·æ±ç¨æ·å®¢æ·ç«¯ççæ¬ä¿¡æ¯ã
+command.voice=%S <æµç§°1>[,<æµç§°2>]*ï¼æææäººä»¥é¢éåè¨ç¶æãæ¨å¿
须为é¢éæä½åæè½è¿ä¹åã
+command.whois2=%S [<æµç§°>]: è·åä¸ä¸ªç¨æ·çä¿¡æ¯ã
+
+# 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/chat/logger.properties b/chat/logger.properties
new file mode 100755
index 00000000000..9306f313f0c
--- /dev/null
+++ b/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/chat/matrix.properties b/chat/matrix.properties
new file mode 100644
index 00000000000..f2df2b6c3ed
--- /dev/null
+++ b/chat/matrix.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/.
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.connectServer=æå¡å¨
+options.connectPort=端å£
+
+# 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)
diff --git a/chat/skype.properties b/chat/skype.properties
new file mode 100644
index 00000000000..b495066f629
--- /dev/null
+++ b/chat/skype.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 (connection.*):
+# These will show in the account manager to show progress during a connection.
+connecting.authenticating=æ£å¨éªè¯èº«ä»½
+connecting.registrationToken=æ£å¨è·å注å令ç
+
+# LOCALIZATION NOTE (error.*):
+# These will show in the account manager if the account is disconnected
+# because of an error.
+error.auth=è³æå¡å¨ç身份éªè¯å¤±è´¥
+error.registrationToken=è·å注å令ç失败
diff --git a/chat/status.properties b/chat/status.properties
new file mode 100755
index 00000000000..158fa1555dd
--- /dev/null
+++ b/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/chat/twitter.properties b/chat/twitter.properties
new file mode 100755
index 00000000000..9d7cbad6b22
--- /dev/null
+++ b/chat/twitter.properties
@@ -0,0 +1,120 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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
+# @.
+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 <username>[ <username>]*: å¼å§å
³æ³¨ä¸ä¸ªæå¤ä¸ªç¨æ·ã
+command.unfollow=%S <username>[ <username>]*: 忢å
³æ³¨ä¸ä¸ªæå¤ä¸ªç¨æ·ã
diff --git a/chat/xmpp.properties b/chat/xmpp.properties
new file mode 100755
index 00000000000..6de15b0b9d5
--- /dev/null
+++ b/chat/xmpp.properties
@@ -0,0 +1,276 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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=%1$S å·²è¢«ç§»åºæ¿é´ï¼å 为 %2$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 (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 [<room>[@<server>][/<nick>]] [<password>]: å å
¥ä¸ä¸ªæ¿é´ï¼å¯ä»¥æä¾å
¶ä»æå¡å¨ãæµç§°åæ¿é´å¯ç ã
+command.part2=%S [<message>]: 使ç¨å¯éçæ¶æ¯ç¦»å¼å½åæ¿é´ã
+command.topic=%S [<new topic>]: è®¾ç½®æ¤æ¿é´ç主é¢ã
+command.ban=%S <æµç§°>[<æ¶æ¯>]ï¼å°ç¦æ¿é´ä¸çæäººãæ¨å¿
é¡»æ¯æ¿é´ç管çåæè½æ§è¡ã
+command.kick=%S <æµç§°>[<æ¶æ¯>]ï¼ç§»é¤æ¿é´ä¸çæäººãæ¨å¿
é¡»æ¯æ¿é´ç主æäººæè½æ§è¡ã
+command.invite=%S <jid>[<message>]ï¼éè¯·ç¨æ·å å
¥å½åè天室并ç䏿¶æ¯ã
+command.inviteto=%S <æ¿é´ jid>[<å¯ç >]: é请æ¨çè天ä¼ä¼´å å
¥æ¿é´ï¼å¦éè¦çè¯å¯è¾å
¥å¯ç ã
+command.me=%S <action to perform>: Perform an action.
+command.nick=%S <æ°æµç§°>ï¼æ´æ¹æ¨çæµç§°ã
+command.msg=%S <æµç§°> <æ¶æ¯>ï¼åé䏿¡ç§ä¿¡ç»æ¿é´ä¸çæä¸ªåä¸è
ã
+command.version=%Sï¼è¯·æ±ä¸æ¨å¯¹è¯çå伴使ç¨ç客æ·ç«¯ä¿¡æ¯ã
diff --git a/chat/yahoo.properties b/chat/yahoo.properties
new file mode 100755
index 00000000000..b2373ab76d7
--- /dev/null
+++ b/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/devtools/client/VariablesView.dtd b/devtools/client/VariablesView.dtd
new file mode 100755
index 00000000000..c3130dfb375
--- /dev/null
+++ b/devtools/client/VariablesView.dtd
@@ -0,0 +1,12 @@
+
+
+
+
+
+
diff --git a/devtools/client/aboutdebugging.dtd b/devtools/client/aboutdebugging.dtd
new file mode 100644
index 00000000000..a59931dd705
--- /dev/null
+++ b/devtools/client/aboutdebugging.dtd
@@ -0,0 +1,5 @@
+
+
+
diff --git a/devtools/client/aboutdebugging.ftl b/devtools/client/aboutdebugging.ftl
new file mode 100644
index 00000000000..033eac298ea
--- /dev/null
+++ b/devtools/client/aboutdebugging.ftl
@@ -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/.
+
+
+### These strings are used inside the about:debugging UI.
+
+
+# Page Title strings
+
+# Page title (ie tab title) for the Setup page
+about-debugging-page-title-setup-page = è°è¯ - 设置
+# Page title (ie tab title) for the Runtime page
+# { $selectedRuntimeId } is the id of the current runtime, such as "this-firefox", "localhost:6080", ...
+about-debugging-page-title-runtime-page = è°è¯ - è¿è¡æ¶ / { $selectedRuntimeId }
+
+# Sidebar strings
+
+# Display name of the runtime for the currently running instance of Firefox. Used in the
+# Sidebar and in the Setup page.
+about-debugging-this-firefox-runtime-name = æ¤ { -brand-shorter-name }
+# Sidebar heading for selecting the currently running instance of Firefox
+about-debugging-sidebar-this-firefox =
+ .name = { about-debugging-this-firefox-runtime-name }
+# Sidebar heading for connecting to some remote source
+about-debugging-sidebar-setup =
+ .name = 设置
+# Text displayed in the about:debugging sidebar when USB devices discovery is enabled.
+about-debugging-sidebar-usb-enabled = USB å·²å¯ç¨
+# Text displayed in the about:debugging sidebar when USB devices discovery is disabled
+# (for instance because the mandatory ADB extension is not installed).
+about-debugging-sidebar-usb-disabled = USB å·²ç¦ç¨
+# Connection status (connected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-connected = å·²è¿æ¥
+# Connection status (disconnected) for runtime items in the sidebar
+aboutdebugging-sidebar-runtime-connection-status-disconnected = å·²æå¼è¿æ¥
+# Text displayed in the about:debugging sidebar when no device was found.
+about-debugging-sidebar-no-devices = æªåç°è®¾å¤
+# Text displayed in buttons found in sidebar items representing remote runtimes.
+# Clicking on the button will attempt to connect to the runtime.
+about-debugging-sidebar-item-connect-button = è¿æ¥
+# Text displayed in buttons found in sidebar items when the runtime is connecting.
+about-debugging-sidebar-item-connect-button-connecting = æ£å¨è¿æ¥...
+# Text displayed in buttons found in sidebar items when the connection failed.
+about-debugging-sidebar-item-connect-button-connection-failed = è¿æ¥å¤±è´¥
+# Text displayed in connection warning on sidebar item of the runtime when connecting to
+# the runtime is taking too much time.
+about-debugging-sidebar-item-connect-button-connection-not-responding = è¿æ¥ä»å¤äºæèµ·ç¶æï¼è¯·æ£æ¥ç®æ æµè§å¨ä¸çæ¶æ¯
+# Text displayed as connection error in sidebar item when the connection has timed out.
+about-debugging-sidebar-item-connect-button-connection-timeout = è¿æ¥è¶
æ¶
+# Temporary text displayed in sidebar items representing remote runtimes after
+# successfully connecting to them. Temporary UI, do not localize.
+about-debugging-sidebar-item-connected-label = å·²è¿æ¥
+# Text displayed in sidebar items for remote devices where a compatible browser (eg
+# Firefox) has not been detected yet. Typically, Android phones connected via USB with
+# USB debugging enabled, but where Firefox is not started.
+about-debugging-sidebar-runtime-item-waiting-for-browser = æ£å¨çå¾
æµè§å¨â¦
+# Text displayed in sidebar items for remote devices that have been disconnected from the
+# computer.
+about-debugging-sidebar-runtime-item-unplugged = å·²æå¼
+# Title for runtime sidebar items that are related to a specific device (USB, WiFi).
+about-debugging-sidebar-runtime-item-name =
+ .title = { $displayName }ï¼{ $deviceName }ï¼
+# Title for runtime sidebar items where we cannot get device information (network
+# locations).
+about-debugging-sidebar-runtime-item-name-no-device =
+ .title = { $displayName }
+# Text to show in the footer of the sidebar that links to a help page
+# (currently: https://developer.mozilla.org/docs/Tools/about:debugging)
+about-debugging-sidebar-support = è°è¯ææ¯æ¯æ
+# Text to show as the ALT attribute of a help icon that accompanies the help about
+# debugging link in the footer of the sidebar
+about-debugging-sidebar-support-icon =
+ .alt = 帮å©å¾æ
+# Text displayed in a sidebar button to refresh the list of USB devices. Clicking on it
+# will attempt to update the list of devices displayed in the sidebar.
+about-debugging-refresh-usb-devices-button = å·æ°è®¾å¤
+
+# Setup Page strings
+
+# Title of the Setup page.
+about-debugging-setup-title = 设置
+# Introduction text in the Setup page to explain how to configure remote debugging.
+about-debugging-setup-intro = é
ç½®æ¨å好çè¿æ¥æ¹æ³ä»¥è¿ç¨è°è¯æ¨ç设å¤ã
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox = ä½¿ç¨ { about-debugging-this-firefox-runtime-name } è°è¯æ¤ { -brand-shorter-name } çæ¬ä¸çæ ç¾é¡µãæ©å±å Service Workerã
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = 使ç¨{ about-debugging-this-firefox-runtime-name } è°è¯æ¤çæ¬ { -brand-shorter-name } ä¸çæ©å±å Service Workerã
+# Title of the heading Connect section of the Setup page.
+about-debugging-setup-connect-heading = è¿æ¥è®¾å¤
+# USB section of the Setup page
+about-debugging-setup-usb-title = USB
+# Explanatory text displayed in the Setup page when USB debugging is disabled
+about-debugging-setup-usb-disabled = å¯ç¨æ¤åè½å°ä¸è½½å¹¶å®è£
æéç Android USB è°è¯ç»ä»¶å° { -brand-shorter-name }ã
+# Text of the button displayed in the USB section of the setup page when USB debugging is disabled.
+# Clicking on it will download components needed to debug USB Devices remotely.
+about-debugging-setup-usb-enable-button = å¯ç¨ USB 设å¤
+# Text of the button displayed in the USB section of the setup page when USB debugging is enabled.
+about-debugging-setup-usb-disable-button = ç¦ç¨ USB 设å¤
+# Text of the button displayed in the USB section of the setup page while USB debugging
+# components are downloaded and installed.
+about-debugging-setup-usb-updating-button = æ£å¨æ´æ°â¦
+# USB section of the Setup page (USB status)
+about-debugging-setup-usb-status-enabled = å·²å¯ç¨
+about-debugging-setup-usb-status-disabled = å·²ç¦ç¨
+about-debugging-setup-usb-status-updating = æ£å¨æ´æ°...
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-dev-menu2 = 卿¨ç Android 设å¤ä¸å¯ç¨âå¼åè
é项â
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug2 = å¯ç¨ Android å¼åè
é项ä¸çâUSB è°è¯âåè½
+# USB section step by step guide
+about-debugging-setup-usb-step-enable-debug-firefox2 = å¨ Android 设å¤ç Firefox ä¸å¯ç¨âUSB è°è¯âåè½ã
+# USB section step by step guide
+about-debugging-setup-usb-step-plug-device = å° Android 设å¤è¿æ¥å°æ¨çè®¡ç®æºã
+# Text shown in the USB section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://developer.mozilla.org/docs/Tools/Remote_Debugging/Debugging_over_USB
+about-debugging-setup-usb-troubleshoot = è¿æ¥ USB è®¾å¤æ¶åºç°é®é¢ï¼ æ
éæé¤
+# Network section of the Setup page
+about-debugging-setup-network =
+ .title = ç½ç»ä½ç½®
+# Text shown in the Network section of the setup page with a link to troubleshoot connection errors.
+# The link goes to https://developer.mozilla.org/en-US/docs/Tools/Remote_Debugging/Debugging_over_a_network
+about-debugging-setup-network-troubleshoot = éè¿ç½ç»ä½ç½®è¿æ¥æ¶åºç°é®é¢ï¼æ
éæé¤
+# Text of a button displayed after the network locations "Host" input.
+# Clicking on it will add the new network location to the list.
+about-debugging-network-locations-add-button = æ·»å
+# Text to display when there are no locations to show.
+about-debugging-network-locations-empty-text = å°æªæ·»å ä»»ä½ç½ç»ä½ç½®ã
+# Text of the label for the text input that allows users to add new network locations in
+# the Connect page. A host is a hostname and a port separated by a colon, as suggested by
+# the input's placeholder "localhost:6080".
+about-debugging-network-locations-host-input-label = 主æº
+# Text of a button displayed next to existing network locations in the Connect page.
+# Clicking on it removes the network location from the list.
+about-debugging-network-locations-remove-button = ç§»é¤
+# Text used as error message if the format of the input value was invalid in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-invalid = æ æä¸»æºâ{ $host-value }âãé¢ææ ¼å¼ä¸ºâhostname:portnumberâã
+# Text used as error message if the input value was already registered in the network locations form of the Setup page.
+# Variables:
+# $host-value (string) - The input value submitted by the user in the network locations form
+about-debugging-network-location-form-duplicate = 主æºâ{ $host-value }â已注å
+
+# Runtime Page strings
+
+# Below are the titles for the various categories of debug targets that can be found
+# on "runtime" pages of about:debugging.
+# Title of the temporary extensions category (only available for "This Firefox" runtime).
+about-debugging-runtime-temporary-extensions =
+ .name = ä¸´æ¶æ©å±
+# Title of the extensions category.
+about-debugging-runtime-extensions =
+ .name = æ©å±
+# Title of the tabs category.
+about-debugging-runtime-tabs =
+ .name = æ ç¾é¡µ
+# Title of the service workers category.
+about-debugging-runtime-service-workers =
+ .name = Service Worker
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = Shared Worker
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = å
¶ä» Worker
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = è¿ç¨
+# Label of the button opening the performance profiler panel in runtime pages for remote
+# runtimes.
+about-debugging-runtime-profile-button2 = åææ§è½
+# This string is displayed in the runtime page if the current configuration of the
+# target runtime is incompatible with service workers. "Learn more" points to MDN.
+# https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible
+about-debugging-runtime-service-workers-not-compatible = æ¨çæµè§å¨é
ç½®ä¸ Service Worker ä¸å
¼å®¹ã详ç»äºè§£
+# This string is displayed in the runtime page if the remote browser version is too old.
+# "Troubleshooting" link points to https://developer.mozilla.org/docs/Tools/WebIDE/Troubleshooting
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $minVersion } is the minimum version that is compatible with the current Firefox instance (same format)
+about-debugging-browser-version-too-old = å·²è¿æ¥çæµè§å¨ä¸ºæ§çæ¬ï¼{ $runtimeVersion }ï¼ãæ¯æçæä½çæ¬ä¸ºï¼{ $minVersion }ï¼ã䏿¯æççæ¬å¯è½è´ä½¿å¼åè
å·¥å
·è¿è¡å¤±è´¥ãè¯·æ´æ°è¿æ¥çæµè§å¨ãæ
éææ¥
+# Dedicated message for a backward compatibility issue that occurs when connecting:
+# - from Fx 67 to 66 or to 65
+# - from Fx 68 to 66
+# Those are normally in range for DevTools compatibility policy, but specific non
+# backward compatible changes broke the debugger in those scenarios (Bug 1528219).
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+about-debugging-browser-version-too-old-67-debugger = è°è¯å¨é¢æ¿å¯è½ä¸è¿æ¥çæµè§å¨ä¸å
¼å®¹ãè¥éè¦å¯¹æ¤æµè§å¨è°è¯è¯·ä½¿ç¨ Firefox { $runtimeVersion }ã
+# This string is displayed in the runtime page if the remote browser version is too recent.
+# "Troubleshooting" link points to https://developer.mozilla.org/en-US/docs/Tools/WebIDE/Troubleshooting
+# { $runtimeID } is the build ID of the remote browser (for instance "20181231", format is yyyyMMdd)
+# { $localID } is the build ID of the current Firefox instance (same format)
+# { $runtimeVersion } is the version of the remote browser (for instance "67.0a1")
+# { $localVersion } is the version of your current browser (same format)
+about-debugging-browser-version-too-recent =
+ å·²è¿æ¥çæµè§å¨ï¼çæ¬ { $runtimeVersion }ãbuildID { $runtimeID }ï¼æ¯æ¨ç { -brand-shorter-name }ï¼{ $localVersion }ãbuildID { $localID }ï¼è¿æ°ãè¿ä¸ªä¸åæ¯æç设置å¯è½å¯¼è´å¼åè
å·¥å
·æ
éãè¯·æ´æ° Firefoxã
+ æ
éæé¤
+# Displayed for runtime info in runtime pages.
+# { $name } is brand name such as "Firefox Nightly"
+# { $version } is version such as "64.0a1"
+about-debugging-runtime-name = { $name }ï¼{ $version }ï¼
+# Text of a button displayed in Runtime pages for remote runtimes.
+# Clicking on the button will close the connection to the runtime.
+about-debugging-runtime-disconnect-button = æå¼è¿æ¥
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is false on the target runtime.
+about-debugging-connection-prompt-enable-button = å¯ç¨è¿æ¥æç¤º
+# Text of the connection prompt button displayed in Runtime pages, when the preference
+# "devtools.debugger.prompt-connection" is true on the target runtime.
+about-debugging-connection-prompt-disable-button = ç¦ç¨è¿æ¥æç¤º
+# Title of a modal dialog displayed on remote runtime pages after clicking on the Profile Runtime button.
+about-debugging-profiler-dialog-title2 = åæå¨
+# Clicking on the header of a debug target category will expand or collapse the debug
+# target items in the category. This text is used as âtitleâ attribute of the header,
+# to describe this feature.
+about-debugging-collapse-expand-debug-targets = æå / å±å¼
+
+# Debug Targets strings
+
+# Displayed in the categories of "runtime" pages that don't have any debug target to
+# show. Debug targets depend on the category (extensions, tabs, workers...).
+about-debugging-debug-target-list-empty = å°æªå¼å§ã
+# Text of a button displayed next to debug targets of "runtime" pages. Clicking on this
+# button will open a DevTools toolbox that will allow inspecting the target.
+# A target can be an addon, a tab, a worker...
+about-debugging-debug-target-inspect-button = æ¥ç
+# Text of a button displayed in the "This Firefox" page, in the Temporary Extension
+# section. Clicking on the button will open a file picker to load a temporary extension
+about-debugging-tmp-extension-install-button = 临æ¶è½½å
¥éå ç»ä»¶â¦
+# Text displayed when trying to install a temporary extension in the "This Firefox" page.
+about-debugging-tmp-extension-install-error = å®è£
临æ¶éå ç»ä»¶æ¶åºéã
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will reload the extension.
+about-debugging-tmp-extension-reload-button = éè½½
+# Text of a button displayed for a temporary extension loaded in the "This Firefox" page.
+# Clicking on the button will uninstall the extension and remove it from the page.
+about-debugging-tmp-extension-remove-button = ç§»é¤
+# Message displayed in the file picker that opens to select a temporary extension to load
+# (triggered by the button using "about-debugging-tmp-extension-install-button")
+# manifest.json .xpi and .zip should not be localized.
+# Note: this message is only displayed in Windows and Linux platforms.
+about-debugging-tmp-extension-install-message = è¯·éæ© manifest.json æä»¶æ .xpi/.zip å缩å
+# This string is displayed as a message about the add-on having a temporaryID.
+about-debugging-tmp-extension-temporary-id = æ¤ WebExtension 使ç¨ä¸´æ¶ IDã详ç»äºè§£
+# Text displayed for extensions in "runtime" pages, before displaying a link the extension's
+# manifest URL.
+about-debugging-extension-manifest-url =
+ .label = Manifest URL
+# Text displayed for extensions in "runtime" pages, before displaying the extension's uuid.
+# UUIDs look like b293e463-481e-5148-a487-5aaf7a130429
+about-debugging-extension-uuid =
+ .label = å
é¨ UUID
+# Text displayed for extensions (temporary extensions only) in "runtime" pages, before
+# displaying the location of the temporary extension.
+about-debugging-extension-location =
+ .label = ä½ç½®
+# Text displayed for extensions in "runtime" pages, before displaying the extension's ID.
+# For instance "geckoprofiler@mozilla.com" or "{ed26ddcb-5611-4512-a89a-51b8db81cfb2}".
+about-debugging-extension-id =
+ .label = æ©å± ID
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+# Notes, this relates to the "Push" API, which is normally not localized so it is
+# probably better to not localize it.
+about-debugging-worker-action-push = æ¨é
+# This string is displayed as a label of the button that starts a service worker.
+about-debugging-worker-action-start = å¼å§
+# This string is displayed as a label of the button that unregisters a service worker.
+about-debugging-worker-action-unregister = åæ¶æ³¨å
+# Displayed for service workers in runtime pages that listen to Fetch events.
+about-debugging-worker-fetch-listening =
+ .label = Fetch
+ .value = æ£å¨çå¬ fetch äºä»¶
+# Displayed for service workers in runtime pages that do not listen to Fetch events.
+about-debugging-worker-fetch-not-listening =
+ .label = Fetch
+ .value = æªå¨çå¬ fetch äºä»¶
+# Displayed for service workers in runtime pages that are currently running (service
+# worker instance is active).
+about-debugging-worker-status-running = æ£å¨è¿è¡
+# Displayed for service workers in runtime pages that are registered but stopped.
+about-debugging-worker-status-stopped = 已忢
+# Displayed for service workers in runtime pages that are registering.
+about-debugging-worker-status-registering = æ£å¨æ³¨å
+# Displayed for service workers in runtime pages, to label the scope of a worker
+about-debugging-worker-scope =
+ .label = èå´
+# Displayed for service workers in runtime pages, to label the push service endpoint (url)
+# of a worker
+about-debugging-worker-push-service =
+ .label = æ¨éæå¡
+# Displayed as name for the Main Process debug target in the Processes category. Only for
+# remote runtimes, if `devtools.aboutdebugging.process-debugging` is true.
+about-debugging-main-process-name = 主è¿ç¨
+# Displayed as description for the Main Process debug target in the Processes category.
+# Only for remote browsers, if `devtools.aboutdebugging.process-debugging` is true.
+about-debugging-main-process-description2 = ç®æ æµè§å¨ç主è¿ç¨
+# Alt text used for the close icon of message component (warnings, errors and notifications).
+about-debugging-message-close-icon =
+ .alt = å
³éæ¶æ¯
+# Label text used for the error details of message component.
+about-debugging-message-details-label-error = é误详æ
+# Label text used for the warning details of message component.
+about-debugging-message-details-label-warning = è¦å详æ
+# Label text used for default state of details of message component.
+about-debugging-message-details-label = 详ç»ä¿¡æ¯
diff --git a/devtools/client/aboutdebugging.properties b/devtools/client/aboutdebugging.properties
new file mode 100644
index 00000000000..ee0f62cb22f
--- /dev/null
+++ b/devtools/client/aboutdebugging.properties
@@ -0,0 +1,214 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (debug):
+# This string is displayed as a label of the button that starts
+# debugging a service worker.
+debug = è°è¯
+
+# LOCALIZATION NOTE (push):
+# This string is displayed as a label of the button that pushes a test payload
+# to a service worker.
+push = æ¨é
+
+# LOCALIZATION NOTE (start):
+# This string is displayed as a label of the button that starts a service worker.
+start = å¼å§
+
+scope = èå´
+unregister = åæ¶æ³¨å
+
+pushService = æ¨éæå¡
+
+# LOCALIZATION NOTE (fetch):
+# Fetch is an event type and should not be translated.
+fetch = Fetch
+
+# LOCALIZATION NOTE (listeningForFetchEvents):
+# This is used to display the state of the SW in regard to fetch events.
+listeningForFetchEvents = æ£å¨çå¬ fetch äºä»¶ã
+
+# LOCALIZATION NOTE (notListeningForFetchEvents):
+# This is used to display the state of the SW in regard to fetch events.
+notListeningForFetchEvents = æªå¨çå¬ fetch äºä»¶ã
+
+# LOCALIZATION NOTE (addons):
+# This string is displayed as a header of the about:debugging#addons page.
+addons = éå ç»ä»¶
+
+# LOCALIZATION NOTE (addonDebugging.label):
+# This string is displayed next to a check box that enables the user to switch
+# addon debugging on/off.
+addonDebugging.label = å¯ç¨éå ç»ä»¶è°è¯
+
+# LOCALIZATION NOTE (addonDebugging.tooltip):
+# This string is displayed in a tooltip that appears when hovering over a check
+# box that switches addon debugging on/off.
+addonDebugging.tooltip = å¼å¯æ¤é¡¹å°å
许æ¨è°è¯éå ç»ä»¶åæµè§å¨ç许å¤é¨å
+
+# LOCALIZATION NOTE (addonDebugging.learnMore):
+# This string is displayed as a link next to addonDebugging.label and leads the user to
+# the MDN documentation page for about:debugging.
+# (https://developer.mozilla.org/docs/Tools/about:debugging#Enabling_add-on_debugging)
+addonDebugging.learnMore = 详ç»äºè§£
+
+# LOCALIZATION NOTE (loadTemporaryAddon2):
+# This string is displayed as a label of a button that allows the user to
+# load additional add-ons.
+loadTemporaryAddon2 = 临æ¶è½½å
¥éå ç»ä»¶â¦
+
+# LOCALIZATION NOTE (addonInstallError):
+# This string is displayed when an error occurs while installing an addon.
+# %S will be replaced with the error message.
+addonInstallError = å¨å®è£
æ¶åçé误ï¼%S
+
+# LOCALIZATION NOTE (retryTemporaryInstall):
+# This string is displayed as a label of a button that allows the user to
+# retry a failed installation of a temporary add-on.
+retryTemporaryInstall = éè¯
+
+# LOCALIZATION NOTE (extensions):
+# This string is displayed as a header above the list of loaded add-ons.
+extensions = æ©å±
+
+# LOCALIZATION NOTE (temporaryExtensions):
+# This string is displayed as a header above the list of temporarily loaded add-ons.
+temporaryExtensions = ä¸´æ¶æ©å±
+
+# LOCALIZATION NOTE (systemExtensions):
+# This string is displayed as a header above the list of system add-ons.
+systemExtensions = ç³»ç»æ©å±
+
+# LOCALIZATION NOTE (internalUUID):
+# This string is displayed as a label for the internal UUID of an extension.
+# The UUID is generated for this profile on install.
+internalUUID = å
é¨ UUID
+
+# LOCALIZATION NOTE (extensionID):
+# This string is displayed as a label for the ID of an extension. This is not the same as the internal UUID.
+extensionID = æ©å± ID
+
+# LOCALIZATION NOTE (manifestURL):
+# This string is displayed as a link for the manifest of an extension,
+# accessible in a browser, such as moz-extension://[internalUUID]/manifest.json.
+manifestURL = Manifest URL
+
+# LOCALIZATION NOTE (webExtTip):
+# This string is displayed as a message below the list of temporarily loaded add-ons.
+# Web-ext is a command line tool for web-extensions developers.
+# See https://developer.mozilla.org/Add-ons/WebExtensions/Getting_started_with_web-ext
+webExtTip = æ¨å¯ä»¥ä»å½ä»¤è¡ä½¿ç¨ web-ext æ¥ä¸´æ¶è½½å
¥ WebExtensionã
+
+# LOCALIZATION NOTE (webExtTip.learnMore):
+# This string is displayed as a link next to webExtTip and leads the user to the MDN
+# documentation page for web-ext.
+# (https://developer.mozilla.org/Add-ons/WebExtensions/Getting_started_with_web-ext)
+webExtTip.learnMore = 详ç»äºè§£
+
+# LOCALIZATION NOTE (temporaryID):
+# This string is displayed as a message about the add-on having a temporaryID.
+temporaryID = æ¤ WebExtension æä¸ä¸ªä¸´æ¶ IDã
+
+# LOCALIZATION NOTE (temporaryID.learnMore):
+# This string is displayed as a link next to the temporaryID message and leads
+# the user to MDN.
+temporaryID.learnMore = 详ç»äºè§£
+
+# LOCALIZATION NOTE (legacyExtensionWarning):
+# This string is displayed as a warning message when loading a temporary legacy extension.
+legacyExtensionWarning = è¿æ¯ä¸ä¸ªä¼ ç»æ©å±ã请注æï¼è¿å·²ä¸åå
忝æã请é
读ç¸å
³ææ¡£å¹¶è°¨æ
使ç¨ã
+
+# LOCALIZATION NOTE (legacyExtensionWarning.learnMore):
+# This string is displayed as a link next to the legacyExtensionWarning message and leads
+# the user to https://wiki.mozilla.org/Add-ons/Future_of_Bootstrap.
+legacyExtensionWarning.learnMore = 详ç»äºè§£
+
+# LOCALIZATION NOTE (selectAddonFromFile2):
+# This string is displayed as the title of the file picker that appears when
+# the user clicks the 'Load Temporary Add-on' button
+selectAddonFromFile2 = éæ©æ¸
åæä»¶æè
å
(.xpi)
+
+# LOCALIZATION NOTE (reload):
+# This string is displayed as a label of the button that reloads a given addon.
+reload = éæ°è½½å
¥
+
+# LOCALIZATION NOTE (remove):
+# This string is displayed as a label of the button that will remove a given addon.
+remove = ç§»é¤
+
+# LOCALIZATION NOTE (location):
+# This string is displayed as a label for the filesystem location of an extension.
+location = ä½ç½®
+
+# LOCALIZATION NOTE (workers):
+# This string is displayed as a header of the about:debugging#workers page.
+workers = Worker
+
+serviceWorkers = Service Workers
+sharedWorkers = Shared Workers
+otherWorkers = å
¶ä» Workers
+
+# LOCALIZATION NOTE (running):
+# This string is displayed as the state of a service worker in RUNNING state.
+running = æ£å¨è¿è¡
+
+# LOCALIZATION NOTE (stopped):
+# This string is displayed as the state of a service worker in STOPPED state.
+stopped = 已忢
+
+# LOCALIZATION NOTE (registering):
+# This string is displayed as the state of a service worker for which no service worker
+# registration could be found yet. Only active registrations are visible from
+# about:debugging, so such service workers are considered as registering.
+registering = æ£å¨æ³¨å
+
+# LOCALIZATION NOTE (tabs):
+# This string is displayed as a header of the about:debugging#tabs page.
+tabs = æ ç¾é¡µ
+
+# LOCALIZATION NOTE (pageNotFound):
+# This string is displayed as the main message at any error/invalid page.
+pageNotFound = æ¾ä¸å°é¡µé¢
+
+# LOCALIZATION NOTE (doesNotExist):
+# This string is displayed as an error message when navigating to an invalid page
+# %S will be replaced by the name of the page at run-time.
+doesNotExist = #%S ä¸åå¨ï¼
+
+# LOCALIZATION NOTE (nothing):
+# This string is displayed when the list of workers is empty.
+nothing = å°æªå¼å§ã
+
+# LOCALIZATION NOTE (configurationIsNotCompatible.label):
+# This string is displayed in about:debugging#workers if the current configuration of the
+# browser is incompatible with service workers. More details at
+# https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible
+configurationIsNotCompatible.label = æ¨çæµè§å¨é
ç½®ä¸ Service Worker ä¸å
¼å®¹ã
+
+# LOCALIZATION NOTE (configurationIsNotCompatible.learnMore):
+# This string is displayed as a link next to configurationIsNotCompatible.label and leads
+# the user to the MDN documentation page for about:debugging, on the section explaining
+# why service workers might not be available.
+# (https://developer.mozilla.org/en-US/docs/Tools/about%3Adebugging#Service_workers_not_compatible)
+configurationIsNotCompatible.learnMore = 详ç»äºè§£
+
+# LOCALIZATION NOTE (multiProcessWarningTitle):
+# This string is displayed as a warning message on top of the about:debugging#workers
+# page when multi-e10s is enabled
+multiProcessWarningTitle = Service Worker è°è¯ç®åå°ä¸å
¼å®¹å¤ä¸ªå
容è¿ç¨ã
+
+# LOCALIZATION NOTE (multiProcessWarningMessage2):
+# This string is displayed in the warning section for multi-e10s in
+# about:debugging#workers
+multiProcessWarningMessage2 = å½åçæ¬ä¸å¯ä»¥ä¿®æ¹é¦é项âdom.ipc.multiOptOutâ以强å¶ä½¿ç¨å个å
容è¿ç¨ã
+
+# LOCALIZATION NOTE (multiProcessWarningUpdateLink2):
+# This string is the text content of a link in the warning section for multi-e10s in
+# about:debugging#workers. The link updates the pref and restarts the browser.
+multiProcessWarningUpdateLink2 = ææ¶ä¸ç¨å¤ä¸ªå
容è¿ç¨
+
+# LOCALIZATION NOTE (multiProcessWarningConfirmUpdate2):
+# This string is displayed as a confirmation message when the user clicks on
+# the multiProcessWarningUpdateLink in about:debugging#workers
+multiProcessWarningConfirmUpdate2 = éæ©éåºå¤è¿ç¨å®éªï¼
diff --git a/devtools/client/accessibility.properties b/devtools/client/accessibility.properties
new file mode 100644
index 00000000000..51b95167eec
--- /dev/null
+++ b/devtools/client/accessibility.properties
@@ -0,0 +1,221 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Accessibility panel
+# which is available from the Web Developer sub-menu -> 'Accessibility'.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
+
+# LOCALIZATION NOTE (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.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): A title text used when
+# accessibility service description is provided before accessibility inspector
+# is enabled.
+accessibility.description.general=æ éç¢åè½ä¼å¯¹æ§è½äº§çè´é¢å½±åï¼é»è®¤ä¸ä¼æå¼ã请èèå¨åæ¢è³å
¶ä»å¼åè
å·¥å
·é¢æ¿åå
³éæ éç¢åè½ã
+
+# 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.description.oldVersion): A title text used
+# when accessibility service description is provided when a client is connected
+# to an older version of accessibility actor.
+accessibility.description.oldVersion=æ¨è¿æ¥çè°è¯æå¡å¨çæ¬å¤ªæ§ãè¥è¦ä½¿ç¨æ éç¢é¢æ¿ï¼è¯·è¿æ¥å°ææ°ççè°è¯æå¡å¨ã
+
+# 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.empty): A title text used for indicating that
+# accessibility checks for a node yielded no results and another node should be
+# selected.
+accessibility.checks.empty=éæ©å¦ä¸èç¹ä»¥ç»§ç»ã
+
+# 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.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.all): A title text for the filter
+# that is rendered within the accessibility panel toolbar for a button that
+# filters the tree based on all accessibility failures within it.
+accessibility.filter.all=ææ
+
+# 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.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.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.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.beta): A title text for the features in the
+# accessibility panel that are currently in beta.
+accessibility.beta=æµè¯ç
diff --git a/devtools/client/animationinspector.properties b/devtools/client/animationinspector.properties
new file mode 100644
index 00000000000..0a0076f2578
--- /dev/null
+++ b/devtools/client/animationinspector.properties
@@ -0,0 +1,220 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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.invalidElementSelected):
+# This is the label shown in the panel when an invalid node is currently
+# selected in the inspector (i.e. a non-element node or a node that is not
+# animated).
+panel.invalidElementSelected=æ¤å
ç´ ä¸æªæ¾å°å¨ç»ã
+
+# LOCALIZATION NOTE (panel.selectElement): This is the label shown in the panel
+# when an invalid node is currently selected in the inspector, to invite the
+# user to select a new node by clicking on the element-picker icon.
+panel.selectElement=æé页é¢ä¸çå¦ä¸ä¸ªå
ç´ ã
+
+# 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 (panel.allAnimations): This is the label shown at the bottom of
+# the panel, in a toolbar, to let the user know the toolbar applies to all
+# animations, not just the ones applying to the current element.
+panel.allAnimations=ææå¨ç»
+
+# 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=∞
+
+# 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.animationIterationStartLabel):
+# 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
+player.animationIterationStartLabel=è¿ä»£å¼å§ï¼%1$S (%2$Sç§)
+
+# 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.rateSelectorTooltip):
+# This string is displayed in the timeline toolbar, as the tooltip of the
+# drop-down list that can be used to change the rate at which the animations
+# run.
+timeline.rateSelectorTooltip=设置å¨ç»ææ¾éç
+
+# 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%%
+
+# LOCALIZATION NOTE (detail.headerTitle):
+# This string is displayed on header label in .animation-detail-header.
+detail.headerTitle=å¨ç»å±æ§ï¼
+
+# LOCALIZATION NOTE (detail.header.closeLabel):
+# This string is displayed in a tooltip of close button for animated properties
+detail.header.closeLabel=å
³éå¨ç»å±æ§é¢æ¿
diff --git a/devtools/client/app-manager.properties b/devtools/client/app-manager.properties
new file mode 100755
index 00000000000..cbe916c3537
--- /dev/null
+++ b/devtools/client/app-manager.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/.
+
+validator.nonExistingFolder=é¡¹ç®æä»¶å¤¹ä¸åå¨
+validator.expectProjectFolder=æ¤é¡¹ç®æä»¶å¤¹ä¸åºè¯¥æ¯æä»¶
+validator.noManifestFile=项ç®çæ ¹æä»¶å¤¹ä¸éè¦æä¸ä¸ªæ¸
åæä»¶ï¼å°è£
å¼åºç¨åºå°å®å½å为âmanifest.webappâï¼èéå ç»ä»¶ååºå°ä»å½å为âmanifest.jsonâã
+validator.invalidManifestURL=æ æçæ¸
åæä»¶ URLâ%Sâ
+# LOCALIZATION NOTE (validator.invalidManifestJSON, validator.noAccessManifestURL):
+# %1$S is the error message, %2$S is the URI of the manifest.
+validator.invalidManifestJSON=åºç¨çæ¸
åæä»¶ä¸æ¯ä¸ä¸ªææç JSON æä»¶ï¼%1$S ä½äºï¼ %2$S
+validator.noAccessManifestURL=æ æ³è¯»åæ¸
åæä»¶ï¼%1$S ä½äºï¼%2$S
+# LOCALIZATION NOTE (validator.invalidHostedManifestURL): %1$S is the URI of
+# the manifest, %2$S is the error message.
+validator.invalidHostedManifestURL=æ æçæç®¡çæ¸
åæä»¶ URLâ%1$Sâï¼%2$S
+validator.invalidProjectType=æªç¥ç项ç®ç±»åâ%Sâ
+# LOCALIZATION NOTE (validator.missNameManifestProperty, validator.missIconsManifestProperty):
+# don't translate 'icons' and 'name'.
+validator.missNameManifestProperty=æ¸
åæä»¶ä¸ç¼ºå°å¿
é¡»çânameâã
+validator.missIconsManifestProperty=æ¸
åæä»¶ä¸ç¼ºå°âiconsâã
+validator.missIconMarketplace2=æäº¤åºç¨å°âåºç¨å¸åºâéè¦ä¸ä¸ª 128px ç徿
+validator.invalidAppType=æªç¥çåºç¨ç±»åï¼â%Sâã
+validator.invalidHostedPriviledges=æç®¡åºç¨çç±»åä¸è½æ¯â%Sâã
+validator.noCertifiedSupport=åºç¨ç®¡çå¨å°ä¸è½å®å
¨æ¯æ 'certified' åºç¨ã
+validator.nonAbsoluteLaunchPath=å¯å¨è·¯å¾å¿
须为以â/âå¼å§çç»å¯¹è·¯å¾ï¼â%Sâ
+validator.accessFailedLaunchPath=æ æ³è®¿é®åºç¨çå¯å¨æä»¶â%Sâ
+# LOCALIZATION NOTE (validator.accessFailedLaunchPathBadHttpCode): %1$S is the URI of
+# the launch document, %2$S is the http error code.
+validator.accessFailedLaunchPathBadHttpCode=æ æ³è®¿é®åºç¨çå¯å¨æä»¶â%1$Sâï¼æ¶å° HTTP 代ç %2$S
diff --git a/devtools/client/application.ftl b/devtools/client/application.ftl
new file mode 100644
index 00000000000..717be6ebac5
--- /dev/null
+++ b/devtools/client/application.ftl
@@ -0,0 +1,71 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### These strings are used inside the Application panel which is available
+### by setting the preference `devtools-application-enabled` to true.
+
+
+### The correct localization of this file might be to keep it in English, or another
+### language commonly spoken among web developers. You want to make that choice consistent
+### across the developer tools. A good criteria is the language in which you'd find the
+### best documentation on web development on the web.
+
+# Header for the list of Service Workers displayed in the application panel for the current page.
+serviceworker-list-header = Service Worker
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = æå¼ about:debugging æ¥çå
¶ä»ååç Service Worker
+# Text for the button to unregister a Service Worker. Displayed for active Service Workers.
+serviceworker-worker-unregister = åæ¶æ³¨å
+# Text for the debug link displayed for an already started Service Worker. Clicking on the
+# link opens a new devtools toolbox for this service worker. The title attribute is only
+# displayed when the link is disabled.
+serviceworker-worker-debug = è°è¯
+ .title = ä»
å¨è¿è¡ Service Workers æ¶å¯è¢«è°è¯
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start = å¼å§
+# Text for the debug link displayed for an already started Service Worker, when we
+# are in multi e10s mode, which effectively disables this link.
+serviceworker-worker-debug-forbidden = è°è¯
+ .title = åªè½å¨ç¦ç¨å¤è¿ç¨æ¨¡å¼çæ
åµä¸è°è¯ Service Worker
+# Text for the start link displayed for a registered but not running Service Worker.
+# Clicking on the link will attempt to start the service worker.
+serviceworker-worker-start2 = å¯å¨
+ .title = åªè½å¨ç¦ç¨å¤è¿ç¨æ¨¡å¼çæ
åµä¸å¯å¨ Service Worker
+# Text displayed for the updated time of the service worker. The