From d394f047ef2f6a436850f91dead92ff98d106929 Mon Sep 17 00:00:00 2001
From: Mike Hommey
Date: Tue, 5 May 2020 21:29:30 +0100
Subject: [PATCH] Import firefox-esr_68.8.0esr.orig-l10n-zh-TW.tar.bz2
[dgit import orig firefox-esr_68.8.0esr.orig-l10n-zh-TW.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 | 119 +
browser/browser/pageInfo.ftl | 228 +
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 | 870 +
.../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 | 29 +
.../chrome/browser/aboutPrivateBrowsing.dtd | 43 +
browser/chrome/browser/aboutRobots.dtd | 30 +
browser/chrome/browser/aboutTabCrashed.dtd | 32 +
browser/chrome/browser/accounts.properties | 108 +
.../browser/activity-stream/newtab.properties | 216 +
.../browser/app-extension-fields.properties | 12 +
browser/chrome/browser/baseMenuOverlay.dtd | 51 +
browser/chrome/browser/browser.dtd | 1193 +
browser/chrome/browser/browser.properties | 1117 +
.../customizableWidgets.properties | 106 +
.../chrome/browser/downloads/downloads.dtd | 139 +
.../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 | 90 +
browser/chrome/browser/pageInfo.properties | 79 +
.../places/bookmarkProperties.properties | 19 +
.../browser/places/editBookmarkOverlay.dtd | 29 +
browser/chrome/browser/places/places.dtd | 110 +
.../chrome/browser/places/places.properties | 87 +
browser/chrome/browser/pocket.properties | 33 +
.../preferences/preferences.properties | 79 +
.../chrome/browser/preferences/security.dtd | 42 +
.../phishing-afterload-warning-message.dtd | 65 +
.../browser/safebrowsing/report-phishing.dtd | 14 +
.../safebrowsing/safebrowsing.properties | 6 +
browser/chrome/browser/search.properties | 73 +
.../chrome/browser/setDesktopBackground.dtd | 21 +
.../chrome/browser/shellservice.properties | 32 +
browser/chrome/browser/siteData.properties | 8 +
.../chrome/browser/sitePermissions.properties | 51 +
browser/chrome/browser/syncBrand.dtd | 8 +
browser/chrome/browser/syncSetup.properties | 22 +
browser/chrome/browser/tabbrowser.properties | 150 +
browser/chrome/browser/taskbar.properties | 13 +
browser/chrome/browser/translation.dtd | 76 +
browser/chrome/browser/translation.properties | 13 +
browser/chrome/browser/uiDensity.properties | 5 +
.../chrome/browser/webrtcIndicator.properties | 62 +
.../chrome/overrides/appstrings.properties | 44 +
browser/chrome/overrides/netError.dtd | 224 +
browser/chrome/overrides/settingsChange.dtd | 8 +
.../crashreporter/crashreporter-override.ini | 10 +
browser/defines.inc | 12 +
.../formautofill/formautofill.properties | 212 +
.../extensions/fxmonitor/fxmonitor.properties | 45 +
.../report-site-issue/webcompat.properties | 10 +
.../webcompat-reporter/webcompat.properties | 10 +
browser/firefox-l10n.js | 23 +
browser/installer/custom.properties | 87 +
browser/installer/mui.properties | 62 +
browser/installer/nsisstrings.properties | 63 +
browser/installer/override.properties | 87 +
browser/pdfviewer/chrome.properties | 20 +
browser/pdfviewer/viewer.properties | 246 +
browser/profile/bookmarks.inc | 72 +
browser/updater/updater.ini | 11 +
calendar/README.txt | 3 +
.../calendar/calendar-alarms.properties | 39 +
...calendar-event-dialog-attendees.properties | 16 +
.../chrome/calendar/calendar-event-dialog.dtd | 433 +
.../calendar/calendar-event-dialog.properties | 541 +
.../calendar/calendar-extract.properties | 295 +
.../calendar/calendar-invitations-dialog.dtd | 20 +
.../calendar-invitations-dialog.properties | 10 +
.../calendar/calendar-occurrence-prompt.dtd | 8 +
.../calendar-occurrence-prompt.properties | 63 +
.../calendar-subscriptions-dialog.dtd | 15 +
calendar/chrome/calendar/calendar.dtd | 411 +
calendar/chrome/calendar/calendar.properties | 806 +
calendar/chrome/calendar/calendarCreation.dtd | 51 +
.../calendar/calendarCreation.properties | 7 +
.../chrome/calendar/categories.properties | 8 +
.../chrome/calendar/dateFormat.properties | 147 +
.../calendar-event-dialog-reminder.dtd | 20 +
calendar/chrome/calendar/global.dtd | 54 +
calendar/chrome/calendar/menuOverlay.dtd | 51 +
calendar/chrome/calendar/migration.dtd | 10 +
calendar/chrome/calendar/migration.properties | 14 +
.../chrome/calendar/preferences/alarms.dtd | 38 +
.../calendar/preferences/categories.dtd | 24 +
.../chrome/calendar/preferences/general.dtd | 54 +
.../calendar/preferences/preferences.dtd | 9 +
.../chrome/calendar/preferences/views.dtd | 41 +
.../chrome/calendar/provider-uninstall.dtd | 13 +
.../calendar/providers/gdata/amo.properties | 22 +
.../chrome/calendar/providers/gdata/gdata.dtd | 23 +
.../calendar/providers/gdata/gdata.properties | 58 +
.../calendar/providers/wcap/wcap.properties | 24 +
calendar/chrome/calendar/timezones.properties | 485 +
.../chrome/lightning/lightning-toolbar.dtd | 52 +
calendar/chrome/lightning/lightning.dtd | 111 +
.../chrome/lightning/lightning.properties | 229 +
calendar/lightning-l10n.js | 23 +
chat/accounts.dtd | 41 +
chat/accounts.properties | 10 +
chat/commands.properties | 28 +
chat/contacts.properties | 9 +
chat/conversations.properties | 81 +
chat/dateFormat.properties | 62 +
chat/facebook.properties | 6 +
chat/imtooltip.properties | 8 +
chat/irc.properties | 209 +
chat/logger.properties | 8 +
chat/matrix.properties | 17 +
chat/skype.properties | 15 +
chat/status.properties | 24 +
chat/twitter.properties | 120 +
chat/xmpp.properties | 276 +
chat/yahoo.properties | 5 +
devtools/client/VariablesView.dtd | 13 +
devtools/client/aboutdebugging.dtd | 6 +
devtools/client/aboutdebugging.ftl | 304 +
devtools/client/aboutdebugging.properties | 214 +
devtools/client/accessibility.properties | 221 +
devtools/client/animationinspector.properties | 220 +
devtools/client/app-manager.properties | 30 +
devtools/client/application.ftl | 71 +
devtools/client/boxmodel.properties | 38 +
devtools/client/canvasdebugger.dtd | 46 +
devtools/client/canvasdebugger.properties | 70 +
devtools/client/changes.properties | 64 +
devtools/client/components.properties | 19 +
devtools/client/connection-screen.dtd | 31 +
devtools/client/connection-screen.properties | 10 +
devtools/client/debugger.properties | 1139 +
devtools/client/device.properties | 21 +
devtools/client/dom.properties | 19 +
devtools/client/filterwidget.properties | 60 +
devtools/client/font-inspector.properties | 69 +
devtools/client/graphs.properties | 25 +
devtools/client/har.properties | 23 +
devtools/client/inspector.properties | 498 +
devtools/client/jit-optimizations.properties | 36 +
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 | 132 +
devtools/client/performance.properties | 163 +
devtools/client/responsive.properties | 174 +
devtools/client/scratchpad.dtd | 156 +
devtools/client/scratchpad.properties | 105 +
devtools/client/shadereditor.dtd | 33 +
devtools/client/shadereditor.properties | 22 +
devtools/client/shared.properties | 11 +
devtools/client/sourceeditor.dtd | 20 +
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 | 54 +
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 | 48 +
devtools/shared/csscoverage.properties | 33 +
devtools/shared/debugger.properties | 60 +
devtools/shared/eyedropper.properties | 15 +
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 | 359 +
.../accessibility/mac/accessible.properties | 58 +
.../accessibility/unix/accessible.properties | 18 +
.../accessibility/win/accessible.properties | 18 +
dom/chrome/appstrings.properties | 43 +
dom/chrome/dom/dom.properties | 386 +
dom/chrome/global-strres.properties | 6 +
dom/chrome/global.dtd | 6 +
dom/chrome/layout/HtmlForm.properties | 48 +
dom/chrome/layout/MediaDocument.properties | 22 +
dom/chrome/layout/css.properties | 183 +
dom/chrome/layout/htmlparser.properties | 132 +
dom/chrome/layout/layout_errors.properties | 40 +
dom/chrome/layout/printing.properties | 61 +
dom/chrome/layout/xbl.properties | 15 +
dom/chrome/layout/xmlparser.properties | 49 +
dom/chrome/layout/xul.properties | 9 +
dom/chrome/mathml/mathml.properties | 18 +
dom/chrome/netError.dtd | 98 +
dom/chrome/netErrorApp.dtd | 22 +
dom/chrome/nsWebBrowserPersist.properties | 17 +
dom/chrome/plugins.properties | 38 +
dom/chrome/security/caps.properties | 112 +
dom/chrome/security/csp.properties | 124 +
dom/chrome/security/security.properties | 123 +
dom/chrome/svg/svg.properties | 6 +
dom/chrome/xml/prettyprint.dtd | 6 +
dom/chrome/xslt/xslt.properties | 40 +
editor/ui/chrome/composer/editingOverlay.dtd | 39 +
editor/ui/chrome/composer/editor.dtd | 68 +
editor/ui/chrome/composer/editor.properties | 209 +
editor/ui/chrome/composer/editorOverlay.dtd | 346 +
.../ui/chrome/composer/editorPrefsOverlay.dtd | 14 +
.../chrome/composer/editorSmileyOverlay.dtd | 59 +
editor/ui/chrome/composer/pref-composer.dtd | 30 +
editor/ui/chrome/composer/pref-editing.dtd | 33 +
editor/ui/chrome/composer/pref-toolbars.dtd | 40 +
editor/ui/chrome/dialogs/EdAdvancedEdit.dtd | 19 +
editor/ui/chrome/dialogs/EdColorPicker.dtd | 25 +
editor/ui/chrome/dialogs/EdConvertToTable.dtd | 16 +
editor/ui/chrome/dialogs/EdDialogOverlay.dtd | 20 +
editor/ui/chrome/dialogs/EdLinkChecker.dtd | 10 +
.../dialogs/EdNamedAnchorProperties.dtd | 11 +
editor/ui/chrome/dialogs/EditConflict.dtd | 11 +
.../chrome/dialogs/EditorButtonProperties.dtd | 28 +
.../chrome/dialogs/EditorColorProperties.dtd | 29 +
.../dialogs/EditorFieldSetProperties.dtd | 21 +
.../chrome/dialogs/EditorFormProperties.dtd | 22 +
.../chrome/dialogs/EditorHLineProperties.dtd | 28 +
.../chrome/dialogs/EditorImageProperties.dtd | 79 +
.../chrome/dialogs/EditorInputProperties.dtd | 51 +
.../ui/chrome/dialogs/EditorInsertChars.dtd | 20 +
editor/ui/chrome/dialogs/EditorInsertMath.dtd | 22 +
.../ui/chrome/dialogs/EditorInsertSource.dtd | 16 +
editor/ui/chrome/dialogs/EditorInsertTOC.dtd | 17 +
.../ui/chrome/dialogs/EditorInsertTable.dtd | 19 +
.../chrome/dialogs/EditorLabelProperties.dtd | 19 +
.../chrome/dialogs/EditorLinkProperties.dtd | 7 +
.../chrome/dialogs/EditorListProperties.dtd | 21 +
.../chrome/dialogs/EditorPageProperties.dtd | 18 +
.../dialogs/EditorPersonalDictionary.dtd | 21 +
editor/ui/chrome/dialogs/EditorPublish.dtd | 66 +
.../chrome/dialogs/EditorPublishProgress.dtd | 17 +
editor/ui/chrome/dialogs/EditorReplace.dtd | 27 +
.../ui/chrome/dialogs/EditorSaveAsCharset.dtd | 18 +
.../chrome/dialogs/EditorSelectProperties.dtd | 49 +
editor/ui/chrome/dialogs/EditorSnapToGrid.dtd | 16 +
editor/ui/chrome/dialogs/EditorSpellCheck.dtd | 39 +
.../chrome/dialogs/EditorTableProperties.dtd | 76 +
.../dialogs/EditorTextAreaProperties.dtd | 34 +
editor/ui/chrome/region/region.properties | 9 +
.../spellcheck/hunspell/README_en_US.txt | 347 +
.../spellcheck/hunspell/README_mozilla.txt | 6 +
.../dictionary-sources/5-mozilla-added | 6084 ++
.../dictionary-sources/5-mozilla-removed | 1 +
.../dictionary-sources/5-mozilla-specific | 74 +
.../hunspell/dictionary-sources/README | 56 +
.../dictionary-sources/edit-dictionary | 31 +
.../dictionary-sources/install-new-dict | 39 +
.../hunspell/dictionary-sources/make-new-dict | 69 +
.../dictionary-sources/mozilla-specific.txt | 37 +
.../orig/README_en_US-custom.txt | 348 +
.../dictionary-sources/orig/en_US-custom.aff | 205 +
.../dictionary-sources/orig/en_US-custom.dic | 49759 +++++++++++++++
extensions/spellcheck/hunspell/en-US.aff | 203 +
extensions/spellcheck/hunspell/en-US.dic | 52804 ++++++++++++++++
mail/all-l10n.js | 8 +
mail/branding/thunderbird/brand.dtd | 13 +
mail/branding/thunderbird/brand.ftl | 21 +
mail/branding/thunderbird/brand.properties | 7 +
mail/chrome/communicator/utilityOverlay.dtd | 59 +
mail/chrome/messenger-mapi/mapi.properties | 37 +
.../chrome/messenger-newsblog/am-newsblog.dtd | 16 +
.../messenger-newsblog/feed-subscriptions.dtd | 56 +
.../messenger-newsblog/newsblog.properties | 93 +
.../chrome/messenger-region/region.properties | 38 +
.../messenger-smime/certFetchingStatus.dtd | 10 +
.../messenger-smime/msgCompSMIMEOverlay.dtd | 21 +
.../msgCompSMIMEOverlay.properties | 7 +
.../messenger-smime/msgCompSecurityInfo.dtd | 19 +
.../msgCompSecurityInfo.properties | 14 +
.../messenger-smime/msgReadSMIMEOverlay.dtd | 9 +
.../msgReadSMIMEOverlay.properties | 12 +
.../messenger-smime/msgReadSecurityInfo.dtd | 15 +
.../msgSecurityInfo.properties | 37 +
mail/chrome/messenger/AccountManager.dtd | 35 +
mail/chrome/messenger/AccountWizard.dtd | 127 +
mail/chrome/messenger/CustomHeaders.dtd | 12 +
mail/chrome/messenger/FilterEditor.dtd | 68 +
mail/chrome/messenger/FilterListDialog.dtd | 43 +
mail/chrome/messenger/SearchDialog.dtd | 81 +
mail/chrome/messenger/aboutDialog.dtd | 113 +
mail/chrome/messenger/aboutDownloads.dtd | 25 +
mail/chrome/messenger/aboutRights.dtd | 69 +
mail/chrome/messenger/aboutRights.properties | 9 +
.../messenger/aboutSupportMail.properties | 16 +
mail/chrome/messenger/accountCreation.dtd | 102 +
.../messenger/accountCreation.properties | 116 +
.../messenger/accountCreationModel.properties | 21 +
.../messenger/accountCreationUtil.properties | 35 +
mail/chrome/messenger/activity.dtd | 38 +
mail/chrome/messenger/activity.properties | 99 +
mail/chrome/messenger/addbuddy.dtd | 8 +
mail/chrome/messenger/addons.properties | 234 +
.../addressbook/abAddressBookNameDialog.dtd | 8 +
mail/chrome/messenger/addressbook/abCard.dtd | 159 +
.../messenger/addressbook/abContactsPanel.dtd | 49 +
.../addressbook/abMailListDialog.dtd | 22 +
.../messenger/addressbook/abMainWindow.dtd | 246 +
.../messenger/addressbook/abNewCardDialog.dtd | 8 +
.../messenger/addressbook/abResultsPane.dtd | 38 +
.../addressbook/addressBook.properties | 260 +
.../addressbook/ldapAutoCompErrs.properties | 105 +
.../addressbook/pref-directory-add.dtd | 47 +
.../messenger/addressbook/pref-directory.dtd | 18 +
.../replicationProgress.properties | 20 +
mail/chrome/messenger/am-addressing.dtd | 50 +
mail/chrome/messenger/am-advanced.dtd | 29 +
mail/chrome/messenger/am-archiveoptions.dtd | 24 +
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 | 17 +
mail/chrome/messenger/am-junk.dtd | 32 +
mail/chrome/messenger/am-main.dtd | 45 +
mail/chrome/messenger/am-mdn.dtd | 34 +
mail/chrome/messenger/am-mdn.properties | 7 +
mail/chrome/messenger/am-offline.dtd | 59 +
mail/chrome/messenger/am-server-advanced.dtd | 34 +
mail/chrome/messenger/am-server-top.dtd | 93 +
.../messenger/am-serverwithnoidentities.dtd | 7 +
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 | 22 +
mail/chrome/messenger/baseMenuOverlay.dtd | 50 +
.../messenger/beckyImportMsgs.properties | 20 +
.../chrome/messenger/charsetTitles.properties | 81 +
mail/chrome/messenger/chat.dtd | 44 +
mail/chrome/messenger/chat.properties | 109 +
mail/chrome/messenger/cloudfile/Box/auth.dtd | 7 +
.../messenger/cloudfile/Box/management.dtd | 6 +
.../messenger/cloudfile/Box/settings.dtd | 7 +
.../cloudfile/Hightail/fileExceeds2GB.dtd | 7 +
.../cloudfile/Hightail/fileExceedsLimit.dtd | 7 +
.../cloudfile/Hightail/fileExceedsQuota.dtd | 8 +
.../cloudfile/Hightail/management.dtd | 5 +
.../messenger/cloudfile/Hightail/settings.dtd | 7 +
.../messenger/cloudfile/addAccountDialog.dtd | 14 +
.../chrome/messenger/cloudfile/management.dtd | 9 +
mail/chrome/messenger/configEditorOverlay.dtd | 6 +
mail/chrome/messenger/converterDialog.dtd | 11 +
.../messenger/converterDialog.properties | 41 +
mail/chrome/messenger/custom.properties | 6 +
mail/chrome/messenger/customizeToolbar.dtd | 19 +
.../messenger/customizeToolbar.properties | 11 +
mail/chrome/messenger/datetimepicker.dtd | 7 +
mail/chrome/messenger/devtools/dbgserver.dtd | 5 +
.../messenger/devtools/dbgserver.properties | 11 +
mail/chrome/messenger/downloadheaders.dtd | 21 +
mail/chrome/messenger/editContactOverlay.dtd | 24 +
.../messenger/editContactOverlay.properties | 15 +
.../messenger/extensionsOverlay.properties | 25 +
mail/chrome/messenger/fieldMapImport.dtd | 21 +
mail/chrome/messenger/filter.properties | 110 +
mail/chrome/messenger/folderProps.dtd | 72 +
.../chrome/messenger/folderWidgets.properties | 13 +
mail/chrome/messenger/folderpane.dtd | 8 +
mail/chrome/messenger/gloda.properties | 162 +
.../chrome/messenger/glodaComplete.properties | 20 +
mail/chrome/messenger/glodaFacetView.dtd | 21 +
.../messenger/glodaFacetView.properties | 182 +
mail/chrome/messenger/imAccountWizard.dtd | 33 +
mail/chrome/messenger/imAccounts.properties | 64 +
mail/chrome/messenger/imapMsgs.properties | 256 +
mail/chrome/messenger/importDialog.dtd | 52 +
mail/chrome/messenger/importMsgs.properties | 305 +
mail/chrome/messenger/joinChat.dtd | 11 +
mail/chrome/messenger/junkLog.dtd | 10 +
mail/chrome/messenger/junkMailInfo.dtd | 12 +
mail/chrome/messenger/localMsgs.properties | 148 +
mail/chrome/messenger/mailEditorOverlay.dtd | 7 +
mail/chrome/messenger/mailOverlay.dtd | 12 +
mail/chrome/messenger/mailViewList.dtd | 10 +
mail/chrome/messenger/mailViewSetup.dtd | 12 +
mail/chrome/messenger/mailviews.properties | 14 +
mail/chrome/messenger/markByDate.dtd | 10 +
mail/chrome/messenger/messenger.dtd | 972 +
mail/chrome/messenger/messenger.properties | 800 +
.../addressingWidgetOverlay.dtd | 14 +
.../messengercompose/askSendFormat.dtd | 21 +
.../messengercompose/askSendFormat.properties | 9 +
.../messengercompose/composeMsgs.properties | 482 +
.../mailComposeEditorOverlay.dtd | 10 +
.../messengercompose/messengercompose.dtd | 367 +
.../messengercompose/sendProgress.dtd | 9 +
.../messengercompose/sendProgress.properties | 22 +
mail/chrome/messenger/migration/migration.dtd | 33 +
.../messenger/migration/migration.properties | 29 +
mail/chrome/messenger/mime.properties | 155 +
mail/chrome/messenger/mimeheader.properties | 36 +
mail/chrome/messenger/msgAccountCentral.dtd | 27 +
mail/chrome/messenger/msgHdrViewOverlay.dtd | 117 +
mail/chrome/messenger/msgPrintEngine.dtd | 12 +
mail/chrome/messenger/msgSynchronize.dtd | 23 +
.../chrome/messenger/msgViewPickerOverlay.dtd | 23 +
mail/chrome/messenger/msgmdn.properties | 19 +
mail/chrome/messenger/multimessageview.dtd | 9 +
.../messenger/multimessageview.properties | 62 +
mail/chrome/messenger/newFolderDialog.dtd | 17 +
mail/chrome/messenger/newTagDialog.dtd | 8 +
.../newmailaccount/accountProvisioner.dtd | 44 +
.../accountProvisioner.properties | 33 +
mail/chrome/messenger/news.properties | 63 +
mail/chrome/messenger/newsError.dtd | 31 +
mail/chrome/messenger/oeImportMsgs.properties | 77 +
mail/chrome/messenger/offline.properties | 29 +
.../messenger/offlineStartup.properties | 9 +
.../messenger/outlookImportMsgs.properties | 73 +
mail/chrome/messenger/pgpmime.properties | 13 +
.../chrome/messenger/preferences/advanced.dtd | 124 +
.../preferences/applicationManager.dtd | 9 +
.../preferences/applicationManager.properties | 14 +
.../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 | 31 +
mail/chrome/messenger/preferences/compose.dtd | 70 +
.../messenger/preferences/connection.dtd | 58 +
mail/chrome/messenger/preferences/cookies.dtd | 34 +
mail/chrome/messenger/preferences/display.dtd | 73 +
.../messenger/preferences/dockoptions.dtd | 17 +
mail/chrome/messenger/preferences/fonts.dtd | 80 +
mail/chrome/messenger/preferences/general.dtd | 44 +
.../preferences/messagestyle.properties | 13 +
.../messenger/preferences/notifications.dtd | 25 +
mail/chrome/messenger/preferences/offline.dtd | 33 +
.../messenger/preferences/permissions.dtd | 28 +
.../messenger/preferences/preferences.dtd | 29 +
.../preferences/preferences.properties | 122 +
mail/chrome/messenger/preferences/privacy.dtd | 39 +
.../chrome/messenger/preferences/receipts.dtd | 27 +
.../chrome/messenger/preferences/security.dtd | 49 +
.../messenger/preferences/sendoptions.dtd | 38 +
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 | 10 +
mail/chrome/messenger/safeMode.dtd | 22 +
mail/chrome/messenger/sanitize.dtd | 40 +
.../messenger/search-attributes.properties | 46 +
.../messenger/search-operators.properties | 32 +
mail/chrome/messenger/search.properties | 27 +
.../messenger/searchIntegrationDefault.dtd | 8 +
.../chrome/messenger/searchIntegrationMac.dtd | 6 +
.../chrome/messenger/searchIntegrationWin.dtd | 6 +
mail/chrome/messenger/searchTermOverlay.dtd | 20 +
.../messenger/shutdownWindow.properties | 11 +
mail/chrome/messenger/smime.properties | 14 +
mail/chrome/messenger/smtpEditOverlay.dtd | 25 +
mail/chrome/messenger/subscribe.dtd | 23 +
mail/chrome/messenger/subscribe.properties | 13 +
.../messenger/systemIntegrationDialog.dtd | 22 +
mail/chrome/messenger/tabmail.dtd | 10 +
mail/chrome/messenger/taskbar.properties | 9 +
mail/chrome/messenger/telemetry.properties | 13 +
.../chrome/messenger/templateUtils.properties | 7 +
.../messenger/textImportMsgs.properties | 44 +
.../messenger/vCardImportMsgs.properties | 27 +
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 | 23 +
mail/chrome/messenger/wmImportMsgs.properties | 77 +
mail/chrome/mozldap/ldap.properties | 262 +
mail/chrome/overrides/netError.dtd | 178 +
mail/chrome/overrides/settingsChange.dtd | 7 +
mail/defines.inc | 9 +
mail/installer/custom.properties | 80 +
mail/installer/mui.properties | 61 +
mail/installer/override.properties | 87 +
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/searchplugins/chunghwapost-zh-TW.xml | 8 +
mail/searchplugins/findbook-zh-TW.xml | 12 +
mail/searchplugins/google-maps-zh-TW.xml | 8 +
mail/searchplugins/ipeen-zh-TW.xml | 8 +
mail/searchplugins/wikipedia-zh-TW.xml | 15 +
mail/searchplugins/yahoo-bid-zh-TW.xml | 11 +
mail/searchplugins/yahoo-zh-TW.xml | 13 +
mail/updater/updater.ini | 9 +
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 | 14 +
.../android/chrome/aboutAccounts.properties | 17 +
mobile/android/chrome/aboutAddons.dtd | 15 +
mobile/android/chrome/aboutAddons.properties | 16 +
mobile/android/chrome/aboutCertError.dtd | 33 +
mobile/android/chrome/aboutDevices.dtd | 15 +
mobile/android/chrome/aboutDownloads.dtd | 16 +
.../android/chrome/aboutDownloads.properties | 18 +
mobile/android/chrome/aboutHome.dtd | 8 +
mobile/android/chrome/aboutHome.properties | 6 +
mobile/android/chrome/aboutLogins.dtd | 11 +
mobile/android/chrome/aboutLogins.properties | 33 +
.../android/chrome/aboutPrivateBrowsing.dtd | 25 +
mobile/android/chrome/browser.properties | 529 +
mobile/android/chrome/config.dtd | 22 +
mobile/android/chrome/config.properties | 10 +
mobile/android/chrome/devicePrompt.properties | 6 +
mobile/android/chrome/passwordmgr.properties | 22 +
mobile/android/chrome/phishing.dtd | 27 +
mobile/android/chrome/pippki.properties | 85 +
mobile/android/chrome/sync.properties | 40 +
.../chrome/webcompatReporter.properties | 13 +
mobile/android/defines.inc | 12 +
mobile/android/mobile-l10n.js | 6 +
mobile/chrome/region.properties | 30 +
mobile/overrides/appstrings.properties | 43 +
mobile/overrides/netError.dtd | 196 +
netwerk/necko.properties | 58 +
other-licenses/branding/sunbird/brand.dtd | 3 +
.../branding/sunbird/brand.properties | 17 +
.../chrome/pipnss/nsserrors.properties | 332 +
.../manager/chrome/pipnss/pipnss.properties | 321 +
security/manager/chrome/pippki/pippki.dtd | 51 +
.../manager/chrome/pippki/pippki.properties | 189 +
.../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 | 8 +
suite/chrome/browser/linkToolbar.dtd | 48 +
.../mac/platformNavigationBindings.dtd | 12 +
suite/chrome/browser/mailNavigatorOverlay.dtd | 31 +
suite/chrome/browser/metadata.dtd | 32 +
suite/chrome/browser/metadata.properties | 20 +
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 | 32 +
suite/chrome/browser/tabbrowser.dtd | 23 +
suite/chrome/browser/tabbrowser.properties | 18 +
suite/chrome/browser/taskbar.properties | 22 +
.../unix/platformNavigationBindings.dtd | 10 +
suite/chrome/browser/webDeveloper.dtd | 74 +
.../win/platformNavigationBindings.dtd | 8 +
suite/chrome/common/about.dtd | 70 +
suite/chrome/common/aboutPrivateBrowsing.dtd | 26 +
suite/chrome/common/aboutSessionRestore.dtd | 23 +
suite/chrome/common/aboutSyncTabs.dtd | 23 +
suite/chrome/common/askViewZoom.dtd | 7 +
suite/chrome/common/certError.dtd | 29 +
suite/chrome/common/console/console.dtd | 47 +
.../chrome/common/console/console.properties | 18 +
suite/chrome/common/contentAreaCommands.dtd | 158 +
.../common/contentAreaCommands.properties | 16 +
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 | 15 +
.../common/downloads/downloadmanager.dtd | 96 +
.../downloads/downloadmanager.properties | 164 +
.../common/downloads/progressDialog.dtd | 20 +
suite/chrome/common/feeds/subscribe.dtd | 9 +
.../chrome/common/feeds/subscribe.properties | 53 +
suite/chrome/common/gopherAddon.dtd | 10 +
suite/chrome/common/helpviewer/help.dtd | 57 +
.../chrome/common/helpviewer/help.properties | 6 +
.../common/helpviewer/help/help-toc.rdf | 29 +
.../common/helpviewer/help/welcome.xhtml | 64 +
.../mac/platformCommunicatorOverlay.dtd | 64 +
suite/chrome/common/migration/migration.dtd | 29 +
.../common/migration/migration.properties | 53 +
suite/chrome/common/notification.dtd | 16 +
suite/chrome/common/notification.properties | 233 +
suite/chrome/common/openLocation.dtd | 23 +
suite/chrome/common/openLocation.properties | 12 +
.../common/permissions/cookieViewer.dtd | 47 +
.../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 | 19 +
suite/chrome/common/pref/pref-advanced.dtd | 30 +
suite/chrome/common/pref/pref-appearance.dtd | 35 +
.../common/pref/pref-applicationManager.dtd | 9 +
.../pref/pref-applicationManager.properties | 11 +
.../chrome/common/pref/pref-applications.dtd | 15 +
.../common/pref/pref-applications.properties | 34 +
suite/chrome/common/pref/pref-cache.dtd | 32 +
suite/chrome/common/pref/pref-certs.dtd | 24 +
suite/chrome/common/pref/pref-colors.dtd | 36 +
suite/chrome/common/pref/pref-content.dtd | 45 +
suite/chrome/common/pref/pref-cookies.dtd | 41 +
suite/chrome/common/pref/pref-download.dtd | 41 +
.../chrome/common/pref/pref-findasyoutype.dtd | 22 +
suite/chrome/common/pref/pref-fonts.dtd | 79 +
suite/chrome/common/pref/pref-history.dtd | 26 +
suite/chrome/common/pref/pref-http.dtd | 27 +
suite/chrome/common/pref/pref-images.dtd | 30 +
suite/chrome/common/pref/pref-keynav.dtd | 21 +
suite/chrome/common/pref/pref-languages.dtd | 31 +
.../common/pref/pref-languages.properties | 14 +
suite/chrome/common/pref/pref-links.dtd | 30 +
suite/chrome/common/pref/pref-locationbar.dtd | 43 +
suite/chrome/common/pref/pref-masterpass.dtd | 25 +
suite/chrome/common/pref/pref-media.dtd | 23 +
suite/chrome/common/pref/pref-mousewheel.dtd | 35 +
suite/chrome/common/pref/pref-navigator.dtd | 50 +
suite/chrome/common/pref/pref-offlineapps.dtd | 25 +
suite/chrome/common/pref/pref-passwords.dtd | 14 +
suite/chrome/common/pref/pref-popups.dtd | 36 +
suite/chrome/common/pref/pref-privatedata.dtd | 28 +
.../common/pref/pref-proxies-advanced.dtd | 33 +
suite/chrome/common/pref/pref-proxies.dtd | 32 +
suite/chrome/common/pref/pref-scripts.dtd | 36 +
suite/chrome/common/pref/pref-search.dtd | 24 +
suite/chrome/common/pref/pref-security.dtd | 39 +
suite/chrome/common/pref/pref-smartupdate.dtd | 31 +
suite/chrome/common/pref/pref-spelling.dtd | 21 +
suite/chrome/common/pref/pref-ssl.dtd | 45 +
suite/chrome/common/pref/pref-sync.dtd | 57 +
suite/chrome/common/pref/pref-tabs.dtd | 29 +
suite/chrome/common/pref/preferences.dtd | 55 +
suite/chrome/common/pref/prefutilities.dtd | 41 +
.../common/pref/prefutilities.properties | 45 +
.../common/pref/unix/platformPrefOverlay.dtd | 19 +
.../common/pref/win/platformPrefOverlay.dtd | 19 +
suite/chrome/common/printPreview.dtd | 40 +
.../common/profile/profileSelection.dtd | 36 +
.../profile/profileSelection.properties | 23 +
suite/chrome/common/quitDialog.properties | 29 +
suite/chrome/common/region.properties | 15 +
suite/chrome/common/safeBrowsing.dtd | 33 +
suite/chrome/common/safeMode.dtd | 28 +
suite/chrome/common/sanitize.dtd | 28 +
suite/chrome/common/search/engineManager.dtd | 30 +
.../common/search/engineManager.properties | 10 +
suite/chrome/common/search/search-panel.dtd | 9 +
suite/chrome/common/search/search.properties | 7 +
suite/chrome/common/search/searchbar.dtd | 7 +
suite/chrome/common/setDesktopBackground.dtd | 20 +
suite/chrome/common/shellservice.properties | 8 +
suite/chrome/common/sidebar/customize.dtd | 28 +
suite/chrome/common/sidebar/preview.dtd | 6 +
.../chrome/common/sidebar/sidebar.properties | 11 +
.../chrome/common/sidebar/sidebarOverlay.dtd | 34 +
.../chrome/common/sitePermissions.properties | 39 +
suite/chrome/common/sync/syncBrand.dtd | 7 +
.../common/sync/syncGenericChange.properties | 38 +
suite/chrome/common/sync/syncKey.dtd | 19 +
suite/chrome/common/sync/syncQuota.dtd | 9 +
suite/chrome/common/sync/syncQuota.properties | 43 +
suite/chrome/common/sync/syncSetup.dtd | 117 +
suite/chrome/common/sync/syncSetup.properties | 51 +
suite/chrome/common/tasksOverlay.dtd | 61 +
suite/chrome/common/typeaheadfind.properties | 18 +
.../unix/platformCommunicatorOverlay.dtd | 37 +
suite/chrome/common/utilityOverlay.dtd | 157 +
suite/chrome/common/utilityOverlay.properties | 36 +
suite/chrome/common/viewApplyThemeOverlay.dtd | 11 +
.../common/viewApplyThemeOverlay.properties | 9 +
suite/chrome/common/viewZoomOverlay.dtd | 16 +
.../chrome/common/viewZoomOverlay.properties | 33 +
.../win/platformCommunicatorOverlay.dtd | 42 +
suite/chrome/mailnews/CustomHeaders.dtd | 12 +
suite/chrome/mailnews/FilterEditor.dtd | 69 +
suite/chrome/mailnews/FilterListDialog.dtd | 31 +
suite/chrome/mailnews/SearchDialog.dtd | 39 +
.../addressbook/abAddressBookNameDialog.dtd | 6 +
.../mailnews/addressbook/abCardOverlay.dtd | 136 +
.../mailnews/addressbook/abMailListDialog.dtd | 19 +
.../mailnews/addressbook/abMainWindow.dtd | 120 +
.../mailnews/addressbook/abNewCardDialog.dtd | 8 +
.../addressbook/abResultsPaneOverlay.dtd | 51 +
.../addressbook/abSelectAddressesDialog.dtd | 32 +
.../addressbook/addressBook.properties | 173 +
.../addressbook/ldapAutoCompErrs.properties | 105 +
.../mailnews/appleMailImportMsgs.properties | 21 +
.../mailnews/beckyImportMsgs.properties | 20 +
.../chrome/mailnews/charsetTitles.properties | 81 +
.../compose/addressingWidgetOverlay.dtd | 14 +
.../chrome/mailnews/compose/askSendFormat.dtd | 21 +
.../mailnews/compose/askSendFormat.properties | 9 +
.../mailnews/compose/composeMsgs.properties | 297 +
.../compose/mailComposeEditorOverlay.dtd | 10 +
.../mailnews/compose/messengercompose.dtd | 140 +
.../chrome/mailnews/compose/sendProgress.dtd | 9 +
.../mailnews/compose/sendProgress.properties | 22 +
suite/chrome/mailnews/custom.properties | 6 +
suite/chrome/mailnews/downloadheaders.dtd | 21 +
suite/chrome/mailnews/fieldMapImport.dtd | 23 +
suite/chrome/mailnews/filter.properties | 97 +
suite/chrome/mailnews/folderProps.dtd | 72 +
.../chrome/mailnews/folderWidgets.properties | 13 +
suite/chrome/mailnews/folderpane.dtd | 12 +
suite/chrome/mailnews/gloda.properties | 105 +
suite/chrome/mailnews/imapMsgs.properties | 259 +
suite/chrome/mailnews/importDialog.dtd | 44 +
suite/chrome/mailnews/importMsgs.properties | 307 +
suite/chrome/mailnews/junkLog.dtd | 10 +
suite/chrome/mailnews/junkMailInfo.dtd | 12 +
suite/chrome/mailnews/localMsgs.properties | 148 +
suite/chrome/mailnews/mailEditorOverlay.dtd | 8 +
suite/chrome/mailnews/mailKeysOverlay.dtd | 27 +
suite/chrome/mailnews/mailOverlay.dtd | 15 +
suite/chrome/mailnews/mailTasksOverlay.dtd | 23 +
suite/chrome/mailnews/mailViewList.dtd | 10 +
suite/chrome/mailnews/mailViewSetup.dtd | 12 +
suite/chrome/mailnews/mailviews.properties | 14 +
suite/chrome/mailnews/mapi/mapi.properties | 14 +
suite/chrome/mailnews/markByDate.dtd | 10 +
suite/chrome/mailnews/messenger.dtd | 539 +
suite/chrome/mailnews/messenger.properties | 492 +
suite/chrome/mailnews/mime.properties | 157 +
suite/chrome/mailnews/mimeheader.properties | 40 +
suite/chrome/mailnews/msgAccountCentral.dtd | 26 +
.../mailnews/msgFolderPickerOverlay.dtd | 8 +
suite/chrome/mailnews/msgHdrViewOverlay.dtd | 47 +
suite/chrome/mailnews/msgHdrViewPopup.dtd | 31 +
suite/chrome/mailnews/msgPrintEngine.dtd | 11 +
suite/chrome/mailnews/msgSynchronize.dtd | 23 +
.../chrome/mailnews/msgViewPickerOverlay.dtd | 23 +
suite/chrome/mailnews/msgmdn.properties | 19 +
suite/chrome/mailnews/newFolderDialog.dtd | 17 +
suite/chrome/mailnews/news.properties | 63 +
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 | 78 +
suite/chrome/mailnews/offline.properties | 52 +
.../chrome/mailnews/offlineStartup.properties | 9 +
.../mailnews/outlookImportMsgs.properties | 78 +
suite/chrome/mailnews/pgpmime.properties | 14 +
suite/chrome/mailnews/pref/AccountManager.dtd | 27 +
suite/chrome/mailnews/pref/AccountWizard.dtd | 127 +
suite/chrome/mailnews/pref/am-addressing.dtd | 52 +
suite/chrome/mailnews/pref/am-advanced.dtd | 26 +
.../mailnews/pref/am-archiveoptions.dtd | 24 +
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 | 32 +
suite/chrome/mailnews/pref/am-main.dtd | 44 +
suite/chrome/mailnews/pref/am-mdn.dtd | 34 +
suite/chrome/mailnews/pref/am-mdn.properties | 7 +
suite/chrome/mailnews/pref/am-offline.dtd | 57 +
.../mailnews/pref/am-server-advanced.dtd | 31 +
suite/chrome/mailnews/pref/am-server-top.dtd | 93 +
.../pref/am-serverwithnoidentities.dtd | 7 +
.../chrome/mailnews/pref/mailPrefsOverlay.dtd | 26 +
.../chrome/mailnews/pref/pref-addressing.dtd | 23 +
.../mailnews/pref/pref-character_encoding.dtd | 18 +
.../mailnews/pref/pref-composing_messages.dtd | 56 +
.../mailnews/pref/pref-directory-add.dtd | 45 +
suite/chrome/mailnews/pref/pref-directory.dtd | 18 +
.../chrome/mailnews/pref/pref-formatting.dtd | 43 +
suite/chrome/mailnews/pref/pref-junk.dtd | 41 +
suite/chrome/mailnews/pref/pref-mailnews.dtd | 37 +
.../mailnews/pref/pref-notifications.dtd | 47 +
suite/chrome/mailnews/pref/pref-offline.dtd | 39 +
suite/chrome/mailnews/pref/pref-receipts.dtd | 29 +
suite/chrome/mailnews/pref/pref-tags.dtd | 21 +
.../mailnews/pref/pref-viewing_messages.dtd | 48 +
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 | 25 +
suite/chrome/mailnews/region.properties | 35 +
suite/chrome/mailnews/renameFolderDialog.dtd | 10 +
.../mailnews/search-attributes.properties | 46 +
.../mailnews/search-operators.properties | 32 +
suite/chrome/mailnews/search.properties | 28 +
suite/chrome/mailnews/searchTermOverlay.dtd | 19 +
.../chrome/mailnews/shutdownWindow.properties | 11 +
suite/chrome/mailnews/smime.properties | 14 +
suite/chrome/mailnews/smime/am-smime.dtd | 37 +
.../chrome/mailnews/smime/am-smime.properties | 41 +
.../mailnews/smime/certFetchingStatus.dtd | 10 +
.../mailnews/smime/msgCompSMIMEOverlay.dtd | 21 +
.../smime/msgCompSMIMEOverlay.properties | 7 +
.../mailnews/smime/msgCompSecurityInfo.dtd | 19 +
.../smime/msgCompSecurityInfo.properties | 14 +
.../mailnews/smime/msgReadSMIMEOverlay.dtd | 9 +
.../smime/msgReadSMIMEOverlay.properties | 12 +
.../mailnews/smime/msgReadSecurityInfo.dtd | 15 +
.../mailnews/smime/msgSecurityInfo.properties | 45 +
suite/chrome/mailnews/start.dtd | 32 +
suite/chrome/mailnews/subscribe.dtd | 23 +
suite/chrome/mailnews/subscribe.properties | 11 +
.../chrome/mailnews/textImportMsgs.properties | 47 +
suite/chrome/mailnews/threadpane.dtd | 46 +
.../mailnews/vCardImportMsgs.properties | 27 +
suite/chrome/mailnews/viewLog.dtd | 12 +
.../mailnews/virtualFolderListDialog.dtd | 13 +
.../mailnews/virtualFolderProperties.dtd | 23 +
suite/chrome/mailnews/wmImportMsgs.properties | 77 +
suite/chrome/mozldap/ldap.properties | 262 +
.../crashreporter/crashreporter-override.ini | 10 +
suite/defines.inc | 9 +
suite/installer/windows/custom.properties | 90 +
suite/installer/windows/mui.properties | 65 +
suite/installer/windows/override.properties | 87 +
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/chunghwapost-zh-TW.xml | 8 +
suite/searchplugins/list.txt | 5 +
suite/searchplugins/wikipedia-zh-TW.xml | 15 +
suite/searchplugins/yahoo-bid-zh-TW.xml | 11 +
suite/searchplugins/yahoo-zh-TW.xml | 13 +
suite/suite-l10n.js | 8 +
suite/updater/updater.ini | 9 +
toolkit/chrome/alerts/alert.dtd | 7 +
toolkit/chrome/alerts/alert.properties | 27 +
.../chrome/autoconfig/autoconfig.properties | 13 +
.../global-platform/mac/intl.properties | 8 +
.../mac/platformKeys.properties | 34 +
.../global-platform/unix/intl.properties | 8 +
.../unix/platformKeys.properties | 34 +
.../global-platform/win/intl.properties | 8 +
.../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 | 52 +
.../chrome/global/aboutTelemetry.properties | 124 +
toolkit/chrome/global/aboutWebrtc.properties | 138 +
toolkit/chrome/global/appPicker.dtd | 8 +
toolkit/chrome/global/autocomplete.properties | 23 +
toolkit/chrome/global/browser.properties | 15 +
toolkit/chrome/global/charsetMenu.dtd | 7 +
toolkit/chrome/global/charsetMenu.properties | 143 +
toolkit/chrome/global/commonDialog.dtd | 14 +
.../chrome/global/commonDialogs.properties | 32 +
toolkit/chrome/global/console.dtd | 38 +
toolkit/chrome/global/console.properties | 18 +
.../global/contentAreaCommands.properties | 23 +
toolkit/chrome/global/datetimebox.dtd | 35 +
toolkit/chrome/global/dialog.properties | 13 +
toolkit/chrome/global/dialogOverlay.dtd | 11 +
toolkit/chrome/global/editMenuOverlay.dtd | 36 +
toolkit/chrome/global/extensions.properties | 50 +
.../chrome/global/fallbackMenubar.properties | 9 +
toolkit/chrome/global/filepicker.properties | 56 +
toolkit/chrome/global/findbar.properties | 23 +
.../global/global-extension-fields.properties | 8 +
toolkit/chrome/global/globalKeys.dtd | 7 +
toolkit/chrome/global/intl.css | 11 +
toolkit/chrome/global/intl.properties | 51 +
toolkit/chrome/global/keys.properties | 72 +
toolkit/chrome/global/mozilla.dtd | 15 +
toolkit/chrome/global/narrate.properties | 19 +
toolkit/chrome/global/notification.dtd | 14 +
.../chrome/global/nsTreeSorting.properties | 6 +
toolkit/chrome/global/printPageSetup.dtd | 66 +
toolkit/chrome/global/printPreview.dtd | 43 +
.../chrome/global/printPreviewProgress.dtd | 10 +
toolkit/chrome/global/printProgress.dtd | 22 +
toolkit/chrome/global/printdialog.properties | 63 +
toolkit/chrome/global/resetProfile.dtd | 16 +
toolkit/chrome/global/resetProfile.properties | 15 +
toolkit/chrome/global/textcontext.dtd | 38 +
toolkit/chrome/global/tree.dtd | 6 +
toolkit/chrome/global/videocontrols.dtd | 59 +
toolkit/chrome/global/viewSource.properties | 19 +
toolkit/chrome/global/wizard.dtd | 25 +
toolkit/chrome/global/wizard.properties | 8 +
.../mozapps/downloads/downloads.properties | 114 +
.../mozapps/downloads/settingsChange.dtd | 7 +
.../mozapps/downloads/unknownContentType.dtd | 27 +
.../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 | 11 +
.../mozapps/handling/handling.properties | 15 +
.../mozapps/profile/createProfileWizard.dtd | 25 +
.../mozapps/profile/profileDowngrade.dtd | 20 +
.../mozapps/profile/profileSelection.dtd | 32 +
.../profile/profileSelection.properties | 61 +
toolkit/chrome/mozapps/update/updates.dtd | 59 +
.../chrome/mozapps/update/updates.properties | 95 +
.../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 | 21 +
toolkit/crashreporter/crashreporter.ini | 61 +
toolkit/defines.inc | 1 +
toolkit/toolkit/about/aboutAbout.ftl | 9 +
toolkit/toolkit/about/aboutAddons.ftl | 366 +
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 +
988 files changed, 170885 insertions(+)
create mode 100644 browser/branding/official/brand.dtd
create mode 100644 browser/branding/official/brand.ftl
create mode 100644 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 100644 browser/chrome/browser-region/region.properties
create mode 100644 browser/chrome/browser/aboutPrivateBrowsing.dtd
create mode 100644 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 100644 browser/chrome/browser/baseMenuOverlay.dtd
create mode 100644 browser/chrome/browser/browser.dtd
create mode 100644 browser/chrome/browser/browser.properties
create mode 100644 browser/chrome/browser/customizableui/customizableWidgets.properties
create mode 100644 browser/chrome/browser/downloads/downloads.dtd
create mode 100644 browser/chrome/browser/downloads/downloads.properties
create mode 100644 browser/chrome/browser/feeds/subscribe.properties
create mode 100644 browser/chrome/browser/lightweightThemes.properties
create mode 100644 browser/chrome/browser/migration/migration.dtd
create mode 100644 browser/chrome/browser/migration/migration.properties
create mode 100644 browser/chrome/browser/newInstall.dtd
create mode 100644 browser/chrome/browser/pageInfo.dtd
create mode 100644 browser/chrome/browser/pageInfo.properties
create mode 100644 browser/chrome/browser/places/bookmarkProperties.properties
create mode 100644 browser/chrome/browser/places/editBookmarkOverlay.dtd
create mode 100644 browser/chrome/browser/places/places.dtd
create mode 100644 browser/chrome/browser/places/places.properties
create mode 100644 browser/chrome/browser/pocket.properties
create mode 100644 browser/chrome/browser/preferences/preferences.properties
create mode 100644 browser/chrome/browser/preferences/security.dtd
create mode 100644 browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd
create mode 100644 browser/chrome/browser/safebrowsing/report-phishing.dtd
create mode 100644 browser/chrome/browser/safebrowsing/safebrowsing.properties
create mode 100644 browser/chrome/browser/search.properties
create mode 100644 browser/chrome/browser/setDesktopBackground.dtd
create mode 100644 browser/chrome/browser/shellservice.properties
create mode 100644 browser/chrome/browser/siteData.properties
create mode 100644 browser/chrome/browser/sitePermissions.properties
create mode 100644 browser/chrome/browser/syncBrand.dtd
create mode 100644 browser/chrome/browser/syncSetup.properties
create mode 100644 browser/chrome/browser/tabbrowser.properties
create mode 100644 browser/chrome/browser/taskbar.properties
create mode 100644 browser/chrome/browser/translation.dtd
create mode 100644 browser/chrome/browser/translation.properties
create mode 100644 browser/chrome/browser/uiDensity.properties
create mode 100644 browser/chrome/browser/webrtcIndicator.properties
create mode 100644 browser/chrome/overrides/appstrings.properties
create mode 100644 browser/chrome/overrides/netError.dtd
create mode 100644 browser/chrome/overrides/settingsChange.dtd
create mode 100644 browser/crashreporter/crashreporter-override.ini
create mode 100644 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 100644 browser/installer/custom.properties
create mode 100644 browser/installer/mui.properties
create mode 100644 browser/installer/nsisstrings.properties
create mode 100644 browser/installer/override.properties
create mode 100644 browser/pdfviewer/chrome.properties
create mode 100644 browser/pdfviewer/viewer.properties
create mode 100644 browser/profile/bookmarks.inc
create mode 100644 browser/updater/updater.ini
create mode 100644 calendar/README.txt
create mode 100644 calendar/chrome/calendar/calendar-alarms.properties
create mode 100644 calendar/chrome/calendar/calendar-event-dialog-attendees.properties
create mode 100644 calendar/chrome/calendar/calendar-event-dialog.dtd
create mode 100644 calendar/chrome/calendar/calendar-event-dialog.properties
create mode 100644 calendar/chrome/calendar/calendar-extract.properties
create mode 100644 calendar/chrome/calendar/calendar-invitations-dialog.dtd
create mode 100644 calendar/chrome/calendar/calendar-invitations-dialog.properties
create mode 100644 calendar/chrome/calendar/calendar-occurrence-prompt.dtd
create mode 100644 calendar/chrome/calendar/calendar-occurrence-prompt.properties
create mode 100644 calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
create mode 100644 calendar/chrome/calendar/calendar.dtd
create mode 100644 calendar/chrome/calendar/calendar.properties
create mode 100644 calendar/chrome/calendar/calendarCreation.dtd
create mode 100644 calendar/chrome/calendar/calendarCreation.properties
create mode 100644 calendar/chrome/calendar/categories.properties
create mode 100644 calendar/chrome/calendar/dateFormat.properties
create mode 100644 calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
create mode 100644 calendar/chrome/calendar/global.dtd
create mode 100644 calendar/chrome/calendar/menuOverlay.dtd
create mode 100644 calendar/chrome/calendar/migration.dtd
create mode 100644 calendar/chrome/calendar/migration.properties
create mode 100644 calendar/chrome/calendar/preferences/alarms.dtd
create mode 100644 calendar/chrome/calendar/preferences/categories.dtd
create mode 100644 calendar/chrome/calendar/preferences/general.dtd
create mode 100644 calendar/chrome/calendar/preferences/preferences.dtd
create mode 100644 calendar/chrome/calendar/preferences/views.dtd
create mode 100644 calendar/chrome/calendar/provider-uninstall.dtd
create mode 100644 calendar/chrome/calendar/providers/gdata/amo.properties
create mode 100644 calendar/chrome/calendar/providers/gdata/gdata.dtd
create mode 100644 calendar/chrome/calendar/providers/gdata/gdata.properties
create mode 100644 calendar/chrome/calendar/providers/wcap/wcap.properties
create mode 100644 calendar/chrome/calendar/timezones.properties
create mode 100644 calendar/chrome/lightning/lightning-toolbar.dtd
create mode 100644 calendar/chrome/lightning/lightning.dtd
create mode 100644 calendar/chrome/lightning/lightning.properties
create mode 100644 calendar/lightning-l10n.js
create mode 100644 chat/accounts.dtd
create mode 100644 chat/accounts.properties
create mode 100644 chat/commands.properties
create mode 100644 chat/contacts.properties
create mode 100644 chat/conversations.properties
create mode 100644 chat/dateFormat.properties
create mode 100644 chat/facebook.properties
create mode 100644 chat/imtooltip.properties
create mode 100644 chat/irc.properties
create mode 100644 chat/logger.properties
create mode 100644 chat/matrix.properties
create mode 100644 chat/skype.properties
create mode 100644 chat/status.properties
create mode 100644 chat/twitter.properties
create mode 100644 chat/xmpp.properties
create mode 100644 chat/yahoo.properties
create mode 100644 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 100644 devtools/client/app-manager.properties
create mode 100644 devtools/client/application.ftl
create mode 100644 devtools/client/boxmodel.properties
create mode 100644 devtools/client/canvasdebugger.dtd
create mode 100644 devtools/client/canvasdebugger.properties
create mode 100644 devtools/client/changes.properties
create mode 100644 devtools/client/components.properties
create mode 100644 devtools/client/connection-screen.dtd
create mode 100644 devtools/client/connection-screen.properties
create mode 100644 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 100644 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 100644 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 100644 devtools/client/scratchpad.dtd
create mode 100644 devtools/client/scratchpad.properties
create mode 100644 devtools/client/shadereditor.dtd
create mode 100644 devtools/client/shadereditor.properties
create mode 100644 devtools/client/shared.properties
create mode 100644 devtools/client/sourceeditor.dtd
create mode 100644 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 100644 devtools/client/styleeditor.dtd
create mode 100644 devtools/client/styleeditor.properties
create mode 100644 devtools/client/toolbox.dtd
create mode 100644 devtools/client/toolbox.properties
create mode 100644 devtools/client/tooltips.ftl
create mode 100644 devtools/client/webaudioeditor.dtd
create mode 100644 devtools/client/webaudioeditor.properties
create mode 100644 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 100644 devtools/shared/csscoverage.dtd
create mode 100644 devtools/shared/csscoverage.properties
create mode 100644 devtools/shared/debugger.properties
create mode 100644 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 100644 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 100644 dom/chrome/accessibility/AccessFu.properties
create mode 100644 dom/chrome/accessibility/mac/accessible.properties
create mode 100644 dom/chrome/accessibility/unix/accessible.properties
create mode 100644 dom/chrome/accessibility/win/accessible.properties
create mode 100644 dom/chrome/appstrings.properties
create mode 100644 dom/chrome/dom/dom.properties
create mode 100644 dom/chrome/global-strres.properties
create mode 100644 dom/chrome/global.dtd
create mode 100644 dom/chrome/layout/HtmlForm.properties
create mode 100644 dom/chrome/layout/MediaDocument.properties
create mode 100644 dom/chrome/layout/css.properties
create mode 100644 dom/chrome/layout/htmlparser.properties
create mode 100644 dom/chrome/layout/layout_errors.properties
create mode 100644 dom/chrome/layout/printing.properties
create mode 100644 dom/chrome/layout/xbl.properties
create mode 100644 dom/chrome/layout/xmlparser.properties
create mode 100644 dom/chrome/layout/xul.properties
create mode 100644 dom/chrome/mathml/mathml.properties
create mode 100644 dom/chrome/netError.dtd
create mode 100644 dom/chrome/netErrorApp.dtd
create mode 100644 dom/chrome/nsWebBrowserPersist.properties
create mode 100644 dom/chrome/plugins.properties
create mode 100644 dom/chrome/security/caps.properties
create mode 100644 dom/chrome/security/csp.properties
create mode 100644 dom/chrome/security/security.properties
create mode 100644 dom/chrome/svg/svg.properties
create mode 100644 dom/chrome/xml/prettyprint.dtd
create mode 100644 dom/chrome/xslt/xslt.properties
create mode 100644 editor/ui/chrome/composer/editingOverlay.dtd
create mode 100644 editor/ui/chrome/composer/editor.dtd
create mode 100644 editor/ui/chrome/composer/editor.properties
create mode 100644 editor/ui/chrome/composer/editorOverlay.dtd
create mode 100644 editor/ui/chrome/composer/editorPrefsOverlay.dtd
create mode 100644 editor/ui/chrome/composer/editorSmileyOverlay.dtd
create mode 100644 editor/ui/chrome/composer/pref-composer.dtd
create mode 100644 editor/ui/chrome/composer/pref-editing.dtd
create mode 100644 editor/ui/chrome/composer/pref-toolbars.dtd
create mode 100644 editor/ui/chrome/dialogs/EdAdvancedEdit.dtd
create mode 100644 editor/ui/chrome/dialogs/EdColorPicker.dtd
create mode 100644 editor/ui/chrome/dialogs/EdConvertToTable.dtd
create mode 100644 editor/ui/chrome/dialogs/EdDialogOverlay.dtd
create mode 100644 editor/ui/chrome/dialogs/EdLinkChecker.dtd
create mode 100644 editor/ui/chrome/dialogs/EdNamedAnchorProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditConflict.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorButtonProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorColorProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorFieldSetProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorFormProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorHLineProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorImageProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorInputProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorInsertChars.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorInsertMath.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorInsertSource.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorInsertTOC.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorInsertTable.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorLabelProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorLinkProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorListProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorPageProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorPersonalDictionary.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorPublish.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorPublishProgress.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorReplace.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorSaveAsCharset.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorSelectProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorSnapToGrid.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorSpellCheck.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorTableProperties.dtd
create mode 100644 editor/ui/chrome/dialogs/EditorTextAreaProperties.dtd
create mode 100644 editor/ui/chrome/region/region.properties
create mode 100644 extensions/spellcheck/hunspell/README_en_US.txt
create mode 100644 extensions/spellcheck/hunspell/README_mozilla.txt
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/5-mozilla-added
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/5-mozilla-removed
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/5-mozilla-specific
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/README
create mode 100755 extensions/spellcheck/hunspell/dictionary-sources/edit-dictionary
create mode 100755 extensions/spellcheck/hunspell/dictionary-sources/install-new-dict
create mode 100755 extensions/spellcheck/hunspell/dictionary-sources/make-new-dict
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/mozilla-specific.txt
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/orig/README_en_US-custom.txt
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/orig/en_US-custom.aff
create mode 100644 extensions/spellcheck/hunspell/dictionary-sources/orig/en_US-custom.dic
create mode 100644 extensions/spellcheck/hunspell/en-US.aff
create mode 100644 extensions/spellcheck/hunspell/en-US.dic
create mode 100644 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 100644 mail/chrome/communicator/utilityOverlay.dtd
create mode 100644 mail/chrome/messenger-mapi/mapi.properties
create mode 100644 mail/chrome/messenger-newsblog/am-newsblog.dtd
create mode 100644 mail/chrome/messenger-newsblog/feed-subscriptions.dtd
create mode 100644 mail/chrome/messenger-newsblog/newsblog.properties
create mode 100644 mail/chrome/messenger-region/region.properties
create mode 100644 mail/chrome/messenger-smime/certFetchingStatus.dtd
create mode 100644 mail/chrome/messenger-smime/msgCompSMIMEOverlay.dtd
create mode 100644 mail/chrome/messenger-smime/msgCompSMIMEOverlay.properties
create mode 100644 mail/chrome/messenger-smime/msgCompSecurityInfo.dtd
create mode 100644 mail/chrome/messenger-smime/msgCompSecurityInfo.properties
create mode 100644 mail/chrome/messenger-smime/msgReadSMIMEOverlay.dtd
create mode 100644 mail/chrome/messenger-smime/msgReadSMIMEOverlay.properties
create mode 100644 mail/chrome/messenger-smime/msgReadSecurityInfo.dtd
create mode 100644 mail/chrome/messenger-smime/msgSecurityInfo.properties
create mode 100644 mail/chrome/messenger/AccountManager.dtd
create mode 100644 mail/chrome/messenger/AccountWizard.dtd
create mode 100644 mail/chrome/messenger/CustomHeaders.dtd
create mode 100644 mail/chrome/messenger/FilterEditor.dtd
create mode 100644 mail/chrome/messenger/FilterListDialog.dtd
create mode 100644 mail/chrome/messenger/SearchDialog.dtd
create mode 100644 mail/chrome/messenger/aboutDialog.dtd
create mode 100644 mail/chrome/messenger/aboutDownloads.dtd
create mode 100644 mail/chrome/messenger/aboutRights.dtd
create mode 100644 mail/chrome/messenger/aboutRights.properties
create mode 100644 mail/chrome/messenger/aboutSupportMail.properties
create mode 100644 mail/chrome/messenger/accountCreation.dtd
create mode 100644 mail/chrome/messenger/accountCreation.properties
create mode 100644 mail/chrome/messenger/accountCreationModel.properties
create mode 100644 mail/chrome/messenger/accountCreationUtil.properties
create mode 100644 mail/chrome/messenger/activity.dtd
create mode 100644 mail/chrome/messenger/activity.properties
create mode 100644 mail/chrome/messenger/addbuddy.dtd
create mode 100644 mail/chrome/messenger/addons.properties
create mode 100644 mail/chrome/messenger/addressbook/abAddressBookNameDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abCard.dtd
create mode 100644 mail/chrome/messenger/addressbook/abContactsPanel.dtd
create mode 100644 mail/chrome/messenger/addressbook/abMailListDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abMainWindow.dtd
create mode 100644 mail/chrome/messenger/addressbook/abNewCardDialog.dtd
create mode 100644 mail/chrome/messenger/addressbook/abResultsPane.dtd
create mode 100644 mail/chrome/messenger/addressbook/addressBook.properties
create mode 100644 mail/chrome/messenger/addressbook/ldapAutoCompErrs.properties
create mode 100644 mail/chrome/messenger/addressbook/pref-directory-add.dtd
create mode 100644 mail/chrome/messenger/addressbook/pref-directory.dtd
create mode 100644 mail/chrome/messenger/addressbook/replicationProgress.properties
create mode 100644 mail/chrome/messenger/am-addressing.dtd
create mode 100644 mail/chrome/messenger/am-advanced.dtd
create mode 100644 mail/chrome/messenger/am-archiveoptions.dtd
create mode 100644 mail/chrome/messenger/am-copies.dtd
create mode 100644 mail/chrome/messenger/am-identities-list.dtd
create mode 100644 mail/chrome/messenger/am-identity-edit.dtd
create mode 100644 mail/chrome/messenger/am-im.dtd
create mode 100644 mail/chrome/messenger/am-junk.dtd
create mode 100644 mail/chrome/messenger/am-main.dtd
create mode 100644 mail/chrome/messenger/am-mdn.dtd
create mode 100644 mail/chrome/messenger/am-mdn.properties
create mode 100644 mail/chrome/messenger/am-offline.dtd
create mode 100644 mail/chrome/messenger/am-server-advanced.dtd
create mode 100644 mail/chrome/messenger/am-server-top.dtd
create mode 100644 mail/chrome/messenger/am-serverwithnoidentities.dtd
create mode 100644 mail/chrome/messenger/am-smime.dtd
create mode 100644 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 100644 mail/chrome/messenger/appleMailImportMsgs.properties
create mode 100644 mail/chrome/messenger/baseMenuOverlay.dtd
create mode 100644 mail/chrome/messenger/beckyImportMsgs.properties
create mode 100644 mail/chrome/messenger/charsetTitles.properties
create mode 100644 mail/chrome/messenger/chat.dtd
create mode 100644 mail/chrome/messenger/chat.properties
create mode 100644 mail/chrome/messenger/cloudfile/Box/auth.dtd
create mode 100644 mail/chrome/messenger/cloudfile/Box/management.dtd
create mode 100644 mail/chrome/messenger/cloudfile/Box/settings.dtd
create mode 100644 mail/chrome/messenger/cloudfile/Hightail/fileExceeds2GB.dtd
create mode 100644 mail/chrome/messenger/cloudfile/Hightail/fileExceedsLimit.dtd
create mode 100644 mail/chrome/messenger/cloudfile/Hightail/fileExceedsQuota.dtd
create mode 100644 mail/chrome/messenger/cloudfile/Hightail/management.dtd
create mode 100644 mail/chrome/messenger/cloudfile/Hightail/settings.dtd
create mode 100644 mail/chrome/messenger/cloudfile/addAccountDialog.dtd
create mode 100644 mail/chrome/messenger/cloudfile/management.dtd
create mode 100644 mail/chrome/messenger/configEditorOverlay.dtd
create mode 100644 mail/chrome/messenger/converterDialog.dtd
create mode 100644 mail/chrome/messenger/converterDialog.properties
create mode 100644 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 100644 mail/chrome/messenger/devtools/dbgserver.dtd
create mode 100644 mail/chrome/messenger/devtools/dbgserver.properties
create mode 100644 mail/chrome/messenger/downloadheaders.dtd
create mode 100644 mail/chrome/messenger/editContactOverlay.dtd
create mode 100644 mail/chrome/messenger/editContactOverlay.properties
create mode 100644 mail/chrome/messenger/extensionsOverlay.properties
create mode 100644 mail/chrome/messenger/fieldMapImport.dtd
create mode 100644 mail/chrome/messenger/filter.properties
create mode 100644 mail/chrome/messenger/folderProps.dtd
create mode 100644 mail/chrome/messenger/folderWidgets.properties
create mode 100644 mail/chrome/messenger/folderpane.dtd
create mode 100644 mail/chrome/messenger/gloda.properties
create mode 100644 mail/chrome/messenger/glodaComplete.properties
create mode 100644 mail/chrome/messenger/glodaFacetView.dtd
create mode 100644 mail/chrome/messenger/glodaFacetView.properties
create mode 100644 mail/chrome/messenger/imAccountWizard.dtd
create mode 100644 mail/chrome/messenger/imAccounts.properties
create mode 100644 mail/chrome/messenger/imapMsgs.properties
create mode 100644 mail/chrome/messenger/importDialog.dtd
create mode 100644 mail/chrome/messenger/importMsgs.properties
create mode 100644 mail/chrome/messenger/joinChat.dtd
create mode 100644 mail/chrome/messenger/junkLog.dtd
create mode 100644 mail/chrome/messenger/junkMailInfo.dtd
create mode 100644 mail/chrome/messenger/localMsgs.properties
create mode 100644 mail/chrome/messenger/mailEditorOverlay.dtd
create mode 100644 mail/chrome/messenger/mailOverlay.dtd
create mode 100644 mail/chrome/messenger/mailViewList.dtd
create mode 100644 mail/chrome/messenger/mailViewSetup.dtd
create mode 100644 mail/chrome/messenger/mailviews.properties
create mode 100644 mail/chrome/messenger/markByDate.dtd
create mode 100644 mail/chrome/messenger/messenger.dtd
create mode 100644 mail/chrome/messenger/messenger.properties
create mode 100644 mail/chrome/messenger/messengercompose/addressingWidgetOverlay.dtd
create mode 100644 mail/chrome/messenger/messengercompose/askSendFormat.dtd
create mode 100644 mail/chrome/messenger/messengercompose/askSendFormat.properties
create mode 100644 mail/chrome/messenger/messengercompose/composeMsgs.properties
create mode 100644 mail/chrome/messenger/messengercompose/mailComposeEditorOverlay.dtd
create mode 100644 mail/chrome/messenger/messengercompose/messengercompose.dtd
create mode 100644 mail/chrome/messenger/messengercompose/sendProgress.dtd
create mode 100644 mail/chrome/messenger/messengercompose/sendProgress.properties
create mode 100644 mail/chrome/messenger/migration/migration.dtd
create mode 100644 mail/chrome/messenger/migration/migration.properties
create mode 100644 mail/chrome/messenger/mime.properties
create mode 100644 mail/chrome/messenger/mimeheader.properties
create mode 100644 mail/chrome/messenger/msgAccountCentral.dtd
create mode 100644 mail/chrome/messenger/msgHdrViewOverlay.dtd
create mode 100644 mail/chrome/messenger/msgPrintEngine.dtd
create mode 100644 mail/chrome/messenger/msgSynchronize.dtd
create mode 100644 mail/chrome/messenger/msgViewPickerOverlay.dtd
create mode 100644 mail/chrome/messenger/msgmdn.properties
create mode 100644 mail/chrome/messenger/multimessageview.dtd
create mode 100644 mail/chrome/messenger/multimessageview.properties
create mode 100644 mail/chrome/messenger/newFolderDialog.dtd
create mode 100644 mail/chrome/messenger/newTagDialog.dtd
create mode 100644 mail/chrome/messenger/newmailaccount/accountProvisioner.dtd
create mode 100644 mail/chrome/messenger/newmailaccount/accountProvisioner.properties
create mode 100644 mail/chrome/messenger/news.properties
create mode 100644 mail/chrome/messenger/newsError.dtd
create mode 100644 mail/chrome/messenger/oeImportMsgs.properties
create mode 100644 mail/chrome/messenger/offline.properties
create mode 100644 mail/chrome/messenger/offlineStartup.properties
create mode 100644 mail/chrome/messenger/outlookImportMsgs.properties
create mode 100644 mail/chrome/messenger/pgpmime.properties
create mode 100644 mail/chrome/messenger/preferences/advanced.dtd
create mode 100644 mail/chrome/messenger/preferences/applicationManager.dtd
create mode 100644 mail/chrome/messenger/preferences/applicationManager.properties
create mode 100644 mail/chrome/messenger/preferences/applications.dtd
create mode 100644 mail/chrome/messenger/preferences/applications.properties
create mode 100644 mail/chrome/messenger/preferences/attachmentReminder.dtd
create mode 100644 mail/chrome/messenger/preferences/chat.dtd
create mode 100644 mail/chrome/messenger/preferences/colors.dtd
create mode 100644 mail/chrome/messenger/preferences/compose.dtd
create mode 100644 mail/chrome/messenger/preferences/connection.dtd
create mode 100644 mail/chrome/messenger/preferences/cookies.dtd
create mode 100644 mail/chrome/messenger/preferences/display.dtd
create mode 100644 mail/chrome/messenger/preferences/dockoptions.dtd
create mode 100644 mail/chrome/messenger/preferences/fonts.dtd
create mode 100644 mail/chrome/messenger/preferences/general.dtd
create mode 100644 mail/chrome/messenger/preferences/messagestyle.properties
create mode 100644 mail/chrome/messenger/preferences/notifications.dtd
create mode 100644 mail/chrome/messenger/preferences/offline.dtd
create mode 100644 mail/chrome/messenger/preferences/permissions.dtd
create mode 100644 mail/chrome/messenger/preferences/preferences.dtd
create mode 100644 mail/chrome/messenger/preferences/preferences.properties
create mode 100644 mail/chrome/messenger/preferences/privacy.dtd
create mode 100644 mail/chrome/messenger/preferences/receipts.dtd
create mode 100644 mail/chrome/messenger/preferences/security.dtd
create mode 100644 mail/chrome/messenger/preferences/sendoptions.dtd
create mode 100644 mail/chrome/messenger/prefs.properties
create mode 100644 mail/chrome/messenger/quickFilterBar.dtd
create mode 100644 mail/chrome/messenger/removeAccount.dtd
create mode 100644 mail/chrome/messenger/removeAccount.properties
create mode 100644 mail/chrome/messenger/renameFolderDialog.dtd
create mode 100644 mail/chrome/messenger/safeMode.dtd
create mode 100644 mail/chrome/messenger/sanitize.dtd
create mode 100644 mail/chrome/messenger/search-attributes.properties
create mode 100644 mail/chrome/messenger/search-operators.properties
create mode 100644 mail/chrome/messenger/search.properties
create mode 100644 mail/chrome/messenger/searchIntegrationDefault.dtd
create mode 100644 mail/chrome/messenger/searchIntegrationMac.dtd
create mode 100644 mail/chrome/messenger/searchIntegrationWin.dtd
create mode 100644 mail/chrome/messenger/searchTermOverlay.dtd
create mode 100644 mail/chrome/messenger/shutdownWindow.properties
create mode 100644 mail/chrome/messenger/smime.properties
create mode 100644 mail/chrome/messenger/smtpEditOverlay.dtd
create mode 100644 mail/chrome/messenger/subscribe.dtd
create mode 100644 mail/chrome/messenger/subscribe.properties
create mode 100644 mail/chrome/messenger/systemIntegrationDialog.dtd
create mode 100644 mail/chrome/messenger/tabmail.dtd
create mode 100644 mail/chrome/messenger/taskbar.properties
create mode 100644 mail/chrome/messenger/telemetry.properties
create mode 100644 mail/chrome/messenger/templateUtils.properties
create mode 100644 mail/chrome/messenger/textImportMsgs.properties
create mode 100644 mail/chrome/messenger/vCardImportMsgs.properties
create mode 100644 mail/chrome/messenger/viewLog.dtd
create mode 100644 mail/chrome/messenger/viewSource.dtd
create mode 100644 mail/chrome/messenger/viewSource.properties
create mode 100644 mail/chrome/messenger/viewZoomOverlay.dtd
create mode 100644 mail/chrome/messenger/virtualFolderListDialog.dtd
create mode 100644 mail/chrome/messenger/virtualFolderProperties.dtd
create mode 100644 mail/chrome/messenger/wmImportMsgs.properties
create mode 100644 mail/chrome/mozldap/ldap.properties
create mode 100644 mail/chrome/overrides/netError.dtd
create mode 100644 mail/chrome/overrides/settingsChange.dtd
create mode 100644 mail/defines.inc
create mode 100644 mail/installer/custom.properties
create mode 100644 mail/installer/mui.properties
create mode 100644 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 100644 mail/searchplugins/chunghwapost-zh-TW.xml
create mode 100644 mail/searchplugins/findbook-zh-TW.xml
create mode 100644 mail/searchplugins/google-maps-zh-TW.xml
create mode 100644 mail/searchplugins/ipeen-zh-TW.xml
create mode 100644 mail/searchplugins/wikipedia-zh-TW.xml
create mode 100644 mail/searchplugins/yahoo-bid-zh-TW.xml
create mode 100644 mail/searchplugins/yahoo-zh-TW.xml
create mode 100644 mail/updater/updater.ini
create mode 100644 mobile/android/base/android_strings.dtd
create mode 100644 mobile/android/base/sync_strings.dtd
create mode 100644 mobile/android/chrome/about.dtd
create mode 100644 mobile/android/chrome/aboutAccounts.dtd
create mode 100644 mobile/android/chrome/aboutAccounts.properties
create mode 100644 mobile/android/chrome/aboutAddons.dtd
create mode 100644 mobile/android/chrome/aboutAddons.properties
create mode 100644 mobile/android/chrome/aboutCertError.dtd
create mode 100644 mobile/android/chrome/aboutDevices.dtd
create mode 100644 mobile/android/chrome/aboutDownloads.dtd
create mode 100644 mobile/android/chrome/aboutDownloads.properties
create mode 100644 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 100644 mobile/android/chrome/aboutPrivateBrowsing.dtd
create mode 100644 mobile/android/chrome/browser.properties
create mode 100644 mobile/android/chrome/config.dtd
create mode 100644 mobile/android/chrome/config.properties
create mode 100644 mobile/android/chrome/devicePrompt.properties
create mode 100644 mobile/android/chrome/passwordmgr.properties
create mode 100644 mobile/android/chrome/phishing.dtd
create mode 100644 mobile/android/chrome/pippki.properties
create mode 100644 mobile/android/chrome/sync.properties
create mode 100644 mobile/android/chrome/webcompatReporter.properties
create mode 100644 mobile/android/defines.inc
create mode 100644 mobile/android/mobile-l10n.js
create mode 100644 mobile/chrome/region.properties
create mode 100644 mobile/overrides/appstrings.properties
create mode 100644 mobile/overrides/netError.dtd
create mode 100644 netwerk/necko.properties
create mode 100644 other-licenses/branding/sunbird/brand.dtd
create mode 100644 other-licenses/branding/sunbird/brand.properties
create mode 100644 security/manager/chrome/pipnss/nsserrors.properties
create mode 100644 security/manager/chrome/pipnss/pipnss.properties
create mode 100644 security/manager/chrome/pippki/pippki.dtd
create mode 100644 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 100644 services/sync/sync.properties
create mode 100644 suite/branding/seamonkey/brand.dtd
create mode 100644 suite/branding/seamonkey/brand.properties
create mode 100644 suite/chrome/branding/aboutRights.dtd
create mode 100644 suite/chrome/branding/aboutRights.properties
create mode 100644 suite/chrome/browser/linkToolbar.dtd
create mode 100644 suite/chrome/browser/mac/platformNavigationBindings.dtd
create mode 100644 suite/chrome/browser/mailNavigatorOverlay.dtd
create mode 100644 suite/chrome/browser/metadata.dtd
create mode 100644 suite/chrome/browser/metadata.properties
create mode 100644 suite/chrome/browser/navigator.dtd
create mode 100644 suite/chrome/browser/navigator.properties
create mode 100644 suite/chrome/browser/navigatorOverlay.dtd
create mode 100644 suite/chrome/browser/pageInfo.dtd
create mode 100644 suite/chrome/browser/pageInfo.properties
create mode 100644 suite/chrome/browser/region.properties
create mode 100644 suite/chrome/browser/tabbrowser.dtd
create mode 100644 suite/chrome/browser/tabbrowser.properties
create mode 100644 suite/chrome/browser/taskbar.properties
create mode 100644 suite/chrome/browser/unix/platformNavigationBindings.dtd
create mode 100644 suite/chrome/browser/webDeveloper.dtd
create mode 100644 suite/chrome/browser/win/platformNavigationBindings.dtd
create mode 100644 suite/chrome/common/about.dtd
create mode 100644 suite/chrome/common/aboutPrivateBrowsing.dtd
create mode 100644 suite/chrome/common/aboutSessionRestore.dtd
create mode 100644 suite/chrome/common/aboutSyncTabs.dtd
create mode 100644 suite/chrome/common/askViewZoom.dtd
create mode 100644 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 100644 suite/chrome/common/contentAreaCommands.dtd
create mode 100644 suite/chrome/common/contentAreaCommands.properties
create mode 100644 suite/chrome/common/customizeToolbar.dtd
create mode 100644 suite/chrome/common/customizeToolbar.properties
create mode 100644 suite/chrome/common/dataman/dataman.dtd
create mode 100644 suite/chrome/common/dataman/dataman.properties
create mode 100644 suite/chrome/common/datetimepicker.dtd
create mode 100644 suite/chrome/common/defaultClientDialog.dtd
create mode 100644 suite/chrome/common/downloads/downloadmanager.dtd
create mode 100644 suite/chrome/common/downloads/downloadmanager.properties
create mode 100644 suite/chrome/common/downloads/progressDialog.dtd
create mode 100644 suite/chrome/common/feeds/subscribe.dtd
create mode 100644 suite/chrome/common/feeds/subscribe.properties
create mode 100644 suite/chrome/common/gopherAddon.dtd
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 100644 suite/chrome/common/mac/platformCommunicatorOverlay.dtd
create mode 100644 suite/chrome/common/migration/migration.dtd
create mode 100644 suite/chrome/common/migration/migration.properties
create mode 100644 suite/chrome/common/notification.dtd
create mode 100644 suite/chrome/common/notification.properties
create mode 100644 suite/chrome/common/openLocation.dtd
create mode 100644 suite/chrome/common/openLocation.properties
create mode 100644 suite/chrome/common/permissions/cookieViewer.dtd
create mode 100644 suite/chrome/common/permissions/cookieViewer.properties
create mode 100644 suite/chrome/common/permissions/permissionsManager.dtd
create mode 100644 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 100644 suite/chrome/common/places/places.properties
create mode 100644 suite/chrome/common/pref/mac/platformPrefOverlay.dtd
create mode 100644 suite/chrome/common/pref/pref-advanced.dtd
create mode 100644 suite/chrome/common/pref/pref-appearance.dtd
create mode 100644 suite/chrome/common/pref/pref-applicationManager.dtd
create mode 100644 suite/chrome/common/pref/pref-applicationManager.properties
create mode 100644 suite/chrome/common/pref/pref-applications.dtd
create mode 100644 suite/chrome/common/pref/pref-applications.properties
create mode 100644 suite/chrome/common/pref/pref-cache.dtd
create mode 100644 suite/chrome/common/pref/pref-certs.dtd
create mode 100644 suite/chrome/common/pref/pref-colors.dtd
create mode 100644 suite/chrome/common/pref/pref-content.dtd
create mode 100644 suite/chrome/common/pref/pref-cookies.dtd
create mode 100644 suite/chrome/common/pref/pref-download.dtd
create mode 100644 suite/chrome/common/pref/pref-findasyoutype.dtd
create mode 100644 suite/chrome/common/pref/pref-fonts.dtd
create mode 100644 suite/chrome/common/pref/pref-history.dtd
create mode 100644 suite/chrome/common/pref/pref-http.dtd
create mode 100644 suite/chrome/common/pref/pref-images.dtd
create mode 100644 suite/chrome/common/pref/pref-keynav.dtd
create mode 100644 suite/chrome/common/pref/pref-languages.dtd
create mode 100644 suite/chrome/common/pref/pref-languages.properties
create mode 100644 suite/chrome/common/pref/pref-links.dtd
create mode 100644 suite/chrome/common/pref/pref-locationbar.dtd
create mode 100644 suite/chrome/common/pref/pref-masterpass.dtd
create mode 100644 suite/chrome/common/pref/pref-media.dtd
create mode 100644 suite/chrome/common/pref/pref-mousewheel.dtd
create mode 100644 suite/chrome/common/pref/pref-navigator.dtd
create mode 100644 suite/chrome/common/pref/pref-offlineapps.dtd
create mode 100644 suite/chrome/common/pref/pref-passwords.dtd
create mode 100644 suite/chrome/common/pref/pref-popups.dtd
create mode 100644 suite/chrome/common/pref/pref-privatedata.dtd
create mode 100644 suite/chrome/common/pref/pref-proxies-advanced.dtd
create mode 100644 suite/chrome/common/pref/pref-proxies.dtd
create mode 100644 suite/chrome/common/pref/pref-scripts.dtd
create mode 100644 suite/chrome/common/pref/pref-search.dtd
create mode 100644 suite/chrome/common/pref/pref-security.dtd
create mode 100644 suite/chrome/common/pref/pref-smartupdate.dtd
create mode 100644 suite/chrome/common/pref/pref-spelling.dtd
create mode 100644 suite/chrome/common/pref/pref-ssl.dtd
create mode 100644 suite/chrome/common/pref/pref-sync.dtd
create mode 100644 suite/chrome/common/pref/pref-tabs.dtd
create mode 100644 suite/chrome/common/pref/preferences.dtd
create mode 100644 suite/chrome/common/pref/prefutilities.dtd
create mode 100644 suite/chrome/common/pref/prefutilities.properties
create mode 100644 suite/chrome/common/pref/unix/platformPrefOverlay.dtd
create mode 100644 suite/chrome/common/pref/win/platformPrefOverlay.dtd
create mode 100644 suite/chrome/common/printPreview.dtd
create mode 100644 suite/chrome/common/profile/profileSelection.dtd
create mode 100644 suite/chrome/common/profile/profileSelection.properties
create mode 100644 suite/chrome/common/quitDialog.properties
create mode 100644 suite/chrome/common/region.properties
create mode 100644 suite/chrome/common/safeBrowsing.dtd
create mode 100644 suite/chrome/common/safeMode.dtd
create mode 100644 suite/chrome/common/sanitize.dtd
create mode 100644 suite/chrome/common/search/engineManager.dtd
create mode 100644 suite/chrome/common/search/engineManager.properties
create mode 100644 suite/chrome/common/search/search-panel.dtd
create mode 100644 suite/chrome/common/search/search.properties
create mode 100644 suite/chrome/common/search/searchbar.dtd
create mode 100644 suite/chrome/common/setDesktopBackground.dtd
create mode 100644 suite/chrome/common/shellservice.properties
create mode 100644 suite/chrome/common/sidebar/customize.dtd
create mode 100644 suite/chrome/common/sidebar/preview.dtd
create mode 100644 suite/chrome/common/sidebar/sidebar.properties
create mode 100644 suite/chrome/common/sidebar/sidebarOverlay.dtd
create mode 100644 suite/chrome/common/sitePermissions.properties
create mode 100644 suite/chrome/common/sync/syncBrand.dtd
create mode 100644 suite/chrome/common/sync/syncGenericChange.properties
create mode 100644 suite/chrome/common/sync/syncKey.dtd
create mode 100644 suite/chrome/common/sync/syncQuota.dtd
create mode 100644 suite/chrome/common/sync/syncQuota.properties
create mode 100644 suite/chrome/common/sync/syncSetup.dtd
create mode 100644 suite/chrome/common/sync/syncSetup.properties
create mode 100644 suite/chrome/common/tasksOverlay.dtd
create mode 100644 suite/chrome/common/typeaheadfind.properties
create mode 100644 suite/chrome/common/unix/platformCommunicatorOverlay.dtd
create mode 100644 suite/chrome/common/utilityOverlay.dtd
create mode 100644 suite/chrome/common/utilityOverlay.properties
create mode 100644 suite/chrome/common/viewApplyThemeOverlay.dtd
create mode 100644 suite/chrome/common/viewApplyThemeOverlay.properties
create mode 100644 suite/chrome/common/viewZoomOverlay.dtd
create mode 100644 suite/chrome/common/viewZoomOverlay.properties
create mode 100644 suite/chrome/common/win/platformCommunicatorOverlay.dtd
create mode 100644 suite/chrome/mailnews/CustomHeaders.dtd
create mode 100644 suite/chrome/mailnews/FilterEditor.dtd
create mode 100644 suite/chrome/mailnews/FilterListDialog.dtd
create mode 100644 suite/chrome/mailnews/SearchDialog.dtd
create mode 100644 suite/chrome/mailnews/addressbook/abAddressBookNameDialog.dtd
create mode 100644 suite/chrome/mailnews/addressbook/abCardOverlay.dtd
create mode 100644 suite/chrome/mailnews/addressbook/abMailListDialog.dtd
create mode 100644 suite/chrome/mailnews/addressbook/abMainWindow.dtd
create mode 100644 suite/chrome/mailnews/addressbook/abNewCardDialog.dtd
create mode 100644 suite/chrome/mailnews/addressbook/abResultsPaneOverlay.dtd
create mode 100644 suite/chrome/mailnews/addressbook/abSelectAddressesDialog.dtd
create mode 100644 suite/chrome/mailnews/addressbook/addressBook.properties
create mode 100644 suite/chrome/mailnews/addressbook/ldapAutoCompErrs.properties
create mode 100644 suite/chrome/mailnews/appleMailImportMsgs.properties
create mode 100644 suite/chrome/mailnews/beckyImportMsgs.properties
create mode 100644 suite/chrome/mailnews/charsetTitles.properties
create mode 100644 suite/chrome/mailnews/compose/addressingWidgetOverlay.dtd
create mode 100644 suite/chrome/mailnews/compose/askSendFormat.dtd
create mode 100644 suite/chrome/mailnews/compose/askSendFormat.properties
create mode 100644 suite/chrome/mailnews/compose/composeMsgs.properties
create mode 100644 suite/chrome/mailnews/compose/mailComposeEditorOverlay.dtd
create mode 100644 suite/chrome/mailnews/compose/messengercompose.dtd
create mode 100644 suite/chrome/mailnews/compose/sendProgress.dtd
create mode 100644 suite/chrome/mailnews/compose/sendProgress.properties
create mode 100644 suite/chrome/mailnews/custom.properties
create mode 100644 suite/chrome/mailnews/downloadheaders.dtd
create mode 100644 suite/chrome/mailnews/fieldMapImport.dtd
create mode 100644 suite/chrome/mailnews/filter.properties
create mode 100644 suite/chrome/mailnews/folderProps.dtd
create mode 100644 suite/chrome/mailnews/folderWidgets.properties
create mode 100644 suite/chrome/mailnews/folderpane.dtd
create mode 100644 suite/chrome/mailnews/gloda.properties
create mode 100644 suite/chrome/mailnews/imapMsgs.properties
create mode 100644 suite/chrome/mailnews/importDialog.dtd
create mode 100644 suite/chrome/mailnews/importMsgs.properties
create mode 100644 suite/chrome/mailnews/junkLog.dtd
create mode 100644 suite/chrome/mailnews/junkMailInfo.dtd
create mode 100644 suite/chrome/mailnews/localMsgs.properties
create mode 100644 suite/chrome/mailnews/mailEditorOverlay.dtd
create mode 100644 suite/chrome/mailnews/mailKeysOverlay.dtd
create mode 100644 suite/chrome/mailnews/mailOverlay.dtd
create mode 100644 suite/chrome/mailnews/mailTasksOverlay.dtd
create mode 100644 suite/chrome/mailnews/mailViewList.dtd
create mode 100644 suite/chrome/mailnews/mailViewSetup.dtd
create mode 100644 suite/chrome/mailnews/mailviews.properties
create mode 100644 suite/chrome/mailnews/mapi/mapi.properties
create mode 100644 suite/chrome/mailnews/markByDate.dtd
create mode 100644 suite/chrome/mailnews/messenger.dtd
create mode 100644 suite/chrome/mailnews/messenger.properties
create mode 100644 suite/chrome/mailnews/mime.properties
create mode 100644 suite/chrome/mailnews/mimeheader.properties
create mode 100644 suite/chrome/mailnews/msgAccountCentral.dtd
create mode 100644 suite/chrome/mailnews/msgFolderPickerOverlay.dtd
create mode 100644 suite/chrome/mailnews/msgHdrViewOverlay.dtd
create mode 100644 suite/chrome/mailnews/msgHdrViewPopup.dtd
create mode 100644 suite/chrome/mailnews/msgPrintEngine.dtd
create mode 100644 suite/chrome/mailnews/msgSynchronize.dtd
create mode 100644 suite/chrome/mailnews/msgViewPickerOverlay.dtd
create mode 100644 suite/chrome/mailnews/msgmdn.properties
create mode 100644 suite/chrome/mailnews/newFolderDialog.dtd
create mode 100644 suite/chrome/mailnews/news.properties
create mode 100644 suite/chrome/mailnews/newsError.dtd
create mode 100644 suite/chrome/mailnews/newsblog/am-newsblog.dtd
create mode 100644 suite/chrome/mailnews/newsblog/feed-subscriptions.dtd
create mode 100644 suite/chrome/mailnews/newsblog/newsblog.properties
create mode 100644 suite/chrome/mailnews/oeImportMsgs.properties
create mode 100644 suite/chrome/mailnews/offline.properties
create mode 100644 suite/chrome/mailnews/offlineStartup.properties
create mode 100644 suite/chrome/mailnews/outlookImportMsgs.properties
create mode 100644 suite/chrome/mailnews/pgpmime.properties
create mode 100644 suite/chrome/mailnews/pref/AccountManager.dtd
create mode 100644 suite/chrome/mailnews/pref/AccountWizard.dtd
create mode 100644 suite/chrome/mailnews/pref/am-addressing.dtd
create mode 100644 suite/chrome/mailnews/pref/am-advanced.dtd
create mode 100644 suite/chrome/mailnews/pref/am-archiveoptions.dtd
create mode 100644 suite/chrome/mailnews/pref/am-copies.dtd
create mode 100644 suite/chrome/mailnews/pref/am-identities-list.dtd
create mode 100644 suite/chrome/mailnews/pref/am-identity-edit.dtd
create mode 100644 suite/chrome/mailnews/pref/am-junk.dtd
create mode 100644 suite/chrome/mailnews/pref/am-main.dtd
create mode 100644 suite/chrome/mailnews/pref/am-mdn.dtd
create mode 100644 suite/chrome/mailnews/pref/am-mdn.properties
create mode 100644 suite/chrome/mailnews/pref/am-offline.dtd
create mode 100644 suite/chrome/mailnews/pref/am-server-advanced.dtd
create mode 100644 suite/chrome/mailnews/pref/am-server-top.dtd
create mode 100644 suite/chrome/mailnews/pref/am-serverwithnoidentities.dtd
create mode 100644 suite/chrome/mailnews/pref/mailPrefsOverlay.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-addressing.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-character_encoding.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-composing_messages.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-directory-add.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-directory.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-formatting.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-junk.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-mailnews.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-notifications.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-offline.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-receipts.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-tags.dtd
create mode 100644 suite/chrome/mailnews/pref/pref-viewing_messages.dtd
create mode 100644 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 100644 suite/chrome/mailnews/pref/replicationProgress.properties
create mode 100644 suite/chrome/mailnews/pref/smtpEditOverlay.dtd
create mode 100644 suite/chrome/mailnews/region.properties
create mode 100644 suite/chrome/mailnews/renameFolderDialog.dtd
create mode 100644 suite/chrome/mailnews/search-attributes.properties
create mode 100644 suite/chrome/mailnews/search-operators.properties
create mode 100644 suite/chrome/mailnews/search.properties
create mode 100644 suite/chrome/mailnews/searchTermOverlay.dtd
create mode 100644 suite/chrome/mailnews/shutdownWindow.properties
create mode 100644 suite/chrome/mailnews/smime.properties
create mode 100644 suite/chrome/mailnews/smime/am-smime.dtd
create mode 100644 suite/chrome/mailnews/smime/am-smime.properties
create mode 100644 suite/chrome/mailnews/smime/certFetchingStatus.dtd
create mode 100644 suite/chrome/mailnews/smime/msgCompSMIMEOverlay.dtd
create mode 100644 suite/chrome/mailnews/smime/msgCompSMIMEOverlay.properties
create mode 100644 suite/chrome/mailnews/smime/msgCompSecurityInfo.dtd
create mode 100644 suite/chrome/mailnews/smime/msgCompSecurityInfo.properties
create mode 100644 suite/chrome/mailnews/smime/msgReadSMIMEOverlay.dtd
create mode 100644 suite/chrome/mailnews/smime/msgReadSMIMEOverlay.properties
create mode 100644 suite/chrome/mailnews/smime/msgReadSecurityInfo.dtd
create mode 100644 suite/chrome/mailnews/smime/msgSecurityInfo.properties
create mode 100644 suite/chrome/mailnews/start.dtd
create mode 100644 suite/chrome/mailnews/subscribe.dtd
create mode 100644 suite/chrome/mailnews/subscribe.properties
create mode 100644 suite/chrome/mailnews/textImportMsgs.properties
create mode 100644 suite/chrome/mailnews/threadpane.dtd
create mode 100644 suite/chrome/mailnews/vCardImportMsgs.properties
create mode 100644 suite/chrome/mailnews/viewLog.dtd
create mode 100644 suite/chrome/mailnews/virtualFolderListDialog.dtd
create mode 100644 suite/chrome/mailnews/virtualFolderProperties.dtd
create mode 100644 suite/chrome/mailnews/wmImportMsgs.properties
create mode 100644 suite/chrome/mozldap/ldap.properties
create mode 100644 suite/crashreporter/crashreporter-override.ini
create mode 100644 suite/defines.inc
create mode 100644 suite/installer/windows/custom.properties
create mode 100644 suite/installer/windows/mui.properties
create mode 100644 suite/installer/windows/override.properties
create mode 100644 suite/profile/bookmarks.extra
create mode 100644 suite/profile/bookmarks.inc
create mode 100644 suite/profile/chrome/userChrome-example.css
create mode 100644 suite/profile/chrome/userContent-example.css
create mode 100644 suite/profile/panels.extra
create mode 100644 suite/searchplugins/chunghwapost-zh-TW.xml
create mode 100644 suite/searchplugins/list.txt
create mode 100644 suite/searchplugins/wikipedia-zh-TW.xml
create mode 100644 suite/searchplugins/yahoo-bid-zh-TW.xml
create mode 100644 suite/searchplugins/yahoo-zh-TW.xml
create mode 100644 suite/suite-l10n.js
create mode 100644 suite/updater/updater.ini
create mode 100644 toolkit/chrome/alerts/alert.dtd
create mode 100644 toolkit/chrome/alerts/alert.properties
create mode 100644 toolkit/chrome/autoconfig/autoconfig.properties
create mode 100644 toolkit/chrome/global-platform/mac/intl.properties
create mode 100644 toolkit/chrome/global-platform/mac/platformKeys.properties
create mode 100644 toolkit/chrome/global-platform/unix/intl.properties
create mode 100644 toolkit/chrome/global-platform/unix/platformKeys.properties
create mode 100644 toolkit/chrome/global-platform/win/intl.properties
create mode 100644 toolkit/chrome/global-platform/win/platformKeys.properties
create mode 100644 toolkit/chrome/global/aboutReader.properties
create mode 100644 toolkit/chrome/global/aboutRights.dtd
create mode 100644 toolkit/chrome/global/aboutStudies.properties
create mode 100644 toolkit/chrome/global/aboutTelemetry.dtd
create mode 100644 toolkit/chrome/global/aboutTelemetry.properties
create mode 100644 toolkit/chrome/global/aboutWebrtc.properties
create mode 100644 toolkit/chrome/global/appPicker.dtd
create mode 100644 toolkit/chrome/global/autocomplete.properties
create mode 100644 toolkit/chrome/global/browser.properties
create mode 100644 toolkit/chrome/global/charsetMenu.dtd
create mode 100644 toolkit/chrome/global/charsetMenu.properties
create mode 100644 toolkit/chrome/global/commonDialog.dtd
create mode 100644 toolkit/chrome/global/commonDialogs.properties
create mode 100644 toolkit/chrome/global/console.dtd
create mode 100644 toolkit/chrome/global/console.properties
create mode 100644 toolkit/chrome/global/contentAreaCommands.properties
create mode 100644 toolkit/chrome/global/datetimebox.dtd
create mode 100644 toolkit/chrome/global/dialog.properties
create mode 100644 toolkit/chrome/global/dialogOverlay.dtd
create mode 100644 toolkit/chrome/global/editMenuOverlay.dtd
create mode 100644 toolkit/chrome/global/extensions.properties
create mode 100644 toolkit/chrome/global/fallbackMenubar.properties
create mode 100644 toolkit/chrome/global/filepicker.properties
create mode 100644 toolkit/chrome/global/findbar.properties
create mode 100644 toolkit/chrome/global/global-extension-fields.properties
create mode 100644 toolkit/chrome/global/globalKeys.dtd
create mode 100644 toolkit/chrome/global/intl.css
create mode 100644 toolkit/chrome/global/intl.properties
create mode 100644 toolkit/chrome/global/keys.properties
create mode 100644 toolkit/chrome/global/mozilla.dtd
create mode 100644 toolkit/chrome/global/narrate.properties
create mode 100644 toolkit/chrome/global/notification.dtd
create mode 100644 toolkit/chrome/global/nsTreeSorting.properties
create mode 100644 toolkit/chrome/global/printPageSetup.dtd
create mode 100644 toolkit/chrome/global/printPreview.dtd
create mode 100644 toolkit/chrome/global/printPreviewProgress.dtd
create mode 100644 toolkit/chrome/global/printProgress.dtd
create mode 100644 toolkit/chrome/global/printdialog.properties
create mode 100644 toolkit/chrome/global/resetProfile.dtd
create mode 100644 toolkit/chrome/global/resetProfile.properties
create mode 100644 toolkit/chrome/global/textcontext.dtd
create mode 100644 toolkit/chrome/global/tree.dtd
create mode 100644 toolkit/chrome/global/videocontrols.dtd
create mode 100644 toolkit/chrome/global/viewSource.properties
create mode 100644 toolkit/chrome/global/wizard.dtd
create mode 100644 toolkit/chrome/global/wizard.properties
create mode 100644 toolkit/chrome/mozapps/downloads/downloads.properties
create mode 100644 toolkit/chrome/mozapps/downloads/settingsChange.dtd
create mode 100644 toolkit/chrome/mozapps/downloads/unknownContentType.dtd
create mode 100644 toolkit/chrome/mozapps/downloads/unknownContentType.properties
create mode 100644 toolkit/chrome/mozapps/extensions/blocklist.dtd
create mode 100644 toolkit/chrome/mozapps/extensions/extensions.dtd
create mode 100644 toolkit/chrome/mozapps/extensions/extensions.properties
create mode 100644 toolkit/chrome/mozapps/handling/handling.dtd
create mode 100644 toolkit/chrome/mozapps/handling/handling.properties
create mode 100644 toolkit/chrome/mozapps/profile/createProfileWizard.dtd
create mode 100644 toolkit/chrome/mozapps/profile/profileDowngrade.dtd
create mode 100644 toolkit/chrome/mozapps/profile/profileSelection.dtd
create mode 100644 toolkit/chrome/mozapps/profile/profileSelection.properties
create mode 100644 toolkit/chrome/mozapps/update/updates.dtd
create mode 100644 toolkit/chrome/mozapps/update/updates.properties
create mode 100644 toolkit/chrome/passwordmgr/passwordManager.dtd
create mode 100644 toolkit/chrome/passwordmgr/passwordmgr.properties
create mode 100644 toolkit/chrome/places/places.properties
create mode 100644 toolkit/chrome/pluginproblem/pluginproblem.dtd
create mode 100644 toolkit/chrome/search/search.properties
create mode 100644 toolkit/crashreporter/aboutcrashes.ftl
create mode 100644 toolkit/crashreporter/crashreporter.ini
create mode 100644 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 100644
index 00000000000..3446c09b6bc
--- /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..44591378093
--- /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 100644
index 00000000000..568f227d4ce
--- /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=Sync
diff --git a/browser/browser/aboutCertError.ftl b/browser/browser/aboutCertError.ftl
new file mode 100644
index 00000000000..d76541f03b9
--- /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 = 該æèæªåä¿¡ä»»ï¼å çºæ¯ç±ç¡ææèæ©æ§çæèç°½ç¼çã
+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 = ç¶²ç«æééæèä¾èæèªå·±ç身åãå çºä¼ºæå¨éåºä¸å±¬æ¼ { $hostname } çæèçéä¿ï¼{ -brand-short-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 = ç¶²ç«æééæèä¾èæèªå·±ç身åãå çºä¼ºæå¨éåºä¸å±¬æ¼ { $hostname } çæèçéä¿ï¼{ -brand-short-name } ä¸ä¿¡ä»»éåç¶²ç«ã æèåªå° { $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 = ç¶²ç«æééæèä¾èæèªå·±ç身åãå çºä¼ºæå¨éåºä¸å±¬æ¼ { $hostname } çæèçéä¿ï¼{ -brand-short-name } ä¸ä¿¡ä»»éåç¶²ç«ã æèåªå° { $alt-name } ææã
+# Variables:
+# $subject-alt-names (String) - Alternate domain names for which the cert is valid.
+cert-error-domain-mismatch-multiple = ç¶²ç«æééæèä¾èæèªå·±ç身åãå çºä¼ºæå¨éåºä¸å±¬æ¼ { $hostname } çæèçéä¿ï¼{ -brand-short-name } ä¸ä¿¡ä»»éåç¶²ç«ã該æèå
å°ä¸åç¶²åå稱ææ: { $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..1dc156aadca
--- /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 = 叿ï¼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..92c9d4c9529
--- /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 } æ¯ç± æéç¼çç¢åãMozilla æ¯å ãæåä¸èµ·åªåè®ç¶²è·¯ä¿æéæ¾ï¼ä»»èª°é½å¯é¨æä½¿ç¨ã
+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..2e99b63b159
--- /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..965dadc2f7b
--- /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 = æå° Web
+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 = æå° Web
+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..ab681f29d1b
--- /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..a31628b4b11
--- /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 = é«ç¹ï¼ä¸è¦ç¸é£éåä¸çï¼ (Gort! Klaatu barada nikto!)
+# 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..c3658b1823f
--- /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..471b0c98633
--- /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 = ç¶ææ´å¤è³è¨æè« Email 給æ
+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..e44aed6af52
--- /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..9bd3abc8398
--- /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
+# âSyncâ can be localized, âFirefoxâ must be treated as a brand,
+# and kept in English.
+-sync-brand-name = Firefox Sync
+# â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..e075f41517c
--- /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..77caafd01a5
--- /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..230102fd728
--- /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..e29791d0de2
--- /dev/null
+++ b/browser/browser/newtab/onboarding.ftl
@@ -0,0 +1,119 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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
+
+onboarding-button-label-learn-more = äºè§£æ´å¤
+onboarding-button-label-try-now = ç«å»è©¦è©¦
+onboarding-button-label-get-started = éå§ä½¿ç¨
+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 } æç£æ§æ¨ç E-Mail æ¯å¦åºç¾å¨è³æå¤æ´©äºæ
ä¸ï¼ä¸¦ä¸å¨ææ°äºæ
æéç¥æ¨ã
+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 = ä¸è¼ { -brand-product-name } for iOS æ Androidï¼å³å¯å¨æ¨çä¸åè£ç½®éåæ¥è³æã
+# "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 身åéçµæ¼å
¶ä»ç¶²ç«ä¹å¤ï¼ä½¿å
¶æ´é£å¨ç¶²è·¯ä¸è¿½è¹¤æ¨ã
+onboarding-facebook-container-text2 = { -facebook-container-brand-name } å¯å°æ¨ç 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..ac31c4870c8
--- /dev/null
+++ b/browser/browser/pageInfo.ftl
@@ -0,0 +1,228 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/. --
+
+page-info-window =
+ .style = width: 600px; min-height: 500px;
+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 = Quirks 模å¼
+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 ->
+ *[other] Metaï¼{ $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 ->
+ *[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 ->
+ *[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..0dcf94199f6
--- /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..b18688a232d
--- /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 = éåæééæ¯æ´ Captive portalã
+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 }ç¸éæåï¼å
å« Syncã
+# 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 = åç¨ä»¥å®å
¨æ¨¡å¼éæ°ååçåè½ã註: ååææä½ Shift éµé²å
¥å®å
¨æ¨¡å¼çåè½ï¼å
è½æ¼ Windows 使ç¨ç¾¤çµåååç¨ã
+policy-DisableSecurityBypass = 鲿¢ä½¿ç¨è
å¿½ç¥æäºå®å
¨æ§è¦åã
+policy-DisableSetAsDesktopBackground = åç¨å°åçãè¨çºæ¡å¸ãçé¸å®åè½ã
+policy-DisableSystemAddonUpdate = 鲿¢ç覽å¨å®è£ææ´æ°ç³»çµ±éå å
ä»¶ã
+policy-DisableTelemetry = éé Telemetryã
+policy-DisplayBookmarksToolbar = é è¨é¡¯ç¤ºæ¸ç±¤å·¥å
·åã
+policy-DisplayMenuBar = é è¨é¡¯ç¤ºé¸å®åã
+policy-DNSOverHTTPS = è¨å® DNS over HTTPSã
+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 Homeã
+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 = èª¿æ´æå°å¼æè¨å®ãæ¤ååå
å° Extended Support Releaseï¼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..7ff76caf433
--- /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..c408568787f
--- /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: 55em
+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..abd30211fa3
--- /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..e7b87179e28
--- /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..61621dd0e5b
--- /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 = ä¸ä½¿ç¨ Proxy
+ .accesskey = y
+connection-proxy-option-system =
+ .label = 使ç¨ç³»çµ± Proxy è¨å®
+ .accesskey = U
+connection-proxy-option-auto =
+ .label = èªå嵿¸¬æ¤ç¶²è·¯ç Proxy è¨å®
+ .accesskey = w
+connection-proxy-option-manual =
+ .label = æåè¨å® Proxy
+ .accesskey = m
+connection-proxy-http = HTTP Proxy
+ .accesskey = x
+connection-proxy-http-port = å
+ .accesskey = P
+connection-proxy-http-share =
+ .label = ææéè¨åå®é½ä½¿ç¨æ¤ Proxy 代ç伺æå¨
+ .accesskey = s
+connection-proxy-ssl = SSL Proxy
+ .accesskey = L
+connection-proxy-ssl-port = å
+ .accesskey = o
+connection-proxy-ftp = FTP Proxy
+ .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.tw, 192.168.1.0/24
+connection-proxy-autotype =
+ .label = Proxy èªåè¨å®ç¶²å
+ .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 = éå DNS over HTTPS
+ .accesskey = H
+# Variables:
+# $url (String) - URL for the DNS over HTTPS provider
+connection-dns-over-https-url-default =
+ .label = 使ç¨é è¨å¼ï¼{ $url }ï¼
+ .accesskey = ï¼µ
+ .tooltiptext = 使ç¨é è¨ç¶²åä¾è§£æ DNS over HTTPS
+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 = 使ç¨é è¨ç¶²åä¾è§£æ DNS over HTTPS
+connection-dns-over-https-url-custom =
+ .label = èªè¨
+ .accesskey = C
+ .tooltiptext = 輸å
¥æ¨æ³è¦ç¨ä¾è§£æ DNS over HTTPS çç¶²å
+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..7c20daf68d0
--- /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..af45d90815b
--- /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 = 襯ç·åå (Serif)
+fonts-default-sans-serif =
+ .label = ç¡è¥¯ç·åå (Sans Serif)
+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 = 䏿èªç³»ï¼Microsoft
+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..dee4c6a4fe8
--- /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..e923fc7e090
--- /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..bd3d7d911da
--- /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 = æ¨å¯ä»¥æå®åªäºç¶²ç«å¯ä»¥éåå½åºåè¦çª (Pop-up)ãè«è¼¸å
¥å®æ´ç¶²å徿ãå
許ãã
+
+## 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..e869f6e7ed6
--- /dev/null
+++ b/browser/browser/preferences/preferences.ftl
@@ -0,0 +1,870 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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â è¨èï¼åè¨´ç¶²ç«æ¨ä¸æ³è¢«è¿½è¹¤
+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 } ååé ãæ¨ççè¦åç¨å®¹å¨åé åï¼
+containers-disable-alert-ok-button = éé { $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 = æ¤è¨å®å°å¥ç¨å°æ¬é»è
¦ä¸çææ Windows 帳è忤份 { -brand-short-name } çææ { -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 = æ¨æ£ (&D)
+# Continue is the cancel button so pressing escape or using a platform standard
+# method of closing the UI will not discard the update.
+update-in-progress-cancel-button = ç¹¼çº (&C)
+
+## 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 = æ Web é¨èº«å¸¶èèµ°
+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 = ä¸è¼ Firefox for
Androidæ
iOSä»¥èæ¨çè¡åè£ç½®åæ¥ã
+
+## 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..2d11223316b
--- /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..0dbd9bf357a
--- /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..1d0b42c6d31
--- /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..947e10d9c61
--- /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..7f2c9d4a251
--- /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..3f4f019660d
--- /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 = è«å° Unwanted Software Policy äºè§£éæ¼æå®³åæ¹äººåæ¡çè»é«çæ´å¤è³è¨ãä¹å¯ä»¥å° 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..463adafeb00
--- /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..6769501067e
--- /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..57c44775718
--- /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..b743b3f74bb
--- /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..db53b89b340
--- /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 100644
index 00000000000..8193c4d138b
--- /dev/null
+++ b/browser/chrome/browser-region/region.properties
@@ -0,0 +1,29 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE: REVIEW_REQUIRED
+# Please do not commit any changes to this file without a review from
+# the l10n-drivers team (this includes en-US). In order to get one,
+# please file a bug, add the "productization" keyword and CC l10n@mozilla.com.
+
+# 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! Mail
+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 100644
index 00000000000..4cf7fcd5272
--- /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 100644
index 00000000000..e17ef3f7f10
--- /dev/null
+++ b/browser/chrome/browser/aboutRobots.dtd
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/aboutTabCrashed.dtd b/browser/chrome/browser/aboutTabCrashed.dtd
new file mode 100644
index 00000000000..10a00562376
--- /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..ec904558ba8
--- /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 Sync
+deviceConnectedBody = æ¤é»è
¦ç®åæ£è %S 忥ã
+deviceConnectedBody.noDeviceName = æ¤é»è
¦å·²èæ°è£ç½®éå§åæ¥ã
+
+# LOCALIZATION NOTE (syncStartNotification.title, syncStartNotification.body)
+# These strings are used in a notification shown after Sync is connected.
+syncStartNotification.title = å·²éå Sync
+# %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 = 已忶éçµ Sync
+deviceDisconnectedNotification.body = å·²æåèª Firefox Sync åæ¶éçµæ¤é»è
¦ã
+
+# 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 = æªé£ç·è³ Sync
+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 = ç»å
¥è³ Syncâ¦
+
+# 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..143b6c349bc
--- /dev/null
+++ b/browser/chrome/browser/activity-stream/newtab.properties
@@ -0,0 +1,216 @@
+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=é¡¯ç¤ºæ¼ Finder
+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=æå° Web
+
+# 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 Home çå
§å®¹æ¢ç´¢åè½å¯é¨æ¨ä¸ç¶²ï¼çºæ¨å°æ¾é«å質èèæ¨æéçæç« ã
+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} 尿便´å¤æ¨è¦æ
äºãçä¸åäºï¼é¸æç±é主é¡ï¼çç Web ä¸åå¼ç²¾éè³è¨ã
+
+# 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 Accounts çæ´å¤è³è¨
+
+# 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 Sync
+
+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..d632c3584e8
--- /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 100644
index 00000000000..a5e5207fa43
--- /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 100644
index 00000000000..af4befd2980
--- /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 100644
index 00000000000..ff470d7c5ea
--- /dev/null
+++ b/browser/chrome/browser/browser.properties
@@ -0,0 +1,1117 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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=æ¤ç¶²ç«æ³å®è£ #2 å¥éå å
ä»¶å° #1:
+addonConfirmInstallUnsigned.message=è¦å: æ¤ç¶²ç«æ³è¦å®è£ #2 奿ªé©èçéå å
ä»¶å° #1ï¼è«å°å¿ã
+
+# 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=è¦å: æ¤ç¶²ç«æ³è¦å®è£ #2 å¥éå å
ä»¶å° #1ï¼ç¶ä¸æäºéæ²æç¶éé©èï¼è«å°å¿ã
+
+# 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=å çº %1$S ç¡æ³ä¿®æ¹å¿
è¦çæªæ¡ï¼ç¡æ³å®è£ %2$Sã
+addonInstallError-5=%1$S 已鲿¢æ¤ç¶²ç«å®è£æªé©èçéå å
ä»¶ã
+addonLocalInstallError-1=ç±æ¼æªæ¡ç³»çµ±é¯èª¤ï¼ç¡æ³å®è£æ¤éå å
ä»¶ã
+addonLocalInstallError-2=å çºä¸ç¬¦å %1$S æé æçéå å
ä»¶ï¼ç¡æ³å®è£ã
+addonLocalInstallError-3=æªæ¡ä¼¼ä¹å·²ææ¯ï¼ç¡æ³å®è£æ¤éå å
ä»¶ã
+addonLocalInstallError-4=å çº %1$S ç¡æ³ä¿®æ¹å¿
è¦çæªæ¡ï¼ç¡æ³å®è£ %2$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=å çºè %1$S %2$S ä¸ç¸å®¹ï¼ç¡æ³å®è£ %3$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 åï¼è«åªå°æ¨ä¿¡ä»»çç¶²ç«å
許ã
+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=true
+
+# 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 Extended Support Release çæ¬ã
+
+# 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 Strict Transport Security: %S
+certErrorDetailsKeyPinning.label = HTTP Public Key Pinning: %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 峿æ¸ç±¤
diff --git a/browser/chrome/browser/customizableui/customizableWidgets.properties b/browser/chrome/browser/customizableui/customizableWidgets.properties
new file mode 100644
index 00000000000..cde30ef2ed1
--- /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 = éåç¶²é éç¼è
å·¥å
·ï¼%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 100644
index 00000000000..7041ab311ba
--- /dev/null
+++ b/browser/chrome/browser/downloads/downloads.dtd
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/downloads/downloads.properties b/browser/chrome/browser/downloads/downloads.properties
new file mode 100644
index 00000000000..0f801c37c03
--- /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 \u2014 %2$S
+statusSeparatorBeforeNumber=%1$S \u2014 %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 100644
index 00000000000..462b0cfff93
--- /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 è¨é±æ¶æ¯ä¾æº (Feed)ã
+alwaysUseForAudioPodcasts=æ¯æ¬¡é½ä½¿ç¨ %S è¨é±ç¶²è·¯å»£æ (Podcast)ã
+alwaysUseForVideoPodcasts=æ¯æ¬¡é½ä½¿ç¨ %S è¨é±å½±ç廣æ (Video Podcast)ã
+
+subscribeFeedUsing=è¨é±æ¤æ¶æ¯ä¾æº (Feed) 使ç¨
+subscribeAudioPodcastUsing=è¨é±æ¤ç¶²è·¯å»£æ (Podcast) 使ç¨
+subscribeVideoPodcastUsing=è¨é±æ¤å½±ç廣æ (Video Podcast) 使ç¨
+
+feedSubscriptionFeed1=鿝æ¤ç«æå¸¸æ´æ°å
§å®¹çãæ¶æ¯ä¾æºãã
+feedSubscriptionAudioPodcast1=鿝æ¤ç«æå¸¸æ´æ°å
§å®¹çã網路廣æãã
+feedSubscriptionVideoPodcast1=鿝æ¤ç«æå¸¸æ´æ°å
§å®¹çãå½±ç廣æãã
+
+feedSubscriptionFeed2=æ¨å¯ä»¥è¨é±æ¤æ¶æ¯ä¾æº (Feed)ï¼å¦æ¤ä¸ä¾ç¶ç¶²ç«å
§å®¹æ´æ°æå°±è½æ¶å°ææ°æ¶æ¯ã
+feedSubscriptionAudioPodcast2=æ¨å¯ä»¥è¨é±æ¤ç¶²è·¯å»£æ (Podcast) ï¼å¦æ¤ä¸ä¾ç¶ç¶²ç«å
§å®¹æ´æ°æå°±è½æ¶å°ææ°æ¶æ¯ã
+feedSubscriptionVideoPodcast2=æ¨å¯ä»¥è¨é±æ¤å½±ç廣æ (Video Podcast)ï¼å¦æ¤ä¸ä¾ç¶ç¶²ç«å
§å®¹æ´æ°æå°±è½æ¶å°ææ°æ¶æ¯ã
+
+# 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..9bd678e1246
--- /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=A Web Browser Renaissance
+lightweightThemes.recommended-1.description=A Web Browser Renaissance is (C) Sean.Martell. Available under CC-BY-SA. No warranty.
+
+lightweightThemes.recommended-2.name=Space Fantasy
+lightweightThemes.recommended-2.description=Space Fantasy is (C) fx5800p. Available under CC-BY-SA. No warranty.
+
+lightweightThemes.recommended-4.name=Pastel Gradient
+lightweightThemes.recommended-4.description=Pastel Gradient is (C) darrinhenein. Available under CC-BY. No warranty.
diff --git a/browser/chrome/browser/migration/migration.dtd b/browser/chrome/browser/migration/migration.dtd
new file mode 100644
index 00000000000..59620c9e98f
--- /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 100644
index 00000000000..7d0cdb91b57
--- /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=Internet Explorer
+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..760c80ac487
--- /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 100644
index 00000000000..6edb60ebd76
--- /dev/null
+++ b/browser/chrome/browser/pageInfo.dtd
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/pageInfo.properties b/browser/chrome/browser/pageInfo.properties
new file mode 100644
index 00000000000..b29cbd7abba
--- /dev/null
+++ b/browser/chrome/browser/pageInfo.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 \u00D7 %Spx
+mediaSelectFolder=è«é¸æè¦å²ååççè³æå¤¾
+mediaBlockImage=å°éä¾èª %S çåç
+mediaUnknownNotCached=æªç¥ï¼æªå¿«åï¼
+mediaImageType=%S åç
+mediaAnimatedImageType=%S åç (åç«ï¼%S åç«æ ¼)
+mediaDimensions=%Spx \u00D7 %Spx
+mediaDimensionsScaled=%Spx \u00D7 %Spx (縮æ¾çº %Spx \u00D7 %Spx)
+
+generalQuirksMode=Quirks 模å¼
+generalStrictMode=æ¨æºéµå¾ªæ¨¡å¼
+generalSize=%S KB (%S ä½å
çµ)
+generalMetaTag=å¾è¨è³æ (1 åæ¨ç±¤)
+generalMetaTags=å¾è¨è³æ (%S åæ¨ç±¤)
+
+feedRss=RSS
+feedAtom=Atom
+feedXML=XML
+
+feedSubscribe=è¨é±
+feedSubscribe.accesskey=u
+
+securityNoOwner=éåç¶²ç«æ²ææä¾ææè
è³è¨ã
+securityOneVisit=æ¯ï¼ä¾é䏿¬¡
+securityNVisits=æ¯ï¼ä¾é %S 次
+
+# 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: The next string is for the disk usage of the
+# database
+# e.g. indexedDBUsage : "50.23 MB"
+# %1$S = size (in bytes or megabytes, ...)
+# %2$S = unit of measure (bytes, KB, MB, ...)
+indexedDBUsage=éåç¶²ç«ä½¿ç¨äº %1$S %2$S
+
+# 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 100644
index 00000000000..58d9475425b
--- /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 100644
index 00000000000..0726882e1bd
--- /dev/null
+++ b/browser/chrome/browser/places/editBookmarkOverlay.dtd
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/places/places.dtd b/browser/chrome/browser/places/places.dtd
new file mode 100644
index 00000000000..1c09232ed37
--- /dev/null
+++ b/browser/chrome/browser/places/places.dtd
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Z)">
+
+ A)">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/places/places.properties b/browser/chrome/browser/places/places.properties
new file mode 100644
index 00000000000..c3b7f312012
--- /dev/null
+++ b/browser/chrome/browser/places/places.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/.
+
+load-js-data-url-error=çºäºå®å
¨ä¸çèéï¼æ¨ç¡æ³å¾ç覽è¨éè¦çªæå´éæ¬è¼å
¥ Javascript æè³æç¶²å (Data urls)ã
+noTitle=ï¼ç¡æ¨é¡ï¼
+
+bookmarksMenuEmptyFolder=(空)
+
+bookmarksBackupTitle=æ¸ç±¤å份æªå
+
+bookmarksRestoreAlertTitle=å復æ¸ç±¤
+bookmarksRestoreAlert=éåå使ç¨åä»½è³æè¦èç®å使ç¨çæææ¸ç±¤ï¼æ¨ç¢ºå®è¦ç¹¼çºåï¼
+bookmarksRestoreTitle=è«é¸ææ¸ç±¤åä»½æªæ¡
+bookmarksRestoreFilterName=JSON
+
+bookmarksRestoreFormatError=æªæ¡é¡å䏿¯æ´ã
+bookmarksRestoreParseError=ç¡æ³èçæ¤å份æªã
+
+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.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 åé
ç®
+
+# 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..65315621c9a
--- /dev/null
+++ b/browser/chrome/browser/pocket.properties
@@ -0,0 +1,33 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 = å¨ Firefox ä¸é»æ Pocket æéä¾å²åä»»ä½æç« ãå½±çæç¶²é ã
+taglinestory_two = 鍿é¨å°å¨ä»»ä½è£ç½®ä¸ç¨ Pocket 檢è¦ã
+tagssaved = å·²æ°å¢æ¨ç±¤
+tos = ç¹¼çºä½¿ç¨å°±ä»£è¡¨æ¨åæ Pocket ç æåæ¢æ¬¾ å é±ç§æ¬ä¿è·æ¿ç
+tryitnow = ç«å»è©¦è©¦
+signinfirefox = ä½¿ç¨ Firefox ç»å
¥
+signupfirefox = ä½¿ç¨ Firefox 註å
+viewlist = æª¢è¦æ¸
å®
diff --git a/browser/chrome/browser/preferences/preferences.properties b/browser/chrome/browser/preferences/preferences.properties
new file mode 100644
index 00000000000..c4f2a98e340
--- /dev/null
+++ b/browser/chrome/browser/preferences/preferences.properties
@@ -0,0 +1,79 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#### Security
+
+# LOCALIZATION NOTE: phishBefore uses %S to represent the name of the provider
+# whose privacy policy must be accepted (for enabling
+# check-every-page-as-I-load-it phishing protection).
+phishBeforeText=鏿æ¤é¸é
æææ¨æ£ç覽çç¶²é ç¶²åéå° %S æ¯å°ãè¥è¦ç¹¼çºï¼è«çå®ä¸¦æ¥åä¸é¢çæåæ¢æ¬¾ã
+
+#### Master Password
+
+pw_change2empty_in_fips_mode=æ¨ç®åä½¿ç¨ FIPS 模å¼ãFIPS 模å¼éè¦æä¸»æ§å¯ç¢¼ã
+pw_change_failed_title=å¯ç¢¼è®æ´å¤±æ
+
+#### Downloads
+
+desktopFolderName=æ¡é¢
+downloadsFolderName=ä¸è¼
+chooseDownloadFolderTitle=é¸åä¸è¼ç®é:
+
+#### Applications
+
+fileEnding=%S æªæ¡
+saveFile=å²åæªæ¡
+
+# LOCALIZATION NOTE (useApp, useDefault): %S = Application name
+useApp=ä½¿ç¨ %S
+useDefault=ä½¿ç¨ %S (é è¨ç¨å¼)
+
+useOtherApp=使ç¨å
¶ä»ç¨å¼â¦
+fpTitleChooseApp=é¸åå°æç¨å¼
+manageApp=ç¨å¼è©³ç´°è³è¨â¦
+webFeed=æ¶æ¯ä¾æº (Feed)
+videoPodcastFeed=å½±ç廣æ (Video Podcast)
+audioPodcastFeed=網路廣æ (Podcast)
+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 ä¸é 覽
+addLiveBookmarksInApp=å¨ %S æ°å¢å³ææ¸ç±¤
+
+# LOCALIZATION NOTE (typeDescriptionWithType):
+# %1$S = type description (for example "Portable Document Format")
+# %2$S = type (for example "application/pdf")
+typeDescriptionWithType=%S (%S)
+
+#### Permission labels
+
+can=å
許
+canAccessFirstParty=å
å
è¨±ç¬¬ä¸æ¹
+canSession=æ¤æ¬¡çè¦½éæ®µå
許
+cannot=黿
+prompt=總æ¯è©¢å
+
+spaceAlert.learnMoreButton.label=äºè§£æ´å¤
+spaceAlert.learnMoreButton.accesskey=L
+spaceAlert.over5GB.prefButton.label=éåå好è¨å®
+spaceAlert.over5GB.prefButton.accesskey=O
+# LOCALIZATION NOTE (spaceAlert.over5GB.prefButtonWin.label): On Windows Preferences is called Options
+spaceAlert.over5GB.prefButtonWin.label=éåé¸é
+spaceAlert.over5GB.prefButtonWin.accesskey=O
+# LOCALIZATION NOTE (spaceAlert.over5GB.message1): %S = brandShortName
+spaceAlert.over5GB.message1=%S çç£ç¢ç©ºéä¸è¶³ï¼ç¶²ç«å
§å®¹å¯è½ç¡æ³æ£ç¢ºé¡¯ç¤ºãæ¨å¯ä»¥å°å好è¨å® > é±ç§æ¬èå®å
¨æ§ > Cookie èç¶²ç«è³ææ¸
é¤ç®åå·²å²åçç¶²ç«è³æã
+# LOCALIZATION NOTE (spaceAlert.over5GB.messageWin1):
+# - On Windows Preferences is called Options
+# - %S = brandShortName
+spaceAlert.over5GB.messageWin1=%S çç£ç¢ç©ºéä¸è¶³ï¼ç¶²ç«å
§å®¹å¯è½ç¡æ³æ£ç¢ºé¡¯ç¤ºãæ¨å¯ä»¥å°é¸é
> é±ç§æ¬èå®å
¨æ§ > Cookie èç¶²ç«è³ææ¸
é¤ç®åå·²å²åçç¶²ç«è³æã
+spaceAlert.under5GB.okButton.label=好ï¼ç¥éäº
+spaceAlert.under5GB.okButton.accesskey=K
+# LOCALIZATION NOTE (spaceAlert.under5GB.message): %S = brandShortName
+spaceAlert.under5GB.message=%S çç£ç¢ç©ºéä¸è¶³ï¼ç¶²ç«å
§å®¹å¯è½ç¡æ³æ£ç¢ºé¡¯ç¤ºãè«é»æãçè§£æ´å¤ãæ¸
çç£ç¢ç©ºéï¼è®æ¨ææ´å¥½çç覽é«é©ã
diff --git a/browser/chrome/browser/preferences/security.dtd b/browser/chrome/browser/preferences/security.dtd
new file mode 100644
index 00000000000..744227acd0e
--- /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 100644
index 00000000000..0dfa9d4a7ff
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/phishing-afterload-warning-message.dtd
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+ æä¾ã">
+
+
+
+
+
+
+
+ 已被åå ±çºå«ææ¡æè»é«çç¶²ç«ãæ¨å¯ä»¥åå ±åµæ¸¬æèª¤ï¼ææ¯å¿½ç¥æ¤é¢¨éªä¸¦ç¹¼çºåå¾éåä¸å®å
¨çç¶²ç«ã">
+
+ 已被åå ±çºå«ææ¡æè»é«çç¶²ç«ãæ¨å¯ä»¥åå ±åµæ¸¬æèª¤ã">
+
+StopBadware.org äºè§£éæ¼ç
æ¯ãæ¡æè»é«çæå®³ç¶²é å
§å®¹ï¼ä»¥åå¦ä½ä¿è·æ¨çé»è
¦çæ´å¤è³è¨ãä¹å¯ä»¥å° support.mozilla.org äºè§£éæ¼ &brandShortName; çé²é£éåæ¡æè»é«ä¿è·æ©å¶çæ´å¤è³è¨ã">
+
+
+
+
+
+
+
+ 已被åå ±çºå«ææå®³è»é«çç¶²ç«ãæ¨å¯ä»¥å¿½ç¥æ¤é¢¨éªä¸¦ç¹¼çºåå¾éåä¸å®å
¨çç¶²ç«ã">
+
+ 已被åå ±çºå«ææå®³è»é«çç¶²ç«ã">
+
+Unwanted Software Policy äºè§£éæ¼æå®³åæ¹äººåæ¡çè»é«çæ´å¤è³è¨ãä¹å¯ä»¥å° 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 100644
index 00000000000..6ab50ad55dc
--- /dev/null
+++ b/browser/chrome/browser/safebrowsing/report-phishing.dtd
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/safebrowsing/safebrowsing.properties b/browser/chrome/browser/safebrowsing/safebrowsing.properties
new file mode 100644
index 00000000000..9a8bbe88c22
--- /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 100644
index 00000000000..301a45e474c
--- /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 100644
index 00000000000..07230219884
--- /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 100644
index 00000000000..0e2b36fb58c
--- /dev/null
+++ b/browser/chrome/browser/shellservice.properties
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+optionsLabel=%S é¸é
(&O)
+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..c62901f11de
--- /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 100644
index 00000000000..c804a6ec6ad
--- /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 100644
index 00000000000..79f8c078a7c
--- /dev/null
+++ b/browser/chrome/browser/syncBrand.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/browser/chrome/browser/syncSetup.properties b/browser/chrome/browser/syncSetup.properties
new file mode 100644
index 00000000000..c4198d9786b
--- /dev/null
+++ b/browser/chrome/browser/syncSetup.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# Several other strings are used (via Weave.Status.login), but they come from
+# /services/sync
+
+# Firefox Accounts based setup.
+continue.label = ç¹¼çº
+
+# LOCALIZATION NOTE (disconnect.label, disconnect.verify.title, disconnect.verify.bodyHeading, disconnect.verify.bodyText):
+# These strings are used in the confirmation dialog shown when the user hits the disconnect button
+# LOCALIZATION NOTE (disconnect.label): This is the label for the disconnect button
+disconnect.label = åæ¶é£ç·
+disconnect.verify.title = åæ¶é£ç·
+disconnect.verify.bodyHeading = è¦è Sync åæ¶é£ç·åï¼
+disconnect.verify.bodyText = æ¨ççè¦½è³æå°ä¿çå¨éå°é»è
¦ä¸ï¼ä½ä¸æåèæ¨ç帳è忥ã
+
+relinkVerify.title = è³æåä½µè¦å
+relinkVerify.heading = æ¨ç¢ºå®è¦ç»å
¥è³ Sync åï¼
+# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
+relinkVerify.description = å
åå·²æä¸å使ç¨è
ç»å
¥è³æ¤é»è
¦ä¸ç Syncãè¥ç¹¼çºåæ¥å°æè %S åä½µæ¤ç覽å¨ä¸çæ¸ç±¤ãå¯ç¢¼èå
¶ä»è¨å®
diff --git a/browser/chrome/browser/tabbrowser.properties b/browser/chrome/browser/tabbrowser.properties
new file mode 100644
index 00000000000..6985ed293a9
--- /dev/null
+++ b/browser/chrome/browser/tabbrowser.properties
@@ -0,0 +1,150 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.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.closeWarningTitle=確èªéé
+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.closeWarningMultipleSessionRestore):
+# 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.closeWarningMultipleSessionRestore=æ¨å³å°éé #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.closeWarningMultipleWindowsSessionRestore):
+# 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.closeWarningMultipleWindowsSessionRestore=æ¨å³å°éé #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 100644
index 00000000000..67af8bb0539
--- /dev/null
+++ b/browser/chrome/browser/taskbar.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/.
+
+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 100644
index 00000000000..664e20c0f67
--- /dev/null
+++ b/browser/chrome/browser/translation.dtd
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/browser/chrome/browser/translation.properties b/browser/chrome/browser/translation.properties
new file mode 100644
index 00000000000..e799a8680fc
--- /dev/null
+++ b/browser/chrome/browser/translation.properties
@@ -0,0 +1,13 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (translation.options.neverForLanguage.label):
+# %S is a language name coming from the global/languageNames.properties 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..f4eb97c77f0
--- /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 100644
index 00000000000..c52330a38f6
--- /dev/null
+++ b/browser/chrome/browser/webrtcIndicator.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/.
+
+# 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 100644
index 00000000000..bac92d98dbd
--- /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=è«æª¢æ¥ URL æ¯å¦æ£ç¢ºï¼ç¶å¾åè©¦ä¸æ¬¡ã
+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=æ¤ç¶²åæç¨çéè¨å (Port) é叏䏿¯ç¨æ¼ç¶²è·¯ç覽ãçºäºå®å
¨æ§èéï¼Firefox å·²ç¶åæ¶é£ç·è¦æ±ã
+proxyResolveFailure=Firefox æ¾ä¸å°æ¨æè¨å®ç Proxy 伺æå¨ã
+proxyConnectFailure=Firefox ç¡æ³èæ¨è¨å®ç Proxy 伺æå¨é£ç·ã
+contentEncodingError=æ¨å試檢è¦çé é¢ç¡æ³é¡¯ç¤ºï¼å çºå
¶ä¸ä½¿ç¨äºç¡ææä¸æ¯æ´çå£ç¸®é¡åã
+unsafeContentType=å çºå
¶ä¸å«æå¯è½ä¸å®å
¨çæªæ¡é¡åï¼ç¡æ³é¡¯ç¤ºæ¨å試檢è¦çé é¢ãè«åç¶²ç«ææè
åå ±æ¤åé¡ã
+externalProtocolTitle=å¤é¨éè¨åå®è¦æ±
+externalProtocolPrompt=è¦èç %1$S: éçµéè¦å¤é¨ç¨å¼ã\n\n\nè¦æ±éçµ:\n\n%2$S\næç¨ç¨å¼: %3$S\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 100644
index 00000000000..e9633b8e14d
--- /dev/null
+++ b/browser/chrome/overrides/netError.dtd
@@ -0,0 +1,224 @@
+
+
+
+%brandDTD;
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+è¥ç¶²åæ£ç¢ºç¡èª¤ï¼éå¯è©¦è©¦ä¸åæ¹å¼:
+
+ - ç¨åå試ã
+ - 檢æ¥ç¶²è·¯é£ç·æ¯å¦æ£å¸¸ã
+ - è¥ééé²ç«çé£ç·ï¼è«æª¢æ¥ &brandShortName; æ¯å¦ææ¬é£ç·å°ç¶²é網路ã
+
">
+
+
+
+ è«æª¢æ¥æªåæ¯å¦æå¤§å°å¯«é¯èª¤ãæ¼é¯åã
+ è«æª¢æ¥æªæ¡æ¯å¦å·²è¢«ç§»åãæ¹åæåªé¤ã
+
+">
+
+
+å¯è½æ¯æªæ¡è¢«ç§»èµ°ãç§»é¤ï¼æå忬é䏿£ç¢ºï¼é æç¡æ³ååã">
+
+
+&brandShortName; å çºæäºåå ç¡æ³è¼å
¥æ¤ç¶²é ã
+">
+
+
+æ¨å¿
é å
ç»å
¥æè½ååç¶²é網路ã">
+
+
+
+
+
+
+
+
+
+
+
+æ¨æè«æ±çæä»¶å·²ä¸å卿¼ &brandShortName; çå¿«åç¶ä¸ã- çºäºæ¨çå®å
¨ï¼&brandShortName; å°ä¸æèªåéæ°è«æ±æææä»¶ã
- è«é»ä¸éè©¦ä»¥éæ°åç¶²ç«è«æ±å徿件ã
">
+
+
+
+ è«æä¸ãé試ã以åæå°é£ç·æ¨¡å¼ä¸¦éæ°è¼å
¥é é¢ã
+
+">
+
+
+
+ è«åç¶²ç«ææè
åå ±æ¤åé¡ã
+
+">
+
+
+
+ è«åç¶²ç«ææè
åå ±æ¤åé¡ã
+
+">
+
+
+
+
+
+
+
+
+æ¨å¯è½éè¦å®è£å
¶ä»è»é«æè½éåæ¤ç¶²åã">
+
+
+
+ è«æª¢æ¥ Proxy è¨å®æ¯å¦æ£ç¢ºã
+ èæ¨ç網路管çå¡è¯çµ¡ï¼ç¢ºå® Proxy 伺æå¨æ£å¸¸éä½ã
+
+">
+
+
+
+ è«æª¢æ¥ Proxy è¨å®æ¯å¦æ£ç¢ºã
+ è«æª¢æ¥æ¨ç網路é£ç·çæ
ã
+ è¥é»è
¦æç¶²è·¯è¢«é²ç«çæ Proxy ä¿è·ï¼è«ç¢ºå®
+ &brandShortName; 被å
許åå網路ã
+
+">
+
+
+
+ ææååç¨ææçµæ¥å Cookie æé ææ¤åé¡ã
+
+">
+
+
+
+ è«ç¢ºå®é»è
¦å·²å®è£å人å®å
¨ç®¡çå¡ (Personal Security Manager)ã
+ å¯è½æ¯ä¼ºæå¨ä¸ç鿍æºè¨å®æé æçã
+
+">
+
+
+
+ å çºç¡æ³é©èå·²æ¥æ¶è³æçç實æ§ï¼ç¡æ³é¡¯ç¤ºæ¨å試檢è¦çé é¢ã
+ è«åç¶²ç«ææè
åå ±æ¤åé¡ã
+">
+
+
+
+
+
+ çç¶²ç«ç®¡ç塿ªæ£ç¢ºè¨å®å¥½ç¶²ç«ãçºäºç¢ºä¿æ¨çè³è¨ä¸æè¢«çèµ°ï¼&brandShortName; 並æªé£ç·è³è©²ç¶²ç«ã">
+ãè¥æ¨è¦é 訪æ¤ç¶²ç«ï¼æ»æè
å¯è½æå試å·èµ°æ¨çå¯ç¢¼ãé»åéµä»¶æä¿¡ç¨å¡è³æçåè³ã">
+ãæ¤ç¶²ç«å¿
é 使ç¨å®å
¨æ§é£ç·ã">
+
+ãæ¤ç¶²ç«å¯è½æè¨å®åé¡ï¼ææ¨çé»è
¦ä¸çæé䏿£ç¢ºã">
+
+
+
+
+
+éåå顿æå¯è½æ¯ç¶²ç«ç«¯çè¨å®ä¸æ£ç¢ºï¼æ¨ç¡æ³èª¿æ´è¨å®è§£æ±ºã
+è¥æ¨ç®åé£ç·å°çæ¯ä¼æ¥å
§é¨ç¶²è·¯ï¼ææä½¿ç¨é²æ¯è»é«ï¼è«æ´½è©¢æè¡æ¯æ´åéãæ¨ä¹å¯ä»¥éç¥ç¶²ç«ç®¡çå¡èçéååé¡ã
">
+
+æ¨ç®åçé»è
¦æéè¨å®çº ãè«å°ç³»çµ±è¨å®ä¸ç¢ºèªæ¤æ¥æãæéãæåæ¯å¦æ£ç¢ºï¼ç¶å¾éæ°è¼å
¥ ã
+è¥æ¨çæéæ¯æ£ç¢ºçï¼å¯è½æ¯ç¶²ç«ä¼ºæå¨è¨å®æèª¤ï¼æ²æè¾¦æ³ç±æ¨è§£æ±ºéååé¡ï¼è«éç¥ç¶²ç«ç®¡çå¡éååé¡ã
">
+
+éåå顿æå¯è½æ¯ç¶²ç«ç«¯çè¨å®ä¸æ£ç¢ºï¼æ¨ç¡æ³èª¿æ´è¨å®è§£æ±ºãè«éç¥ç¶²ç«ç®¡çå¡èçã">
+
+
+ 該網ç«å¯è½æ«æç¡æ³ä½¿ç¨æå¤ªéå¿ç¢ï¼è«éå¹¾åéå¾å試試ã
+ è¥ç¡æ³è¼å
¥ä»»ä½ç¶²ç«ï¼è«æª¢æ¥æ¨ç網路é£ç·çæ
ã
+ è¥é»è
¦æç¶²è·¯è¢«é²ç«çæ Proxy ä¿è·ï¼è«ç¢ºå®
+ &brandShortName; 被å
許åå網路ã
+
+">
+
+
+&brandShortName; 黿¢äºéåé é¢è¼å
¥ï¼å çºéåé é¢çå
§å®¹å®å
¨æ¿çä¸å
許å
¶ä»¥é種æ¹å¼è¢«è¼å
¥ã">
+
+
+å çºå¨è³æå³è¼¸éç¨ç¶ä¸åµæ¸¬å°é¯èª¤ï¼ç¡æ³é¡¯ç¤ºæ¨æ£è¦æª¢è¦çé é¢ã- è«éç¥ç¶²ç«ç®¡çè
以è®ä»åç¥ééååé¡ã
">
+
+
+
+
+
+
+
+
+
+- è«è¯çµ¡ç¶²ç«ç®¡çå¡ä»¥éç¥ä»åéååé¡ã
">
+
+
+
+
+
+
+æ¨ç系統æé䏿£ç¢ºï¼&brandShortName; ç¡æ³è 建ç«å®å
¨é£ç·ã æ¨çé»è
¦æéç®åçº ï¼ä½æè©²æ¯ ãè«å°æ¨ç系統è¨å®çºæ£ç¢ºæéä¾ä¿®æ£æ¤åé¡ã
">
+æ¨ç系統æé䏿£ç¢ºï¼&brandShortName; ç¡æ³è建ç«å®å
¨é£ç·ã æ¨ç系統æéç®åçºï¼è«è¨å®çºæ£ç¢ºçæ¥æèæéä¾ä¿®æ£æ¤åé¡ã
">
+
+
+
+
+
+ æä¸æ¢ç¨±çº HTTP Strict Transport Security (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 100644
index 00000000000..22d1aabc78d
--- /dev/null
+++ b/browser/chrome/overrides/settingsChange.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/browser/crashreporter/crashreporter-override.ini b/browser/crashreporter/crashreporter-override.ini
new file mode 100644
index 00000000000..ef7f549073b
--- /dev/null
+++ b/browser/crashreporter/crashreporter-override.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
+[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 100644
index 00000000000..99e47620596
--- /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 Mozilla Taiwan Community (MozTW)
+
+# If non-English locales wish to credit multiple contributors, uncomment this
+# variable definition and use the format specified.
+#define MOZ_LANGPACK_CONTRIBUTORS Hung-Te Lin(piaip) Wei-Lun Sun(josesun) Tim Guan-Tin Chien(timdream) Peter Pin-Guang Chen(petercpg)
+
+#unfilter emptyLines
diff --git a/browser/extensions/formautofill/formautofill.properties b/browser/extensions/formautofill/formautofill.properties
new file mode 100644
index 00000000000..e331dfbdc37
--- /dev/null
+++ b/browser/extensions/formautofill/formautofill.properties
@@ -0,0 +1,212 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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 = ã
+# 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 = éµéåè
+# 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 = CVV
+
+# 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 = ç¾åéé
+cardNetwork.cartebancaire = Carte Bancaire
+cardNetwork.diners = 大ä¾å¡
+cardNetwork.discover = Discover
+cardNetwork.jcb = JCB
+cardNetwork.mastercard = MasterCard
+cardNetwork.mir = MIR
+cardNetwork.unionpay = éè¯
+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..55cbd5f70a7
--- /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 https://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..009dcb6f9fc
--- /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..009dcb6f9fc
--- /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..5e8f3d02d0c
--- /dev/null
+++ b/browser/firefox-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
+
+# LOCALIZATION NOTE: this preference is set to true for en-US specifically,
+# locales without this line have the setting set to false by default.
+pref("browser.search.geoSpecificDefaults", true);
+
+
+#ifdef XP_WIN
+
+// overwrite zh-CN defaults with zh-TW ones in win32 Firefox. (see bug 603549)
+// noted that below setting should change accordingly if setting in intl/all.js changes.
+pref("font.name.serif.zh-CN", "Times New Roman");
+pref("font.name.sans-serif.zh-CN", "Arial");
+pref("font.name.monospace.zh-CN", "ç´°æé«"); // MingLiU
+pref("font.name-list.serif.zh-CN", "æ°ç´°æé«,PMingLiu,ç´°æé«,MingLiU");
+pref("font.name-list.sans-serif.zh-CN", "æ°ç´°æé«,PMingLiU,ç´°æé«,MingLiU");
+pref("font.name-list.monospace.zh-CN", "MingLiU,ç´°æé«");
+
+#endif
diff --git a/browser/installer/custom.properties b/browser/installer/custom.properties
new file mode 100644
index 00000000000..8f33f32acbd
--- /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 è¨çºé è¨çè¦½å¨ (&U)
+SUMMARY_INSTALL_CLICK=æãå®è£ãç¹¼çºã
+SUMMARY_UPGRADE_CLICK=æä¸ãåç´ãç¹¼çºç¨åºã
+SURVEY_TEXT=å訴æåæ¨è¦ºå¾ $BrandShortName å¦ä½ï¼
+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æã確å®ã鏿å¦ä¸åç®éã
+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=åç´ (&U)
diff --git a/browser/installer/mui.properties b/browser/installer/mui.properties
new file mode 100644
index 00000000000..7fb124d97c4
--- /dev/null
+++ b/browser/installer/mui.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/.
+
+# 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 100644
index 00000000000..dd65f620625
--- /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=æ´æ° (&U)
+STUB_CLEANUP_REINSTALL_BUTTON=éæ°å®è£ (&i)
+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 100644
index 00000000000..bb00d32afa1
--- /dev/null
+++ b/browser/installer/override.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.
+
+# 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ãé試ãåè©¦ä¸æ¬¡ï¼\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="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 100644
index 00000000000..2b585fd21ae
--- /dev/null
+++ b/browser/pdfviewer/chrome.properties
@@ -0,0 +1,20 @@
+# Copyright 2012 Mozilla Foundation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Chrome notification bar messages and buttons
+unsupported_feature=æ¤ PDF æä»¶å¯è½ä¸¦æªæ£ç¢ºé¡¯ç¤ºã
+unsupported_feature_forms=æ¤ PDF æä»¶å
å«è¡¨å®ï¼ä¸æ¯æ´å¡«å¯«è¡¨å®æ¬ä½ã
+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 100644
index 00000000000..70e7a456f48
--- /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=in
+document_properties_page_size_unit_millimeters=mm
+document_properties_page_size_orientation_portrait=åç´
+document_properties_page_size_orientation_landscape=æ°´å¹³
+document_properties_page_size_name_a3=A3
+document_properties_page_size_name_a4=A4
+document_properties_page_size_name_letter=Letter
+document_properties_page_size_name_legal=Legal
+# LOCALIZATION NOTE (document_properties_page_size_dimension_string):
+# "{{width}}", "{{height}}", {{unit}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement and orientation, of the (current) page.
+document_properties_page_size_dimension_string={{width}} Ã {{height}} {{unit}}ï¼{{orientation}}ï¼
+# LOCALIZATION NOTE (document_properties_page_size_dimension_name_string):
+# "{{width}}", "{{height}}", {{unit}}, {{name}}, and {{orientation}} will be replaced by
+# the size, respectively their unit of measurement, name, and orientation, of the (current) page.
+document_properties_page_size_dimension_name_string={{width}} Ã {{height}} {{unit}}ï¼{{name}}ï¼{{orientation}}ï¼
+# LOCALIZATION NOTE (document_properties_linearized): The linearization status of
+# the document; usually called "Fast Web View" in English locales of Adobe software.
+document_properties_linearized=å¿«é Web 檢è¦:
+document_properties_linearized_yes=æ¯
+document_properties_linearized_no=å¦
+document_properties_close=éé
+
+print_progress_message=æ£å¨æºååå°æä»¶â¦
+# LOCALIZATION NOTE (print_progress_percent): "{{progress}}" will be replaced by
+# a numerical per cent value.
+print_progress_percent={{progress}}%
+print_progress_close=åæ¶
+
+# Tooltips and alt text for side panel toolbar buttons
+# (the _label strings are alt text for the buttons, the .title strings are
+# tooltips)
+toggle_sidebar.title=åæå´éæ¬
+toggle_sidebar_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 fonts): ç¡æ³ä½¿ç¨ PDF å
§åµååã
+document_colors_not_allowed=ç覽å¨çãåªå
使ç¨ç¶²é æå®çè²å½©ãæªè¢«å¾é¸ï¼PDF æä»¶ç¡æ³ä½¿ç¨èªå·±çè²å½©ã
diff --git a/browser/profile/bookmarks.inc b/browser/profile/bookmarks.inc
new file mode 100644
index 00000000000..c7266ba3ad3
--- /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 Bug Tracker
+
+# LOCALIZATION NOTE (mdn):
+# Nightly builds only, link title for https://developer.mozilla.org/
+#define mdn Mozilla Developer Network
+
+# 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 測試è
å·¥å
·
+
+# 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 100644
index 00000000000..7ade06129a6
--- /dev/null
+++ b/browser/updater/updater.ini
@@ -0,0 +1,11 @@
+; This Source Code Form is subject to the terms of the Mozilla Public
+; License, v. 2.0. If a copy of the MPL was not distributed with this
+; file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+; This file 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 100644
index 00000000000..8886c8d0728
--- /dev/null
+++ b/calendar/README.txt
@@ -0,0 +1,3 @@
+For information about installing, running and configuring Lightning
+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 100644
index 00000000000..1fba32cf23f
--- /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 åæéã
+reminderErrorMaxCountReachedTask=鏿çè¡äºæä¸å工使å¤åªè½æ #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 100644
index 00000000000..1cab691b5fb
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-event-dialog-attendees.properties
@@ -0,0 +1,16 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+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 100644
index 00000000000..63271a536f7
--- /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 100644
index 00000000000..7c5afd3580b
--- /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=æ¯ #2 ææç %1$S
+weeklyNthOnNounclass2=æ¯ #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=æ¯ #2 åæç %1$S
+monthlyRuleNthOfEveryNounclass2=æ¯ #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=æ¯ #2 åæçæ¯å %1$S
+monthlyEveryOfEveryNounclass2=æ¯ #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 天
+
+# 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=æ¯ #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=æ¯ #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=æ¯ #4 å¹´ç %3$S ç %1$S %2$S
+yearlyNthOnNthOfNounclass2=æ¯ #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=æ¯ #3 å¹´ç %2$S çæ¯å %1$S
+yearlyOnEveryNthOfNthNounclass2=æ¯ #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=æ¯ #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=ç¼çæ¼ %2$S ç %3$S å° %4$S\n%1$S\néè¤ç¼ç #5 次ã
+
+# 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=ç¼çæ¼å¾ %2$S éå§ç\n%1$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=ç¼çæ¼å¾ %2$S å° %3$S\n%1$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=ç¼çæ¼å¾ %2$S å° %3$S ç\n%1$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=ç¼çæ¼å¾ %2$S éå§ç\n%1$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=ç¼çæ¼å¾ %2$S éå§ç\n%1$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=T
+itemMenuLabelTask=å·¥ä½
+itemMenuAccesskeyTask2=T
+
+emailSubjectReply=Re: %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=%3$S %1$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=%4$S %1$S %3$S %2$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 100644
index 00000000000..b3174c9e899
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-extract.properties
@@ -0,0 +1,295 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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 = èµ· | - | èµ· | è | éå§ | å°
+
+# LOCALIZATION NOTE (end.prefix):
+# datetimes with these in front are extracted as end times
+end.prefix = è¿ | è³ | å° | ~ | - | æé: | æéï¼ | å°ææ¥: | å°ææ¥ï¼| çµææ¼
+
+# 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 = > | $
+
+# LOCALIZATION NOTE (no.datetime.suffix):
+# datetimes followed by these won't be used
+no.datetime.suffix = æ¨ | F | : | éµä»¶ | ä¿¡ | å
| å | å¡ | å¼µ | $
+
+# 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$S æ¥ | %1$S è
+
+# LOCALIZATION NOTE (until.ordinal.date):
+# %1$S = matches numbers 1-31 and number.x
+until.ordinal.date =
+
+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 =
+
+# LOCALIZATION NOTE (from.hour.am):
+# %1$S = matches numbers 0-23 and number.0-number.23
+from.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 (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 =
+
+# 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 æ | æä¸ %1$S é» | åæ %1$S æ | åæ %1$S é» | %1$S pm | %1$S PM | %1$S p.m.
+
+# 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 =
+
+# 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 =
+
+# 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 =
+
+# 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 | ç %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 =
+
+# 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 | æ©ä¸ %1$S:%2$S | %1$S:%2$S a.m. | %1$S:%2$S am | %1$S:%2$S AM | ä¸å %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 =
+
+# 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 | %1$S:%2$S pm | %1$S:%2$S PM | %1$S:%2$S p.m. | ä¸å %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 =
+
+# LOCALIZATION NOTE (from.monthname.day):
+# %1$S = matches numbers 1-31 and number.x
+# %2$S = matches monthname
+from.monthname.day = %2$S %1$S æ¥ | %2$S %1$S è | %2$S 第 %1$S æ¥ | %2$S 第 %1$S 天
+
+# LOCALIZATION NOTE (until.monthname.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches monthname
+until.monthname.day =
+
+# LOCALIZATION NOTE (from.month.day):
+# %1$S = matches numbers 1-31
+# %2$S = matches numbers 1-12
+from.month.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 天
+
+# 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 | %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 =
+
+# 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 = %3$S/%2$S/%1$S | %3$S-%2$S-%1$S | %3$S å¹´ %2$S %1$S æ¥ | %2$S %1$S, %3$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 =
+
+# 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 å
+
+# LOCALIZATION NOTE (duration.hours):
+# %1$S = matches 1/2 numbers and number.0 - and number.31
+duration.hours = %1$S å°æ | %1$S æ | %1$S åéé
+
+# LOCALIZATION NOTE (duration.days):
+# %1$S = matches 1/2 numbers and number.0 - and number.31
+duration.days = %1$S 天 | %1$S æ¥
+
+# LOCALIZATION NOTE (month.*):
+# can be a list of values, separate variants by |
+month.1 = 䏿 | 1 æ
+month.2 = äºæ | 2 æ
+month.3 = 䏿 | 3 æ
+month.4 = åæ | 4 æ
+month.5 = äºæ | 5 æ
+month.6 = å
æ | 6 æ
+month.7 = 䏿 | 7 æ
+month.8 = å
«æ | 8 æ
+month.9 = 乿 | 9 æ
+month.10 = åæ | 10 æ
+month.11 = å䏿 | 11 æ
+month.12 = åäºæ | 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 = ä¸ | 第ä¸
+number.2 = äº | 第äº
+number.3 = ä¸ | 第ä¸
+number.4 = å | 第å
+number.5 = äº | 第äº
+number.6 = å
| 第å
+number.7 = ä¸ | 第ä¸
+number.8 = å
« | 第å
«
+number.9 = ä¹ | 第ä¹
+number.10 = å | 第å
+number.11 = åä¸ | 第åä¸
+number.12 = åäº | 第åäº
+number.13 = åä¸ | 第åä¸
+number.14 = åå | 第åå
+number.15 = åäº | 第åäº
+number.16 = åå
| 第åå
+number.17 = åä¸ | 第åä¸
+number.18 = åå
« | 第åå
«
+number.19 = åä¹ | 第åä¹
+number.20 = äºå | 第äºå | 廿 | 第廿
+number.21 = äºåä¸ | 第äºåä¸ | å»¿ä¸ | 第廿ä¸
+number.22 = äºåäº | 第äºåäº | å»¿äº | 第廿äº
+number.23 = äºåä¸ | 第äºåä¸ | å»¿ä¸ | 第廿ä¸
+number.24 = äºåå | 第äºåå | 廿å | 第廿å
+number.25 = äºåäº | 第äºåäº | å»¿äº | 第廿äº
+number.26 = äºåå
| 第äºåå
| 廿å
| 第廿å
+number.27 = äºåä¸ | 第äºåä¸ | å»¿ä¸ | 第廿ä¸
+number.28 = äºåå
« | 第äºåå
« | 廿å
« | 第廿å
«
+number.29 = äºåä¹ | 第äºåä¹ | å»¿ä¹ | 第廿ä¹
+number.30 = ä¸å | 第ä¸å | å
| 第å
+number.31 = ä¸åä¸ | 第ä¸åä¸ | å
ä¸ | 第å
ä¸
+
+# LOCALIZATION NOTE (alphabet):
+# list all lower and uppercase letters if your language has an alphabet
+# otherwise leave it empty
+alphabet =
+
diff --git a/calendar/chrome/calendar/calendar-invitations-dialog.dtd b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
new file mode 100644
index 00000000000..20385cd0d9d
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-invitations-dialog.dtd
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-invitations-dialog.properties b/calendar/chrome/calendar/calendar-invitations-dialog.properties
new file mode 100644
index 00000000000..2c815d5afe1
--- /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 100644
index 00000000000..bad516ed20d
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-occurrence-prompt.dtd
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar-occurrence-prompt.properties b/calendar/chrome/calendar/calendar-occurrence-prompt.properties
new file mode 100644
index 00000000000..962f85381b5
--- /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=æ¯éè¤çå·¥ä½
+
+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 100644
index 00000000000..005d749978e
--- /dev/null
+++ b/calendar/chrome/calendar/calendar-subscriptions-dialog.dtd
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.dtd b/calendar/chrome/calendar/calendar.dtd
new file mode 100644
index 00000000000..36779a6a3d1
--- /dev/null
+++ b/calendar/chrome/calendar/calendar.dtd
@@ -0,0 +1,411 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/calendar.properties b/calendar/chrome/calendar/calendar.properties
new file mode 100644
index 00000000000..d5c6c2004f5
--- /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 Calendar
+
+# LOCALIZATION NOTE (timezoneError):
+# used for an error message like 'An unknown and undefined timezone was found while reading c:\Mycalendarfile.ics'
+# %1$S will be replaced with the path to a file
+timezoneError=è®å %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=Waveform é³è¨æ ¼å¼ (%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=å° iCalendar (ics) æªæ¡è§£ç¢¼çº UTF-8 æç¼çé¯èª¤ãè«æª¢æ¥è©²æªæ¡ (å
å«ç¬¦èèéé³åæ¯) æ¯å¦æ¯ä½¿ç¨ UTF-8 åå
ç·¨ç¢¼çæ¹å¼é²è¡ç·¨ç¢¼ã
+icsMalformedError=åæ iCalendar (ics) æªæ¡å¤±æãè«æª¢æ¥æªæ¡æ¯å¦éµå® iCalendar (ics) æªæ¡èªæ³ã
+itemModifiedOnServerTitle=伺æå¨ä¸çé
ç®å·²è®æ´
+itemModifiedOnServer=æ¤é
ç®æè¿å¨ä¼ºæå¨ä¸å·²è®æ´ã\n
+modifyWillLoseData=éåºæ¨çè®æ´å°æè¦å¯«å¨ä¼ºæå¨ä¸æåçè®æ´ã
+deleteWillLoseData=åªé¤æ¤é
ç®æå¤±å»å¨ä¼ºæå¨ä¸æåçè®æ´ã
+updateFromServer=æ¾æ£æçè®æ´ä¸¦éæ°è®å
+proceedModify=ä¸å¾éåºæçè®æ´
+proceedDelete=ä¸å¾åªé¤
+dav_notDav=%1$S ä¸çè³æºè¥ä¸æ¯é DAV collection å°±æ¯ç¡æ³ç²å
+dav_davNotCaldav=%1$S ä¸çè³æºæ¯ DAV collection ä½ä¸¦ä¸æ¯ CalDAV è¡äºæ
+itemPutError=å²åé
ç®å°ä¼ºæå¨ä¸æç¼çé¯èª¤ã
+itemDeleteError=åªé¤ä¼ºæå¨ä¸çå²åé
ç®æç¼çé¯èª¤ã
+caldavRequestError=å³ééè«æç¼çé¯èª¤ã
+caldavResponseError=å³éåè¦æç¼çé¯èª¤ã
+caldavRequestStatusCode=çæ
碼: %1$S
+caldavRequestStatusCodeStringGeneric=ç¡æ³èçè¦æ±ã
+caldavRequestStatusCodeString400=è¦æ±å
å«é¯èª¤ç奿³ï¼ç¡æ³è¢«èçã
+caldavRequestStatusCodeString403=使ç¨è
缺å°å¿
è¦çæ¬éä¾å·è¡è¦æ±ã
+caldavRequestStatusCodeString404=æ¾ä¸å°è³æºã
+caldavRequestStatusCodeString409=ç¼çè³æºè¡çªã
+caldavRequestStatusCodeString412=缺å°å
決æ¢ä»¶ã
+caldavRequestStatusCodeString500=伺æå¨å
§é¨ç¼çé¯èª¤ã
+caldavRequestStatusCodeString502=ç¡æçééå¨ï¼Proxy è¨å®æ¯ä¸æ¯æåé¡ï¼ï¼ã
+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/Taipei, Asia/Hong_Kong, Asia/Singapore, Asia/Shanghai, Asia/Macau, Asia/Kuala_Lumpur, Asia/Kuching, Asia/Tokyo
+
+# Guessed Timezone errors and warnings.
+# Testing note:
+# * remove preference for calendar.timezone.default in userprofile/prefs.js
+# * repeat
+# - set OS timezone to a city (windows: click right on clock in taskbar)
+# - restart
+# - observe guess in error console and verify whether guessed timezone city
+# makes sense for OS city.
+#
+# 'Warning: Operating system timezone "E. South America Standard Time"
+# no longer matches ZoneInfo timezone "America/Sao_Paulo".'
+# Testing notes:
+# - Brasil DST change dates are set every year by decree, so likely out of sync.
+# - Only appears on OSes from which timezone can be obtained
+# (windows; or TZ env var, /etc/localtime target path, or line in
+# /etc/timezone or /etc/sysconfig/clock contains ZoneInfo timezone id).
+# - Windows: turning off "Automatically adjust clock for daylight saving time"
+# can also trigger this warning.
+WarningOSTZNoMatch=è¦å: 使¥ç³»çµ±æåã%1$Sãè ZoneInfo æåã%2$Sãä¸ç¬¦ã
+
+# "Skipping Operating System timezone 'Pacific/New_Country'."
+# Testing note: not easily testable. May occur someday if (non-windows)
+# OS uses different version of ZoneInfo database which has a timezone name
+# that is not included in our current ZoneInfo database (or if the mapping
+# mapping from windows to ZoneInfo timezone ids does).
+SkippingOSTimezone=ç¥é使¥ç³»çµ±æåã%1$Sãã
+
+# "Skipping locale timezone 'America/New_Yawk'."
+# Testing note: Skipping occurs if a likelyTimezone id is unknown or misspelled.
+SkippingLocaleTimezone=ç¥éèªç³»æåã%1$Sãã
+
+# Testing note: "No match" timezones include Bucharest on W2k.
+# Brazil timezones may be "No match" (change every year, so often out of date,
+# and changes are often more than a week different).
+warningUsingFloatingTZNoMatch=è¦å: 使ç¨ãæµ®åãæåã\næ²æç¬¦å使¥ç³»çµ±æåè³æç ZoneInfo æåè³æã
+
+# "Warning: Using guessed timezone
+# America/New York (UTC-0500/-0400).
+# [rfc2445 summer daylight saving shift rules for timezone]
+# This ZoneInfo timezone almost matches/seems to match..."
+# This ZoneInfo timezone was chosen based on ... "
+WarningUsingGuessedTZ=è¦å: 使ç¨ç測çæå\n %1$S (UTC%2$S)ã\n%3$S\n%4$S
+
+# Testing note: "Almost match" timezones include Cairo on W2k.
+TZAlmostMatchesOSDifferAtMostAWeek=æ¤ ZoneInfo æåå¹¾ä¹ç¬¦å使¥ç³»çµ±çæåã\nå°æ¤è¦åèè¨ï¼ä¸æ¬¡æ¥å
ç¯ç´æéèæ¨æºæéä¹éç鿏¡æ\nè使¥ç³»çµ±æåè½ææå°è´çå·®ç°æå¤ä¸åææã\nå±æè³æå¯è½ææåå·®ï¼ä¾å¦ä¸åçéå§æ¥æãä¸åçè¦åï¼æå°éç¾
馬弿æè¦åçè¿ä¼¼å¼ã
+
+TZSeemsToMatchOS=æ¤ ZoneInfo æå卿¬å¹´åº¦ä¼¼ä¹ç¬¦å使¥ç³»çµ±æåã
+
+# LOCALIZATION NOTE (TZFromOS):
+# used for a display of a chosen timezone
+# %1$S will be replaced with the name of a timezone
+TZFromOS=æ¤ ZoneInfo æåçé¸æä¾æï¼æ¯ä¾ç
§ä½æ¥ç³»çµ±æå IDã%1$Sãã
+
+# Localization note (TZFromLocale): Substitute name of your locale language.
+TZFromLocale=æ¤ ZoneInfo æåçé¸æä¾æï¼æ¯ä½æ¥ç³»çµ±æåè使ç¨ç¾å¼è±æçç¶²é網路使ç¨è
æå乿¯å°çµæã
+
+TZFromKnownTimezones=æ¤ ZoneInfo æåçé¸æä¾æï¼æ¯ä½æ¥ç³»çµ±æåèæåæ¯é åºä¹æå ID å
§å·²ç¥æåçæ¯å°çµæã
+
+# 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=é±
+
+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 åæåç鬧é´ã
+
+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=æ£å¨æª¢æ¥ç¬¬ %1$Sï¼%2$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=鱿¸: %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=鱿¸ç¯å: %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 å°æ
+dueInLessThanOneHour=å°æ¼ 1 å°æ
+
+# 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=%2$S %1$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=%2$S %1$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=%4$S å¹´ %1$S %2$S â %3$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=%5$S å¹´ %1$S %2$S æ¥ â %3$S %4$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=%3$S å¹´ %1$S %2$S æ¥ â %6$S å¹´ %4$S %5$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=%1$S %2$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSameDay):
+# used for intervals where end is on the same day as start, so we can leave out the
+# end date but still include end time
+# displayed form is '5 Jan 2006 13:00 - 17:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the time of the end date
+datetimeIntervalOnSameDay=%1$S %2$S â %3$S
+
+# LOCALIZATION NOTE (datetimeIntervalOnSeveralDays):
+# used for intervals spanning multiple days by including date and time
+# displayed form is '5 Jan 2006 13:00 - 7 Jan 2006 9:00'
+# %1$S will be replaced with the date of the start date
+# %2$S will be replaced with the time of the start date
+# %3$S will be replaced with the date of the end date
+# %4$S will be replaced with the time of the end date
+datetimeIntervalOnSeveralDays=%1$S %2$S â %3$S %4$S
+
+# LOCALIZATION NOTE (datetimeIntervalTaskWithoutDate):
+# used for task without start and due date
+# (showed only in exported calendar in Html format)
+datetimeIntervalTaskWithoutDate= æ²æéå§æå°ææ¥
+# 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 åé
+unitHours=#1 å°æ
+unitDays=#1 æ¥
+unitWeeks=#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 100644
index 00000000000..36716e13f6b
--- /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 100644
index 00000000000..1a8910612d5
--- /dev/null
+++ b/calendar/chrome/calendar/calendarCreation.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/.
+
+error.invalidUri=è«è¼¸å
¥ä¸åææçä½ç½®ã
+error.alreadyExists=æ¨å·²ç¶è¨é±äºéåä½ç½®çè¡äºæã
+
diff --git a/calendar/chrome/calendar/categories.properties b/calendar/chrome/calendar/categories.properties
new file mode 100644
index 00000000000..3c83ab34d24
--- /dev/null
+++ b/calendar/chrome/calendar/categories.properties
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# default categories
+
+categories2=ç´å¿µæ¥,çæ¥,å·¥ä½,é»è©±,客æ¶,å°æ,客æ¶,ææ,è·é¨,禮å,忥,æ³æ³,ç¼ä½,æè°,å
¶ä»,å人,å°æ¡,å
¬ç¾åæ¥,çæ
,便å,æ
è¡,åæ
+
diff --git a/calendar/chrome/calendar/dateFormat.properties b/calendar/chrome/calendar/dateFormat.properties
new file mode 100644
index 00000000000..b9df1bdf1ed
--- /dev/null
+++ b/calendar/chrome/calendar/dateFormat.properties
@@ -0,0 +1,147 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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=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 æ
+
+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.
+# .
+# -> daysIntervalInMonth: 'March 3. - 9., 2008'
+# 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 100644
index 00000000000..cda36c64e54
--- /dev/null
+++ b/calendar/chrome/calendar/dialogs/calendar-event-dialog-reminder.dtd
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/global.dtd b/calendar/chrome/calendar/global.dtd
new file mode 100644
index 00000000000..2d79a800fcb
--- /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 100644
index 00000000000..b42b9fe9eae
--- /dev/null
+++ b/calendar/chrome/calendar/menuOverlay.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.dtd b/calendar/chrome/calendar/migration.dtd
new file mode 100644
index 00000000000..8a82e92db3b
--- /dev/null
+++ b/calendar/chrome/calendar/migration.dtd
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/migration.properties b/calendar/chrome/calendar/migration.properties
new file mode 100644
index 00000000000..c7b6a52993d
--- /dev/null
+++ b/calendar/chrome/calendar/migration.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/.
+
+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 Calendar æ´å
ç¨å¼ãå°æåç¨è©²ç¨å¼ä¸¦éæ°åå %1$Sã
+
diff --git a/calendar/chrome/calendar/preferences/alarms.dtd b/calendar/chrome/calendar/preferences/alarms.dtd
new file mode 100644
index 00000000000..68d04f5bc4d
--- /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 100644
index 00000000000..49c0f2a4cbc
--- /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 100644
index 00000000000..2d9235726fa
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/general.dtd
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/preferences.dtd b/calendar/chrome/calendar/preferences/preferences.dtd
new file mode 100644
index 00000000000..d9ef8fc8cfc
--- /dev/null
+++ b/calendar/chrome/calendar/preferences/preferences.dtd
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/preferences/views.dtd b/calendar/chrome/calendar/preferences/views.dtd
new file mode 100644
index 00000000000..effd687404f
--- /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 100644
index 00000000000..3dec9c28816
--- /dev/null
+++ b/calendar/chrome/calendar/provider-uninstall.dtd
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/providers/gdata/amo.properties b/calendar/chrome/calendar/providers/gdata/amo.properties
new file mode 100644
index 00000000000..9aae3af101f
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/amo.properties
@@ -0,0 +1,22 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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 100644
index 00000000000..da2bc67ae92
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.dtd
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/calendar/providers/gdata/gdata.properties b/calendar/chrome/calendar/providers/gdata/gdata.properties
new file mode 100644
index 00000000000..8934c0f0753
--- /dev/null
+++ b/calendar/chrome/calendar/providers/gdata/gdata.properties
@@ -0,0 +1,58 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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 Calendar
+extensions.{a62ef8ec-5fdc-40c2-873c-223b8a6925cc}.name=Google Calendar æä¾è
+
+# 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 100644
index 00000000000..4ffcb2c0b4a
--- /dev/null
+++ b/calendar/chrome/calendar/providers/wcap/wcap.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/.
+
+# args: host
+accessingServerFailedError.text=ç¡æ³åå %1$S 伺æå¨!
+loginFailed.text=ç»å
¥å¤±æææ¯ç¡æç session IDã
+accessDenied.text=æ¤ä½¿ç¨è
è¢«ç¦æ¢ååã
+
+# args: host
+noHttpsConfirmation.text=ä¸å®å
¨çç»å
¥ %1$Sï¼\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 100644
index 00000000000..5312f71437c
--- /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 Project
+
+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=ç¾æ´²ï¼å
æå«ä»£å
+pref.timezone.America.Lower_Princes=ç¾æ´²ï¼ä¸å¤ªå
+pref.timezone.America.Metlakatla=ç¾æ´²ï¼æ¢
ç¹æå¡ç¹æ
+pref.timezone.America.Sitka=ç¾æ´²ï¼å¤ç¹å¡
+pref.timezone.Asia.Hebron=äºæ´²ï¼å¸ä¼¯ä¾
+
+#added with 2013a
+pref.timezone.America.Creston=ç¾æ´²ï¼å
é·æ¯é
+pref.timezone.Asia.Khandyga=äºæ´²ï¼å ªå°å
+pref.timezone.Asia.Ust-Nera=äºæ´²ï¼çæ¯å
§æ
+pref.timezone.Europe.Busingen=ææ´²ï¼å¸è¾æ ¹
+
+#added with 2014b
+pref.timezone.Antarctica.Troll=忥µæ´²ï¼ç¹æ´
+
+#added with 2014j
+pref.timezone.Asia.Chita=äºæ´²ï¼èµ¤å¡
+pref.timezone.Asia.Srednekolymsk=äºæ´²ï¼ä¸ç§é·å§æ¯å
+pref.timezone.Pacific.Bougainville=太平æ´ï¼å¸å¹²ç¶ç¾å³¶
+
+#added with 2.2015g
+pref.timezone.America.Fort_Nelson=ç¾æ´²ï¼å°¼ç¾æ£®å ¡
+
+#added with 2.2016b
+pref.timezone.Europe.Ulyanovsk=ææ´²ï¼çéæè«¾å¤«æ¯å
+pref.timezone.Europe.Astrakhan=ææ´²ï¼é¿æ¯ç¹æç½
+pref.timezone.Asia.Barnaul=äºæ´²ï¼å·´ç¾çç¾
+
+#added with 2.2016i
+pref.timezone.Asia.Yangon=äºæ´²ï¼ä»°å
+pref.timezone.Asia.Tomsk=äºæ´²ï¼ææ¨æ¯å
+pref.timezone.Asia.Famagusta=äºæ´²ï¼æ³çªå¤æ¯å¡
+pref.timezone.Europe.Kirov=ææ´²ï¼åºæ´å¤«
+
+#added with 2.2016j
+pref.timezone.Europe.Saratov=ææ´²ï¼è©ææå¤«
+pref.timezone.Asia.Atyrau=äºæ´²ï¼é¿ç¹å
+
+#added with 2.2017b
+pref.timezone.America.Punta_Arenas=ç¾æ´²ï¼è¬å¡é¿é·ç´æ¯
+
+#added with 2.2018i
+pref.timezone.Asia.Qostanay=Asia/æ¯æ¯å¡å¥
diff --git a/calendar/chrome/lightning/lightning-toolbar.dtd b/calendar/chrome/lightning/lightning-toolbar.dtd
new file mode 100644
index 00000000000..ea2ebb75fc2
--- /dev/null
+++ b/calendar/chrome/lightning/lightning-toolbar.dtd
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/calendar/chrome/lightning/lightning.dtd b/calendar/chrome/lightning/lightning.dtd
new file mode 100644
index 00000000000..9e4dac4e225
--- /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 100644
index 00000000000..800b54243f4
--- /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 100644
index 00000000000..8d93767b0a3
--- /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", 1);
+
+# 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..145adc84e05
--- /dev/null
+++ b/chat/accounts.dtd
@@ -0,0 +1,41 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chat/accounts.properties b/chat/accounts.properties
new file mode 100644
index 00000000000..931960cd157
--- /dev/null
+++ b/chat/accounts.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 (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 100644
index 00000000000..0f1d1b3fa64
--- /dev/null
+++ b/chat/commands.properties
@@ -0,0 +1,28 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# 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 entity çè¨æ¯ã
+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 100644
index 00000000000..730288cc0cb
--- /dev/null
+++ b/chat/contacts.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 (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 100644
index 00000000000..4e9afd315e6
--- /dev/null
+++ b/chat/conversations.properties
@@ -0,0 +1,81 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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=å°æä½¿ç¨ %2$S ç¹¼çºè %1$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..39bf206e4c1
--- /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=䏿
+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=åäºæ
+
+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 100644
index 00000000000..e406f28357b
--- /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 åç¨äº XMPP ééï¼å°ä¸åæ¯æ´ Facebook è天室ã
diff --git a/chat/imtooltip.properties b/chat/imtooltip.properties
new file mode 100644
index 00000000000..e350d8a8f22
--- /dev/null
+++ b/chat/imtooltip.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/.
+
+buddy.username=使ç¨è
å稱
+buddy.account=帳è
+contact.tags=æ¨ç±¤
+
diff --git a/chat/irc.properties b/chat/irc.properties
new file mode 100644
index 00000000000..98b77e03444
--- /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=é »éï¼_Cï¼
+joinChat.password=å¯ç¢¼ï¼_Pï¼
+
+# 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 <æ±ç¨±!帳è@主æ©>: å°é符åæå®è¦åç使ç¨è
ã
+command.ctcp=%S <æ±ç¨±> <è¨æ¯>: å³é CTCP è¨æ¯çµ¦æå®æ±ç¨±ç人ã
+command.chanserv=%S <å½ä»¤>: å³éå½ä»¤çµ¦ ChanServã
+command.deop=%S <æ±ç¨±ä¸>[,<æ±ç¨±äº>]*: ç§»é¤æå人çé »é管çå¡èº«ä»½ãæ¨å¿
é æ¯é »é管ç塿è½é樣åã
+command.devoice=%S <æ±ç¨±ä¸>[,<æ±ç¨±äº>]*: è¥é »éæ¯å管ççï¼+mï¼ï¼åå¯ç§»é¤æå人å¨é »éä¸çç¼è¨çæ
ï¼è®é£åäººç¡æ³å¨é »éä¸ç¼è¨ãæ¨å¿
é æ¯é »é管ç塿è½é麼åã
+command.invite2=%S <æ±ç¨±>[ <æ±ç¨±>]* [<é »é>]: éè«ä¸æå¤åæ±ç¨±å å
¥æ¨ç®åçé »éï¼æå å
¥æå®çé »éã
+command.join=%S <è天室ä¸>[ <éé°ä¸>][,<è天室äº>[ <éé°äº>]]*: 輸å
¥ä¸åæå¤åé »éï¼æéè¦æä¹å¯ä»¥è¼¸å
¥é »ééé°ã
+command.kick=%S <æ±ç¨±> [<è¨æ¯>]: ææäººå¾é »é踢åºå»ãæ¨å¿
é æ¯é »é管ç塿è½é麼åã
+command.list=%S: 顯示網路ä¸çè天室æ¸
å®ãè¦å: æäºä¼ºæå¨å¯è½æå¨æ¨å·è¡æ¤æä»¤å¾ææ¨è¸¢åºå»ã
+command.memoserv=%S <å½ä»¤>: å³éå½ä»¤çµ¦ MemoServã
+command.modeUser2=%S <æ±ç¨±> [(+|-)<模å¼>]: åå¾ãè¨å®æåæ¶è¨å®ä½¿ç¨è
çæ¨¡å¼ã
+command.modeChannel2=%S [<é »é>] [(+|-)<æ°æ¨¡å¼> [<忏>][,<忏>]*]: åå¾ãè¨å®æåæ¶è¨å®é »éçæ¨¡å¼ã
+command.msg=%S <æ±ç¨±> <è¨æ¯>: å³éç§äººè¨æ¯çµ¦æå使ç¨è
ï¼è䏿¯ç´æ¥ç¼å°é »éä¸ï¼ã
+command.nick=%S <æ°æ±ç¨±>: ä¿®æ¹æ¨çæ±ç¨±ã
+command.nickserv=%S <å½ä»¤>: å³éå½ä»¤çµ¦ NickServã
+command.notice=%S <ç®æ¨> <è¨æ¯>: å³ééç¥çµ¦æå使ç¨è
ææåé »éã
+command.op=%S <æ±ç¨±ä¸>[,<æ±ç¨±äº>]*: ææ¬æå人æçºé »é管çå¡ãæ¨å¿
é æ¯é »é管ç塿è½é樣ã
+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 <æ±ç¨±ä¸>[,<æ±ç¨±äº>]*: ææ¬æäººçé »éç¼è¨çæ
ãæ¨å¿
é æ¯é »é管ç塿è½é樣åã
+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=æ¨å·²é¢éè天室ï¼Part%1$Sï¼ã
+# %1$S is the user's nick, %2$S is message.parted.reason, if a part message is given.
+message.parted=%1$S å·²é¢éè天室ï¼Part%2$Sï¼ã
+# %S is the part message supplied by the user.
+message.parted.reason=:Â %S
+# %1$S is the user's nick, %2$S is message.quit2 if a quit message is given.
+message.quit=%1$S å·²é¢éè天室ï¼Quit%2$Sï¼ã
+# The parameter is the quit message given by the user.
+message.quit2=:Â %S
+# %1$S is the nickname of the user that invited us, %2$S is the conversation
+# name.
+message.inviteReceived=%1$S å·²éè«æ¨å å
¥ %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=\ua0\ua0\ua0\ua0%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=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 100644
index 00000000000..5ed057e1478
--- /dev/null
+++ b/chat/logger.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 (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..88bc5594d6a
--- /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..96684dbde34
--- /dev/null
+++ b/chat/skype.properties
@@ -0,0 +1,15 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (connection.*):
+# These will show in the account manager to show progress during a connection.
+connecting.authenticating=é©èä¸
+connecting.registrationToken=æ£å¨åå¾è¨»å token
+
+# LOCALIZATION NOTE (error.*):
+# These will show in the account manager if the account is disconnected
+# because of an error.
+error.auth=ç¡æ³å伺æå¨é©è
+error.registrationToken=註å token åå¾å¤±æ
+
diff --git a/chat/status.properties b/chat/status.properties
new file mode 100644
index 00000000000..ea29e405b71
--- /dev/null
+++ b/chat/status.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/.
+
+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 100644
index 00000000000..c0581174bbf
--- /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=ç¡æ³åå¾è«æ±ç tokenã
+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=ææ¬ä½¿ç¨æ¨ç Twitter 帳è
+
+# 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 <使ç¨è
å稱>[ <使ç¨è
å稱>]*: éå§éæ³¨ä¸æå¤ä½ä½¿ç¨è
ã
+command.unfollow=%S <使ç¨è
å稱>[ <使ç¨è
å稱>]*: 忢鿳¨ä¸æå¤ä½ä½¿ç¨è
ã
diff --git a/chat/xmpp.properties b/chat/xmpp.properties
new file mode 100644
index 00000000000..fc0cabfae87
--- /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=ç¡æ³å»ºç« Socketï¼æ¨é¢ç·äºåï¼ï¼
+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=å¯ç¢¼ï¼_Pï¼
+
+# 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 å·²éè«æ¨ä½¿ç¨å¯ç¢¼ %3$S å å
¥ %2$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 å·²å° %2$S èªè天室å°é: %3$S
+conversation.message.banned.you=æ¨å·²è¢«è天室å°éã
+# %1$S is the reason.
+conversation.message.banned.you.reason=æ¨å·²è¢«è天室å°é: %1$S
+# %1$S is the person who is banning.
+# %2$S is the reason.
+conversation.message.banned.you.actor=%1$S 已尿¨å¾è天室å°éã
+conversation.message.banned.you.actor.reason=%1$S 已尿¨å¾è天室å°é: %2$S
+
+# LOCALIZATION NOTE (conversation.message.kicked.*):
+# These are displayed as a system message when a participant is kicked from
+# a room.
+# %1$S is the participant that is kicked.
+# %2$S is the reason.
+conversation.message.kicked=%1$S 已被踢åºè天室ã
+conversation.message.kicked.reason=%1$S 已被踢åºè天室: %2$S
+# %1$S is the person who is kicking.
+# %2$S is the participant that is kicked.
+# %3$S is the reason.
+conversation.message.kicked.actor=%1$S å·²å° %2$S 踢åºè天室ã
+conversation.message.kicked.actor.reason=%1$S å·²å° %2$S 踢åºè天室: %3$S
+conversation.message.kicked.you=æ¨å·²è¢«è¸¢åºè天室ã
+# %1$S is the reason.
+conversation.message.kicked.you.reason=æ¨å·²è¢«è¸¢åºè天室: %1$S
+# %1$S is the person who is kicking.
+# %2$S is the reason.
+conversation.message.kicked.you.actor=%1$S 已尿¨è¸¢åºè天室ã
+conversation.message.kicked.you.actor.reason=%1$S 已尿¨è¸¢åºè天室: %2$S
+
+# LOCALIZATION NOTE (conversation.message.removedNonMember.*):
+# These are displayed as a system message when a participant is removed from
+# a room because the room has been changed to members-only.
+# %1$S is the participant that is removed.
+# %2$S is the person who changed the room configuration.
+conversation.message.removedNonMember=ç±æ¼èå¤©å®¤æ´æ¹è¨å®çºé宿å¡ï¼%1$S å·²ç¶è¢«è¸¢åºè天室ã
+conversation.message.removedNonMember.actor=ç±æ¼ %2$S æ´æ¹è¨å®çºé宿å¡ï¼%1$S å·²ç¶è¢«è¸¢åºè天室ã
+conversation.message.removedNonMember.you=ç±æ¼èå¤©å®¤æ´æ¹è¨å®çºé宿å¡ï¼æ¨å·²ç¶è¢«è¸¢åºè天室ã
+# %1$S is the person who changed the room configuration.
+conversation.message.removedNonMember.you.actor=ç±æ¼ %1$S æ´æ¹è天室è¨å®çºé宿å¡ï¼æ¨å·²ç¶è¢«è¸¢åºè天室ã
+
+# LOCALIZATION NOTE (conversation.message.MUCShutdown):
+# These are displayed as a system message when a participant is removed from
+# a room because of a system shutdown.
+conversation.message.mucShutdown=ç±æ¼ç³»çµ±ééï¼æ¨å·²è¢«è¸¢åºè天室ã
+
+# LOCALIZATION NOTE (conversation.message.version*):
+# %1$S is the name of the user whose version was requested.
+# %2$S is the client name response from the client.
+# %3$S is the client version response from the client.
+# %4$S is the operating system(OS) response from the client.
+conversation.message.version=%1$S æ£å¨ä½¿ç¨ã%2$S %3$Sãã
+conversation.message.versionWithOS=%1$S æ£å¨ä½¿ç¨ %4$S ä¸çã%2$S %3$Sãã
+
+# LOCALIZATION NOTE (options.*):
+# These are the protocol specific options shown in the account manager and
+# account wizard windows.
+options.resource=è³æº
+options.priority=éè¦æ§
+options.connectionSecurity=é£ç·å®å
¨æ§
+options.connectionSecurity.requireEncryption=å¿
éå å¯
+options.connectionSecurity.opportunisticTLS=å¯ç¨æå å¯
+options.connectionSecurity.allowUnencryptedAuth=å
許以æªå å¯çæ¹å¼å³éå¯ç¢¼
+options.connectServer=伺æå¨
+options.connectPort=å
+options.domain=ç¶²å
+
+# LOCALIZATION NOTE (*.protocolName)
+# This name is used whenever the name of the protocol is shown.
+gtalk.protocolName=Google Talk
+odnoklassniki.protocolName=Odnoklassniki
+
+# LOCALIZATION NOTE (gtalk.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Google Talk account.
+gtalk.usernameHint=é»åéµä»¶å°å
+
+# LOCALIZATION NOTE (odnoklassniki.usernameHint):
+# This is displayed inside the accountUsernameInfoWithDescription
+# string defined in imAccounts.properties when the user is
+# configuring a Odnoklassniki account.
+odnoklassniki.usernameHint=åäººè³æ ID
+
+# LOCALZIATION NOTE (command.*):
+# These are the help messages for each command.
+command.join3=%S [<è天室>[@<伺æå¨>][/<æ±ç¨±>]] [<å¯ç¢¼>]: å å
¥è天室ï¼å¯å¦å¤æå®é£ç·è³ä¸åç伺æå¨ãæå®æ±ç¨±æä½¿ç¨è天室å¯ç¢¼ã
+command.part2=%S [<è¨æ¯>]: é¢éè天室ï¼å¯çä¸é¢éè¨æ¯ã
+command.topic=%S [<æ°ä¸»é¡>]: è¨å®æ¤èå¤©å®¤çæ°ä¸»é¡ã
+command.ban=%S <æ±ç¨±>[<è¨æ¯>]ï¼æ¨å¿
é æææ¤è天室管çå¡çè³æ ¼ï¼æè½å°éæ¤è天室ä¸çæäººã
+command.kick=%S <æ±ç¨±>[<è¨æ¯>]ï¼æ¨å¿
é æææ¤è天室管çå¡çè³æ ¼ï¼æè½è¸¢é¤æ¤è天室ä¸çæäººã
+command.invite=%S <jid>[<message>]ï¼éè«ä½¿ç¨è
å å
¥ç®åè天室並çä¸è¨æ¯ã
+command.inviteto=%S <è天室 jid>[<å¯ç¢¼>]: éè«æ¨çéè¨å¤¥ä¼´å å
¥è天室ï¼è¥éè¦ç話å¯è¼¸å
¥å¯ç¢¼ã
+command.me=%S <è¦åçåä½>: ååºæååä½ã
+command.nick=%S <æ°æ±ç¨±>: ä¿®æ¹æ¨çæ±ç¨±ã
+command.msg=%S <æ±ç¨±> <è¨æ¯>: å³éç§äººè¨æ¯çµ¦è天室å
§çæå¡ã
+command.version=%S: è«æ±æ¨çéè¨å¤¥ä¼´æä¾æ£å¨ä½¿ç¨ä¸ç客æ¶ç«¯çæ¬è³è¨ã
diff --git a/chat/yahoo.properties b/chat/yahoo.properties
new file mode 100644
index 00000000000..f4822f06948
--- /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 åç¨äºèççéè¨åå®ï¼å°ä¸åæ¯æ´ Yahoo Messengerã
diff --git a/devtools/client/VariablesView.dtd b/devtools/client/VariablesView.dtd
new file mode 100644
index 00000000000..7e2ab7323ef
--- /dev/null
+++ b/devtools/client/VariablesView.dtd
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
diff --git a/devtools/client/aboutdebugging.dtd b/devtools/client/aboutdebugging.dtd
new file mode 100644
index 00000000000..8f3e97d6ad9
--- /dev/null
+++ b/devtools/client/aboutdebugging.dtd
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/devtools/client/aboutdebugging.ftl b/devtools/client/aboutdebugging.ftl
new file mode 100644
index 00000000000..c90d4cb22f7
--- /dev/null
+++ b/devtools/client/aboutdebugging.ftl
@@ -0,0 +1,304 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+### 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 = é¤é¯ - Runtime / { $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 = æ¼éåçæ¬ç { -brand-shorter-name } ä½¿ç¨ { about-debugging-this-firefox-runtime-name } ä¾å°åé ãæ´å
å¥ä»¶è Service Worker é¤é¯ã
+# Explanatory text in the Setup page about what the 'This Firefox' page is for
+about-debugging-setup-this-firefox2 = æ¼éåçæ¬ç { -brand-shorter-name } ä½¿ç¨ { about-debugging-this-firefox-runtime-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 = æ¼ãéç¼è
é¸å®ãéåã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 Workers
+# Title of the shared workers category.
+about-debugging-runtime-shared-workers =
+ .name = å
񄧮 Workers
+# Title of the other workers category.
+about-debugging-runtime-other-workers =
+ .name = å
¶ä» Workers
+# Title of the processes category.
+about-debugging-runtime-processes =
+ .name = Processes
+# 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 = å®è£è³è¨æªç¶²å
+# 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 = Scope
+# 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 = ä¸»è¦ Process
+# 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 = ç®æ¨ç覽å¨çä¸»è¦ Process
+# 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..76eb1f24d94
--- /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 = 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 = é忤åè½å°å
許æ¨å°éå å
ä»¶åçè¦½å¨ chrome çæäºé¨åé¤é¯ã
+
+# 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 = å®è£è³è¨æªç¶²å
+
+# 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 = Workers
+
+serviceWorkers = Service Workers
+sharedWorkers = å
񄧮 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..d1a27c4d080
--- /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=beta
diff --git a/devtools/client/animationinspector.properties b/devtools/client/animationinspector.properties
new file mode 100644
index 00000000000..dffeb4f77af
--- /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=Iteration éå§: %1$S (%2$Ss)
+
+# 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=Iteration éå§: %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=%Ss
+
+# LOCALIZATION NOTE (player.infiniteDurationText):
+# This string is displayed in animation player widget, in case the duration of the
+# animation is infinite.
+player.infiniteTimeLabel=â
+
+# LOCALIZATION NOTE (player.playbackRateLabel):
+# This string is displayed in each animation player widget, as the label of
+# drop-down list items that can be used to change the rate at which the
+# animation runs (1Ã being the default, 2Ã being twice as fast).
+player.playbackRateLabel=%SÃ
+
+# LOCALIZATION NOTE (player.runningOnCompositorTooltip):
+# This string is displayed as a tooltip for the icon that indicates that the
+# animation is running on the compositor thread.
+player.runningOnCompositorTooltip=æ¤åç«å¨åæå·è¡ç·ä¸å·è¡
+
+# 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=%Sms
+
+# LOCALIZATION NOTE (timeline.cssanimation.nameLabel):
+# This string is displayed in a tooltip of the animation panel that is shown
+# when hovering over the name of a CSS Animation in the timeline UI.
+# %S will be replaced by the name of the animation at run-time.
+timeline.cssanimation.nameLabel=%S - 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 è½å ´
+
+# 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 100644
index 00000000000..0fae346009a
--- /dev/null
+++ b/devtools/client/app-manager.properties
@@ -0,0 +1,30 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+validator.nonExistingFolder=å°æ¡è³æå¤¾ä¸åå¨
+validator.expectProjectFolder=å°æ¡è³æå¤¾è·¯å¾ççµå°¾æ¯æªæ¡
+validator.noManifestFile=å°è£çæç¨ç¨å¼å°æ¡æ ¹è³æå¤¾ä¸éè¦æåçºãmanifest.webappãçå®è£è³è¨æªï¼éå å
件忝éè¦ååçºãmanifest.jsonãã
+validator.invalidManifestURL=å®è£è³è¨æªç¶²åã%Sãç¡æ
+# LOCALIZATION NOTE (validator.invalidManifestJSON, validator.noAccessManifestURL):
+# %1$S is the error message, %2$S is the URI of the manifest.
+validator.invalidManifestJSON=webapp çå®è£è³è¨æªä¸æ¯ææç JSON æªæ¡: %1$S æ¼: %2$S
+validator.noAccessManifestURL=ç¡æ³è®å使¼ %2$S çå®è£è³è¨æª: %1$S
+# LOCALIZATION NOTE (validator.invalidHostedManifestURL): %1$S is the URI of
+# the manifest, %2$S is the error message.
+validator.invalidHostedManifestURL=代管çå®è£è³è¨æªç¶²åã%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=è¦éåºå° Marketplace çæç¨ç¨å¼å¿
é è¦æ 128px 大å°çå示
+validator.invalidAppType=æªç¥çæç¨ç¨å¼é¡å:ã%Sãã
+validator.invalidHostedPriviledges=代管çæç¨ç¨å¼é¡åä¸è½çºã%Sãã
+validator.noCertifiedSupport=æç¨ç¨å¼ç®¡çå¡ç¡æ³å®æ´æ¯æ´ãå·²é©èãçæç¨ç¨å¼ã
+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..1b85d4b783c
--- /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 Workers
+# Text displayed next to the list of Service Workers to encourage users to check out
+# about:debugging to see all registered Service Workers.
+serviceworker-list-aboutdebugging = éå 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 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-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 = å
è½æ¼åç¨ multi e10s æï¼æè½å° 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 = å
è½æ¼åç¨ multi e10s æï¼æè½åå service worker
+# Text displayed for the updated time of the service worker. The