Bug 1213703 - Update en-GB for Gecko 42 - Firefox part r=me
authorIan Neal <iann_cvs@blueyonder.co.uk>
Sun, 18 Oct 2015 00:33:58 +0100
changeset 539 8eb289cd30e4e600529fd31a67fa9455832515ac
parent 538 095ecb0ee1b29634646a452ad2c280b2e168c45b
child 540 15f1b3f2283f255a3a63a1b58368981ee1009ab6
push id110
push useriann_cvs@blueyonder.co.uk
push dateSat, 17 Oct 2015 23:35:41 +0000
reviewersme
bugs1213703
Bug 1213703 - Update en-GB for Gecko 42 - Firefox part r=me
browser/chrome/browser/aboutAccounts.dtd
browser/chrome/browser/aboutHome.dtd
browser/chrome/browser/aboutPrivateBrowsing.dtd
browser/chrome/browser/browser.dtd
browser/chrome/browser/browser.properties
browser/chrome/browser/customizableui/customizableWidgets.properties
browser/chrome/browser/devtools/debugger.dtd
browser/chrome/browser/devtools/filterwidget.dtd
browser/chrome/browser/devtools/filterwidget.properties
browser/chrome/browser/devtools/markers.properties
browser/chrome/browser/devtools/netmonitor.properties
browser/chrome/browser/devtools/performance.dtd
browser/chrome/browser/devtools/performance.properties
browser/chrome/browser/devtools/profiler.dtd
browser/chrome/browser/devtools/profiler.properties
browser/chrome/browser/devtools/promisedebugger.dtd
browser/chrome/browser/devtools/promisedebugger.properties
browser/chrome/browser/devtools/sourceeditor.properties
browser/chrome/browser/devtools/timeline.dtd
browser/chrome/browser/devtools/timeline.properties
browser/chrome/browser/devtools/toolbox.dtd
browser/chrome/browser/loop/loop.properties
browser/chrome/browser/migration/migration.dtd
browser/chrome/browser/migration/migration.properties
browser/chrome/browser/newTab.properties
browser/chrome/browser/preferences/aboutPermissions.dtd
browser/chrome/browser/preferences/privacy.dtd
browser/chrome/browser/preferences/search.dtd
browser/chrome/browser/preferences/sync.dtd
browser/chrome/browser/sanitize.dtd
browser/chrome/browser/search.properties
browser/chrome/browser/sitePermissions.properties
browser/chrome/browser/syncCustomize.dtd
browser/chrome/browser/syncSetup.properties
browser/chrome/browser/tabbrowser.dtd
browser/chrome/browser/tabbrowser.properties
browser/chrome/browser/translation.dtd
services/sync/sync.properties
webapprt/webapprt/overrides/dom.properties
--- 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 &amp; 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 &amp; Download History">
 <!ENTITY itemHistoryAndDownloads.accesskey "B">
 <!ENTITY itemFormSearchHistory.label       "Form &amp; 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.