--- a/browser/chrome/browser/aboutAccounts.dtd
+++ b/browser/chrome/browser/aboutAccounts.dtd
@@ -1,10 +1,11 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!ENTITY aboutAccounts.welcome "Welcome to &syncBrand.shortName.label;">
+<!ENTITY aboutAccounts.connected "Account connected">
<!ENTITY aboutAccountsConfig.description "Sign in to synchronise your tabs, bookmarks, passwords & more.">
<!ENTITY aboutAccountsConfig.startButton.label "Get started">
<!ENTITY aboutAccountsConfig.useOldSync.label "Using an older version of Sync?">
-<!ENTITY aboutAccountsConfig.manage.label "Manage">
+<!ENTITY aboutAccountsConfig.syncPreferences.label "Sync preferences">
--- a/browser/chrome/browser/aboutHome.dtd
+++ b/browser/chrome/browser/aboutHome.dtd
@@ -6,18 +6,16 @@
%brandDTD;
<!ENTITY % syncBrandDTD SYSTEM "chrome://browser/locale/syncBrand.dtd">
%syncBrandDTD;
<!-- These strings are used in the about:home page -->
<!ENTITY abouthome.pageTitle "&brandFullName; Start Page">
-<!ENTITY abouthome.searchEngineButton.label "Search">
-
<!-- LOCALIZATION NOTE (abouthome.defaultSnippet1.v1):
text in <a/> will be linked to the Firefox features page on mozilla.com
-->
<!ENTITY abouthome.defaultSnippet1.v1 "Thanks for choosing Firefox! To get the most out of your browser, learn more about the <a>latest features</a>.">
<!-- LOCALIZATION NOTE (abouthome.defaultSnippet2.v1):
text in <a/> will be linked to the featured add-ons on addons.mozilla.org
-->
<!ENTITY abouthome.defaultSnippet2.v1 "It's easy to customise your Firefox exactly the way you want it. <a>Choose from thousands of add-ons</a>.">
--- a/browser/chrome/browser/aboutPrivateBrowsing.dtd
+++ b/browser/chrome/browser/aboutPrivateBrowsing.dtd
@@ -1,19 +1,64 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-<!ENTITY aboutPrivateBrowsing.title "You're browsing privately">
-<!ENTITY aboutPrivateBrowsing.title.normal "Open a private window?">
+<!ENTITY aboutPrivateBrowsing.notPrivate "You are currently not in a private window.">
+<!ENTITY privatebrowsingpage.openPrivateWindow.label "Open a Private Window">
+<!ENTITY privatebrowsingpage.openPrivateWindow.accesskey "P">
+
+<!ENTITY privateBrowsing.title "Private Browsing">
-<!ENTITY aboutPrivateBrowsing.subtitle "&brandShortName; won't remember any history for this window.">
-<!ENTITY aboutPrivateBrowsing.subtitle.normal "&brandShortName; won't remember any history for private windows.">
+<!-- LOCALIZATION NOTE (aboutPrivateBrowsing.width):
+ Width of the Private Browsing section. This should depend primarily on the
+ length of the headers and text, but should be roughly 1.5 times the width
+ of the Tracking Protection section, and in general not much larger than
+ 30em to prevent the sections from wrapping on smaller window sizes.
+ -->
+<!ENTITY aboutPrivateBrowsing.width "30em">
-<!ENTITY aboutPrivateBrowsing.description "That includes browsing history, search history, download history, web form history, cookies, and temporary internet files. However, files you download and bookmarks you make will be kept.">
+<!-- LOCALIZATION NOTE (aboutPrivateBrowsing.subtitle,
+ aboutPrivateBrowsing.info.forgotten, aboutPrivateBrowsing.info.kept):
+ These strings will be replaced by aboutPrivateBrowsing.forgotten and
+ aboutPrivateBrowsing.kept when the new visual design lands (bug 1192625).
+ -->
+<!ENTITY aboutPrivateBrowsing.title "You're browsing privately">
+<!ENTITY aboutPrivateBrowsing.subtitle "In this window, &brandShortName; will not remember any history.">
-<!ENTITY aboutPrivateBrowsing.notPrivate "You are currently not in a private window.">
+<!ENTITY aboutPrivateBrowsing.forgotten "In this window, &brandShortName; will not remember:">
+<!ENTITY aboutPrivateBrowsing.info.forgotten "Not Saved">
+<!ENTITY aboutPrivateBrowsing.info.history "History">
+<!ENTITY aboutPrivateBrowsing.info.searches "Searches">
+<!ENTITY aboutPrivateBrowsing.info.cookies "Cookies">
+<!ENTITY aboutPrivateBrowsing.info.temporaryFiles "Temporary Files">
-<!ENTITY aboutPrivateBrowsing.moreInfo "While this computer won't have a record of your browsing history, your employer or internet service provider can still track the pages you visit.">
+<!ENTITY aboutPrivateBrowsing.kept "&brandShortName; will keep:">
+<!ENTITY aboutPrivateBrowsing.info.kept "Saved">
+<!ENTITY aboutPrivateBrowsing.info.downloads "Downloads">
+<!ENTITY aboutPrivateBrowsing.info.bookmarks "Bookmarks">
+
+<!ENTITY aboutPrivateBrowsing.note1 "Please note that your employer or Internet service provider can still track the pages you visit.">
<!ENTITY aboutPrivateBrowsing.learnMore "Learn More.">
-<!ENTITY privatebrowsingpage.openPrivateWindow.label "Open a Private Window">
-<!ENTITY privatebrowsingpage.openPrivateWindow.accesskey "P">
+<!-- LOCALIZATION NOTE (trackingProtection.width):
+ Width of the Tracking Protection section. It is fine for the enabled or
+ disabled indicator or the words in the title to wrap to the next line, but
+ you can expand or reduce this section to fit better, as long as the width
+ of the Private Browsing section is roughly 1.5 times the width of this one.
+ Note that the required space may vary between platforms because fonts are
+ different, so testing on Windows, Mac, and Linux is encouraged.
+ -->
+<!ENTITY trackingProtection.width "22em">
+<!ENTITY trackingProtection.title "Tracking Protection">
+
+<!-- LOCALIZATION NOTE (trackingProtection.state.width):
+ Width of the element representing the enabled or disabled indicator.
+ -->
+<!ENTITY trackingProtection.state.width "6ch">
+<!ENTITY trackingProtection.state.enabled "ON">
+<!ENTITY trackingProtection.state.disabled "OFF">
+
+<!ENTITY trackingProtection.description1 "Private windows now block parts of the page that may track your browsing activity.">
+
+<!ENTITY trackingProtection.disable "Turn Tracking Protection Off">
+<!ENTITY trackingProtection.enable "Turn Tracking Protection On">
+<!ENTITY trackingProtection.startTour1 "See how this works">
--- a/browser/chrome/browser/browser.dtd
+++ b/browser/chrome/browser/browser.dtd
@@ -105,34 +105,33 @@ These should match what Safari and other
<!ENTITY exitFullScreenCmd.accesskey "F">
<!ENTITY fullScreenCmd.label "Full Screen">
<!ENTITY fullScreenCmd.accesskey "F">
<!ENTITY fullScreenCmd.macCommandKey "f">
<!ENTITY showAllTabsCmd.label "Show All Tabs">
<!ENTITY showAllTabsCmd.accesskey "A">
<!ENTITY fxaSignIn.label "Sign in to &syncBrand.shortName.label;">
+<!ENTITY fxaSignedIn.tooltip "Open &syncBrand.shortName.label; preferences">
<!ENTITY fxaSignInError.label "Reconnect to &syncBrand.shortName.label;">
<!ENTITY syncStartPanel2.heading "&syncBrand.shortName.label; enabled">
<!ENTITY syncStartPanel2.subTitle "&brandShortName; will begin synchronising momentarily.">
<!ENTITY syncErrorPanel.heading "Cannot connect to &syncBrand.shortName.label;">
<!ENTITY syncErrorPanel.subTitle "Please sign in to resume synchronising.">
<!ENTITY syncErrorPanel.signInButton.label "Sign In">
<!ENTITY syncErrorPanel.signInButton.accesskey "S">
<!ENTITY fullScreenMinimize.tooltip "Minimise">
<!ENTITY fullScreenRestore.tooltip "Restore">
<!ENTITY fullScreenClose.tooltip "Close">
<!ENTITY fullScreenAutohide.label "Hide Toolbars">
<!ENTITY fullScreenAutohide.accesskey "H">
<!ENTITY fullScreenExit.label "Exit Full Screen Mode">
<!ENTITY fullScreenExit.accesskey "F">
-<!ENTITY fullscreenAllowButton.label "Allow">
-<!ENTITY fullscreenExitButton.label "Deny">
<!ENTITY fullscreenExitHint2.value "Press ESC at any time to exit.">
<!ENTITY leaveDOMFullScreen.label "Exit Full Screen">
<!ENTITY leaveDOMFullScreen.accesskey "u">
<!ENTITY closeWindow.label "Close Window">
<!ENTITY closeWindow.accesskey "d">
@@ -391,16 +390,21 @@ These should match what Safari and other
<!ENTITY customizeMenu.addMoreItems.label "Add More Items…">
<!ENTITY customizeMenu.addMoreItems.accesskey "A">
<!ENTITY openCmd.commandkey "l">
<!ENTITY urlbar.placeholder2 "Search or enter address">
<!ENTITY urlbar.accesskey "d">
<!ENTITY urlbar.switchToTab.label "Switch to tab:">
+<!ENTITY urlbar.searchSuggestionsNotification.question "Would you like to improve your search experience with suggestions?">
+<!ENTITY urlbar.searchSuggestionsNotification.learnMore "Learn more…">
+<!ENTITY urlbar.searchSuggestionsNotification.disable "No">
+<!ENTITY urlbar.searchSuggestionsNotification.enable "Yes">
+
<!--
Comment duplicated from browser-sets.inc:
Search Command Key Logic works like this:
Unix: Ctrl+J (0.8, 0.9 support)
Ctrl+K (cross platform binding)
Mac: Cmd+K (cross platform binding)
@@ -415,16 +419,22 @@ These should match what Safari and other
is a fundamental keybinding and we are maintaining a XP binding so that it is easy
for people to switch to Linux.
-->
<!ENTITY searchFocus.commandkey "k">
<!ENTITY searchFocus.commandkey2 "e">
<!ENTITY searchFocusUnix.commandkey "j">
+<!-- LOCALIZATION NOTE (contentSearchInput.label, contentSearchSubmit.label):
+ These are set as the aria-label attribute for the search input box and
+ submit button in the in-content search UI, to be used by screen readers. -->
+<!ENTITY contentSearchInput.label "Search query">
+<!ENTITY contentSearchSubmit.label "Submit search">
+
<!-- LOCALIZATION NOTE (searchFor.label, searchWith.label):
These two strings are used to build the header above the list of one-click
search providers: "Search for <used typed keywords> with:" -->
<!ENTITY searchFor.label "Search for ">
<!ENTITY searchWith.label " with:">
<!-- LOCALIZATION NOTE (search.label, searchAfter.label):
This string is used to build the header above the list of one-click search
@@ -629,16 +639,18 @@ you can use these alternative items. Oth
<!ENTITY quitApplicationCmdMac2.label "Quit &brandShorterName;">
<!-- LOCALIZATION NOTE(quitApplicationCmdUnix.key): This keyboard shortcut is used by both Linux and OSX builds. -->
<!ENTITY quitApplicationCmdUnix.key "Q">
<!ENTITY closeCmd.label "Close">
<!ENTITY closeCmd.key "W">
<!ENTITY closeCmd.accesskey "C">
+<!ENTITY toggleMuteCmd.key "M">
+
<!ENTITY pageStyleMenu.label "Page Style">
<!ENTITY pageStyleMenu.accesskey "y">
<!ENTITY pageStyleNoStyle.label "No Style">
<!ENTITY pageStyleNoStyle.accesskey "N">
<!ENTITY pageStylePersistentOnly.label "Basic Page Style">
<!ENTITY pageStylePersistentOnly.accesskey "B">
<!ENTITY pageReportIcon.tooltip "Change popup blocking settings for this web site">
@@ -671,19 +683,43 @@ you can use these alternative items. Oth
<!ENTITY spellAddDictionaries.accesskey "A">
<!ENTITY editBookmark.done.label "Done">
<!ENTITY editBookmark.cancel.label "Cancel">
<!ENTITY editBookmark.removeBookmark.accessKey "R">
<!ENTITY identity.connectionSecure "Secure Connection">
<!ENTITY identity.connectionNotSecure "Connection is Not Secure">
+<!ENTITY identity.connectionFile "This page is stored on your computer.">
<!ENTITY identity.connectionVerified "&brandShortName; verified that you are securely connected to this site, run by:">
<!ENTITY identity.connectionInternal "This is a secure &brandShortName; page.">
+<!-- Strings for connection state warnings. -->
+<!ENTITY identity.activeBlocked "&brandShortName; has blocked parts of this page that are not secure.">
+<!ENTITY identity.passiveLoaded "Parts of this page are not secure (such as images).">
+<!ENTITY identity.activeLoaded "You have disabled protection on this page.">
+<!ENTITY identity.weakEncryption "This page uses weak encryption.">
+
+<!-- Strings for connection state warnings in the subview. -->
+<!ENTITY identity.description.insecure "Your connection to this site is not private. Information you submit could be viewed by others (like passwords, messages, credit cards, etc.).">
+<!ENTITY identity.description.weakCipher "Your connection to this web site uses weak encryption and is not private.">
+<!ENTITY identity.description.weakCipher2 "Other people can view your information or modify the web site's behaviour.">
+<!ENTITY identity.description.activeBlocked "&brandShortName; has blocked parts of this page that are not secure.">
+<!ENTITY identity.description.passiveLoaded "Your connection is not private and information you share with the site could be viewed by others.">
+<!ENTITY identity.description.passiveLoaded2 "This web site contains content that is not secure (such as images).">
+<!ENTITY identity.description.passiveLoaded3 "Although &brandShortName; has blocked some content, there is still content on the page that is not secure (such as images).">
+<!ENTITY identity.description.activeLoaded "This web site contains content that is not secure (such as scripts) and your connection to it is not private.">
+<!ENTITY identity.description.activeLoaded2 "Information you share with this site could be viewed by others (like passwords, messages, credit cards, etc.).">
+
+<!ENTITY identity.enableMixedContentBlocking.label "Enable protection">
+<!ENTITY identity.enableMixedContentBlocking.accesskey "E">
+<!ENTITY identity.disableMixedContentBlocking.label "Disable protection for now">
+<!ENTITY identity.disableMixedContentBlocking.accesskey "D">
+<!ENTITY identity.learnMore "Learn More">
+
<!ENTITY identity.moreInfoLinkText2 "More Information">
<!ENTITY identity.permissions "Permissions">
<!-- Name for the tabs toolbar as spoken by screen readers.
The word "toolbar" is appended automatically and should not be contained below! -->
<!ENTITY tabsToolbar.label "Browser tabs">
@@ -749,30 +785,35 @@ you can use these alternative items. Oth
<!ENTITY social.markpageMenu.label "Save Page To…">
<!ENTITY social.marklinkMenu.accesskey "L">
<!ENTITY social.marklinkMenu.label "Save Link To…">
<!ENTITY getUserMedia.selectCamera.label "Camera to share:">
<!ENTITY getUserMedia.selectCamera.accesskey "C">
<!ENTITY getUserMedia.selectMicrophone.label "Microphone to share:">
<!ENTITY getUserMedia.selectMicrophone.accesskey "M">
+<!ENTITY getUserMedia.audioCapture.label "Audio from the tab will be shared.">
<!ENTITY getUserMedia.allWindowsShared.message "All visible windows on your screen will be shared.">
-<!-- Bad Content Blocker Doorhanger Notification -->
-<!ENTITY badContentBlocked.moreinfo "Most web sites will work properly even if content is blocked.">
-
-<!ENTITY mixedContentBlocked2.message "Insecure content">
-<!ENTITY mixedContentBlocked2.moreinfo "Some unencrypted elements on this web site have been blocked.">
-<!ENTITY mixedContentBlocked2.learnMore "Learn More">
-<!ENTITY mixedContentBlocked2.options "Options">
-<!ENTITY mixedContentBlocked2.unblock.label "Disable protection for now">
-<!ENTITY mixedContentBlocked2.unblock.accesskey "D">
-<!ENTITY mixedContentBlocked2.block.label "Enable protection">
-<!ENTITY mixedContentBlocked2.block.accesskey "E">
-<!ENTITY mixedContentBlocked2.disabled.message "Protection is disabled">
+<!ENTITY trackingProtection.title "Tracking Protection">
+<!ENTITY trackingProtection.detectedBlocked3 "&brandShortName; is blocking parts of the page that may track your browsing.">
+<!ENTITY trackingProtection.detectedNotBlocked3 "This site includes elements that may track your browsing. You have disabled protection.">
+<!ENTITY trackingProtection.notDetected3 "No tracking elements detected on this page.">
+<!-- LOCALIZATION NOTE (trackingProtection.unblock.label, trackingProtection.unblock.accesskey):
+ The associated button with this label and accesskey is only shown when opening the control
+ center while looking at a site with trackers in NON-private browsing mode. -->
+<!ENTITY trackingProtection.unblock.label "Disable protection for this site">
+<!ENTITY trackingProtection.unblock.accesskey "D">
+<!-- LOCALIZATION NOTE (trackingProtection.unblockPrivate.label, trackingProtection.unblockPrivate.accesskey):
+ The associated button with this label and accesskey is only shown when opening the control
+ center while looking at a site with trackers in PRIVATE browsing mode. -->
+<!ENTITY trackingProtection.unblockPrivate.label "Disable protection for this session">
+<!ENTITY trackingProtection.unblockPrivate.accesskey "D">
+<!ENTITY trackingProtection.block2.label "Enable protection">
+<!ENTITY trackingProtection.block2.accesskey "E">
<!ENTITY trackingContentBlocked.message "Tracking">
<!ENTITY trackingContentBlocked.moreinfo "Parts of the page that track your online activity have been blocked.">
<!ENTITY trackingContentBlocked.learnMore "Learn More">
<!ENTITY trackingContentBlocked.options "Options">
<!ENTITY trackingContentBlocked.unblock2.label "Disable protection for this site">
<!ENTITY trackingContentBlocked.unblock2.accesskey "D">
<!ENTITY trackingContentBlocked.block.label "Enable protection">
@@ -836,27 +877,14 @@ you can use these alternative items. Oth
<!ENTITY emeLearnMoreContextMenu.label "Learn more about DRM…">
<!ENTITY emeLearnMoreContextMenu.accesskey "D">
<!ENTITY emeNotificationsNotNow.label "Not now">
<!ENTITY emeNotificationsNotNow.accesskey "N">
<!ENTITY emeNotificationsDontAskAgain.label "Don't ask me again">
<!ENTITY emeNotificationsDontAskAgain.accesskey "D">
-<!ENTITY readingList.label "Reading List">
-<!ENTITY readingList.sidebar.commandKey "R">
-<!ENTITY readingList.showSidebar.label "Show Reading List Sidebar">
-<!-- Pre-landed string for bug 1124153 -->
-<!ENTITY readingList.sidebar.showMore.label "Show more…">
-<!-- Pre-landed string for bug 1133662 -->
-<!ENTITY readingList.sidebar.emptyText "Add articles to your Reading List to save them for later and find them easily when you need them.">
-<!-- Pre-landed string for bug 1123525 -->
-<!ENTITY readingList.sidebar.delete.tooltip "Remove this from your Reading List">
-<!-- Pre-landed strings for bug 1123519 -->
-<!ENTITY readingList.sidebar.add.label "Add to Reading List">
-<!ENTITY readingList.sidebar.add.tooltip "Add this page to your Reading List">
-
<!-- LOCALIZATION NOTE (saveToPocketCmd.label, saveLinkToPocketCmd.label, pocketMenuitem.label): Pocket is a brand name -->
<!ENTITY saveToPocketCmd.label "Save Page to Pocket">
<!ENTITY saveToPocketCmd.accesskey "k">
<!ENTITY saveLinkToPocketCmd.label "Save Link to Pocket">
<!ENTITY saveLinkToPocketCmd.accesskey "o">
<!ENTITY pocketMenuitem.label "View Pocket List">
--- a/browser/chrome/browser/browser.properties
+++ b/browser/chrome/browser/browser.properties
@@ -324,20 +324,27 @@ offlineApps.notNowAccessKey=N
offlineApps.usage=This web site (%S) is now storing more than %SMB of data on your computer for offline use.
offlineApps.manageUsage=Show settings
offlineApps.manageUsageAccessKey=S
identity.identified.verifier=Verified by: %S
identity.identified.verified_by_you=You have added a security exception for this site.
identity.identified.state_and_country=%S, %S
-identity.broken_loaded=The connection to this web site is not fully secure because it contains unencrypted elements (such as images) or the encryption is not strong enough.
-identity.mixed_active_loaded2=This web site contains interactive content that isn't encrypted (such as scripts). Other people can view your information or modify the web site's behavior.
+identity.unknown.tooltip=This web site does not supply identity information.
-identity.unknown.tooltip=This web site does not supply identity information.
+trackingProtection.intro.title=How Tracking Protection works
+# LOCALIZATION NOTE (trackingProtection.intro.description): %S is brandShortName
+trackingProtection.intro.description=When the shield is visible, that means Firefox is actively blocking content that tracks you.
+# LOCALIZATION NOTE (trackingProtection.intro.step1of3): Indicates that the intro panel is step one of three in a tour.
+trackingProtection.intro.step1of3=1 of 3
+trackingProtection.intro.nextButton.label=Next
+
+trackingProtection.icon.activeTooltip=Tracking attempts blocked
+trackingProtection.icon.disabledTooltip=Tracking content detected
# Edit Bookmark UI
editBookmarkPanel.pageBookmarkedTitle=Page Bookmarked
editBookmarkPanel.pageBookmarkedDescription=%S will always remember this page for you.
editBookmarkPanel.bookmarkedRemovedTitle=Bookmark Removed
editBookmarkPanel.editBookmarkTitle=Edit This Bookmark
# LOCALIZATION NOTE (editBookmark.removeBookmarks.label): Semicolon-separated list of plural forms.
@@ -491,18 +498,16 @@ webapps.uninstall = Uninstall
webapps.uninstall.accesskey = U
webapps.doNotUninstall = Don't Uninstall
webapps.doNotUninstall.accesskey = D
#LOCALIZATION NOTE (webapps.requestUninstall) %1$S is the web app name
webapps.requestUninstall = Do you want to uninstall "%1$S"?
# LOCALIZATION NOTE (fullscreen.entered): displayed when we enter HTML5 fullscreen mode, %S is the domain name of the focused website (e.g. mozilla.com).
fullscreen.entered=%S is now fullscreen.
-# LOCALIZATION NOTE (fullscreen.rememberDecision): displayed when we enter HTML5 fullscreen mode, %S is the domain name of the focused website (e.g. mozilla.com).
-fullscreen.rememberDecision=Remember decision for %S
# LOCALIZATION NOTE (fullscreenButton.tooltip): %S is the keyboard shortcut for full screen
fullscreenButton.tooltip=Display the window in full screen (%S)
service.toolbarbutton.label=Services
service.toolbarbutton.tooltiptext=Services
# LOCALIZATION NOTE (social.install.description): %1$S is the hostname of the social provider, %2$S is brandShortName (e.g. Firefox)
@@ -541,23 +546,27 @@ identity.next.accessKey = N
# LOCALIZATION NOTE: shown in the popup notification when a user successfully logs into a website
# LOCALIZATION NOTE (identity.loggedIn.description): %S is the user's identity (e.g. user@example.com)
identity.loggedIn.description = Signed in as: %S
identity.loggedIn.signOut.label = Sign Out
identity.loggedIn.signOut.accessKey = O
# LOCALIZATION NOTE (getUserMedia.shareCamera.message, getUserMedia.shareMicrophone.message,
# getUserMedia.shareScreen.message, getUserMedia.shareCameraAndMicrophone.message,
-# getUserMedia.shareScreenAndMicrophone.message):
+# getUserMedia.shareScreenAndMicrophone.message, getUserMedia.shareCameraAndAudioCapture.message,
+# getUserMedia.shareAudioCapture.message, getUserMedia.shareScreenAndAudioCapture.message):
# %S is the website origin (e.g. www.mozilla.org)
getUserMedia.shareCamera.message = Would you like to share your camera with %S?
getUserMedia.shareMicrophone.message = Would you like to share your microphone with %S?
getUserMedia.shareScreen.message = Would you like to share your screen with %S?
getUserMedia.shareCameraAndMicrophone.message = Would you like to share your camera and microphone with %S?
+getUserMedia.shareCameraAndAudioCapture.message = Would you like to share your camera and this tab's audio with %S?
getUserMedia.shareScreenAndMicrophone.message = Would you like to share your microphone and screen with %S?
+getUserMedia.shareScreenAndAudioCapture.message = Would you like to share this tab's audio and your screen with %S?
+getUserMedia.shareAudioCapture.message = Would you like to share this tab's audio with %S?
getUserMedia.selectWindow.label=Window to share:
getUserMedia.selectWindow.accesskey=W
getUserMedia.selectScreen.label=Screen to share:
getUserMedia.selectScreen.accesskey=S
getUserMedia.selectApplication.label=Application to share:
getUserMedia.selectApplication.accesskey=A
getUserMedia.noVideo.label = No Video
getUserMedia.noApplication.label = No Application
@@ -589,62 +598,83 @@ getUserMedia.never.label = Never Share
getUserMedia.never.accesskey = N
getUserMedia.sharingCamera.message2 = You are currently sharing your camera with this page.
getUserMedia.sharingMicrophone.message2 = You are currently sharing your microphone with this page.
getUserMedia.sharingCameraAndMicrophone.message2 = You are currently sharing your camera and microphone with this page.
getUserMedia.sharingApplication.message = You are currently sharing an application with this page.
getUserMedia.sharingScreen.message = You are currently sharing your screen with this page.
getUserMedia.sharingWindow.message = You are currently sharing a window with this page.
getUserMedia.sharingBrowser.message = You are currently sharing a tab with this page.
+getUserMedia.sharingAudioCapture.message = You are currently sharing a tab's audio with this page.
getUserMedia.continueSharing.label = Continue Sharing
getUserMedia.continueSharing.accesskey = C
getUserMedia.stopSharing.label = Stop Sharing
getUserMedia.stopSharing.accesskey = S
getUserMedia.sharingMenu.label = Tabs sharing devices
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.sharingMenuMicrophoneBrowser,
+# getUserMedia.sharingMenuAudioCaptureApplication,
+# getUserMedia.sharingMenuAudioCaptureScreen,
+# getUserMedia.sharingMenuAudioCaptureWindow,
+# getUserMedia.sharingMenuAudioCaptureBrowser):
# %S is the website origin (e.g. www.mozilla.org)
getUserMedia.sharingMenuCamera = %S (camera)
getUserMedia.sharingMenuMicrophone = %S (microphone)
+getUserMedia.sharingMenuAudioCapture = %S (tab audio)
getUserMedia.sharingMenuApplication = %S (application)
getUserMedia.sharingMenuScreen = %S (screen)
getUserMedia.sharingMenuWindow = %S (window)
getUserMedia.sharingMenuBrowser = %S (tab)
getUserMedia.sharingMenuCameraMicrophone = %S (camera and microphone)
getUserMedia.sharingMenuCameraMicrophoneApplication = %S (camera, microphone and application)
getUserMedia.sharingMenuCameraMicrophoneScreen = %S (camera, microphone and screen)
getUserMedia.sharingMenuCameraMicrophoneWindow = %S (camera, microphone and window)
getUserMedia.sharingMenuCameraMicrophoneBrowser = %S (camera, microphone and tab)
+getUserMedia.sharingMenuCameraAudioCapture = %S (camera and tab audio)
+getUserMedia.sharingMenuCameraAudioCaptureApplication = %S (camera, tab audio and application)
+getUserMedia.sharingMenuCameraAudioCaptureScreen = %S (camera, tab audio and screen)
+getUserMedia.sharingMenuCameraAudioCaptureWindow = %S (camera, tab audio and window)
+getUserMedia.sharingMenuCameraAudioCaptureBrowser = %S (camera, tab audio and tab)
getUserMedia.sharingMenuCameraApplication = %S (camera and application)
getUserMedia.sharingMenuCameraScreen = %S (camera and screen)
getUserMedia.sharingMenuCameraWindow = %S (camera and window)
getUserMedia.sharingMenuCameraBrowser = %S (camera and tab)
getUserMedia.sharingMenuMicrophoneApplication = %S (microphone and application)
getUserMedia.sharingMenuMicrophoneScreen = %S (microphone and screen)
getUserMedia.sharingMenuMicrophoneWindow = %S (microphone and window)
getUserMedia.sharingMenuMicrophoneBrowser = %S (microphone and tab)
+getUserMedia.sharingMenuAudioCaptureApplication = %S (tab audio and application)
+getUserMedia.sharingMenuAudioCaptureScreen = %S (tab audio and screen)
+getUserMedia.sharingMenuAudioCaptureWindow = %S (tab audio and window)
+getUserMedia.sharingMenuAudioCaptureBrowser = %S (tab audio and tab)
# 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 = Unknown origin
# LOCALIZATION NOTE(emeNotifications.drmContentPlaying.message2): %S is brandShortName.
emeNotifications.drmContentPlaying.message2 = Some audio or video on this site uses DRM software, which may limit what %S can let you do with it.
emeNotifications.drmContentPlaying.button.label = Configure…
emeNotifications.drmContentPlaying.button.accesskey = C
@@ -700,92 +730,20 @@ customizeTips.tip0.learnMore = Learn mor
# the appmenu labels and buttons that appear when an update is staged for
# installation or a background update has failed and a manual download is required.
# %S is brandShortName
appmenu.restartNeeded.description = Restart %S to apply updates
appmenu.updateFailed.description = Background update failed, please download update
appmenu.restartBrowserButton.label = Restart %S
appmenu.downloadUpdateButton.label = Download Update
-# LOCALIZATION NOTE : FILE Reading List and Reader View are feature names and therefore typically used as proper nouns.
+# LOCALIZATION NOTE : FILE Reading View is a feature name and therefore typically used as proper noun.
-# Pre-landed string for bug 1124153
-# LOCALIZATION NOTE(readingList.sidebar.showMore.tooltip): %S is the number of items that will be added by clicking this button
-# Semicolon-separated list of plural forms. See:
-# http://developer.mozilla.org/en/docs/Localization_and_Plurals
-readingList.sidebar.showMore.tooltip = Show %S more item;Show %S more items
-# Pre-landed strings for bug 1131457 / bug 1131461
-readingList.urlbar.add = Add page to Reading List
-readingList.urlbar.addDone = Page added to Reading List
-readingList.urlbar.remove = Remove page from Reading List
-readingList.urlbar.removeDone = Page removed from Reading List
-# Pre-landed strings for bug 1133610 & bug 1133611
-# LOCALIZATION NOTE(readingList.promo.noSync.label): %S a link, using the text from readingList.promo.noSync.link
-readingList.promo.noSync.label = Access your Reading List on all your devices. %S
-# LOCALIZATION NOTE(readingList.promo.noSync.link): %S is syncBrandShortName
-readingList.promo.noSync.link = Get started with %S.
-# LOCALIZATION NOTE(readingList.promo.hasSync.label): %S is syncBrandShortName
-readingList.promo.hasSync.label = You can now access your Reading List on all your devices connected by %S.
-
-# Pre-landed strings for bug 1136570
-readerView.promo.firstDetectedArticle.title = Read and save articles easily
-readerView.promo.firstDetectedArticle.body = Click the book to make articles easier to read and use the plus to save them for later.
-readingList.promo.firstUse.exitTourButton = Close
-# LOCALIZATION NOTE(readingList.promo.firstUse.tourDoneButton):
-# » is used as an indication that pressing this button progresses through the tour.
-readingList.promo.firstUse.tourDoneButton = Start Reading »
-# LOCALIZATION NOTE(readingList.promo.firstUse.readingList.multipleStepsTitle):
-# This is used when there are multiple steps in the tour.
-# %1$S is the current step's title (readingList.promo.firstUse.*.title), %2$S is the current step number of the tour, %3$S is the total number of steps.
-readingList.promo.firstUse.multipleStepsTitle = %1$S (%2$S/%3$S)
-readingList.promo.firstUse.readingList.title = Reading List
-readingList.promo.firstUse.readingList.body = Save articles for later and find them easily when you need them.
-# LOCALIZATION NOTE(readingList.promo.firstUse.readingList.moveToButton):
-# » is used as an indication that pressing this button progresses through the tour.
-readingList.promo.firstUse.readingList.moveToButton = Next: Easy finding »
readingList.promo.firstUse.readerView.title = Reader View
readingList.promo.firstUse.readerView.body = Remove clutter so you can focus exactly on what you want to read.
-# LOCALIZATION NOTE(readingList.promo.firstUse.readerView.moveToButton):
-# » is used as an indication that pressing this button progresses through the tour.
-readingList.promo.firstUse.readerView.moveToButton = Next: Easy reading »
-readingList.promo.firstUse.syncNotSignedIn.title = Synchronise
-# LOCALIZATION NOTE(readingList.promo.firstUse.syncNotSignedIn.body): %S is brandShortName
-readingList.promo.firstUse.syncNotSignedIn.body = Sign in to access your Reading List everywhere you use %S.
-# LOCALIZATION NOTE(readingList.promo.firstUse.syncNotSignedIn.moveToButton):
-# » is used as an indication that pressing this button progresses through the tour.
-readingList.promo.firstUse.syncNotSignedIn.moveToButton = Next: Easy access »
-readingList.promo.firstUse.syncSignedIn.title = Synchronise
-# LOCALIZATION NOTE(readingList.promo.firstUse.syncSignedIn.body): %S is brandShortName
-readingList.promo.firstUse.syncSignedIn.body = Open your Reading List articles everywhere you use %S.
-# LOCALIZATION NOTE(readingList.promo.firstUse.syncSignedIn.moveToButton):
-# » is used as an indication that pressing this button progresses through the tour.
-readingList.promo.firstUse.syncSignedIn.moveToButton = Next: Easy access »
-
-# Pre-landed strings for bug 1136570
-# LOCALIZATION NOTE(readingList.prepopulatedArticles.learnMore):
-# This will show as an item in the Reading List, and will link to a page that explains and shows how the Reading List and Reader View works.
-# This will be staged at:
-# https://www.allizom.org/firefox/reading/start/
-# And eventually available at:
-# https://www.mozilla.org/firefox/reading/start/
-# %S is brandShortName
-readingList.prepopulatedArticles.learnMore = Learn how %S makes reading more pleasant
-# LOCALIZATION NOTE(readingList.prepopulatedArticles.supportReadingList):
-# This will show as an item in the Reading List, and will link to a SUMO article describing the Reading List:
-# https://support.mozilla.org/kb/save-sync-and-read-pages-anywhere-reading-list
-readingList.prepopulatedArticles.supportReadingList = Save, synchronise and read pages anywhere with Reading List
-# LOCALIZATION NOTE(readingList.prepopulatedArticles.supportReaderView):
-# This will show as an item in the Reading List, and will link to a SUMO article describing the Reader View:
-# https://support.mozilla.org/kb/enjoy-clutter-free-web-pages-reader-view
-readingList.prepopulatedArticles.supportReaderView = Enjoy clutter-free Web pages with Reader View
-# LOCALIZATION NOTE(readingList.prepopulatedArticles.learnMore):
-# This will show as an item in the Reading List, and will link to a SUMO article describing Sync:
-# https://support.mozilla.org/kb/how-do-i-set-up-firefox-sync
-# %S is syncBrandShortName
-readingList.prepopulatedArticles.supportSync = Access your Reading List anywhere with %S
# LOCALIZATION NOTE (e10s.offerPopup.mainMessage
# e10s.offerPopup.highlight1
# e10s.offerPopup.highlight2
# e10s.offerPopup.enableAndRestart.label
# e10s.offerPopup.enableAndRestart.accesskey
# e10s.offerPopup.noThanks.label
# e10s.offerPopup.noThanks.accesskey
--- a/browser/chrome/browser/customizableui/customizableWidgets.properties
+++ b/browser/chrome/browser/customizableui/customizableWidgets.properties
@@ -92,16 +92,19 @@ quit-button.tooltiptext.linux2 = Quit %1
# 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 = Quit %1$S (%2$S)
# LOCALIZATION NOTE(loop-call-button3.label): This is a brand name, request
# approval before you change it.
loop-call-button3.label = Hello
loop-call-button3.tooltiptext = Start a conversation
+# LOCALIZATION NOTE(loop-call-button3-pb.tooltiptext): Shown when the button is
+# placed inside a Private Browsing window. %S is the value of loop-call-button3.label.
+loop-call-button3-pb.tooltiptext = %S is not available in Private Browsing
social-share-button.label = Share This Page
social-share-button.tooltiptext = Share This Page
panic-button.label = Forget
panic-button.tooltiptext = Forget about some browsing history
web-apps-button.label = Apps
--- a/browser/chrome/browser/devtools/debugger.dtd
+++ b/browser/chrome/browser/devtools/debugger.dtd
@@ -45,16 +45,20 @@
- checkbox that toggles auto pretty print. -->
<!ENTITY debuggerUI.autoPrettyPrint "Auto Prettify Minified Sources">
<!ENTITY debuggerUI.autoPrettyPrint.accesskey "P">
<!-- LOCALIZATION NOTE (debuggerUI.sources.toggleBreakpoints): This is the tooltip for the
- button that toggles all breakpoints for all sources. -->
<!ENTITY debuggerUI.sources.toggleBreakpoints "Enable/disable all breakpoints">
+<!-- LOCALIZATION NOTE (debuggerUI.sources.togglePromiseDebugger): This is the
+ - tooltip for the button that toggles the promise debugger. -->
+<!ENTITY debuggerUI.sources.togglePromiseDebugger "Toggle Promise Debugger">
+
<!-- LOCALIZATION NOTE (debuggerUI.startTracing): This is the text displayed in
- the button to start execution tracing. -->
<!ENTITY debuggerUI.startTracing "Start Tracing">
<!-- LOCALIZATION NOTE (debuggerUI.clearButton): This is the label for
- the button that clears the collected tracing data in the tracing tab. -->
<!ENTITY debuggerUI.clearButton "Clear">
--- a/browser/chrome/browser/devtools/filterwidget.dtd
+++ b/browser/chrome/browser/devtools/filterwidget.dtd
@@ -7,8 +7,18 @@
- on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'. -->
<!-- LOCALIZATION NOTE (filterListSelectPlaceholder): This string is used as
- a preview option in the list of possible filters <select> -->
<!ENTITY filterListSelectPlaceholder "Select a Filter">
<!-- LOCALIZATION NOTE (addNewFilterButton): This string is displayed on a button used to add new filters -->
<!ENTITY addNewFilterButton "Add">
+
+<!-- LOCALIZATION NOTE (newPresetPlaceholder): This string is used as
+ - a placeholder in the list of presets which is used to save a new preset -->
+<!ENTITY newPresetPlaceholder "Preset Name">
+
+<!-- LOCALIZATION NOTE (savePresetButton): This string is displayed on a button used to save a new preset -->
+<!ENTITY savePresetButton "Save">
+
+<!-- LOCALIZATION NOTE(presetsToggleButton): This string is used in a button which toggles the presets list -->
+<!ENTITY presetsToggleButton "Presets">
--- a/browser/chrome/browser/devtools/filterwidget.properties
+++ b/browser/chrome/browser/devtools/filterwidget.properties
@@ -6,16 +6,22 @@
# which can be found in a tooltip that appears in the Rule View when clicking
# on a filter swatch displayed next to CSS declarations like 'filter: blur(2px)'.
# LOCALIZATION NOTE (emptyFilterList):
# This string is displayed when filter's list is empty
# (no filter specified / all removed)
emptyFilterList=No filter specified
+# LOCALIZATION NOTE (emptyPresetList):
+# This string is displayed when preset's list is empty
+emptyPresetList=You don't have any saved presets, \
+You can store filter presets by choosing a name and saving them. \
+Presets are quickly accessible and you can re-use them with ease.
+
# LOCALIZATION NOTE (addUsingList):
# This string is displayed under [emptyFilterList] when filter's
# list is empty, guiding user to add a filter using the list below it
addUsingList=Add a filter using the list below
# LOCALIZATION NOTE (dropShadowPlaceholder):
# This string is used as a placeholder for drop-shadow's input
# in the filter list (shown when <input> is empty)
new file mode 100644
--- /dev/null
+++ b/browser/chrome/browser/devtools/markers.properties
@@ -0,0 +1,154 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Performance Tools
+# which is available from the Web Developer sub-menu -> 'Performance'.
+# 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. These strings
+# are specifically for marker names in the performance tool.
+
+# LOCALIZATION NOTE (marker.label.*):
+# These strings are displayed in the Performance Tool waterfall, identifying markers.
+# We want to use the same wording as Google Chrome when appropriate.
+marker.label.styles=Recalculate Style
+marker.label.reflow=Layout
+marker.label.paint=Paint
+marker.label.javascript=Function Call
+marker.label.parseHTML=Parse HTML
+marker.label.parseXML=Parse XML
+marker.label.domevent=DOM Event
+marker.label.consoleTime=Console
+marker.label.garbageCollection=Incremental GC
+marker.label.garbageCollection.nonIncremental=Non-incremental GC
+marker.label.cycleCollection=Cycle Collection
+marker.label.cycleCollection.forgetSkippable=CC Graph Reduction
+marker.label.timestamp=Timestamp
+marker.label.unknown=Unknown
+
+# LOCALIZATION NOTE (marker.label.javascript.*):
+# These strings are displayed as JavaScript markers that have special
+# reasons that can be translated.
+marker.label.javascript.scriptElement=Script Tag
+marker.label.javascript.promiseCallback=Promise Callback
+marker.label.javascript.promiseInit=Promise Init
+marker.label.javascript.workerRunnable=Worker
+marker.label.javascript.jsURI=JavaScript URI
+marker.label.javascript.eventHandler=Event Handler
+
+# LOCALIZATION NOTE (marker.fieldFormat):
+# Some timeline markers come with details, like a size, a name, a js function.
+# %1$S is replaced with one of the above label (marker.label.*) and %2$S
+# with the details. For examples: Paint (200x100), or console.time (FOO)
+marker.fieldFormat=%1$S (%2$S)
+
+# LOCALIZATION NOTE (marker.field.*):
+# Strings used in the waterfall sidebar as property names.
+
+# General marker fields
+marker.field.start=Start:
+marker.field.end=End:
+marker.field.duration=Duration:
+# Field names for stack values
+marker.field.stack=Stack:
+marker.field.startStack=Stack at start:
+marker.field.endStack=Stack at end:
+# %S is the "Async Cause" of a marker, and this signifies that the cause
+# was an asynchronous one in a displayed stack.
+marker.field.asyncStack=(Async: %S)
+# For console.time markers
+marker.field.consoleTimerName=Timer Name:
+# For DOM Event markers
+marker.field.DOMEventType=Event Type:
+marker.field.DOMEventPhase=Phase:
+# Non-incremental cause for a Garbage Collection marker
+marker.field.nonIncrementalCause=Non-incremental Cause:
+# For "Recalculate Style" markers
+marker.field.restyleHint=Restyle Hint:
+# General "reason" for a marker (JavaScript, Garbage Collection)
+marker.field.causeName=Cause:
+# General "type" for a marker (Cycle Collection, Garbage Collection)
+marker.field.type=Type:
+
+# Strings used in the waterfall sidebar as values.
+marker.value.unknownFrame=<unknown location>
+marker.value.DOMEventTargetPhase=Target
+marker.value.DOMEventCapturingPhase=Capture
+marker.value.DOMEventBubblingPhase=Bubbling
+
+# LOCALIZATION NOTE (marker.gcreason.label.*):
+# These strings are used to give a concise but readable description of a GC reason.
+marker.gcreason.label.API=API Call
+marker.gcreason.label.EAGER_ALLOC_TRIGGER=Eager Allocation Trigger
+marker.gcreason.label.DESTROY_RUNTIME=Shutdown
+marker.gcreason.label.DESTROY_CONTEXT=Shutdown
+marker.gcreason.label.LAST_DITCH=Out of Memory
+marker.gcreason.label.TOO_MUCH_MALLOC=Too Many Bytes Allocated
+marker.gcreason.label.ALLOC_TRIGGER=Too Many Allocations
+marker.gcreason.label.DEBUG_GC=Debug GC
+marker.gcreason.label.COMPARTMENT_REVIVED=Dead Global Revived
+marker.gcreason.label.RESET=Finish Incremental Cycle
+marker.gcreason.label.OUT_OF_NURSERY=Nursery is Full
+marker.gcreason.label.EVICT_NURSERY=Nursery Eviction
+marker.gcreason.label.FULL_STORE_BUFFER=Nursery Objects Too Active
+marker.gcreason.label.SHARED_MEMORY_LIMIT=Large Allocation Failed
+marker.gcreason.label.PERIODIC_FULL_GC=Periodic Full GC
+marker.gcreason.label.INCREMENTAL_TOO_SLOW=Allocations Rate Too Fast
+marker.gcreason.label.COMPONENT_UTILS=Cu.forceGC
+marker.gcreason.label.MEM_PRESSURE=Low Memory
+marker.gcreason.label.CC_WAITING=Forced by Cycle Collection
+marker.gcreason.label.CC_FORCED=Forced by Cycle Collection
+marker.gcreason.label.LOAD_END=Page Load Finished
+marker.gcreason.label.PAGE_HIDE=Moved to Background
+marker.gcreason.label.NSJSCONTEXT_DESTROY=Destroy JS Context
+marker.gcreason.label.SET_NEW_DOCUMENT=New Document
+marker.gcreason.label.SET_DOC_SHELL=New Document
+marker.gcreason.label.DOM_UTILS=API Call
+marker.gcreason.label.DOM_IPC=IPC
+marker.gcreason.label.DOM_WORKER=Periodic Worker GC
+marker.gcreason.label.INTER_SLICE_GC=Periodic Incremental GC Slice
+marker.gcreason.label.FULL_GC_TIMER=Periodic Full GC
+marker.gcreason.label.SHUTDOWN_CC=Shutdown
+marker.gcreason.label.FINISH_LARGE_EVALUATE=Large Eval
+marker.gcreason.label.DOM_WINDOW_UTILS=User Inactive
+marker.gcreason.label.USER_INACTIVE=User Inactive
+
+# LOCALIZATION NOTE (marker.gcreason.description.*):
+# These strings are used to give an expanded description of why a GC occurred.
+marker.gcreason.description.API=There was an API call to force garbage collection.
+marker.gcreason.description.EAGER_ALLOC_TRIGGER=JavaScript returned to the event loop and there were enough bytes allocated since the last GC that a new GC cycle was triggered.
+marker.gcreason.description.DESTROY_RUNTIME=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
+marker.gcreason.description.DESTROY_CONTEXT=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
+marker.gcreason.description.LAST_DITCH=JavaScript attempted to allocate, but there was no memory available. Doing a full compacting garbage collection as an attempt to free up memory for the allocation.
+marker.gcreason.description.TOO_MUCH_MALLOC=JavaScript allocated too many bytes, and forced a garbage collection.
+marker.gcreason.description.ALLOC_TRIGGER=JavaScript allocated too many times, and forced a garbage collection.
+marker.gcreason.description.DEBUG_GC=GC due to Zeal debug settings.
+marker.gcreason.description.COMPARTMENT_REVIVED=A global object that was thought to be dead at the start of the GC cycle was revived by the end of the GC cycle.
+marker.gcreason.description.RESET=The active incremental GC cycle was forced to finish immediately.
+marker.gcreason.description.OUT_OF_NURSERY=JavaScript allocated enough new objects in the nursery that it became full and triggered a minor GC.
+marker.gcreason.description.EVICT_NURSERY=Work needed to be done on the tenured heap, requiring the nursery to be empty.
+marker.gcreason.description.FULL_STORE_BUFFER=There were too many properties on tenured objects whose value was an object in the nursery.
+marker.gcreason.description.SHARED_MEMORY_LIMIT=A large allocation was requested, but there was not enough memory.
+marker.gcreason.description.PERIODIC_FULL_GC=JavaScript returned to the event loop, and it has been a relatively long time since Firefox performed a garbage collection.
+marker.gcreason.description.INCREMENTAL_TOO_SLOW=A full, non-incremental garbage collection was triggered because there was a faster rate of allocations than the existing incremental garbage collection cycle could keep up with.
+marker.gcreason.description.COMPONENT_UTILS=Components.utils.forceGC() was called to force a garbage collection.
+marker.gcreason.description.MEM_PRESSURE=There was very low memory available.
+marker.gcreason.description.CC_WAITING=The cycle collector required a garbage collection.
+marker.gcreason.description.CC_FORCED=The cycle collector required a garbage collection.
+marker.gcreason.description.LOAD_END=The document finished loading.
+marker.gcreason.description.PAGE_HIDE=The tab or window was moved to the background.
+marker.gcreason.description.NSJSCONTEXT_DESTROY=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
+marker.gcreason.description.SET_NEW_DOCUMENT=The page has been navigated to a new document.
+marker.gcreason.description.SET_DOC_SHELL=The page has been navigated to a new document.
+marker.gcreason.description.DOM_UTILS=There was an API call to force garbage collection.
+marker.gcreason.description.DOM_IPC=Received an inter-process message that requested a garbage collection.
+marker.gcreason.description.DOM_WORKER=The worker was idle for a relatively long time.
+marker.gcreason.description.INTER_SLICE_GC=There has been a relatively long time since the last incremental GC slice.
+marker.gcreason.description.FULL_GC_TIMER=JavaScript returned to the event loop, and it has been a relatively long time since we performed a garbage collection.
+marker.gcreason.description.SHUTDOWN_CC=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
+marker.gcreason.description.FINISH_LARGE_EVALUATE=Firefox finished evaluating a large script, and performed a GC because the script will never be run again.
+marker.gcreason.description.DOM_WINDOW_UTILS=The user was inactive for a long time. Took the opportunity to perform GC when it was unlikely to be noticed.
+marker.gcreason.description.USER_INACTIVE=The user was inactive for a long time. Firefox took the opportunity to perform GC when it was unlikely to be noticed.
--- a/browser/chrome/browser/devtools/netmonitor.properties
+++ b/browser/chrome/browser/devtools/netmonitor.properties
@@ -174,16 +174,21 @@ networkMenu.summary=One request, #2 kB,
# in the network menu specifying the size of a request (in kilobytes).
networkMenu.sizeKB=%S kB
# LOCALIZATION NOTE (networkMenu.sizeUnavailable): This is the label displayed
# in the network menu specifying the transferred size of a request is
# unavailable.
networkMenu.sizeUnavailable=—
+# LOCALIZATION NOTE (networkMenu.sizeCached): This is the label displayed
+# in the network menu specifying the transferred of a request is
+# cached.
+networkMenu.sizeCached=cached
+
# LOCALIZATION NOTE (networkMenu.totalMS): This is the label displayed
# in the network menu specifying the time for a request to finish (in milliseconds).
networkMenu.totalMS=→ %S ms
# LOCALIZATION NOTE (networkMenu.millisecond): This is the label displayed
# in the network menu specifying timing interval divisions (in milliseconds).
networkMenu.millisecond=%S ms
new file mode 100644
--- /dev/null
+++ b/browser/chrome/browser/devtools/performance.dtd
@@ -0,0 +1,157 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If 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 Performance strings -->
+<!-- LOCALIZATION NOTE : FILE Do not translate commandkey -->
+
+<!-- LOCALIZATION NOTE : FILE The correct localization of this file might be to
+ - keep it in English, or another language commonly spoken among web developers.
+ - You want to make that choice consistent across the developer tools.
+ - A good criteria is the language in which you'd find the best
+ - documentation on web development on the web. -->
+
+<!-- LOCALIZATION NOTE (performanceUI.startRecording/performanceUI.stopRecording): These are
+ - the labels shown on the main recording buttons to start/stop recording. -->
+<!ENTITY performanceUI.startRecording "Start Recording Performance">
+<!ENTITY performanceUI.stopRecording "Stop Recording Performance">
+
+<!-- LOCALIZATION NOTE (performanceUI.bufferStatusTooltip): This string
+ - is displayed as the tooltip for the buffer capacity during a recording. -->
+<!ENTITY performanceUI.bufferStatusTooltip "The profiler stores samples in a circular buffer, and once the buffer reaches the limit for a recording, newer samples begin to overwrite samples at the beginning of the recording.">
+
+<!-- LOCALIZATION NOTE (performanceUI.disabledRealTime.nonE10SBuild): This string
+ - is displayed as a message for why the real time overview graph is disabled
+ - when running on a non-multiprocess build. -->
+<!ENTITY performanceUI.disabledRealTime.nonE10SBuild "Realtime recording data disabled on non-multiprocess Firefox.">
+
+<!-- LOCALIZATION NOTE (performanceUI.disabledRealTime.disabledE10S): This string
+ - is displayed as a message for why the real time overview graph is disabled
+ - when running on a build that can run multiprocess Firefox, but just is not enabled. -->
+<!ENTITY performanceUI.disabledRealTime.disabledE10S "Enable multiprocess Firefox in preferences for rendering recording data in realtime.">
+
+<!-- LOCALIZATION NOTE (performanceUI.bufferStatusFull): This string
+ - is displayed when the profiler's circular buffer has started to overlap. -->
+<!ENTITY performanceUI.bufferStatusFull "The buffer is full. Older samples are now being overwritten.">
+
+<!-- LOCALIZATION NOTE (performanceUI.loadingNotice): This is the label shown
+ - in the call list view while loading a profile. -->
+<!ENTITY performanceUI.loadingNotice "Loading…">
+
+<!-- LOCALIZATION NOTE (performanceUI.recordButton): This string is displayed
+ - on a button that starts a new profile. -->
+<!ENTITY performanceUI.recordButton.tooltip "Toggle the recording state of a performance recording.">
+
+<!-- LOCALIZATION NOTE (performanceUI.importButton): This string is displayed
+ - on a button that opens a dialog to import a saved profile data file. -->
+<!ENTITY performanceUI.importButton "Import…">
+
+<!-- LOCALIZATION NOTE (performanceUI.exportButton): This string is displayed
+ - on a button that opens a dialog to export a saved profile data file. -->
+<!ENTITY performanceUI.exportButton "Save">
+
+<!-- LOCALIZATION NOTE (performanceUI.clearButton): This string is displayed
+ - on a button that removes all the recordings. -->
+<!ENTITY performanceUI.clearButton "Clear">
+
+<!-- LOCALIZATION NOTE (performanceUI.toolbar.*): These strings are displayed
+ - in the toolbar on buttons that select which view is currently shown. -->
+<!ENTITY performanceUI.toolbar.waterfall "Waterfall">
+<!ENTITY performanceUI.toolbar.js-calltree "Call Tree">
+<!ENTITY performanceUI.toolbar.memory-calltree "Allocations">
+<!ENTITY performanceUI.toolbar.js-flamegraph "JS Flame Chart">
+<!ENTITY performanceUI.toolbar.memory-flamegraph "Allocations Flame Chart">
+
+<!-- LOCALIZATION NOTE (performanceUI.table.*): These strings are displayed
+ - in the call tree headers for a recording. -->
+<!ENTITY performanceUI.table.totalDuration "Total Time">
+<!ENTITY performanceUI.table.totalDuration.tooltip "The amount of time spent in this function and functions it calls.">
+<!ENTITY performanceUI.table.selfDuration "Self Time">
+<!ENTITY performanceUI.table.selfDuration.tooltip "The amount of time spent only within this function.">
+<!ENTITY performanceUI.table.totalPercentage "Total Cost">
+<!ENTITY performanceUI.table.totalPercentage.tooltip "The percentage of time spent in this function and functions it calls.">
+<!ENTITY performanceUI.table.selfPercentage "Self Cost">
+<!ENTITY performanceUI.table.selfPercentage.tooltip "The percentage of time spent only within this function.">
+<!ENTITY performanceUI.table.samples "Samples">
+<!ENTITY performanceUI.table.samples.tooltip "The number of times this function was on the stack when the profiler took a sample.">
+<!ENTITY performanceUI.table.function "Function">
+<!ENTITY performanceUI.table.function.tooltip "The name and source location of the sampled function.">
+<!ENTITY performanceUI.table.totalAlloc "Total Sampled Allocations">
+<!ENTITY performanceUI.table.totalAlloc.tooltip "The total number of Object allocations sampled at this location and in callees.">
+<!ENTITY performanceUI.table.selfAlloc "Self Sampled Allocations">
+<!ENTITY performanceUI.table.selfAlloc.tooltip "The number of Object allocations sampled at this location.">
+
+<!-- LOCALIZATION NOTE (performanceUI.newtab.tooltiptext): The tooltiptext shown
+ - on the "+" (new tab) button for a profile when a selection is available. -->
+<!ENTITY performanceUI.newtab.tooltiptext "Add new tab from selection">
+
+<!-- LOCALIZATION NOTE (performanceUI.toolbar.filter.tooltiptext): This string
+ - is displayed next to the filter button-->
+<!ENTITY performanceUI.options.filter.tooltiptext "Select what data to display in the timeline">
+
+<!-- LOCALIZATION NOTE (performanceUI.options.tooltiptext): This is the tooltip
+ - for the options button. -->
+<!ENTITY performanceUI.options.gear.tooltiptext "Configure performance preferences.">
+
+<!-- LOCALIZATION NOTE (performanceUI.invertTree): This is the label shown next to
+ - a checkbox that inverts and un-inverts the profiler's call tree. -->
+<!ENTITY performanceUI.invertTree "Invert Call Tree">
+<!ENTITY performanceUI.invertTree.tooltiptext "Inverting the call tree displays the profiled call paths starting from the youngest frames and expanding out to the older frames.">
+
+<!-- LOCALIZATION NOTE (performanceUI.invertFlameGraph): This is the label shown next to
+ - a checkbox that inverts and un-inverts the profiler's flame graph. -->
+<!ENTITY performanceUI.invertFlameGraph "Invert Flame Chart">
+<!ENTITY performanceUI.invertFlameGraph.tooltiptext "Inverting the flame chart displays the profiled call paths starting from the youngest frames and expanding out to the older frames.">
+
+<!-- LOCALIZATION NOTE (performanceUI.showPlatformData): This is the
+ - label for the checkbox that toggles whether or not Gecko platform data
+ - is displayed in the profiler. -->
+<!ENTITY performanceUI.showPlatformData "Show Gecko Platform Data">
+<!ENTITY performanceUI.showPlatformData.tooltiptext "Showing platform data enables the JavaScript Profiler reports to include Gecko platform symbols.">
+
+<!-- LOCALIZATION NOTE (performanceUI.flattenTreeRecursion): This is the
+ - label for the checkbox that toggles the flattening of tree recursion in inspected
+ - functions in the profiler. -->
+<!ENTITY performanceUI.flattenTreeRecursion "Flatten Tree Recursion">
+<!ENTITY performanceUI.flattenTreeRecursion.tooltiptext "Flatten recursion when inspecting functions.">
+
+<!-- LOCALIZATION NOTE (performanceUI.enableMemory): This string
+ - is displayed next to a checkbox determining whether or not memory
+ - measurements are enabled. -->
+<!ENTITY performanceUI.enableMemory "Record Memory">
+<!ENTITY performanceUI.enableMemory.tooltiptext "Record memory consumption while profiling.">
+
+<!-- LOCALIZATION NOTE (performanceUI.enableAllocations): This string
+ - is displayed next to a checkbox determining whether or not allocation
+ - measurements are enabled. -->
+<!ENTITY performanceUI.enableAllocations "Record Allocations">
+<!ENTITY performanceUI.enableAllocations.tooltiptext "Record Object allocations while profiling.">
+
+<!-- LOCALIZATION NOTE (performanceUI.enableFramerate): This string
+ - is displayed next to a checkbox determining whether or not framerate
+ - is recorded. -->
+<!ENTITY performanceUI.enableFramerate "Record Framerate">
+<!ENTITY performanceUI.enableFramerate.tooltiptext "Record framerate while profiling.">
+
+<!-- LOCALIZATION NOTE (performanceUI.enableJITOptimizations): This string
+ - is displayed next to a checkbox determining whether or not JIT optimization data
+ - should be recorded. -->
+<!ENTITY performanceUI.enableJITOptimizations "Record JIT Optimisations">
+<!ENTITY performanceUI.enableJITOptimizations.tooltiptext "Record JIT optimisation data sampled in each JavaScript frame.">
+
+<!-- LOCALIZATION NOTE (performanceUI.JITOptimizationsTitle): This string
+ - is displayed as the title of the JIT Optimizations panel. -->
+<!ENTITY performanceUI.JITOptimizationsTitle "JIT Optimisations">
+
+<!-- LOCALIZATION NOTE (performanceUI.console.recordingNoticeStart/recordingNoticeEnd):
+ - This string is displayed when a recording is selected that started via console.profile.
+ - Wraps the command used to start, like "Currently recording via console.profile("label")" -->
+<!ENTITY performanceUI.console.recordingNoticeStart "Currently recording via">
+<!ENTITY performanceUI.console.recordingNoticeEnd "">
+
+<!-- LOCALIZATION NOTE (performanceUI.console.stopCommandStart/stopCommandEnd):
+ - This string is displayed when a recording is selected that started via console.profile.
+ - Indicates how to stop the recording, wrapping the command, like
+ - "Stop recording by entering console.profileEnd("label") into the console." -->
+<!ENTITY performanceUI.console.stopCommandStart "Stop recording by entering">
+<!ENTITY performanceUI.console.stopCommandEnd "into the console.">
new file mode 100644
--- /dev/null
+++ b/browser/chrome/browser/devtools/performance.properties
@@ -0,0 +1,173 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If 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 Performance Tools
+# which is available from the Web Developer sub-menu -> 'Performance'.
+# 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 (performance.label):
+# This string is displayed in the title of the tab when the profiler is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+performance.label=Performance
+
+# LOCALIZATION NOTE (performance.panelLabel):
+# This is used as the label for the toolbox panel.
+performance.panelLabel=Performance Panel
+
+# LOCALIZATION NOTE (performance.commandkey, performance.accesskey)
+# Used for the menuitem in the tool menu
+performance.commandkey=VK_F5
+performance.accesskey=P
+
+# LOCALIZATION NOTE (performance.tooltip):
+# This string is displayed in the tooltip of the tab when the profiler is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Performance Tools will be shown inside brackets.
+performance.tooltip=Performance (%S)
+
+# LOCALIZATION NOTE (noRecordingsText): The text to display in the
+# recordings menu when there are no recorded profiles yet.
+noRecordingsText=There are no profiles yet.
+
+# LOCALIZATION NOTE (recordingsList.itemLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# identifying a set of function calls. %S represents the number of recording,
+# iterating for every new recording, resulting in "Recording #1", "Recording #2", etc.
+recordingsList.itemLabel=Recording #%S
+
+# LOCALIZATION NOTE (recordingsList.recordingLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for an item that has not finished recording.
+recordingsList.recordingLabel=In progress…
+
+# LOCALIZATION NOTE (recordingsList.loadingLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for an item that is finished and is loading.
+recordingsList.loadingLabel=Loading…
+
+# LOCALIZATION NOTE (recordingsList.durationLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for an item that has finished recording.
+recordingsList.durationLabel=%S ms
+
+# LOCALIZATION NOTE (recordingsList.saveLabel):
+# This string is displayed in the recordings list of the Performance Tools,
+# for saving an item to disk.
+recordingsList.saveLabel=Save
+
+# LOCALIZATION NOTE (graphs.fps):
+# This string is displayed in the framerate graph of the Performance Tools,
+# as the unit used to measure frames per second. This label should be kept
+# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
+graphs.fps=fps
+
+# LOCALIZATION NOTE (graphs.ms):
+# This string is displayed in the flamegraph of the Performance Tools,
+# as the unit used to measure time (in milliseconds). This label should be kept
+# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
+graphs.ms=ms
+
+# LOCALIZATION NOTE (graphs.memory):
+# This string is displayed in the memory graph of the Performance tool,
+# as the unit used to memory consumption. This label should be kept
+# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
+graphs.memory=MB
+
+# LOCALIZATION NOTE (category.*):
+# These strings are displayed in the categories graph of the Performance Tools,
+# as the legend for each block in every bar. These labels should be kept
+# AS SHORT AS POSSIBLE so they don't obstruct important parts of the graph.
+category.other=Gecko
+category.css=Styles
+category.js=JIT
+category.gc=GC
+category.network=Network
+category.graphics=Graphics
+category.storage=Storage
+category.events=Input & Events
+category.tools=Tools
+
+# LOCALIZATION NOTE (table.ms):
+# This string is displayed in the call tree after units of time in milliseconds.
+table.ms=ms
+
+# LOCALIZATION NOTE (table.percentage):
+# This string is displayed in the call tree after units representing percentages.
+table.percentage=%
+
+# LOCALIZATION NOTE (table.root):
+# This string is displayed in the call tree for the root node.
+table.root=(root)
+
+# LOCALIZATION NOTE (table.idle):
+# This string is displayed in the call tree for the idle blocks.
+table.idle=(idle)
+
+# LOCALIZATION NOTE (table.url.tooltiptext):
+# This string is displayed in the call tree as the tooltip text for the url
+# labels which, when clicked, jump to the debugger.
+table.url.tooltiptext=View source in Debugger
+
+# LOCALIZATION NOTE (table.zoom.tooltiptext):
+# This string is displayed in the call tree as the tooltip text for the 'zoom'
+# buttons (small magnifying glass icons) which spawn a new tab.
+table.zoom.tooltiptext=Inspect frame in new tab
+
+# LOCALIZATION NOTE (table.view-optimizations.tooltiptext):
+# This string is displayed in the icon displayed next to frames that
+# have optimization data
+table.view-optimizations.tooltiptext=View optimisations in JIT View
+
+# LOCALIZATION NOTE (recordingsList.importDialogTitle):
+# This string is displayed as a title for importing a recoring from disk.
+recordingsList.importDialogTitle=Import recording…
+
+# LOCALIZATION NOTE (recordingsList.saveDialogTitle):
+# This string is displayed as a title for saving a recording to disk.
+recordingsList.saveDialogTitle=Save recording…
+
+# LOCALIZATION NOTE (recordingsList.saveDialogJSONFilter):
+# This string is displayed as a filter for saving a recording to disk.
+recordingsList.saveDialogJSONFilter=JSON Files
+
+# LOCALIZATION NOTE (recordingsList.saveDialogAllFilter):
+# This string is displayed as a filter for saving a recording to disk.
+recordingsList.saveDialogAllFilter=All Files
+
+# LOCALIZATION NOTE (jit.optimizationFailure):
+# This string is displayed in a tooltip when no JIT optimizations were detected.
+jit.optimizationFailure=Optimisation failed
+
+# LOCALIZATION NOTE (jit.samples):
+# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
+# This string is displayed for the unit representing the number of times a
+# frame is sampled.
+# "#1" represents the number of samples
+# example: 30 samples
+jit.samples=#1 sample;#1 samples
+
+# LOCALIZATION NOTE (jit.empty):
+# This string is displayed when there are no JIT optimizations to display.
+jit.empty=No JIT optimisations recorded for this frame.
+
+# LOCALIZATION NOTE (timeline.tick):
+# This string is displayed in the timeline overview, for delimiting ticks
+# by time, in milliseconds.
+timeline.tick=%S ms
+
+# LOCALIZATION NOTE (timeline.records):
+# This string is displayed in the timeline waterfall, as a title for the menu.
+timeline.records=RECORDS
+
+# LOCALIZATION NOTE (profiler.bufferFull):
+# This string is displayed when recording, indicating how much of the
+# buffer is currently be used.
+# %S is the percentage of the buffer used -- there are two "%"s after to escape
+# the % that is actually displayed.
+# Example: "Buffer 54% full"
+profiler.bufferFull=Buffer %S%% full
deleted file mode 100644
--- a/browser/chrome/browser/devtools/profiler.dtd
+++ /dev/null
@@ -1,166 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<!-- LOCALIZATION NOTE : FILE This file contains the Profiler strings -->
-<!-- LOCALIZATION NOTE : FILE Do not translate commandkey -->
-
-<!-- LOCALIZATION NOTE : FILE The correct localization of this file might be to
- - keep it in English, or another language commonly spoken among web developers.
- - You want to make that choice consistent across the developer tools.
- - A good criteria is the language in which you'd find the best
- - documentation on web development on the web. -->
-
-<!-- LOCALIZATION NOTE (profilerUI.emptyNotice1/2): This is the label shown
- - in the call list view when empty. -->
-<!-- TODO remove -->
-<!ENTITY profilerUI.emptyNotice1 "Click on the">
-<!-- TODO remove -->
-<!ENTITY profilerUI.emptyNotice2 "button to start recording JavaScript function calls.">
-
-<!-- LOCALIZATION NOTE (profilerUI.stopNotice1/2): This is the label shown
- - in the call list view while recording a profile. -->
-<!-- TODO remove -->
-<!ENTITY profilerUI.stopNotice1 "Click on the">
-<!-- TODO remove -->
-<!ENTITY profilerUI.stopNotice2 "button again to stop profiling.">
-
-<!-- LOCALIZATION NOTE (profilerUI.startRecording/profilerUI.stopRecording): These are
- - the labels shown on the main recording buttons to start/stop recording. -->
-<!ENTITY profilerUI.startRecording "Start Recording Performance">
-<!ENTITY profilerUI.stopRecording "Stop Recording Performance">
-
-<!-- LOCALIZATION NOTE (profilerUI.bufferStatusTooltip): This string
- - is displayed as the tooltip for the buffer capacity during a recording. -->
-<!ENTITY profilerUI.bufferStatusTooltip "The profiler stores samples in a circular buffer, and once the buffer reaches the limit for a recording, newer samples begin to overwrite samples at the beginning of the recording.">
-
-<!-- LOCALIZATION NOTE (profilerUI.bufferStatusFull): This string
- - is displayed when the profiler's circular buffer has started to overlap. -->
-<!ENTITY profilerUI.bufferStatusFull "The buffer is full. Older samples are now being overwritten.">
-
-<!-- LOCALIZATION NOTE (profilerUI.loadingNotice): This is the label shown
- - in the call list view while loading a profile. -->
-<!ENTITY profilerUI.loadingNotice "Loading…">
-
-<!-- LOCALIZATION NOTE (profilerUI.recordButton): This string is displayed
- - on a button that starts a new profile. -->
-<!-- TODO remove -->
-<!ENTITY profilerUI.recordButton.tooltip "Record JavaScript function calls.">
-
-<!-- LOCALIZATION NOTE (profilerUI.recordButton2): This string is displayed
- - on a button that starts a new profile. -->
-<!ENTITY profilerUI.recordButton2.tooltip "Toggle the recording state of a performance recording.">
-
-<!-- LOCALIZATION NOTE (profilerUI.importButton): This string is displayed
- - on a button that opens a dialog to import a saved profile data file. -->
-<!ENTITY profilerUI.importButton "Import…">
-
-<!-- LOCALIZATION NOTE (profilerUI.exportButton): This string is displayed
- - on a button that opens a dialog to export a saved profile data file. -->
-<!ENTITY profilerUI.exportButton "Save">
-
-<!-- LOCALIZATION NOTE (profilerUI.clearButton): This string is displayed
- - on a button that remvoes all the recordings. -->
-<!ENTITY profilerUI.clearButton "Clear">
-
-<!-- LOCALIZATION NOTE (profilerUI.toolbar.*): These strings are displayed
- - in the toolbar on buttons that select which view is currently shown. -->
-<!ENTITY profilerUI.toolbar.waterfall "Timeline">
-<!ENTITY profilerUI.toolbar.js-calltree "JavaScript">
-<!ENTITY profilerUI.toolbar.memory-calltree1 "Allocations">
-<!ENTITY profilerUI.toolbar.js-flamegraph "JS Flame Chart">
-<!ENTITY profilerUI.toolbar.memory-flamegraph1 "Allocations Flame Chart">
-
-<!-- LOCALIZATION NOTE (profilerUI.table.*): These strings are displayed
- - in the call tree headers for a recording. -->
-<!ENTITY profilerUI.table.totalDuration2 "Total Time">
-<!ENTITY profilerUI.table.totalDuration.tooltip "The amount of time spent in this function and functions it calls.">
-<!ENTITY profilerUI.table.selfDuration2 "Self Time">
-<!ENTITY profilerUI.table.selfDuration.tooltip "The amount of time spent only within this function.">
-<!ENTITY profilerUI.table.totalPercentage "Total Cost">
-<!ENTITY profilerUI.table.totalPercentage.tooltip "The percentage of time spent in this function and functions it calls.">
-<!ENTITY profilerUI.table.selfPercentage "Self Cost">
-<!ENTITY profilerUI.table.selfPercentage.tooltip "The percentage of time spent only within this function.">
-<!ENTITY profilerUI.table.samples "Samples">
-<!ENTITY profilerUI.table.samples.tooltip "The number of times this function was on the stack when the profiler took a sample.">
-<!ENTITY profilerUI.table.function "Function">
-<!ENTITY profilerUI.table.function.tooltip "The name and source location of the sampled function.">
-<!ENTITY profilerUI.table.totalAlloc1 "Total Sampled Allocations">
-<!ENTITY profilerUI.table.totalAlloc.tooltip "The total number of Object allocations sampled at this location and in callees.">
-<!ENTITY profilerUI.table.selfAlloc1 "Self Sampled Allocations">
-<!ENTITY profilerUI.table.selfAlloc.tooltip "The number of Object allocations sampled at this location.">
-
-<!-- LOCALIZATION NOTE (profilerUI.newtab.tooltiptext): The tooltiptext shown
- - on the "+" (new tab) button for a profile when a selection is available. -->
-<!ENTITY profilerUI.newtab.tooltiptext "Add new tab from selection">
-
-<!-- LOCALIZATION NOTE (profilerUI.toolbar.filter.tooltiptext): This string
- - is displayed next to the filter button-->
-<!ENTITY profilerUI.options.filter.tooltiptext "Select what data to display in the timeline">
-
-<!-- LOCALIZATION NOTE (profilerUI.options.tooltiptext): This is the tooltip
- - for the options button. -->
-<!ENTITY profilerUI.options.gear.tooltiptext "Configure performance preferences.">
-
-<!-- LOCALIZATION NOTE (profilerUI.invertTree): This is the label shown next to
- - a checkbox that inverts and un-inverts the profiler's call tree. -->
-<!ENTITY profilerUI.invertTree "Invert Call Tree">
-<!ENTITY profilerUI.invertTree.tooltiptext "Inverting the call tree displays the profiled call paths starting from the youngest frames and expanding out to the older frames.">
-
-<!-- LOCALIZATION NOTE (profilerUI.invertFlameGraph): This is the label shown next to
- - a checkbox that inverts and un-inverts the profiler's flame graph. -->
-<!ENTITY profilerUI.invertFlameGraph "Invert Flame Chart">
-<!ENTITY profilerUI.invertFlameGraph.tooltiptext "Inverting the flame chart displays the profiled call paths starting from the youngest frames and expanding out to the older frames.">
-
-<!-- LOCALIZATION NOTE (profilerUI.showPlatformData): This is the
- - label for the checkbox that toggles whether or not Gecko platform data
- - is displayed in the profiler. -->
-<!ENTITY profilerUI.showPlatformData "Show Gecko Platform Data">
-<!ENTITY profilerUI.showPlatformData.tooltiptext "Showing platform data enables the JavaScript Profiler reports to include Gecko platform symbols.">
-
-<!-- LOCALIZATION NOTE (profilerUI.flattenTreeRecursion): This is the
- - label for the checkbox that toggles the flattening of tree recursion in inspected
- - functions in the profiler. -->
-<!ENTITY profilerUI.flattenTreeRecursion "Flatten Tree Recursion">
-<!ENTITY profilerUI.flattenTreeRecursion.tooltiptext "Flatten recursion when inspecting functions.">
-
-<!-- LOCALIZATION NOTE (profilerUI.enableMemory): This string
- - is displayed next to a checkbox determining whether or not memory
- - measurements are enabled. -->
-<!ENTITY profilerUI.enableMemory "Record Memory">
-<!ENTITY profilerUI.enableMemory.tooltiptext "Record memory consumption while profiling.">
-
-<!-- LOCALIZATION NOTE (profilerUI.enableAllocations): This string
- - is displayed next to a checkbox determining whether or not allocation
- - measurements are enabled. -->
-<!ENTITY profilerUI.enableAllocations "Record Allocations">
-<!ENTITY profilerUI.enableAllocations.tooltiptext "Record Object allocations while profiling.">
-
-<!-- LOCALIZATION NOTE (profilerUI.enableFramerate): This string
- - is displayed next to a checkbox determining whether or not framerate
- - is recorded. -->
-<!ENTITY profilerUI.enableFramerate "Record Framerate">
-<!ENTITY profilerUI.enableFramerate.tooltiptext "Record framerate while profiling.">
-
-<!-- LOCALIZATION NOTE (profilerUI.enableJITOptimizations): This string
- - is displayed next to a checkbox determining whether or not JIT optimization data
- - should be recorded. -->
-<!ENTITY profilerUI.enableJITOptimizations "Record JIT Optimisations">
-<!ENTITY profilerUI.enableJITOptimizations.tooltiptext "Record JIT optimisation data sampled in each JavaScript frame.">
-
-<!-- LOCALIZATION NOTE (profilerUI.JITOptimizationsTitle): This string
- - is displayed as the title of the JIT Optimizations panel. -->
-<!ENTITY profilerUI.JITOptimizationsTitle "JIT Optimisations">
-
-<!-- LOCALIZATION NOTE (profilerUI.console.recordingNoticeStart/recordingNoticeEnd):
- - This string is displayed when a recording is selected that started via console.profile.
- - Wraps the command used to start, like "Currently recording via console.profile("label")" -->
-<!ENTITY profilerUI.console.recordingNoticeStart "Currently recording via">
-<!ENTITY profilerUI.console.recordingNoticeEnd "">
-
-<!-- LOCALIZATION NOTE (profilerUI.console.stopCommandStart/stopCommandEnd):
- - This string is displayed when a recording is selected that started via console.profile.
- - Indicates how to stop the recording, wrapping the command, like
- - "Stop recording by entering console.profilEnd("label") into the console." -->
-<!ENTITY profilerUI.console.stopCommandStart "Stop recording by entering">
-<!ENTITY profilerUI.console.stopCommandEnd "into the console.">
deleted file mode 100644
--- a/browser/chrome/browser/devtools/profiler.properties
+++ /dev/null
@@ -1,157 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# LOCALIZATION NOTE These strings are used inside the Profiler
-# which is available from the Web Developer sub-menu -> 'Profiler'.
-# 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 (profiler.label):
-# This string is displayed in the title of the tab when the profiler is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-profiler.label2=Performance
-
-# LOCALIZATION NOTE (profiler.panelLabel):
-# This is used as the label for the toolbox panel.
-profiler.panelLabel2=Performance Panel
-
-# LOCALIZATION NOTE (profiler2.commandkey, profiler.accesskey)
-# Used for the menuitem in the tool menu
-profiler.commandkey2=VK_F5
-profiler.accesskey=P
-
-# LOCALIZATION NOTE (profiler.tooltip2):
-# This string is displayed in the tooltip of the tab when the profiler is
-# displayed inside the developer tools window.
-# Keyboard shortcut for JS Profiler will be shown inside brackets.
-profiler.tooltip3=JavaScript Profiler (%S)
-
-# LOCALIZATION NOTE (noRecordingsText): The text to display in the
-# recordings menu when there are no recorded profiles yet.
-noRecordingsText=There are no profiles yet.
-
-# LOCALIZATION NOTE (recordingsList.itemLabel):
-# This string is displayed in the recordings list of the Profiler,
-# identifying a set of function calls.
-recordingsList.itemLabel=Recording #%S
-
-# LOCALIZATION NOTE (recordingsList.recordingLabel):
-# This string is displayed in the recordings list of the Profiler,
-# for an item that has not finished recording.
-recordingsList.recordingLabel=In progress…
-
-# LOCALIZATION NOTE (recordingsList.durationLabel):
-# This string is displayed in the recordings list of the Profiler,
-# for an item that has finished recording.
-recordingsList.durationLabel=%S ms
-
-# LOCALIZATION NOTE (recordingsList.saveLabel):
-# This string is displayed in the recordings list of the Profiler,
-# for saving an item to disk.
-recordingsList.saveLabel=Save
-
-# LOCALIZATION NOTE (profile.tab):
-# This string is displayed in the profile view for a tab, after the
-# recording has finished, as the recording 'start → stop' range in milliseconds.
-profile.tab=%1$S ms → %2$S ms
-
-# LOCALIZATION NOTE (graphs.fps):
-# This string is displayed in the framerate graph of the Profiler,
-# as the unit used to measure frames per second. This label should be kept
-# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
-graphs.fps=fps
-
-# LOCALIZATION NOTE (graphs.ms):
-# This string is displayed in the flamegraph of the Profiler,
-# as the unit used to measure time (in milliseconds). This label should be kept
-# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
-graphs.ms=ms
-
-# LOCALIZATION NOTE (category.*):
-# These strings are displayed in the categories graph of the Profiler,
-# as the legend for each block in every bar. These labels should be kept
-# AS SHORT AS POSSIBLE so they don't obstruct important parts of the graph.
-category.other=Gecko
-category.css=Styles
-category.js=JIT
-category.gc=GC
-category.network=Network
-category.graphics=Graphics
-category.storage=Storage
-category.events=Input & Events
-category.tools=Tools
-
-# LOCALIZATION NOTE (graphs.ms):
-# This string is displayed in the call tree after units of time in milliseconds.
-table.ms=ms
-
-# LOCALIZATION NOTE (graphs.ms):
-# This string is displayed in the call tree after units representing percentages.
-table.percentage=%
-
-# LOCALIZATION NOTE (table.root):
-# This string is displayed in the call tree for the root node.
-table.root=(root)
-
-# LOCALIZATION NOTE (table.idle):
-# This string is displayed in the call tree for the idle blocks.
-table.idle=(idle)
-
-# LOCALIZATION NOTE (table.url.tooltiptext):
-# This string is displayed in the call tree as the tooltip text for the url
-# labels which, when clicked, jump to the debugger.
-table.url.tooltiptext=View source in Debugger
-
-# LOCALIZATION NOTE (table.zoom.tooltiptext):
-# This string is displayed in the call tree as the tooltip text for the 'zoom'
-# buttons (small magnifying glass icons) which spawn a new tab.
-table.zoom.tooltiptext=Inspect frame in new tab
-
-# LOCALIZATION NOTE (table.view-optimizations.tooltiptext):
-# This string is displayed in the icon displayed next to frames that
-# have optimization data
-table.view-optimizations.tooltiptext=View optimisations in JIT View
-
-
-# LOCALIZATION NOTE (recordingsList.saveDialogTitle):
-# This string is displayed as a title for saving a recording to disk.
-recordingsList.saveDialogTitle=Save profile…
-
-# LOCALIZATION NOTE (recordingsList.saveDialogJSONFilter):
-# This string is displayed as a filter for saving a recording to disk.
-recordingsList.saveDialogJSONFilter=JSON Files
-
-# LOCALIZATION NOTE (recordingsList.saveDialogAllFilter):
-# This string is displayed as a filter for saving a recording to disk.
-recordingsList.saveDialogAllFilter=All Files
-
-# LOCALIZATION NOTE (jit.optimizationFailure):
-# This string is displayed in a tooltip when no JIT optimizations were detected.
-jit.optimizationFailure=Optimisation failed
-
-# LOCALIZATION NOTE (jit.samples2):
-# See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
-# This string is displayed for the unit representing the number of times a
-# frame is sampled.
-# "#1" represents the number of samples
-# example: 30 samples
-jit.samples2=#1 sample;#1 samples
-
-# LOCALIZATION NOTE (jit.empty):
-# This string is displayed when there are no JIT optimizations to display.
-jit.empty=No JIT optimisations recorded for this frame.
-
-# LOCALIZATION NOTE (consoleProfile.recordingNotice/stopCommand):
-# These strings are displayed when a recording is in progress, that was started from the console.
-# TODO REMOVE
-consoleProfile.recordingNotice=Currently recording profile "%S".
-# TODO REMOVE
-consoleProfile.stopCommand=Stop profiling by typing \"console.profileEnd(\'%S\')\" into the console.
-
-# LOCALIZATION NOTE (profiler.bufferStatus):
-# This string is displayed illustrating how full the profiler's circular buffer is.
-profiler.bufferStatus=Buffer capacity: %S%
new file mode 100644
--- /dev/null
+++ b/browser/chrome/browser/devtools/promisedebugger.dtd
@@ -0,0 +1,15 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!-- LOCALIZATION NOTE : FILE This file contains the Promise debugger panel
+ strings. The Promise debugger panel is part of the debugger -->
+<!-- LOCALIZATION NOTE : FILE Do not translate commandkey -->
+
+<!-- LOCALIZATION NOTE : FILE The correct localization of this file might be to
+ - keep it in English, or another language commonly spoken among web developers.
+ - You want to make that choice consistent across the developer tools.
+ - A good criteria is the language in which you'd find the best
+ - documentation on web development on the web. -->
+
+<!ENTITY title "Promise Debugger">
new file mode 100644
--- /dev/null
+++ b/browser/chrome/browser/devtools/promisedebugger.properties
@@ -0,0 +1,11 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE These strings are used inside the Promise debugger
+# which is available as a panel in the Debugger.
+# The correct localization of this file might be to keep it in
+# English, or another language commonly spoken among web developers.
+# You want to make that choice consistent across the developer tools.
+# A good criteria is the language in which you'd find the best
+# documentation on web development on the web.
--- a/browser/chrome/browser/devtools/sourceeditor.properties
+++ b/browser/chrome/browser/devtools/sourceeditor.properties
@@ -94,8 +94,18 @@ moveLineDown.commandkey=Alt-Down
# LOCALIZATION NOTE (autocomplete.commandkey): This is the key to use
# in conjunction with Ctrl for autocompletion.
autocompletion.commandkey=Space
# LOCALIZATION NOTE (showInformation2.commandkey): This is the key to use to
# show more information, like type inference.
showInformation2.commandkey=Shift-Ctrl-Space
+
+# LOCALIZATION NOTE (find.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to find
+# the typed search
+find.commandkey=F
+
+# LOCALIZATION NOTE (findAgain.commandkey): This is the key to use in
+# conjunction with accel (Command on Mac or Ctrl on other platforms) to find
+# again the typed search
+findAgain.commandkey=G
deleted file mode 100644
--- a/browser/chrome/browser/devtools/timeline.dtd
+++ /dev/null
@@ -1,43 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<!-- LOCALIZATION NOTE : FILE This file contains the Timeline strings -->
-<!-- LOCALIZATION NOTE : FILE Do not translate commandkey -->
-
-<!-- LOCALIZATION NOTE : FILE The correct localization of this file might be to
- - keep it in English, or another language commonly spoken among web developers.
- - You want to make that choice consistent across the developer tools.
- - A good criteria is the language in which you'd find the best
- - documentation on web development on the web. -->
-
-<!-- LOCALIZATION NOTE (timelineUI.recordButton): This string is displayed
- - on a button that starts a new recording. -->
-<!ENTITY timelineUI.recordButton.tooltip "Record timeline operations">
-
-<!-- LOCALIZATION NOTE (timelineUI.recordButton): This string is displayed
- - as a label to signal that a recording is in progress. -->
-<!ENTITY timelineUI.recordLabel "Recording…">
-
-<!-- LOCALIZATION NOTE (timelineUI.timelineUI.memoryCheckbox.label): This string
- - is displayed next to a checkbox determining whether or not memory
- - measurements are enabled. -->
-<!ENTITY timelineUI.memoryCheckbox.label "Memory">
-
-<!-- LOCALIZATION NOTE (timelineUI.timelineUI.memoryCheckbox.tooltip): This string
- - is displayed next to the memory checkbox -->
-<!ENTITY timelineUI.memoryCheckbox.tooltip "Enable memory measurements">
-
-<!-- LOCALIZATION NOTE (timelineUI.filterButton.tooltip): This string
- - is displayed next to the filter button-->
-<!ENTITY timelineUI.filterButton.tooltip "Select what data to display">
-
-<!-- LOCALIZATION NOTE (timelineUI.emptyNotice1/2): This is the label shown
- - in the timeline view when empty. -->
-<!ENTITY timelineUI.emptyNotice1 "Click on the">
-<!ENTITY timelineUI.emptyNotice2 "button to start recording timeline events.">
-
-<!-- LOCALIZATION NOTE (timelineUI.stopNotice1/2): This is the label shown
- - in the timeline view while recording. -->
-<!ENTITY timelineUI.stopNotice1 "Click on the">
-<!ENTITY timelineUI.stopNotice2 "button again to stop recording.">
deleted file mode 100644
--- a/browser/chrome/browser/devtools/timeline.properties
+++ /dev/null
@@ -1,79 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-# LOCALIZATION NOTE These strings are used inside the Timeline
-# which is available from the Web Developer sub-menu -> 'Timeline'.
-# 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 (timeline.label):
-# This string is displayed in the title of the tab when the timeline is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-timeline.label=Timeline
-
-# LOCALIZATION NOTE (timeline.panelLabel):
-# This is used as the label for the toolbox panel.
-timeline.panelLabel=Timeline Panel
-
-# LOCALIZATION NOTE (timeline.tooltip):
-# This string is displayed in the tooltip of the tab when the timeline is
-# displayed inside the developer tools window.
-timeline.tooltip=Performance Timeline
-
-# LOCALIZATION NOTE (timeline.tick):
-# This string is displayed in the timeline overview, for delimiting ticks
-# by time, in milliseconds.
-timeline.tick=%S ms
-
-# LOCALIZATION NOTE (timeline.records):
-# This string is displayed in the timeline waterfall, as a title for the menu.
-timeline.records=RECORDS
-
-# LOCALIZATION NOTE (timeline.label.*):
-# These strings are displayed in the timeline waterfall, identifying markers.
-# We want to use the same wording as Google Chrome
-timeline.label.styles2=Recalculate Style
-timeline.label.reflow2=Layout
-timeline.label.paint=Paint
-timeline.label.javascript2=Function Call
-timeline.label.parseHTML=Parse HTML
-timeline.label.parseXML=Parse XML
-timeline.label.domevent=DOM Event
-timeline.label.consoleTime=Console
-timeline.label.garbageCollection=GC Event
-timeline.label.timestamp=Timestamp
-timeline.label.unknown=Unknown
-
-# LOCALIZATION NOTE (graphs.memory):
-# This string is displayed in the memory graph of the Performance tool,
-# as the unit used to memory consumption. This label should be kept
-# AS SHORT AS POSSIBLE so it doesn't obstruct important parts of the graph.
-graphs.memory=MB
-
-# LOCALIZATION NOTE (timeline.markerDetailFormat):
-# Some timeline markers come with details, like a size, a name, a js function.
-# %1$S is replaced with one of the above label (timeline.label.*) and %2$S
-# with the details. For examples: Paint (200x100), or console.time (FOO)
-timeline.markerDetailFormat=%1$S (%2$S)
-
-# LOCALIZATION NOTE (time.markerDetail.*):
-# Strings used in the waterfall sidebar.
-timeline.markerDetail.start=Start:
-timeline.markerDetail.end=End:
-timeline.markerDetail.duration=Duration:
-timeline.markerDetail.consoleTimerName=Timer Name:
-timeline.markerDetail.DOMEventType=Event Type:
-timeline.markerDetail.DOMEventPhase=Phase:
-timeline.markerDetail.DOMEventTargetPhase=Target
-timeline.markerDetail.DOMEventCapturingPhase=Capture
-timeline.markerDetail.DOMEventBubblingPhase=Bubbling
-timeline.markerDetail.stack=Stack:
-timeline.markerDetail.startStack=Stack at start:
-timeline.markerDetail.endStack=Stack at end:
-timeline.markerDetail.unknownFrame=<unknown location>
-timeline.markerDetail.asyncStack=(Async: %S)
-timeline.markerDetail.causeName=Cause:
--- a/browser/chrome/browser/devtools/toolbox.dtd
+++ b/browser/chrome/browser/devtools/toolbox.dtd
@@ -167,21 +167,16 @@
<!ENTITY options.stylesheetSourceMaps.label "Show original sources">
<!ENTITY options.stylesheetSourceMaps.tooltip "Show original sources (e.g. Sass files) in the Style Editor and Inspector">
<!-- LOCALIZATION NOTE (options.stylesheetAutocompletion.label): This is the
- label for the checkbox that toggles autocompletion of css in the Style Editor -->
<!ENTITY options.stylesheetAutocompletion.label "Autocomplete CSS">
<!ENTITY options.stylesheetAutocompletion.tooltip "Autocomplete CSS properties, values and selectors in Style Editor as you type">
-<!-- LOCALIZATION NOTE (options.profiler.label): This is the label for the
- - heading of the group of JavaScript Profiler preferences in the options
- - panel. -->
-<!ENTITY options.profiler.label "JavaScript Profiler">
-
<!-- LOCALICATION NOTE (options.commonprefs): This is the label for the heading
of all preferences that affect both the Web Console and the Network
Monitor -->
<!ENTITY options.commonPrefs.label "Common Preferences">
<!-- LOCALIZATION NOTE (options.enablePersistentLogs.label): This is the
- label for the checkbox that toggles persistent logs in the Web Console and
- network monitor, i.e. devtools.webconsole.persistlog a boolean preference in
--- a/browser/chrome/browser/loop/loop.properties
+++ b/browser/chrome/browser/loop/loop.properties
@@ -4,18 +4,18 @@
# Panel Strings
## LOCALIZATION NOTE(clientShortname2): This should not be localized and
## should remain "Firefox Hello" for all locales.
clientShortname2=Firefox Hello
clientSuperShortname=Hello
-rooms_tab_button_tooltip=Conversations
-contacts_tab_button_tooltip=Contacts
+rooms_tab_button=Conversations
+contacts_tab_button=Contacts
## LOCALIZATION_NOTE(sign_in_again_title_line_one, sign_in_again_title_line_two2):
## These are displayed together at the top of the panel when a user is needed to
## sign-in again. The emphesis is on the first line to get the user to sign-in again,
## and this is displayed in slightly larger font. Please arrange as necessary for
## your locale.
## {{clientShortname2}} will be replaced by the brand name for either string.
sign_in_again_title_line_one=Please sign in again
@@ -50,28 +50,25 @@ check_internet_connection=Please check y
login_expired=Your Login Has Expired
service_not_available=Service Unavailable At This Time
problem_accessing_account=There Was A Problem Accessing Your Account
## LOCALIZATION NOTE(retry_button): Displayed when there is an error to retry
## the appropriate action.
retry_button=Retry
-share_email_subject5={{clientShortname2}} — Join the conversation
-## LOCALIZATION NOTE (share_email_subject_context): This is the alternate email
-## subject when a conversation is shared with a context attached.
-## {{clientShortName2}} will be replaced with the respective string in this file.
-## {{title}} will be replaced with the title of an HTML document.
-share_email_subject_context={{clientShortname2}} conversation: {{title}}
-## LOCALIZATION NOTE (share_email_body4): In this item, don't translate the
-## part between {{..}} and leave the \r\n\r\n part alone
-share_email_body5=Hello!\n\nJoin me for a video conversation on {{clientShortname2}}.\n\nIt's the easiest way to connect by video with anyone anywhere. With {{clientSuperShortname}}, you don't have to download or install anything. Just click or paste this link into your {{brandShortname}}, Opera, or Chrome browser to join the conversation:\n\n{{callUrl}}\n\nIf you'd like to learn more about {{clientSuperShortname}} and how you can start your own free video conversations, visit {{learnMoreUrl}}\n\nTalk to you soon!
-## LOCALIZATION NOTE (share_email_body_context): In this item, don't translate
+share_email_subject6=Join me for a video conversation
+## LOCALIZATION NOTE (share_email_body6): In this item, don't translate the
+## part between {{..}} and leave the \n\n part alone
+share_email_body6=Click the Firefox Hello link to connect to the conversation now: {{callUrl}}
+## LOCALIZATION NOTE (share_email_body_context2): In this item, don't translate
## the part between {{..}} and leave the \n\n part alone.
-share_email_body_context=Hello!\n\nJoin me for a video conversation on {{clientShortname2}} about:\n{{title}}.\n\nIt's the easiest way to connect by video with anyone anywhere. With {{clientSuperShortname}}, you don't have to download or install anything. Just click or paste this link into your {{brandShortname}}, Opera, or Chrome browser to join the conversation:\n\n{{callUrl}}\n\nIf you'd like to learn more about {{clientSuperShortname}} and how you can start your own free video conversations, visit {{learnMoreUrl}}\n\nTalk to you soon!
+share_email_body_context2=Join me for a video conversation. Click the Firefox Hello link to connect now: {{callUrl}}\n\nLet’s talk about this during our conversation: {{title}}
+## LOCALIZATION NOTE (share_email_footer): Common footer content for both email types
+share_email_footer=\n\n________\nJoin and create video conversations free with Firefox Hello. Connect easily over video with anyone, anywhere. No downloads or registration. Learn more at http://www.firefox.com/hello
## LOCALIZATION NOTE (share_tweeet): In this item, don't translate the part
## between {{..}}. Please keep the text below 117 characters to make sure it fits
## in a tweet.
share_tweet=Join me for a video conversation on {{clientShortname2}}!
share_button3=Share Link
share_add_service_button=Add a Service
copy_url_button2=Copy Link
@@ -112,44 +109,59 @@ add_contact_button=Add Contact
### the user enters an invalid email address, preventing the addition of the
### contact.
valid_email_text_description=Please enter a valid email address
## LOCALIZATION NOTE (add_or_import_contact_title): This is the subtitle of the
## panel.
add_or_import_contact_title=Add or Import Contact
import_contacts_button2=Import from Google
+## LOCALIZATION NOTE (import_contacts_button3): Text for button used to import
+## contacts into the contact list.
+import_contacts_button3=Import
importing_contacts_progress_button=Importing…
import_contacts_failure_message=Some contacts could not be imported. Please try again.
## LOCALIZATION NOTE(import_contacts_success_message): Success notification message
## when user's contacts have been successfully imported.
## Semicolon-separated list of plural forms. See:
## http://developer.mozilla.org/en/docs/Localization_and_Plurals
## In this item, don't translate the part between {{..}}
import_contacts_success_message={{total}} contact was successfully imported.;{{total}} contacts were successfully imported.
## LOCALIZATION NOTE(sync_contacts_button): This button is displayed in place of
## importing_contacts_button once contacts have been imported once.
sync_contacts_button=Synchronise Contacts
+## LOCALIZATION NOTE(no_contacts_message_heading): Title shown when user has no
+## contacts in his address book
+no_contacts_message_heading=No contacts yet
+## LOCALIZATION NOTE(no_contacts_import_or_add): Subheading inviting the user
+## to add people to his contact list
+no_contacts_import_or_add=Import or add someone
## LOCALIZATION NOTE(import_failed_description simple): Displayed when an import of
## contacts fails. This is displayed in the error field.
import_failed_description_simple=Sorry, contact import failed
import_failed_description_some=Some contacts could not be imported
import_failed_support_button=Help
## LOCALIZATION NOTE(remove_contact_menu_button2): Displayed in the contact list in
## a pop-up menu next to the contact's name.
remove_contact_menu_button2=Remove Contact…
+## LOCALIZATION NOTE(remove_contact_title): Displayed in the contact list in
+## a pop-up menu next to the contact's name.
+remove_contact_menu_button3=Remove Contact
## LOCALIZATION NOTE(confirm_delete_contact_alert): This is an alert that is displayed
## to confirm deletion of a contact.
confirm_delete_contact_alert=Are you sure you want to delete this contact?
## LOCALIZATION NOTE(confirm_delete_contact_remove_button, confirm_delete_contact_cancel_button):
## These are displayed on the alert with confirm_delete_contact_alert
confirm_delete_contact_remove_button=Remove Contact
confirm_delete_contact_cancel_button=Cancel
+## LOCALIZATION NOTE(contact_list_title): This is in uppercase in English for
+## emphasis, please do what is appropriate for specific locales.
+contact_list_title=MY CONTACTS
## LOCALIZATION NOTE(block_contact_menu_button): Displayed in the contact list in
## a pop-up menu next to the contact's name, used to block a contact from calling
## the user.
block_contact_menu_button=Block Contact
## LOCALIZATION NOTE(unblock_contact_menu_button): Displayed in the contact list in
## a pop-up menu next to the contact's name, used to unblock a contact and allow them
## to call the user.
@@ -201,16 +213,18 @@ hangup_button_caption2=Exit
mute_local_audio_button_title=Mute your audio
unmute_local_audio_button_title=Unmute your audio
mute_local_video_button_title=Mute your video
unmute_local_video_button_title=Unmute your video
active_screenshare_button_title=Stop sharing
inactive_screenshare_button_title=Share your screen
share_tabs_button_title2=Share your Tabs
share_windows_button_title=Share other Windows
+self_view_hidden_message=Self-view hidden but still being sent; resize window to show
+
## LOCALIZATION NOTE (call_with_contact_title): The title displayed
## when calling a contact. Don't translate the part between {{..}} because
## this will be replaced by the contact's name.
call_with_contact_title=Conversation with {{contactName}}
# Outgoing conversation
@@ -269,38 +283,23 @@ legal_text_tos = Terms of Use
legal_text_privacy = Privacy Notice
## LOCALIZATION NOTE (powered_by_beforeLogo, powered_by_afterLogo):
## These 2 strings are displayed before and after a 'Telefonica'
## logo.
powered_by_beforeLogo=Powered by
powered_by_afterLogo=
-feedback_call_experience_heading2=How was your conversation?
-feedback_thank_you_heading=Thank you for your feedback!
-feedback_category_list_heading=What made you sad?
-feedback_category_audio_quality=Audio quality
-feedback_category_video_quality=Video quality
-feedback_category_was_disconnected=Was disconnected
-feedback_category_confusing2=Confusing controls
-feedback_category_other2=Other
-feedback_custom_category_text_placeholder=What went wrong?
-feedback_submit_button=Submit
-feedback_back_button=Back
-## LOCALIZATION NOTE (feedback_window_will_close_in2):
-## Semicolon-separated list of plural forms. See:
-## http://developer.mozilla.org/en/docs/Localization_and_Plurals
-## In this item, don't translate the part between {{..}}
-feedback_window_will_close_in2=This window will close in {{countdown}} second;This window will close in {{countdown}} seconds
## LOCALIZATION_NOTE (feedback_rejoin_button): Displayed on the feedback form after
## a signed-in to signed-in user call.
feedback_rejoin_button=Rejoin
## LOCALIZATION NOTE (feedback_report_user_button): Used to report a user in the case of
## an abusive user.
feedback_report_user_button=Report User
+feedback_window_heading=How was your conversation?
feedback_request_button=Leave Feedback
help_label=Help
tour_label=Tour
## LOCALIZATION NOTE(rooms_default_room_name_template): {{conversationLabel}}
## will be replaced by a number. For example "Conversation 1" or "Conversation 12".
rooms_default_room_name_template=Conversation {{conversationLabel}}
--- a/browser/chrome/browser/migration/migration.dtd
+++ b/browser/chrome/browser/migration/migration.dtd
@@ -6,22 +6,28 @@
<!ENTITY migrationWizard.title "Import Wizard">
<!ENTITY importFrom.label "Import Options, Bookmarks, History, Passwords and other data from:">
<!ENTITY importFromUnix.label "Import Preferences, Bookmarks, History, Passwords and other data from:">
<!ENTITY importFromBookmarks.label "Import Bookmarks from:">
<!ENTITY importFromIE.label "Microsoft Internet Explorer">
<!ENTITY importFromIE.accesskey "M">
+<!ENTITY importFromEdge.label "Microsoft Edge">
+<!ENTITY importFromEdge.accesskey "E">
<!ENTITY importFromNothing.label "Don't import anything">
<!ENTITY importFromNothing.accesskey "D">
<!ENTITY importFromSafari.label "Safari">
<!ENTITY importFromSafari.accesskey "S">
+<!ENTITY importFromCanary.label "Chrome Canary">
+<!ENTITY importFromCanary.accesskey "n">
<!ENTITY importFromChrome.label "Chrome">
<!ENTITY importFromChrome.accesskey "C">
+<!ENTITY importFromChromium.label "Chromium">
+<!ENTITY importFromChromium.accesskey "u">
<!ENTITY importFromFirefox.label "Firefox">
<!ENTITY importFromFirefox.accesskey "x">
<!ENTITY importFrom360se.label "360 Secure Browser">
<!ENTITY importFrom360se.accesskey "3">
<!ENTITY noMigrationSources.label "No programs that contain bookmarks, history or password data could be found.">
<!ENTITY importSource.title "Import Settings and Data">
@@ -32,8 +38,9 @@
<!ENTITY migrating.label "The following items are currently being imported…">
<!ENTITY selectProfile.title "Select Profile">
<!ENTITY selectProfile.label "The following profiles are available to import from:">
<!ENTITY done.title "Import Complete">
<!ENTITY done.label "The following items were successfully imported:">
+<!ENTITY closeSourceBrowser.label "Please ensure the selected browser is closed before continuing.">
--- a/browser/chrome/browser/migration/migration.properties
+++ b/browser/chrome/browser/migration/migration.properties
@@ -1,61 +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/.
profileName_format=%S %S
# Browser Specific
sourceNameIE=Internet Explorer
+sourceNameEdge=Microsoft Edge
sourceNameSafari=Safari
+sourceNameCanary=Google Chrome Canary
sourceNameChrome=Google Chrome
+sourceNameChromium=Chromium
sourceNameFirefox=Mozilla Firefox
sourceName360se=360 Secure Browser
importedBookmarksFolder=From %S
importedSafariReadingList=Reading List (From Safari)
# 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=Internet Options
+1_edge=Settings
1_safari=Preferences
1_chrome=Preferences
1_360se=Preferences
2_ie=Cookies
+2_edge=Cookies
2_safari=Cookies
2_chrome=Cookies
2_firefox=Cookies
2_360se=Cookies
4_ie=Browsing History
+4_edge=Browsing History
4_safari=Browsing History
4_chrome=Browsing History
4_firefox_history_and_bookmarks=Browsing History and Bookmarks
4_360se=Browsing History
8_ie=Saved Form History
+8_edge=Saved Form History
8_safari=Saved Form History
8_chrome=Saved Form History
8_firefox=Saved Form History
8_360se=Saved Form History
16_ie=Saved Passwords
+16_edge=Saved Passwords
16_safari=Saved Passwords
16_chrome=Saved Passwords
16_firefox=Saved Passwords
16_360se=Saved Passwords
32_ie=Favourites
+32_edge=Favourites
32_safari=Bookmarks
32_chrome=Bookmarks
32_360se=Bookmarks
64_ie=Other Data
+64_edge=Other Data
64_safari=Other Data
64_chrome=Other Data
64_firefox_other=Other Data
64_360se=Other Data
128_firefox=Windows and Tabs
--- a/browser/chrome/browser/newTab.properties
+++ b/browser/chrome/browser/newTab.properties
@@ -29,45 +29,18 @@ newtab.sponsored.explain2=This site is s
# LOCALIZATION NOTE(newtab.suggested.explain): %1$S will be replaced inline by
# the (X) block icon. %2$S will be replaced by an active link using string
# newtab.learn.link as text.
newtab.suggested.explain=This site is suggested to you by Mozilla. You can remove it at any time by clicking the %1$S button. %2$S
# LOCALIZATION NOTE(newtab.enhanced.explain): %1$S will be replaced inline by
# the gear icon used to customize the new tab window. %2$S will be replaced by
# an active link using string newtab.learn.link as text.
newtab.enhanced.explain=A Mozilla partner has visually enhanced this tile, replacing the screenshot. You can turn off enhanced tiles by clicking the %1$S button for your preferences. %2$S
-# LOCALIZATION NOTE(newtab.intro.paragraph2): %1$S will be replaced inline by
-# active link using string newtab.privacy.link as text.
-newtab.intro.paragraph2=In order to provide this service, Mozilla collects and uses certain analytics information relating to your use of the tiles in accordance with our %1$S.
-# LOCALIZATION NOTE(newtab.intro.paragraph4.2): %1$S will be replaced inline by
-# the gear icon used to customize the new tab window. %2$S will be replaced by
-# newtab.intro.controls as text. The quoted strings should be the same as
-# newtab.customize.cog.enhanced.
-newtab.intro.paragraph4.2=You can turn off this service by clicking the gear (%1$S) button and unchecking "Include suggested sites" in the %2$S menu.
-newtab.intro.paragraph5=New Tab will show the sites you visit most frequently, along with sites we think might be of interest to you. To get started, you'll see several sites from Mozilla.
-# LOCALIZATION NOTE(newtab.intro.paragraph6): %1$S will be replaced by
-# newtab.intro.paragraph6.remove as bold text. %2$S will be replaced by
-# newtab.intro.paragraph6.pin as bold text
-newtab.intro.paragraph6=You can %1$S or %2$S any site by using the controls available on rollover.
-newtab.intro.paragraph6.remove=remove
-newtab.intro.paragraph6.pin=pin
-newtab.intro.paragraph7=Some of the sites you will see may be suggested by Mozilla and may be sponsored by a Mozilla partner. We'll always indicate which sites are sponsored.
-# LOCALIZATION NOTE(newtab.intro.paragraph8): %1$S will be replaced by
-# brandShortName as text. %2$S will be replaced inline by an active link using
-# string newtab.learn.link as text.
-newtab.intro.paragraph8=%1$S will only show sites that most closely match your interests on the Web. %2$S
-newtab.intro.paragraph9=Now when you open New Tab, you'll also see sites we think might be interesting to you.
-# LOCALIZATION NOTE(newtab.intro.controls): the controls in the gear icon
-# menu for customizing the new tab window. Used in newtab.intro.paragraph4
-newtab.intro.controls=New Tab Controls
+newtab.intro1.paragraph1=Now when you open New Tab, you'll also see sites we think might be interesting to you. Some may be suggested by Mozilla or sponsored by one of our partners.
+# LOCALIZATION NOTE(newtab.intro1.paragraph2): %1$S will be replaced inline by
+# an active link using string newtab.privacy.link as text. %2$S will be replaced
+# inline by the gear icon used to customize the new tab window.
+newtab.intro1.paragraph2=In order to provide this service, some data is automatically sent back to us in accordance with our %1$S. You can turn this off by unticking the option under the gear icon (%2$S).
newtab.learn.link=Learn more…
newtab.privacy.link=Privacy Notice
newtab.learn.link2=More about New Tab
-newtab.privacy.link2=About your privacy
-# LOCALIZATION NOTE(newtab.intro.header.welcome): %1$S will be replaced by
-# brandShortName as bold text.
-newtab.intro.header.welcome=Welcome to New Tab on %1$S!
newtab.intro.header.update=New Tab got an update!
-newtab.intro.skip=Skip this
-newtab.intro.continue=Continue tour
-newtab.intro.back=Back
-newtab.intro.next=Next
newtab.intro.gotit=Got it!
--- a/browser/chrome/browser/preferences/aboutPermissions.dtd
+++ b/browser/chrome/browser/preferences/aboutPermissions.dtd
@@ -1,20 +1,20 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!ENTITY permissionsManager.title "Permissions Manager">
<!ENTITY sites.search "Search Sites">
<!ENTITY sites.allSites "All Sites">
+
<!-- LOCALIZATION NOTE (permissions.header.start, permissions.header.end): These strings
surround the host name of the site to make the header for the permissions page.
example: "Permissions for mozilla.org" -->
-
<!ENTITY header.site.start "Permissions for">
<!ENTITY header.site.end "">
<!ENTITY header.defaults "Default Permissions for All Sites">
<!ENTITY permissions.forgetSite "Forget About This Site">
<!ENTITY permission.alwaysAsk "Always Ask">
@@ -29,20 +29,18 @@
<!ENTITY cookie.label "Set Cookies">
<!ENTITY cookie.remove "Remove Cookies">
<!ENTITY cookie.manage "Manage Cookies…">
<!ENTITY cookie.removeAll "Remove All Cookies">
<!ENTITY geo.label "Share Location">
<!ENTITY plugins.label "Plugins">
+
<!-- LOCALIZATION NOTE (indexedDB.label): This is describing indexedDB storage
using the same language used for the permIndexedDB string in browser/pageInfo.dtd -->
-
<!ENTITY indexedDB.label "Maintain Offline Storage">
<!ENTITY popup.label "Open Popup Windows">
-<!ENTITY fullscreen.label "Fullscreen">
-
<!ENTITY push.label "Receive Push Notifications">
<!ENTITY camera.label "Use the Camera">
<!ENTITY microphone.label "Use the Microphone">
--- a/browser/chrome/browser/preferences/privacy.dtd
+++ b/browser/chrome/browser/preferences/privacy.dtd
@@ -1,35 +1,41 @@
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!ENTITY tracking.label "Tracking">
-<!ENTITY dntTrackingNotOkay.label2 "Tell sites that I do not want to be tracked">
-<!ENTITY dntTrackingNotOkay.accesskey "n">
-<!ENTITY trackingProtection.label "Prevent sites from tracking me">
-<!ENTITY trackingProtection.accesskey "m">
+<!ENTITY dntTrackingNotOkay4.label "Request that sites not track you">
+<!ENTITY dntTrackingNotOkay4.accesskey "n">
+<!ENTITY doNotTrackInfo.label "Learn More">
+<!ENTITY trackingProtection5.label "Use Tracking Protection">
+<!ENTITY trackingProtection5.accesskey "i">
<!ENTITY trackingProtectionLearnMore.label "Learn more">
-<!ENTITY doNotTrackInfo.label "Learn More">
+<!ENTITY trackingProtectionPBM5.label "Use Tracking Protection in Private Windows">
+<!ENTITY trackingProtectionPBM5.accesskey "v">
+<!ENTITY trackingProtectionPBMLearnMore.label "Learn more">
<!ENTITY history.label "History">
<!ENTITY locationBar.label "Location Bar">
<!ENTITY locbar.suggest.label "When using the location bar, suggest:">
<!ENTITY locbar.history.label "History">
<!ENTITY locbar.history.accesskey "H">
<!ENTITY locbar.bookmarks.label "Bookmarks">
<!ENTITY locbar.bookmarks.accesskey "k">
<!ENTITY locbar.openpage.label "Open tabs">
<!ENTITY locbar.openpage.accesskey "O">
<!ENTITY locbar.searches.label "Related searches from the default search engine">
<!ENTITY locbar.searches.accesskey "d">
+<!ENTITY suggestionSettings.label "Change preferences for search engine suggestions…">
+<!ENTITY suggestionSettings.accesskey "g">
+
<!ENTITY acceptCookies.label "Accept cookies from sites">
<!ENTITY acceptCookies.accesskey "A">
<!ENTITY acceptThirdParty.pre.label "Accept third-party cookies:">
<!ENTITY acceptThirdParty.pre.accesskey "c">
<!ENTITY acceptThirdParty.always.label "Always">
<!ENTITY acceptThirdParty.never.label "Never">
<!ENTITY acceptThirdParty.visited.label "From visited">
@@ -50,30 +56,30 @@
<!ENTITY historyHeader.pre.label "&brandShortName; will:">
<!ENTITY historyHeader.pre.accesskey "w">
<!ENTITY historyHeader.remember.label "Remember history">
<!ENTITY historyHeader.dontremember.label "Never remember history">
<!ENTITY historyHeader.custom.label "Use custom settings for history">
<!ENTITY historyHeader.post.label "">
<!ENTITY rememberDescription.label "&brandShortName; will remember your browsing, download, form and search history, and keep cookies from Web sites you visit.">
+
<!-- LOCALIZATION NOTE (rememberActions.pre.label): include a trailing space as needed -->
<!-- LOCALIZATION NOTE (rememberActions.middle.label): include a starting and trailing space as needed -->
<!-- LOCALIZATION NOTE (rememberActions.post.label): include a starting space as needed -->
-
<!ENTITY rememberActions.pre.label "You may want to ">
<!ENTITY rememberActions.clearHistory.label "clear your recent history">
<!ENTITY rememberActions.middle.label ", or ">
<!ENTITY rememberActions.removeCookies.label "remove individual cookies">
<!ENTITY rememberActions.post.label ".">
<!ENTITY dontrememberDescription.label "&brandShortName; will use the same settings as private browsing, and will not remember any history as you browse the Web.">
+
<!-- LOCALIZATION NOTE (dontrememberActions.pre.label): include a trailing space as needed -->
<!-- LOCALIZATION NOTE (dontrememberActions.post.label): include a starting space as needed -->
-
<!ENTITY dontrememberActions.pre.label "You may also want to ">
<!ENTITY dontrememberActions.clearHistory.label "clear all current history">
<!ENTITY dontrememberActions.post.label ".">
<!ENTITY privateBrowsingPermanent2.label "Always use private browsing mode">
<!ENTITY privateBrowsingPermanent2.accesskey "p">
<!ENTITY rememberHistory2.label "Remember my browsing and download history">
--- a/browser/chrome/browser/preferences/search.dtd
+++ b/browser/chrome/browser/preferences/search.dtd
@@ -4,16 +4,19 @@
<!ENTITY defaultSearchEngine.label "Default Search Engine">
<!ENTITY chooseYourDefaultSearchEngine.label "Choose your default search engine. &brandShortName; uses it in the location bar, search bar, and start pages.">
<!ENTITY provideSearchSuggestions.label "Provide search suggestions">
<!ENTITY provideSearchSuggestions.accesskey "s">
+<!ENTITY showURLBarSuggestions.label "Show search suggestions in location bar results">
+<!ENTITY showURLBarSuggestions.accesskey "l">
+
<!ENTITY redirectWindowsSearch.label "Use this search engine for searches from Windows">
<!ENTITY redirectWindowsSearch.accesskey "W">
<!ENTITY oneClickSearchEngines.label "One-click search engines">
<!ENTITY chooseWhichOneToDisplay.label "The search bar lets you search alternate engines directly. Choose which ones to display.">
<!ENTITY engineNameColumn.label "Search Engine">
--- a/browser/chrome/browser/preferences/sync.dtd
+++ b/browser/chrome/browser/preferences/sync.dtd
@@ -11,28 +11,25 @@
<!-- Login error feedback -->
<!ENTITY updatePass.label "Update">
<!ENTITY resetPass.label "Reset">
<!-- Manage Account -->
<!ENTITY manageAccount.label "Manage Account">
<!ENTITY manageAccount.accesskey "A">
-<!ENTITY viewQuota.label "View Quota">
<!ENTITY changePassword2.label "Change Password…">
<!ENTITY myRecoveryKey.label "My Recovery Key">
<!ENTITY resetSync2.label "Reset Sync…">
<!ENTITY pairDevice.label "Pair a Device">
<!ENTITY syncMy.label "Synchronise My">
<!ENTITY engine.bookmarks.label "Bookmarks">
<!ENTITY engine.bookmarks.accesskey "m">
-<!ENTITY engine.readinglist.label "Reading List">
-<!ENTITY engine.readinglist.accesskey "L">
<!ENTITY engine.tabs.label "Tabs">
<!ENTITY engine.tabs.accesskey "T">
<!ENTITY engine.history.label "History">
<!ENTITY engine.history.accesskey "r">
<!ENTITY engine.passwords.label "Passwords">
<!ENTITY engine.passwords.accesskey "P">
<!ENTITY engine.prefs.label "Preferences">
<!ENTITY engine.prefs.accesskey "s">
@@ -69,18 +66,33 @@ signedInLoginFailure.aftername.label): t
before and after the account email address. Localizers can use one of them, or
both, to better adapt this sentence to their language.
-->
<!ENTITY signedInLoginFailure.beforename.label "Please sign in to reconnect">
<!ENTITY signedInLoginFailure.aftername.label "">
<!ENTITY notSignedIn.label "You are not signed in.">
<!ENTITY signIn.label "Sign in">
+<!ENTITY profilePicture.tooltip "Change profile picture">
<!ENTITY manage.label "Manage">
<!ENTITY disconnect.label "Disconnect…">
<!ENTITY verify.label "Verify Email">
<!ENTITY forget.label "Forget this Email">
<!ENTITY welcome.description "Access your tabs, bookmarks, passwords and more wherever you use &brandShortName;.">
<!ENTITY welcome.signIn.label "Sign In">
<!ENTITY welcome.createAccount.label "Create Account">
<!ENTITY welcome.useOldSync.label "Using an older version of Sync?">
+
+<!ENTITY signedOut.caption "Take your Web with you">
+<!ENTITY signedOut.description "Synchronise your bookmarks, history, tabs, passwords, add-ons, and preferences across all your devices.">
+<!ENTITY signedOut.accountBox.title "Connect with a &syncBrand.fxAccount.label;">
+<!ENTITY signedOut.accountBox.create "Create Account">
+<!ENTITY signedOut.accountBox.signin "Sign In">
+
+<!ENTITY signedIn.engines.label "Synchronise across all devices">
+
+<!ENTITY mobilePromo.start "Download Firefox for ">
+<!-- LOCALIZATION NOTE (mobilePromo.androidLink): This is a link title that links to https://www.mozilla.org/firefox/android/ -->
+<!ENTITY mobilePromo.androidLink "Android™">
+<!ENTITY mobilePromo.end " to synchronise with your mobile device.">
+<!ENTITY androidAttribution "Android is a trademark of Google Inc.">
--- a/browser/chrome/browser/sanitize.dtd
+++ b/browser/chrome/browser/sanitize.dtd
@@ -47,18 +47,16 @@ that require it. -->
<!ENTITY historySection.label "History">
<!ENTITY dataSection.label "Data">
<!ENTITY itemHistoryAndDownloads.label "Browsing & Download History">
<!ENTITY itemHistoryAndDownloads.accesskey "B">
<!ENTITY itemFormSearchHistory.label "Form & Search History">
<!ENTITY itemFormSearchHistory.accesskey "F">
-<!ENTITY itemPasswords.label "Saved Passwords">
-<!ENTITY itemPasswords.accesskey "P">
<!ENTITY itemCookies.label "Cookies">
<!ENTITY itemCookies.accesskey "C">
<!ENTITY itemCache.label "Cache">
<!ENTITY itemCache.accesskey "a">
<!ENTITY itemOfflineApps.label "Offline Web Site Data">
<!ENTITY itemOfflineApps.accesskey "O">
<!ENTITY itemActiveLogins.label "Active Logins">
<!ENTITY itemActiveLogins.accesskey "L">
--- a/browser/chrome/browser/search.properties
+++ b/browser/chrome/browser/search.properties
@@ -27,8 +27,23 @@ cmd_showSuggestions_accesskey=S
# a search engine offered by a web page. Each engine is displayed as a
# menuitem at the bottom of the search panel.
cmd_addFoundEngine=Add "%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=Add search engine
+
+# LOCALIZATION NOTE (searchForKeywordsWith):
+# This string is used to build the header above the list of one-click
+# search providers: "Search for <user-typed keywords> with:"
+searchForKeywordsWith=Search for %S with:
+
+# LOCALIZATION NOTE (searchWithHeader):
+# The wording of this string should be as close as possible to
+# searchForKeywordsWith. This string will be used when the user
+# has not typed anything.
+searchWithHeader=Search with:
+
+# LOCALIZATION NOTE (searchSettings):
+# This is the label for the button that opens Search preferences.
+searchSettings=Change Search Settings
--- a/browser/chrome/browser/sitePermissions.properties
+++ b/browser/chrome/browser/sitePermissions.properties
@@ -11,11 +11,10 @@ permission.cookie.label = Set Cookies
permission.desktop-notification.label = Show Notifications
permission.image.label = Load Images
permission.camera.label = Use the Camera
permission.microphone.label = Use the Microphone
permission.install.label = Install Add-ons
permission.popup.label = Open Pop-up Windows
permission.geo.label = Access Your Location
permission.indexedDB.label = Maintain Offline Storage
-permission.fullscreen.label = Enter Fullscreen
permission.pointerLock.label = Hide the Mouse Pointer
permission.push.label = Receive Push Notifications
--- a/browser/chrome/browser/syncCustomize.dtd
+++ b/browser/chrome/browser/syncCustomize.dtd
@@ -10,18 +10,16 @@
<!ENTITY syncCustomizeUnix.description "You can change this selection in Preferences.">
<!--
These engine names are the same as in browser/preferences/sync.dtd except
for the last two that are marked as being specific to Desktop browsers.
-->
<!ENTITY engine.bookmarks.label "Bookmarks">
<!ENTITY engine.bookmarks.accesskey "m">
-<!ENTITY engine.readinglist.label "Reading List">
-<!ENTITY engine.readinglist.accesskey "L">
<!ENTITY engine.history.label "History">
<!ENTITY engine.history.accesskey "r">
<!ENTITY engine.tabs.label "Tabs">
<!ENTITY engine.tabs.accesskey "T">
<!ENTITY engine.passwords.label "Passwords">
<!ENTITY engine.passwords.accesskey "P">
<!ENTITY engine.addons.label "Desktop Add-ons">
<!ENTITY engine.addons.accesskey "A">
--- a/browser/chrome/browser/syncSetup.properties
+++ b/browser/chrome/browser/syncSetup.properties
@@ -57,10 +57,8 @@ disconnect.verify.heading = Are you sure
# LOCALIZATION NOTE (disconnect.verify.description): %S will be replaced with
# brandShortName
disconnect.verify.description = %S will stop synchronising with your account, but won’t delete any of your browsing data on this computer.
relinkVerify.title = Merge Warning
relinkVerify.heading = Are you sure you want to sign in to Sync?
# LOCALIZATION NOTE (relinkVerify.description): Email address of a user previously signed into sync.
relinkVerify.description = A different user was previously signed in to Sync on this computer. Signing in will merge this browser’s bookmarks, passwords and other settings with %S
-
-manage.pageTitle = Manage Sync
deleted file mode 100644
--- a/browser/chrome/browser/tabbrowser.dtd
+++ /dev/null
@@ -1,5 +0,0 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
- - License, v. 2.0. If a copy of the MPL was not distributed with this
- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-<!ENTITY closeTab.label "Close Tab">
--- a/browser/chrome/browser/tabbrowser.properties
+++ b/browser/chrome/browser/tabbrowser.properties
@@ -24,8 +24,16 @@ tabs.closeWarningTitle=Confirm close
# 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=;You are about to close #1 tabs. Are you sure you want to continue?
tabs.closeButtonMultiple=Close tabs
tabs.closeWarningPromptMe=Warn me when I attempt to close multiple tabs
+
+tabs.closeTab.tooltip=Close tab
+# LOCALIZATION NOTE (tabs.muteAudio.tooltip):
+# %S is the keyboard shortcut for "Mute tab"
+tabs.muteAudio.tooltip=Mute tab (%S)
+# LOCALIZATION NOTE (tabs.unmuteAudio.tooltip):
+# %S is the keyboard shortcut for "Unmute tab"
+tabs.unmuteAudio.tooltip=Unmute tab (%S)
--- a/browser/chrome/browser/translation.dtd
+++ b/browser/chrome/browser/translation.dtd
@@ -1,44 +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/. -->
+
<!-- LOCALIZATION NOTE (translation.thisPageIsIn.label,
- translation.translateThisPage.label):
- These 2 strings are used to construct a sentence that contains a dropdown
- showing the detected language of the current web page.
- In en-US it looks like this:
- This page is in [detected language] Translate this page?
- "detected language" here is a language name coming from the
- global/languageNames.properties file; for some locales it may not be in
- the correct grammar case to keep the same structure of the original
- sentence. -->
-
<!ENTITY translation.thisPageIsIn.label "This page is in">
<!ENTITY translation.translateThisPage.label "Translate this page?">
<!ENTITY translation.translate.button "Translate">
<!ENTITY translation.notNow.button "Not Now">
<!ENTITY translation.translatingContent.label "Translating page content…">
+
<!-- LOCALIZATION NOTE (translation.translatedFrom.label,
- translation.translatedTo.label,
- translation.translatedToSuffix.label):
- These 3 strings are used to construct a sentence that contains 2 dropdowns
- showing the source and target language of a translated web page.
- In en-US it looks like this:
- This page has been translated from [from language] to [to language]
- "from language" and "to language" here are language names coming from the
- global/languageNames.properties file; for some locales they may not be in
- the correct grammar case to keep the same structure of the original
- sentence.
-
- translation.translatedToSuffix.label (empty in en-US) is for locales that
- need to display some text after the second drop down for the sentence to
- be grammatically correct. -->
-
<!ENTITY translation.translatedFrom.label "This page has been translated from">
<!ENTITY translation.translatedTo.label "to">
<!ENTITY translation.translatedToSuffix.label "">
<!ENTITY translation.showOriginal.button "Show Original">
<!ENTITY translation.showTranslation.button "Show Translation">
<!ENTITY translation.errorTranslating.label "There has been an error translating this page.">
@@ -51,16 +51,25 @@
- translation.options.preferences.accesskey):
- The accesskey values used here should not clash with the value used for
- translation.options.neverForLanguage.accesskey in translation.properties
-->
<!ENTITY translation.options.neverForSite.label "Never translate this site">
<!ENTITY translation.options.neverForSite.accesskey "e">
<!ENTITY translation.options.preferences.label "Translation preferences">
<!ENTITY translation.options.preferences.accesskey "T">
+
<!-- LOCALIZATION NOTE (translation.options.attribution.beforeLogo,
- translation.options.attribution.afterLogo):
- These 2 strings are displayed before and after a 'Microsoft Translator'
- logo.
-->
-
<!ENTITY translation.options.attribution.beforeLogo "Translations by">
<!ENTITY translation.options.attribution.afterLogo "">
+
+<!-- LOCALIZATION NOTE (translation.options.attribution.poweredByYandex,
+ translation.options.attribution.beforeLogo,
+ - translation.options.attribution.afterLogo):
+ - translation.options.attribution.poweredByYandex is displayed instead of
+ - the other two strings when yandex translation engine is preferred by the
+ - user.
+ -->
+<!ENTITY translation.options.attribution.yandexTranslate "Powered by Yandex.Translate">
--- a/services/sync/sync.properties
+++ b/services/sync/sync.properties
@@ -19,30 +19,16 @@ error.login.title = Error While Signing
error.login.description = Sync encountered an error while connecting: %1$S. Please try again.
error.login.prefs.label = Preferences…
error.login.prefs.accesskey = P
# should decide if we're going to show this
error.logout.title = Error While Signing Out
error.logout.description = Sync encountered an error while connecting. It's probably ok, and you don't have to do anything about it.
error.sync.title = Error While Synchronising
error.sync.description = Sync encountered an error while synchronising: %1$S. Sync will automatically retry this action.
-error.sync.prolonged_failure = Synchronisation has not been able to complete during the last %1$S days. Please check your network settings.
-error.sync.serverStatusButton.label = Server Status
-error.sync.serverStatusButton.accesskey = V
-error.sync.needUpdate.description = You need to update Firefox Sync to continue synchronising your data.
-error.sync.needUpdate.label = Update Firefox Sync
-error.sync.needUpdate.accesskey = U
-error.sync.tryAgainButton.label = Synchronise Now
-error.sync.tryAgainButton.accesskey = S
-warning.sync.quota.label = Approaching Server Quota
-warning.sync.quota.description = You are approaching the server quota. Please review which data to synchronise.
-error.sync.quota.label = Server Quota Exceeded
-error.sync.quota.description = Sync failed because it exceeded the server quota. Please review which data to synchronise.
-error.sync.viewQuotaButton.label = View Quota
-error.sync.viewQuotaButton.accesskey = V
warning.sync.eol.label = Service Shutting Down
# %1: the app name (Firefox)
warning.sync.eol.description = Your Firefox Sync service is shutting down soon. Upgrade %1$S to keep synchronising.
error.sync.eol.label = Service Unavailable
# %1: the app name (Firefox)
error.sync.eol.description = Your Firefox Sync service is no longer available. You need to upgrade %1$S to keep synchronising.
sync.eol.learnMore.label = Learn more
sync.eol.learnMore.accesskey = L
--- a/webapprt/webapprt/overrides/dom.properties
+++ b/webapprt/webapprt/overrides/dom.properties
@@ -60,19 +60,16 @@ CreateAttributeNSWarning=Use of document
OwnerElementWarning=Use of attributes' ownerElement attribute is deprecated.
NodeValueWarning=Use of attributes' nodeValue attribute is deprecated. Use value instead.
TextContentWarning=Use of attributes' textContent attribute is deprecated. Use value instead.
EnablePrivilegeWarning=Use of enablePrivilege is deprecated. Please use code that runs with the system principal (e.g. an extension) instead.
nsIJSONDecodeDeprecatedWarning=nsIJSON.decode is deprecated. Please use JSON.parse instead.
nsIJSONEncodeDeprecatedWarning=nsIJSON.encode is deprecated. Please use JSON.stringify instead.
nsIDOMWindowInternalWarning=Use of nsIDOMWindowInternal is deprecated. Use nsIDOMWindow instead.
InputEncodingWarning=Use of inputEncoding is deprecated.
-# LOCALIZATION NOTE: Do not translate "MozBeforePaint" and "mozRequestAnimationFrame"
-MozBeforePaintWarning=MozBeforePaint events are no longer supported. mozRequestAnimationFrame must be passed a non-null callback argument.
-FullScreenDeniedBlocked=Request for full-screen was denied because this domain has been blocked from full-screen by user.
FullScreenDeniedDisabled=Request for full-screen was denied because full-screen API is disabled by user preference.
FullScreenDeniedFocusedPlugin=Request for full-screen was denied because a windowed plugin is focused.
FullScreenDeniedHidden=Request for full-screen was denied because the document is no longer visible.
FullScreenDeniedIframeNotAllowed=Request for full-screen was denied because at least one of the document's containing iframes does not have an "allowfullscreen" attribute.
FullScreenDeniedNotInputDriven=Request for full-screen was denied because Element.mozRequestFullScreen() was not called from inside a short running user-generated event handler.
FullScreenDeniedNotInDocument=Request for full-screen was denied because requesting element is no longer in its document.
FullScreenDeniedMovedDocument=Request for full-screen was denied because requesting element has moved document.
FullScreenDeniedLostWindow=Request for full-screen was denied because we no longer have a window.