Bug 1299070 - Merge all startup strings in startup.properties;r=bgrins
authorJulian Descottes <jdescottes@mozilla.com>
Fri, 02 Sep 2016 17:45:22 +0200
changeset 409698 e9ca1d928e35ae987bf3265408b48f04620badf5
parent 409697 7aaba7598abbdb64c0f0e48f3ba26c1a659008e4
child 409736 00c15597bb8d2e2c6615fe0b8ae616a42b558694
push id28517
push userjdescottes@mozilla.com
push dateSun, 04 Sep 2016 12:30:27 +0000
reviewersbgrins
bugs1299070
milestone51.0a1
Bug 1299070 - Merge all startup strings in startup.properties;r=bgrins MozReview-Commit-ID: 99zWNTHid21
devtools/client/definitions.js
devtools/client/locales/en-US/canvasdebugger.properties
devtools/client/locales/en-US/debugger.properties
devtools/client/locales/en-US/dom.properties
devtools/client/locales/en-US/inspector.properties
devtools/client/locales/en-US/memory.properties
devtools/client/locales/en-US/netmonitor.properties
devtools/client/locales/en-US/performance.properties
devtools/client/locales/en-US/scratchpad.properties
devtools/client/locales/en-US/shadereditor.properties
devtools/client/locales/en-US/startup.properties
devtools/client/locales/en-US/storage.properties
devtools/client/locales/en-US/styleeditor.properties
devtools/client/locales/en-US/toolbox.properties
devtools/client/locales/en-US/webaudioeditor.properties
devtools/client/locales/en-US/webconsole.properties
devtools/client/netmonitor/test/browser_net_prefs-and-l10n.js
devtools/shared/tests/browser/browser_l10n_localizeMarkup.js
--- a/devtools/client/definitions.js
+++ b/devtools/client/definitions.js
@@ -18,87 +18,58 @@ loader.lazyGetter(this, "CanvasDebuggerP
 loader.lazyGetter(this, "WebAudioEditorPanel", () => require("devtools/client/webaudioeditor/panel").WebAudioEditorPanel);
 loader.lazyGetter(this, "MemoryPanel", () => require("devtools/client/memory/panel").MemoryPanel);
 loader.lazyGetter(this, "PerformancePanel", () => require("devtools/client/performance/panel").PerformancePanel);
 loader.lazyGetter(this, "NetMonitorPanel", () => require("devtools/client/netmonitor/panel").NetMonitorPanel);
 loader.lazyGetter(this, "StoragePanel", () => require("devtools/client/storage/panel").StoragePanel);
 loader.lazyGetter(this, "ScratchpadPanel", () => require("devtools/client/scratchpad/scratchpad-panel").ScratchpadPanel);
 loader.lazyGetter(this, "DomPanel", () => require("devtools/client/dom/dom-panel").DomPanel);
 
-// Strings
-const toolboxProps = "devtools/locale/toolbox.properties";
-const inspectorProps = "devtools/locale/inspector.properties";
-const webConsoleProps = "devtools/locale/webconsole.properties";
-const debuggerProps = "devtools/locale/debugger.properties";
-const styleEditorProps = "devtools/locale/styleeditor.properties";
-const shaderEditorProps = "devtools/locale/shadereditor.properties";
-const canvasDebuggerProps = "devtools/locale/canvasdebugger.properties";
-const webAudioEditorProps = "devtools/locale/webaudioeditor.properties";
-const performanceProps = "devtools/locale/performance.properties";
-const netMonitorProps = "devtools/locale/netmonitor.properties";
-const storageProps = "devtools/locale/storage.properties";
-const scratchpadProps = "devtools/locale/scratchpad.properties";
-const memoryProps = "devtools/locale/memory.properties";
-const domProps = "devtools/locale/dom.properties";
-
 const {LocalizationHelper} = require("devtools/shared/l10n");
-const toolboxStrings = new LocalizationHelper(toolboxProps);
-const performanceStrings = new LocalizationHelper(performanceProps);
-const webConsoleStrings = new LocalizationHelper(webConsoleProps);
-const debuggerStrings = new LocalizationHelper(debuggerProps);
-const styleEditorStrings = new LocalizationHelper(styleEditorProps);
-const shaderEditorStrings = new LocalizationHelper(shaderEditorProps);
-const canvasDebuggerStrings = new LocalizationHelper(canvasDebuggerProps);
-const webAudioEditorStrings = new LocalizationHelper(webAudioEditorProps);
-const inspectorStrings = new LocalizationHelper(inspectorProps);
-const netMonitorStrings = new LocalizationHelper(netMonitorProps);
-const storageStrings = new LocalizationHelper(storageProps);
-const scratchpadStrings = new LocalizationHelper(scratchpadProps);
-const memoryStrings = new LocalizationHelper(memoryProps);
-const domStrings = new LocalizationHelper(domProps);
+const L10N = new LocalizationHelper("devtools/locale/startup.properties");
 
 var Tools = {};
 exports.Tools = Tools;
 
 // Definitions
 Tools.options = {
   id: "options",
   ordinal: 0,
   url: "chrome://devtools/content/framework/toolbox-options.xhtml",
   icon: "chrome://devtools/skin/images/tool-options.svg",
   invertIconForDarkTheme: true,
   bgTheme: "theme-body",
-  label: l10n("options.label", toolboxStrings),
+  label: l10n("options.label"),
   iconOnly: true,
-  panelLabel: l10n("options.panelLabel", toolboxStrings),
-  tooltip: l10n("optionsButton.tooltip", toolboxStrings),
+  panelLabel: l10n("options.panelLabel"),
+  tooltip: l10n("optionsButton.tooltip"),
   inMenu: false,
 
   isTargetSupported: function () {
     return true;
   },
 
   build: function (iframeWindow, toolbox) {
     return new OptionsPanel(iframeWindow, toolbox);
   }
 };
 
 Tools.inspector = {
   id: "inspector",
-  accesskey: l10n("inspector.accesskey", inspectorStrings),
-  key: l10n("inspector.commandkey", inspectorStrings),
+  accesskey: l10n("inspector.accesskey"),
+  key: l10n("inspector.commandkey"),
   ordinal: 1,
   modifiers: osString == "Darwin" ? "accel,alt" : "accel,shift",
   icon: "chrome://devtools/skin/images/tool-inspector.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/inspector/inspector.xul",
-  label: l10n("inspector.label", inspectorStrings),
-  panelLabel: l10n("inspector.panelLabel", inspectorStrings),
+  label: l10n("inspector.label"),
+  panelLabel: l10n("inspector.panelLabel"),
   get tooltip() {
-    return l10n("inspector.tooltip2", inspectorStrings,
+    return l10n("inspector.tooltip2",
     (osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+") + this.key);
   },
   inMenu: true,
   commands: [
     "devtools/client/responsivedesign/resize-commands",
     "devtools/client/inspector/inspector-commands"
   ],
 
@@ -113,28 +84,28 @@ Tools.inspector = {
 
   build: function (iframeWindow, toolbox) {
     return new InspectorPanel(iframeWindow, toolbox);
   }
 };
 
 Tools.webConsole = {
   id: "webconsole",
-  key: l10n("cmd.commandkey", webConsoleStrings),
-  accesskey: l10n("webConsoleCmd.accesskey", webConsoleStrings),
+  key: l10n("cmd.commandkey"),
+  accesskey: l10n("webConsoleCmd.accesskey"),
   modifiers: Services.appinfo.OS == "Darwin" ? "accel,alt" : "accel,shift",
   ordinal: 2,
   icon: "chrome://devtools/skin/images/tool-webconsole.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/webconsole/webconsole.xul",
-  label: l10n("ToolboxTabWebconsole.label", webConsoleStrings),
-  menuLabel: l10n("MenuWebconsole.label", webConsoleStrings),
-  panelLabel: l10n("ToolboxWebConsole.panelLabel", webConsoleStrings),
+  label: l10n("ToolboxTabWebconsole.label"),
+  menuLabel: l10n("MenuWebconsole.label"),
+  panelLabel: l10n("ToolboxWebConsole.panelLabel"),
   get tooltip() {
-    return l10n("ToolboxWebconsole.tooltip2", webConsoleStrings,
+    return l10n("ToolboxWebconsole.tooltip2",
     (osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+") + this.key);
   },
   inMenu: true,
   commands: "devtools/client/webconsole/console-commands",
 
   preventClosingOnKey: true,
   onkey: function (panel, toolbox) {
     if (toolbox.splitConsole) {
@@ -151,28 +122,28 @@ Tools.webConsole = {
 
   build: function (iframeWindow, toolbox) {
     return new WebConsolePanel(iframeWindow, toolbox);
   }
 };
 
 Tools.jsdebugger = {
   id: "jsdebugger",
-  key: l10n("debuggerMenu.commandkey", debuggerStrings),
-  accesskey: l10n("debuggerMenu.accesskey", debuggerStrings),
+  key: l10n("debuggerMenu.commandkey"),
+  accesskey: l10n("debuggerMenu.accesskey"),
   modifiers: osString == "Darwin" ? "accel,alt" : "accel,shift",
   ordinal: 3,
   icon: "chrome://devtools/skin/images/tool-debugger.svg",
   invertIconForDarkTheme: true,
   highlightedicon: "chrome://devtools/skin/images/tool-debugger-paused.svg",
   url: "chrome://devtools/content/debugger/debugger.xul",
-  label: l10n("ToolboxDebugger.label", debuggerStrings),
-  panelLabel: l10n("ToolboxDebugger.panelLabel", debuggerStrings),
+  label: l10n("ToolboxDebugger.label"),
+  panelLabel: l10n("ToolboxDebugger.panelLabel"),
   get tooltip() {
-    return l10n("ToolboxDebugger.tooltip2", debuggerStrings,
+    return l10n("ToolboxDebugger.tooltip2",
     (osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+") + this.key);
   },
   inMenu: true,
   commands: "devtools/client/debugger/debugger-commands",
 
   isTargetSupported: function () {
     return true;
   },
@@ -202,28 +173,28 @@ switchDebugger();
 Services.prefs.addObserver(
   "devtools.debugger.new-debugger-frontend",
   { observe: switchDebugger },
   false
 );
 
 Tools.styleEditor = {
   id: "styleeditor",
-  key: l10n("open.commandkey", styleEditorStrings),
+  key: l10n("open.commandkey"),
   ordinal: 4,
   visibilityswitch: "devtools.styleeditor.enabled",
-  accesskey: l10n("open.accesskey", styleEditorStrings),
+  accesskey: l10n("open.accesskey"),
   modifiers: "shift",
   icon: "chrome://devtools/skin/images/tool-styleeditor.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/styleeditor/styleeditor.xul",
-  label: l10n("ToolboxStyleEditor.label", styleEditorStrings),
-  panelLabel: l10n("ToolboxStyleEditor.panelLabel", styleEditorStrings),
+  label: l10n("ToolboxStyleEditor.label"),
+  panelLabel: l10n("ToolboxStyleEditor.panelLabel"),
   get tooltip() {
-    return l10n("ToolboxStyleEditor.tooltip3", styleEditorStrings,
+    return l10n("ToolboxStyleEditor.tooltip3",
     "Shift+" + functionkey(this.key));
   },
   inMenu: true,
   commands: "devtools/client/styleeditor/styleeditor-commands",
 
   isTargetSupported: function (target) {
     return target.hasActor("styleEditor") || target.hasActor("styleSheets");
   },
@@ -235,19 +206,19 @@ Tools.styleEditor = {
 
 Tools.shaderEditor = {
   id: "shadereditor",
   ordinal: 5,
   visibilityswitch: "devtools.shadereditor.enabled",
   icon: "chrome://devtools/skin/images/tool-shadereditor.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/shadereditor/shadereditor.xul",
-  label: l10n("ToolboxShaderEditor.label", shaderEditorStrings),
-  panelLabel: l10n("ToolboxShaderEditor.panelLabel", shaderEditorStrings),
-  tooltip: l10n("ToolboxShaderEditor.tooltip", shaderEditorStrings),
+  label: l10n("ToolboxShaderEditor.label"),
+  panelLabel: l10n("ToolboxShaderEditor.panelLabel"),
+  tooltip: l10n("ToolboxShaderEditor.tooltip"),
 
   isTargetSupported: function (target) {
     return target.hasActor("webgl") && !target.chrome;
   },
 
   build: function (iframeWindow, toolbox) {
     return new ShaderEditorPanel(iframeWindow, toolbox);
   }
@@ -255,19 +226,19 @@ Tools.shaderEditor = {
 
 Tools.canvasDebugger = {
   id: "canvasdebugger",
   ordinal: 6,
   visibilityswitch: "devtools.canvasdebugger.enabled",
   icon: "chrome://devtools/skin/images/tool-canvas.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/canvasdebugger/canvasdebugger.xul",
-  label: l10n("ToolboxCanvasDebugger.label", canvasDebuggerStrings),
-  panelLabel: l10n("ToolboxCanvasDebugger.panelLabel", canvasDebuggerStrings),
-  tooltip: l10n("ToolboxCanvasDebugger.tooltip", canvasDebuggerStrings),
+  label: l10n("ToolboxCanvasDebugger.label"),
+  panelLabel: l10n("ToolboxCanvasDebugger.panelLabel"),
+  tooltip: l10n("ToolboxCanvasDebugger.tooltip"),
 
   // Hide the Canvas Debugger in the Add-on Debugger and Browser Toolbox
   // (bug 1047520).
   isTargetSupported: function (target) {
     return target.hasActor("canvas") && !target.chrome;
   },
 
   build: function (iframeWindow, toolbox) {
@@ -278,24 +249,23 @@ Tools.canvasDebugger = {
 Tools.performance = {
   id: "performance",
   ordinal: 7,
   icon: "chrome://devtools/skin/images/tool-profiler.svg",
   invertIconForDarkTheme: true,
   highlightedicon: "chrome://devtools/skin/images/tool-profiler-active.svg",
   url: "chrome://devtools/content/performance/performance.xul",
   visibilityswitch: "devtools.performance.enabled",
-  label: l10n("performance.label", performanceStrings),
-  panelLabel: l10n("performance.panelLabel", performanceStrings),
+  label: l10n("performance.label"),
+  panelLabel: l10n("performance.panelLabel"),
   get tooltip() {
-    return l10n("performance.tooltip", performanceStrings,
-    "Shift+" + functionkey(this.key));
+    return l10n("performance.tooltip", "Shift+" + functionkey(this.key));
   },
-  accesskey: l10n("performance.accesskey", performanceStrings),
-  key: l10n("performance.commandkey", performanceStrings),
+  accesskey: l10n("performance.accesskey"),
+  key: l10n("performance.commandkey"),
   modifiers: "shift",
   inMenu: true,
 
   isTargetSupported: function (target) {
     return target.hasActor("profiler");
   },
 
   build: function (frame, target) {
@@ -306,72 +276,71 @@ Tools.performance = {
 Tools.memory = {
   id: "memory",
   ordinal: 8,
   icon: "chrome://devtools/skin/images/tool-memory.svg",
   invertIconForDarkTheme: true,
   highlightedicon: "chrome://devtools/skin/images/tool-memory-active.svg",
   url: "chrome://devtools/content/memory/memory.xhtml",
   visibilityswitch: "devtools.memory.enabled",
-  label: l10n("memory.label", memoryStrings),
-  panelLabel: l10n("memory.panelLabel", memoryStrings),
-  tooltip: l10n("memory.tooltip", memoryStrings),
+  label: l10n("memory.label"),
+  panelLabel: l10n("memory.panelLabel"),
+  tooltip: l10n("memory.tooltip"),
 
   isTargetSupported: function (target) {
     return target.getTrait("heapSnapshots") && !target.isAddon;
   },
 
   build: function (frame, target) {
     return new MemoryPanel(frame, target);
   }
 };
 
 Tools.netMonitor = {
   id: "netmonitor",
-  accesskey: l10n("netmonitor.accesskey", netMonitorStrings),
-  key: l10n("netmonitor.commandkey", netMonitorStrings),
+  accesskey: l10n("netmonitor.accesskey"),
+  key: l10n("netmonitor.commandkey"),
   ordinal: 9,
   modifiers: osString == "Darwin" ? "accel,alt" : "accel,shift",
   visibilityswitch: "devtools.netmonitor.enabled",
   icon: "chrome://devtools/skin/images/tool-network.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/netmonitor/netmonitor.xul",
-  label: l10n("netmonitor.label", netMonitorStrings),
-  panelLabel: l10n("netmonitor.panelLabel", netMonitorStrings),
+  label: l10n("netmonitor.label"),
+  panelLabel: l10n("netmonitor.panelLabel"),
   get tooltip() {
-    return l10n("netmonitor.tooltip2", netMonitorStrings,
+    return l10n("netmonitor.tooltip2",
     (osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+") + this.key);
   },
   inMenu: true,
 
   isTargetSupported: function (target) {
     return target.getTrait("networkMonitor");
   },
 
   build: function (iframeWindow, toolbox) {
     return new NetMonitorPanel(iframeWindow, toolbox);
   }
 };
 
 Tools.storage = {
   id: "storage",
-  key: l10n("storage.commandkey", storageStrings),
+  key: l10n("storage.commandkey"),
   ordinal: 10,
-  accesskey: l10n("storage.accesskey", storageStrings),
+  accesskey: l10n("storage.accesskey"),
   modifiers: "shift",
   visibilityswitch: "devtools.storage.enabled",
   icon: "chrome://devtools/skin/images/tool-storage.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/storage/storage.xul",
-  label: l10n("storage.label", storageStrings),
-  menuLabel: l10n("storage.menuLabel", storageStrings),
-  panelLabel: l10n("storage.panelLabel", storageStrings),
+  label: l10n("storage.label"),
+  menuLabel: l10n("storage.menuLabel"),
+  panelLabel: l10n("storage.panelLabel"),
   get tooltip() {
-    return l10n("storage.tooltip3", storageStrings,
-    "Shift+" + functionkey(this.key));
+    return l10n("storage.tooltip3", "Shift+" + functionkey(this.key));
   },
   inMenu: true,
 
   isTargetSupported: function (target) {
     return target.isLocalTab ||
            (target.hasActor("storage") && target.getTrait("storageInspector"));
   },
 
@@ -382,19 +351,19 @@ Tools.storage = {
 
 Tools.webAudioEditor = {
   id: "webaudioeditor",
   ordinal: 11,
   visibilityswitch: "devtools.webaudioeditor.enabled",
   icon: "chrome://devtools/skin/images/tool-webaudio.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/webaudioeditor/webaudioeditor.xul",
-  label: l10n("ToolboxWebAudioEditor1.label", webAudioEditorStrings),
-  panelLabel: l10n("ToolboxWebAudioEditor1.panelLabel", webAudioEditorStrings),
-  tooltip: l10n("ToolboxWebAudioEditor1.tooltip", webAudioEditorStrings),
+  label: l10n("ToolboxWebAudioEditor1.label"),
+  panelLabel: l10n("ToolboxWebAudioEditor1.panelLabel"),
+  tooltip: l10n("ToolboxWebAudioEditor1.tooltip"),
 
   isTargetSupported: function (target) {
     return !target.chrome && target.hasActor("webaudio");
   },
 
   build: function (iframeWindow, toolbox) {
     return new WebAudioEditorPanel(iframeWindow, toolbox);
   }
@@ -402,46 +371,46 @@ Tools.webAudioEditor = {
 
 Tools.scratchpad = {
   id: "scratchpad",
   ordinal: 12,
   visibilityswitch: "devtools.scratchpad.enabled",
   icon: "chrome://devtools/skin/images/tool-scratchpad.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/scratchpad/scratchpad.xul",
-  label: l10n("scratchpad.label", scratchpadStrings),
-  panelLabel: l10n("scratchpad.panelLabel", scratchpadStrings),
-  tooltip: l10n("scratchpad.tooltip", scratchpadStrings),
+  label: l10n("scratchpad.label"),
+  panelLabel: l10n("scratchpad.panelLabel"),
+  tooltip: l10n("scratchpad.tooltip"),
   inMenu: false,
   commands: "devtools/client/scratchpad/scratchpad-commands",
 
   isTargetSupported: function (target) {
     return target.hasActor("console");
   },
 
   build: function (iframeWindow, toolbox) {
     return new ScratchpadPanel(iframeWindow, toolbox);
   }
 };
 
 Tools.dom = {
   id: "dom",
-  accesskey: l10n("dom.accesskey", domStrings),
-  key: l10n("dom.commandkey", domStrings),
+  accesskey: l10n("dom.accesskey"),
+  key: l10n("dom.commandkey"),
   ordinal: 13,
   modifiers: osString == "Darwin" ? "accel,alt" : "accel,shift",
   visibilityswitch: "devtools.dom.enabled",
   icon: "chrome://devtools/skin/images/tool-dom.svg",
   invertIconForDarkTheme: true,
   url: "chrome://devtools/content/dom/dom.html",
-  label: l10n("dom.label", domStrings),
-  panelLabel: l10n("dom.panelLabel", domStrings),
+  label: l10n("dom.label"),
+  panelLabel: l10n("dom.panelLabel"),
   get tooltip() {
-    return l10n("dom.tooltip", domStrings,
-    (osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+") + this.key);
+    return l10n("dom.tooltip",
+      (osString == "Darwin" ? "Cmd+Opt+" : "Ctrl+Shift+") + this.key);
   },
   inMenu: true,
 
   isTargetSupported: function (target) {
     return target.getTrait("webConsoleCommands");
   },
 
   build: function (iframeWindow, toolbox) {
@@ -465,56 +434,56 @@ var defaultTools = [
   Tools.memory,
   Tools.dom,
 ];
 
 exports.defaultTools = defaultTools;
 
 Tools.darkTheme = {
   id: "dark",
-  label: l10n("options.darkTheme.label2", toolboxStrings),
+  label: l10n("options.darkTheme.label2"),
   ordinal: 1,
   stylesheets: ["chrome://devtools/skin/dark-theme.css"],
   classList: ["theme-dark"],
 };
 
 Tools.lightTheme = {
   id: "light",
-  label: l10n("options.lightTheme.label2", toolboxStrings),
+  label: l10n("options.lightTheme.label2"),
   ordinal: 2,
   stylesheets: ["chrome://devtools/skin/light-theme.css"],
   classList: ["theme-light"],
 };
 
 Tools.firebugTheme = {
   id: "firebug",
-  label: l10n("options.firebugTheme.label2", toolboxStrings),
+  label: l10n("options.firebugTheme.label2"),
   ordinal: 3,
   stylesheets: ["chrome://devtools/skin/firebug-theme.css"],
   classList: ["theme-light", "theme-firebug"],
 };
 
 exports.defaultThemes = [
   Tools.darkTheme,
   Tools.lightTheme,
   Tools.firebugTheme,
 ];
 
 /**
  * Lookup l10n string from a string bundle.
  *
  * @param {string} name
  *        The key to lookup.
- * @param {StringBundle} bundle
- *        The key to lookup.
+ * @param {string} arg
+ *        Optional format argument.
  * @returns A localized version of the given key.
  */
-function l10n(name, bundle, arg) {
+function l10n(name, arg) {
   try {
-    return arg ? bundle.getFormatStr(name, arg) : bundle.getStr(name);
+    return arg ? L10N.getFormatStr(name, arg) : L10N.getStr(name);
   } catch (ex) {
     console.log("Error reading '" + name + "'");
     throw new Error("l10n error with " + name);
   }
 }
 
 function functionkey(shortkey) {
   return shortkey.split("_")[1];
--- a/devtools/client/locales/en-US/canvasdebugger.properties
+++ b/devtools/client/locales/en-US/canvasdebugger.properties
@@ -5,30 +5,16 @@
 # LOCALIZATION NOTE These strings are used inside the Canvas Debugger
 # which is available from the Web Developer sub-menu -> 'Canvas'.
 # 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 (ToolboxCanvasDebugger.label):
-# This string is displayed in the title of the tab when the Shader Editor is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-ToolboxCanvasDebugger.label=Canvas
-
-# LOCALIZATION NOTE (ToolboxCanvasDebugger.panelLabel):
-# This is used as the label for the toolbox panel.
-ToolboxCanvasDebugger.panelLabel=Canvas Panel
-
-# LOCALIZATION NOTE (ToolboxCanvasDebugger.tooltip):
-# This string is displayed in the tooltip of the tab when the Shader Editor is
-# displayed inside the developer tools window.
-ToolboxCanvasDebugger.tooltip=Tools to inspect and debug <canvas> contexts
-
 # LOCALIZATION NOTE (noSnapshotsText): The text to display in the snapshots menu
 # when there are no recorded snapshots yet.
 noSnapshotsText=There are no snapshots yet.
 
 # LOCALIZATION NOTE (snapshotsList.itemLabel):
 # This string is displayed in the snapshots list of the Canvas Debugger,
 # identifying a set of function calls of a recorded animation frame.
 snapshotsList.itemLabel=Snapshot #%S
--- a/devtools/client/locales/en-US/debugger.properties
+++ b/devtools/client/locales/en-US/debugger.properties
@@ -5,36 +5,16 @@
 # LOCALIZATION NOTE These strings are used inside the Debugger
 # which is available from the Web Developer sub-menu -> 'Debugger'.
 # The correct localization of this file might be to keep it in
 # English, or another language commonly spoken among web developers.
 # You want to make that choice consistent across the developer tools.
 # A good criteria is the language in which you'd find the best
 # documentation on web development on the web.
 
-# LOCALIZATION NOTE (ToolboxDebugger.label):
-# This string is displayed in the title of the tab when the debugger is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-ToolboxDebugger.label=Debugger
-
-# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
-# This is used as the label for the toolbox panel.
-ToolboxDebugger.panelLabel=Debugger Panel
-
-# LOCALIZATION NOTE (ToolboxDebugger.tooltip2):
-# This string is displayed in the tooltip of the tab when the debugger is
-# displayed inside the developer tools window..
-# A keyboard shortcut for JS Debugger will be shown inside brackets.
-ToolboxDebugger.tooltip2=JavaScript Debugger (%S)
-
-# LOCALIZATION NOTE (debuggerMenu.commandkey, debuggerMenu.accesskey)
-# Used for the menuitem in the tool menu
-debuggerMenu.commandkey=S
-debuggerMenu.accesskey=D
-
 # LOCALIZATION NOTE (collapsePanes): This is the tooltip for the button
 # that collapses the left and right panes in the debugger UI.
 collapsePanes=Collapse panes
 
 # LOCALIZATION NOTE (expandPanes): This is the tooltip for the button
 # that expands the left and right panes in the debugger UI.
 expandPanes=Expand panes
 
--- a/devtools/client/locales/en-US/dom.properties
+++ b/devtools/client/locales/en-US/dom.properties
@@ -5,35 +5,15 @@
 # LOCALIZATION NOTE These strings are used inside the DOM panel
 # which is available from the Web Developer sub-menu -> 'DOM'.
 # The correct localization of this file might be to keep it in
 # English, or another language commonly spoken among web developers.
 # You want to make that choice consistent across the developer tools.
 # A good criteria is the language in which you'd find the best
 # documentation on web development on the web.
 
-# LOCALIZATION NOTE (dom.label):
-# This string is displayed in the title of the tab when the DOM panel is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-dom.label=DOM
-
-# LOCALIZATION NOTE (dom.panelLabel):
-# This is used as the label for the toolbox panel.
-dom.panelLabel=DOM Panel
-
-# LOCALIZATION NOTE (dom.commandkey, dom.accesskey)
-# Used for the menuitem in the tool menu
-dom.commandkey=W
-dom.accesskey=D
-
-# LOCALIZATION NOTE (dom.tooltip):
-# This string is displayed in the tooltip of the tab when the DOM is
-# displayed inside the developer tools window.
-# Keyboard shortcut for DOM panel will be shown inside the brackets.
-dom.tooltip=DOM (%S)
-
 # LOCALIZATION NOTE (dom.filterDOMPanel): A placeholder text used for
 # DOM panel search box.
 dom.filterDOMPanel=Filter DOM Panel
 
 # LOCALIZATION NOTE (dom.refresh): A label for Refresh button in
 # DOM panel toolbar
 dom.refresh=Refresh
\ No newline at end of file
--- a/devtools/client/locales/en-US/inspector.properties
+++ b/devtools/client/locales/en-US/inspector.properties
@@ -17,39 +17,27 @@ breadcrumbs.siblings=Siblings
 # the user switch to the inspector when the debugger is paused.
 debuggerPausedWarning.message=Debugger is paused. Some features like mouse selection will not work.
 
 # LOCALIZATION NOTE (nodeMenu.tooltiptext)
 # This menu appears in the Infobar (on top of the highlighted node) once
 # the node is selected.
 nodeMenu.tooltiptext=Node operations
 
-# LOCALIZATION NOTE (inspector.*)
-# Used for the menuitem in the tool menu
-inspector.label=Inspector
-inspector.commandkey=C
-inspector.accesskey=I
-
-# LOCALIZATION NOTE (inspector.panelLabel.*)
-# Labels applied to the panel and views within the panel in the toolbox
-inspector.panelLabel=Inspector Panel
 inspector.panelLabel.markupView=Markup View
 
 # LOCALIZATION NOTE (markupView.more.showing)
 # When there are too many nodes to load at once, we will offer to
 # show all the nodes.
 markupView.more.showing=Some nodes were hidden.
 
 # LOCALIZATION NOTE (markupView.more.showAll2): Semi-colon list of plural forms.
 # See: http://developer.mozilla.org/en/docs/Localization_and_Plurals
 markupView.more.showAll2=Show one more node;Show all #1 nodes
 
-# LOCALIZATION NOTE (inspector.tooltip2)
-# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
-inspector.tooltip2=DOM and Style Inspector (%S)
 
 #LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
 previewTooltip.image.brokenImage=Could not load the image
 
 #LOCALIZATION NOTE: Used in the image preview tooltip when the image could not be loaded
 eventsTooltip.openInDebugger=Open in Debugger
 
 # LOCALIZATION NOTE (docsTooltip.visitMDN): Shown in the tooltip that displays
--- a/devtools/client/locales/en-US/memory.properties
+++ b/devtools/client/locales/en-US/memory.properties
@@ -5,29 +5,16 @@
 # LOCALIZATION NOTE These strings are used inside the Memory Tools
 # which is available from the Web Developer sub-menu -> 'Memory'.
 # The correct localization of this file might be to keep it in
 # English, or another language commonly spoken among web developers.
 # You want to make that choice consistent across the developer tools.
 # A good criteria is the language in which you'd find the best
 # documentation on web development on the web.
 
-# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
-# tab when the memory tool is displayed inside the developer tools window and in
-# the Developer Tools Menu.
-memory.label=Memory
-
-# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
-# toolbox panel.
-memory.panelLabel=Memory Panel
-
-# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
-# the tab when the memory tool is displayed inside the developer tools window.
-memory.tooltip=Memory
-
 # LOCALIZATION NOTE (snapshot.io.save): The label for the link that saves a
 # snapshot to disk.
 snapshot.io.save=Save
 
 # LOCALIZATION NOTE (snapshot.io.delete): The label for the link that deletes
 # a snapshot
 snapshot.io.delete=Delete
 
--- a/devtools/client/locales/en-US/netmonitor.properties
+++ b/devtools/client/locales/en-US/netmonitor.properties
@@ -5,36 +5,16 @@
 # LOCALIZATION NOTE These strings are used inside the Network Monitor
 # which is available from the Web Developer sub-menu -> 'Network Monitor'.
 # The correct localization of this file might be to keep it in
 # English, or another language commonly spoken among web developers.
 # You want to make that choice consistent across the developer tools.
 # A good criteria is the language in which you'd find the best
 # documentation on web development on the web.
 
-# LOCALIZATION NOTE (netmonitor.label):
-# This string is displayed in the title of the tab when the Network Monitor is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-netmonitor.label=Network
-
-# LOCALIZATION NOTE (netmonitor.panelLabel):
-# This is used as the label for the toolbox panel.
-netmonitor.panelLabel=Network Panel
-
-# LOCALIZATION NOTE (netmonitor.commandkey, netmonitor.accesskey)
-# Used for the menuitem in the tool menu
-netmonitor.commandkey=Q
-netmonitor.accesskey=N
-
-# LOCALIZATION NOTE (netmonitor.tooltip2):
-# This string is displayed in the tooltip of the tab when the Network Monitor is
-# displayed inside the developer tools window.
-# Keyboard shortcut for Network Monitor will be shown inside the brackets.
-netmonitor.tooltip2=Network Monitor (%S)
-
 # LOCALIZATION NOTE (netmonitor.security.state.secure)
 # This string is used as an tooltip for request that was performed over secure
 # channel i.e. the connection was encrypted.
 netmonitor.security.state.secure=The connection used to fetch this resource was secure.
 
 # LOCALIZATION NOTE (netmonitor.security.state.insecure)
 # This string is used as an tooltip for request that was performed over insecure
 # channel i.e. the connection was not https
--- a/devtools/client/locales/en-US/performance.properties
+++ b/devtools/client/locales/en-US/performance.properties
@@ -5,36 +5,16 @@
 # 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.
--- a/devtools/client/locales/en-US/scratchpad.properties
+++ b/devtools/client/locales/en-US/scratchpad.properties
@@ -89,30 +89,16 @@ fileNoLongerExists.notification=This fil
 # LOCALIZATION NOTE (propertiesFilterPlaceholder): this is the text that
 # appears in the filter text box for the properties view container.
 propertiesFilterPlaceholder=Filter properties
 
 # LOCALIZATION NOTE (connectionTimeout): message displayed when the Remote Scratchpad
 # fails to connect to the server due to a timeout.
 connectionTimeout=Connection timeout. Check the Error Console on both ends for potential error messages. Reopen the Scratchpad to try again.
 
-# LOCALIZATION NOTE (scratchpad.label): this string is displayed in the title of
-# the tab when the Scratchpad is displayed inside the developer tools window and
-# in the Developer Tools Menu.
-scratchpad.label=Scratchpad
-
-# LOCALIZATION NOTE (scratchpad.panelLabel): this is used as the
-# label for the toolbox panel.
-scratchpad.panelLabel=Scratchpad Panel
-
-# LOCALIZATION NOTE (scratchpad.tooltip):  This string is displayed in the
-# tooltip of the tab when the Scratchpad is displayed inside the developer tools
-# window.
-scratchpad.tooltip=Scratchpad
-
 # LOCALIZATION NOTE (selfxss.msg): the text that is displayed when
 # a new user of the developer tools pastes code into the console
 # %1 is the text of selfxss.okstring
 selfxss.msg=Scam Warning: Take care when pasting things you don’t understand. This could allow attackers to steal your identity or take control of your computer. Please type ‘%S’ in the scratchpad below to allow pasting.
 
 # LOCALIZATION NOTE (selfxss.msg): the string to be typed
 # in by a new user of the developer tools when they receive the sefxss.msg prompt.
 # Please avoid using non-keyboard characters here
--- a/devtools/client/locales/en-US/shadereditor.properties
+++ b/devtools/client/locales/en-US/shadereditor.properties
@@ -5,30 +5,16 @@
 # LOCALIZATION NOTE These strings are used inside the Debugger
 # which is available from the Web Developer sub-menu -> 'Debugger'.
 # The correct localization of this file might be to keep it in
 # English, or another language commonly spoken among web developers.
 # You want to make that choice consistent across the developer tools.
 # A good criteria is the language in which you'd find the best
 # documentation on web development on the web.
 
-# LOCALIZATION NOTE (ToolboxShaderEditor.label):
-# This string is displayed in the title of the tab when the Shader Editor is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-ToolboxShaderEditor.label=Shader Editor
-
-# LOCALIZATION NOTE (ToolboxShaderEditor.panelLabel):
-# This is used as the label for the toolbox panel.
-ToolboxShaderEditor.panelLabel=Shader Editor Panel
-
-# LOCALIZATION NOTE (ToolboxShaderEditor.tooltip):
-# This string is displayed in the tooltip of the tab when the Shader Editor is
-# displayed inside the developer tools window.
-ToolboxShaderEditor.tooltip=Live GLSL shader language editor for WebGL
-
 # LOCALIZATION NOTE (shadersList.programLabel):
 # This string is displayed in the programs list of the Shader Editor,
 # identifying a set of linked GLSL shaders.
 shadersList.programLabel=Program %S
 
 # LOCALIZATION NOTE (shadersList.blackboxLabel):
 # This string is displayed in the programs list of the Shader Editor, while
 # the user hovers over the checkbox used to toggle blackboxing of a program's
new file mode 100644
--- /dev/null
+++ b/devtools/client/locales/en-US/startup.properties
@@ -0,0 +1,262 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip
+# for the options panel tab.
+optionsButton.tooltip=Toolbox Options
+
+# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
+# the devtools window.
+options.label=Options
+
+# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
+# toolbox panel.
+options.panelLabel=Toolbox Options Panel
+
+# LOCALIZATION NOTE (options.darkTheme.label2)
+# Used as a label for dark theme
+options.darkTheme.label2=Dark
+
+# LOCALIZATION NOTE (options.lightTheme.label2)
+# Used as a label for light theme
+options.lightTheme.label2=Light
+
+# LOCALIZATION NOTE (options.firebugTheme.label2)
+# Used as a label for Firebug theme
+options.firebugTheme.label2=Firebug
+
+# 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 (MenuWebconsole.label): the string displayed in the Tools
+# menu as a shortcut to open the devtools with the Web Console tab selected.
+MenuWebconsole.label=Web Console
+
+# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
+# label of the tab in the devtools window.
+ToolboxTabWebconsole.label=Console
+
+# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
+# label for the toolbox panel.
+ToolboxWebConsole.panelLabel=Console Panel
+
+# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
+# tooltip of the tab when the Web Console is displayed inside the developer
+# tools window.
+# Keyboard shortcut for Console will be shown inside the brackets.
+ToolboxWebconsole.tooltip2=Web Console (%S)
+
+cmd.commandkey=K
+webConsoleCmd.accesskey=W
+
+# LOCALIZATION NOTE (ToolboxDebugger.label):
+# This string is displayed in the title of the tab when the debugger is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxDebugger.label=Debugger
+
+# LOCALIZATION NOTE (ToolboxDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxDebugger.panelLabel=Debugger Panel
+
+# LOCALIZATION NOTE (ToolboxDebugger.tooltip2):
+# This string is displayed in the tooltip of the tab when the debugger is
+# displayed inside the developer tools window..
+# A keyboard shortcut for JS Debugger will be shown inside brackets.
+ToolboxDebugger.tooltip2=JavaScript Debugger (%S)
+
+# LOCALIZATION NOTE (debuggerMenu.commandkey, debuggerMenu.accesskey)
+# Used for the menuitem in the tool menu
+debuggerMenu.commandkey=S
+debuggerMenu.accesskey=D
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.label):
+# This string is displayed in the title of the tab when the style editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxStyleEditor.label=Style Editor
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxStyleEditor.panelLabel=Style Editor Panel
+
+# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
+# This string is displayed in the tooltip of the tab when the style editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
+ToolboxStyleEditor.tooltip3=Stylesheet Editor (CSS) (%S)
+
+# LOCALIZATION NOTE  (open.commandkey): This the key to use in
+# conjunction with shift to open the style editor
+open.commandkey=VK_F7
+
+# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
+# editor.
+open.accesskey=l
+
+# LOCALIZATION NOTE (ToolboxShaderEditor.label):
+# This string is displayed in the title of the tab when the Shader Editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxShaderEditor.label=Shader Editor
+
+# LOCALIZATION NOTE (ToolboxShaderEditor.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxShaderEditor.panelLabel=Shader Editor Panel
+
+# LOCALIZATION NOTE (ToolboxShaderEditor.tooltip):
+# This string is displayed in the tooltip of the tab when the Shader Editor is
+# displayed inside the developer tools window.
+ToolboxShaderEditor.tooltip=Live GLSL shader language editor for WebGL
+
+# LOCALIZATION NOTE (ToolboxCanvasDebugger.label):
+# This string is displayed in the title of the tab when the Shader Editor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxCanvasDebugger.label=Canvas
+
+# LOCALIZATION NOTE (ToolboxCanvasDebugger.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxCanvasDebugger.panelLabel=Canvas Panel
+
+# LOCALIZATION NOTE (ToolboxCanvasDebugger.tooltip):
+# This string is displayed in the tooltip of the tab when the Shader Editor is
+# displayed inside the developer tools window.
+ToolboxCanvasDebugger.tooltip=Tools to inspect and debug <canvas> contexts
+
+# LOCALIZATION NOTE (ToolboxWebAudioEditor1.label):
+# This string is displayed in the title of the tab when the Web Audio Editor
+# is displayed inside the developer tools window and in the Developer Tools Menu.
+ToolboxWebAudioEditor1.label=Web Audio
+
+# LOCALIZATION NOTE (ToolboxWebAudioEditor1.panelLabel):
+# This is used as the label for the toolbox panel.
+ToolboxWebAudioEditor1.panelLabel=Web Audio Panel
+
+# LOCALIZATION NOTE (ToolboxWebAudioEditor1.tooltip):
+# This string is displayed in the tooltip of the tab when the Web Audio Editor is
+# displayed inside the developer tools window.
+ToolboxWebAudioEditor1.tooltip=Web Audio context visualizer and audio node inspector
+
+# LOCALIZATION NOTE (inspector.*)
+# Used for the menuitem in the tool menu
+inspector.label=Inspector
+inspector.commandkey=C
+inspector.accesskey=I
+
+# LOCALIZATION NOTE (inspector.panelLabel)
+# Labels applied to the panel and views within the panel in the toolbox
+inspector.panelLabel=Inspector Panel
+
+# LOCALIZATION NOTE (inspector.tooltip2)
+# Keyboard shortcut for DOM and Style Inspector will be shown inside brackets.
+inspector.tooltip2=DOM and Style Inspector (%S)
+
+# LOCALIZATION NOTE (netmonitor.label):
+# This string is displayed in the title of the tab when the Network Monitor is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+netmonitor.label=Network
+
+# LOCALIZATION NOTE (netmonitor.panelLabel):
+# This is used as the label for the toolbox panel.
+netmonitor.panelLabel=Network Panel
+
+# LOCALIZATION NOTE (netmonitor.commandkey, netmonitor.accesskey)
+# Used for the menuitem in the tool menu
+netmonitor.commandkey=Q
+netmonitor.accesskey=N
+
+# LOCALIZATION NOTE (netmonitor.tooltip2):
+# This string is displayed in the tooltip of the tab when the Network Monitor is
+# displayed inside the developer tools window.
+# Keyboard shortcut for Network Monitor will be shown inside the brackets.
+netmonitor.tooltip2=Network Monitor (%S)
+
+# LOCALIZATION NOTE  (storage.commandkey): This the key to use in
+# conjunction with shift to open the storage editor
+storage.commandkey=VK_F9
+
+# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
+# editor.
+storage.accesskey=a
+
+# LOCALIZATION NOTE (storage.label):
+# This string is displayed as the label of the tab in the developer tools window
+storage.label=Storage
+
+# LOCALIZATION NOTE (storage.menuLabel):
+# This string is displayed in the Tools menu as a shortcut to open the devtools
+# with the Storage Inspector tab selected.
+storage.menuLabel=Storage Inspector
+
+# LOCALIZATION NOTE (storage.panelLabel):
+# This string is used as the aria-label for the iframe of the Storage Inspector
+# tool in developer tools toolbox.
+storage.panelLabel=Storage Panel
+
+# LOCALIZATION NOTE (storage.tooltip3):
+# This string is displayed in the tooltip of the tab when the storage editor is
+# displayed inside the developer tools window.
+# A keyboard shortcut for Storage Inspector will be shown inside the brackets.
+storage.tooltip3=Storage Inspector (Cookies, Local Storage, …) (%S)
+
+# LOCALIZATION NOTE (scratchpad.label): this string is displayed in the title of
+# the tab when the Scratchpad is displayed inside the developer tools window and
+# in the Developer Tools Menu.
+scratchpad.label=Scratchpad
+
+# LOCALIZATION NOTE (scratchpad.panelLabel): this is used as the
+# label for the toolbox panel.
+scratchpad.panelLabel=Scratchpad Panel
+
+# LOCALIZATION NOTE (scratchpad.tooltip):  This string is displayed in the
+# tooltip of the tab when the Scratchpad is displayed inside the developer tools
+# window.
+scratchpad.tooltip=Scratchpad
+
+# LOCALIZATION NOTE (memory.label): This string is displayed in the title of the
+# tab when the memory tool is displayed inside the developer tools window and in
+# the Developer Tools Menu.
+memory.label=Memory
+
+# LOCALIZATION NOTE (memory.panelLabel): This is used as the label for the
+# toolbox panel.
+memory.panelLabel=Memory Panel
+
+# LOCALIZATION NOTE (memory.tooltip): This string is displayed in the tooltip of
+# the tab when the memory tool is displayed inside the developer tools window.
+memory.tooltip=Memory
+
+# LOCALIZATION NOTE (dom.label):
+# This string is displayed in the title of the tab when the DOM panel is
+# displayed inside the developer tools window and in the Developer Tools Menu.
+dom.label=DOM
+
+# LOCALIZATION NOTE (dom.panelLabel):
+# This is used as the label for the toolbox panel.
+dom.panelLabel=DOM Panel
+
+# LOCALIZATION NOTE (dom.commandkey, dom.accesskey)
+# Used for the menuitem in the tool menu
+dom.commandkey=W
+dom.accesskey=D
+
+# LOCALIZATION NOTE (dom.tooltip):
+# This string is displayed in the tooltip of the tab when the DOM is
+# displayed inside the developer tools window.
+# Keyboard shortcut for DOM panel will be shown inside the brackets.
+dom.tooltip=DOM (%S)
--- a/devtools/client/locales/en-US/storage.properties
+++ b/devtools/client/locales/en-US/storage.properties
@@ -4,38 +4,16 @@
 
 # LOCALIZATION NOTE These strings are used inside the Storage Editor tool.
 # LOCALIZATION NOTE The correct localization of this file might be to keep it
 # in English, or another language commonly spoken among web developers.
 # You want to make that choice consistent across the developer tools.
 # A good criteria is the language in which you'd find the best documentation
 # on web development on the web.
 
-# LOCALIZATION NOTE  (storage.commandkey): This the key to use in
-# conjunction with shift to open the storage editor
-storage.commandkey=VK_F9
-
-# LOCALIZATION NOTE (storage.accesskey): The access key used to open the storage
-# editor.
-storage.accesskey=a
-
-# LOCALIZATION NOTE (storage.label):
-# This string is displayed as the label of the tab in the developer tools window
-storage.label=Storage
-
-# LOCALIZATION NOTE (storage.menuLabel):
-# This string is displayed in the Tools menu as a shortcut to open the devtools
-# with the Storage Inspector tab selected.
-storage.menuLabel=Storage Inspector
-
-# LOCALIZATION NOTE (storage.panelLabel):
-# This string is used as the aria-label for the iframe of the Storage Inspector
-# tool in developer tools toolbox.
-storage.panelLabel=Storage Panel
-
 # LOCALIZATION NOTE (storage.tooltip3):
 # This string is displayed in the tooltip of the tab when the storage editor is
 # displayed inside the developer tools window.
 # A keyboard shortcut for Storage Inspector will be shown inside the brackets.
 storage.tooltip3=Storage Inspector (Cookies, Local Storage, …) (%S)
 
 # LOCALIZATION NOTE (storage.filter.key):
 # Key shortcut used to focus the filter box on top of the data view
--- a/devtools/client/locales/en-US/styleeditor.properties
+++ b/devtools/client/locales/en-US/styleeditor.properties
@@ -45,34 +45,12 @@ importStyleSheet.filter=CSS files
 
 # LOCALIZATION NOTE  (saveStyleSheet.title): This is the file picker title,
 # when you save a style sheet from the Style Editor.
 saveStyleSheet.title=Save style sheet
 
 # LOCALIZATION NOTE  (saveStyleSheet.filter): This is the *.css filter title
 saveStyleSheet.filter=CSS files
 
-# LOCALIZATION NOTE  (open.commandkey): This the key to use in
-# conjunction with shift to open the style editor
-open.commandkey=VK_F7
-
-# LOCALIZATION NOTE (open.accesskey): The access key used to open the style
-# editor.
-open.accesskey=l
-
 # LOCALIZATION NOTE  (saveStyleSheet.commandkey): This the key to use in
 # conjunction with accel (Command on Mac or Ctrl on other platforms) to Save
 saveStyleSheet.commandkey=S
 
-# LOCALIZATION NOTE (ToolboxStyleEditor.label):
-# This string is displayed in the title of the tab when the style editor is
-# displayed inside the developer tools window and in the Developer Tools Menu.
-ToolboxStyleEditor.label=Style Editor
-
-# LOCALIZATION NOTE (ToolboxStyleEditor.panelLabel):
-# This is used as the label for the toolbox panel.
-ToolboxStyleEditor.panelLabel=Style Editor Panel
-
-# LOCALIZATION NOTE (ToolboxStyleEditor.tooltip3):
-# This string is displayed in the tooltip of the tab when the style editor is
-# displayed inside the developer tools window.
-# A keyboard shortcut for Stylesheet Editor will be shown inside the latter pair of brackets.
-ToolboxStyleEditor.tooltip3=Stylesheet Editor (CSS) (%S)
--- a/devtools/client/locales/en-US/toolbox.properties
+++ b/devtools/client/locales/en-US/toolbox.properties
@@ -63,28 +63,16 @@ toolbox.titleTemplate2=Developer Tools -
 # LOCALIZATION NOTE (toolbox.defaultTitle): This is used as the tool
 # name when no tool is selected.
 toolbox.defaultTitle=Developer Tools
 
 # LOCALIZATION NOTE (toolbox.label): This is used as the label for the
 # toolbox as a whole
 toolbox.label=Developer Tools
 
-# LOCALIZATION NOTE (optionsButton.tooltip): This is used as the tooltip
-# for the options panel tab.
-optionsButton.tooltip=Toolbox Options
-
-# LOCALIZATION NOTE (options.label): This is used as the label of the tab in
-# the devtools window.
-options.label=Options
-
-# LOCALIZATION NOTE (options.panelLabel): This is used as the label for the
-# toolbox panel.
-options.panelLabel=Toolbox Options Panel
-
 # LOCALIZATION NOTE (options.toolNotSupported): This is the template
 # used to add a * marker to the label for the Options Panel tool checkbox for the
 # tool which is not supported for the current toolbox target.
 # The name of the tool: %1$S.
 options.toolNotSupportedMarker=%1$S *
 
 # LOCALIZATION NOTE (scratchpad.keycode)
 # Used for opening scratchpad from the detached toolbox window
@@ -100,28 +88,16 @@ browserConsoleCmd.commandkey=j
 # This is the tooltip of the pick button in the toolbox toolbar
 pickButton.tooltip=Pick an element from the page
 
 # LOCALIZATION NOTE (sidebar.showAllTabs.tooltip)
 # This is the tooltip shown when hover over the '…' button in the tabbed side
 # bar, when there's no enough space to show all tabs at once
 sidebar.showAllTabs.tooltip=All tabs
 
-# LOCALIZATION NOTE (options.darkTheme.label2)
-# Used as a label for dark theme
-options.darkTheme.label2=Dark
-
-# LOCALIZATION NOTE (options.lightTheme.label2)
-# Used as a label for light theme
-options.lightTheme.label2=Light
-
-# LOCALIZATION NOTE (options.firebugTheme.label2)
-# Used as a label for Firebug theme
-options.firebugTheme.label2=Firebug
-
 # LOCALIZATION NOTE (toolbox.noContentProcess.message)
 # Used as a message in the alert displayed when trying to open a browser
 # content toolbox and there is no content process running
 toolbox.noContentProcess.message=No content process running.
 
 # LOCALIZATION NOTE (toolbox.viewCssSourceInStyleEditor.label)
 # Used as a message in either tooltips or contextual menu items to open the
 # corresponding URL as a css file in the Style-Editor tool.
--- a/devtools/client/locales/en-US/webaudioeditor.properties
+++ b/devtools/client/locales/en-US/webaudioeditor.properties
@@ -6,29 +6,15 @@
 # which is available in the developer tools' toolbox, once
 # enabled in the developer tools' preference "Web Audio".
 # 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 (ToolboxWebAudioEditor1.label):
-# This string is displayed in the title of the tab when the Web Audio Editor
-# is displayed inside the developer tools window and in the Developer Tools Menu.
-ToolboxWebAudioEditor1.label=Web Audio
-
-# LOCALIZATION NOTE (ToolboxWebAudioEditor1.panelLabel):
-# This is used as the label for the toolbox panel.
-ToolboxWebAudioEditor1.panelLabel=Web Audio Panel
-
-# LOCALIZATION NOTE (ToolboxWebAudioEditor1.tooltip):
-# This string is displayed in the tooltip of the tab when the Web Audio Editor is
-# displayed inside the developer tools window.
-ToolboxWebAudioEditor1.tooltip=Web Audio context visualizer and audio node inspector
-
 # LOCALIZATION NOTE (collapseInspector): This is the tooltip for the button
 # that collapses the inspector in the web audio tool UI.
 collapseInspector=Collapse inspector
 
 # LOCALIZATION NOTE (expandInspector): This is the tooltip for the button
 # that expands the inspector in the web audio tool UI.
 expandInspector=Expand inspector
--- a/devtools/client/locales/en-US/webconsole.properties
+++ b/devtools/client/locales/en-US/webconsole.properties
@@ -4,18 +4,16 @@
 
 # LOCALIZATION NOTE
 # The correct localization of this file might be to keep it in
 # English, or another language commonly spoken among web developers.
 # You want to make that choice consistent across the developer tools.
 # A good criteria is the language in which you'd find the best
 # documentation on web development on the web.
 
-cmd.commandkey=K
-webConsoleCmd.accesskey=W
 
 # LOCALIZATION NOTE (timestampFormat): %1$02S = hours (24-hour clock),
 # %2$02S = minutes, %3$02S = seconds, %4$03S = milliseconds.
 timestampFormat=%02S:%02S:%02S.%03S
 
 helperFuncUnsupportedTypeError=Can’t call pprint on this type of object.
 
 # LOCALIZATION NOTE (NetworkPanel.deltaDurationMS): this string is used to
@@ -93,34 +91,16 @@ noCounterLabel=<no label>
 Autocomplete.blank=  <- no result
 
 maxTimersExceeded=The maximum allowed number of timers in this page was exceeded.
 
 # LOCALIZATION NOTE (maxCountersExceeded): Error message shown when the maximum
 # number of console.count()-counters was exceeded.
 maxCountersExceeded=The maximum allowed number of counters in this page was exceeded.
 
-# LOCALIZATION NOTE (MenuWebconsole.label): the string displayed in the Tools
-# menu as a shortcut to open the devtools with the Web Console tab selected.
-MenuWebconsole.label=Web Console
-
-# LOCALIZATION NOTE (ToolboxTabWebconsole.label): the string displayed as the
-# label of the tab in the devtools window.
-ToolboxTabWebconsole.label=Console
-
-# LOCALIZATION NOTE (ToolboxWebConsole.panelLabel): the string used as the
-# label for the toolbox panel.
-ToolboxWebConsole.panelLabel=Console Panel
-
-# LOCALIZATION NOTE (ToolboxWebconsole.tooltip2): the string displayed in the
-# tooltip of the tab when the Web Console is displayed inside the developer
-# tools window.
-# Keyboard shortcut for Console will be shown inside the brackets.
-ToolboxWebconsole.tooltip2=Web Console (%S)
-
 # LOCALIZATION NOTE (longStringEllipsis): the string displayed after a long
 # string. This string is clickable such that the rest of the string is
 # retrieved from the server.
 longStringEllipsis=[…]
 
 # LOCALIZATION NOTE (longStringTooLong): the string displayed after the user
 # tries to expand a long string.
 longStringTooLong=The string you are trying to view is too long to be displayed by the Web Console.
--- a/devtools/client/netmonitor/test/browser_net_prefs-and-l10n.js
+++ b/devtools/client/netmonitor/test/browser_net_prefs-and-l10n.js
@@ -18,17 +18,17 @@ add_task(function* () {
 
   testL10N();
   testPrefs();
 
   return teardown(monitor);
 
   function testL10N() {
     let { L10N } = monitor.panelWin;
-    is(typeof L10N.getStr("netmonitor.label"), "string",
+    is(typeof L10N.getStr("netmonitor.security.enabled"), "string",
       "The getStr() method didn't return a valid string.");
     is(typeof L10N.getFormatStr("networkMenu.totalMS", "foo"), "string",
       "The getFormatStr() method didn't return a valid string.");
   }
 
   function testPrefs() {
     let { Prefs } = monitor.panelWin;
 
--- a/devtools/shared/tests/browser/browser_l10n_localizeMarkup.js
+++ b/devtools/shared/tests/browser/browser_l10n_localizeMarkup.js
@@ -4,27 +4,27 @@
 "use strict";
 
 // Tests that the markup localization works properly.
 
 const { localizeMarkup, LocalizationHelper } = require("devtools/shared/l10n");
 
 add_task(function* () {
   info("Check that the strings used for this test are still valid");
-  let INSPECTOR_L10N = new LocalizationHelper("devtools/locale/inspector.properties");
+  let STARTUP_L10N = new LocalizationHelper("devtools/locale/startup.properties");
   let TOOLBOX_L10N = new LocalizationHelper("devtools/locale/toolbox.properties");
-  let str1 = INSPECTOR_L10N.getStr("inspector.label");
-  let str2 = INSPECTOR_L10N.getStr("inspector.commandkey");
+  let str1 = STARTUP_L10N.getStr("inspector.label");
+  let str2 = STARTUP_L10N.getStr("inspector.commandkey");
   let str3 = TOOLBOX_L10N.getStr("toolbox.defaultTitle");
   ok(str1 && str2 && str3, "If this failed, strings should be updated in the test");
 
   info("Create the test markup");
   let div = document.createElement("div");
   div.innerHTML =
-  `<div data-localization-bundle="devtools/locale/inspector.properties">
+  `<div data-localization-bundle="devtools/locale/startup.properties">
      <div id="d0" data-localization="content=inspector.someInvalidKey"></div>
      <div id="d1" data-localization="content=inspector.label">Text will disappear</div>
      <div id="d2" data-localization="content=inspector.label;title=inspector.commandkey">
      </div>
      <!-- keep the following data-localization on two separate lines -->
      <div id="d3" data-localization="content=inspector.label;
                                      title=inspector.commandkey"></div>
      <div id="d4" data-localization="aria-label=inspector.label">Some content</div>