{
  "animation/AnimationTimeline.ts | animationPreviews": {
    "message": "Animation previews"
  },
  "animation/AnimationTimeline.ts | animationPreviewS": {
    "message": "Animation Preview {PH1}"
  },
  "animation/AnimationTimeline.ts | clearAll": {
    "message": "Clear all"
  },
  "animation/AnimationTimeline.ts | listeningForAnimations": {
    "message": "Listening for animations..."
  },
  "animation/AnimationTimeline.ts | pause": {
    "message": "Pause"
  },
  "animation/AnimationTimeline.ts | pauseAll": {
    "message": "Pause all"
  },
  "animation/AnimationTimeline.ts | pauseTimeline": {
    "message": "Pause timeline"
  },
  "animation/AnimationTimeline.ts | playbackRatePlaceholder": {
    "message": "{PH1}%"
  },
  "animation/AnimationTimeline.ts | playbackRates": {
    "message": "Playback rates"
  },
  "animation/AnimationTimeline.ts | playTimeline": {
    "message": "Play timeline"
  },
  "animation/AnimationTimeline.ts | replayTimeline": {
    "message": "Replay timeline"
  },
  "animation/AnimationTimeline.ts | resumeAll": {
    "message": "Resume all"
  },
  "animation/AnimationTimeline.ts | selectAnEffectAboveToInspectAnd": {
    "message": "Select an effect above to inspect and modify."
  },
  "animation/AnimationTimeline.ts | setSpeedToS": {
    "message": "Set speed to {PH1}"
  },
  "animation/AnimationUI.ts | animationEndpointSlider": {
    "message": "Animation Endpoint slider"
  },
  "animation/AnimationUI.ts | animationKeyframeSlider": {
    "message": "Animation Keyframe slider"
  },
  "animation/AnimationUI.ts | sSlider": {
    "message": "{PH1} slider"
  },
  "changes/ChangesSidebar.ts | sFromSourceMap": {
    "message": "{PH1} (from source map)"
  },
  "changes/ChangesTextEditor.ts | additions": {
    "message": "Addition:{PH1}"
  },
  "changes/ChangesTextEditor.ts | deletions": {
    "message": "Deletion:{PH1}"
  },
  "changes/ChangesView.ts | binaryData": {
    "message": "Binary data"
  },
  "changes/ChangesView.ts | changesDiffViewer": {
    "message": "Changes diff viewer"
  },
  "changes/ChangesView.ts | noChanges": {
    "message": "No changes"
  },
  "changes/ChangesView.ts | revertAllChangesToCurrentFile": {
    "message": "Revert all changes to current file"
  },
  "changes/ChangesView.ts | sDeletion": {
    "message": "{PH1} deletion (-)"
  },
  "changes/ChangesView.ts | sDeletions": {
    "message": "{PH1} deletions (-)"
  },
  "changes/ChangesView.ts | sInsertion": {
    "message": "{PH1} insertion (+),"
  },
  "changes/ChangesView.ts | sInsertions": {
    "message": "{PH1} insertions (+),"
  },
  "changes/ChangesView.ts | SkippingDMatchingLines": {
    "message": "( … Skipping {PH1} matching lines … )"
  },
  "changes/ModuleUIStrings.ts | changesDrawer": {
    "message": "Changes drawer"
  },
  "components/ImagePreview.js | imageFromS": {
    "message": "Image from {PH1}"
  },
  "components/ImagePreview.js | sSPx": {
    "message": "{PH1} × {PH2} px"
  },
  "components/ImagePreview.js | sSPxIntrinsicSSPx": {
    "message": "{PH1} × {PH2} px (intrinsic: {PH3} × {PH4} px)"
  },
  "components/ImagePreview.js | unknownSource": {
    "message": "unknown source"
  },
  "components/JSPresentationUtils.js | addToIgnore": {
    "message": "Add script to ignore list"
  },
  "components/JSPresentationUtils.js | removeFromIgnore": {
    "message": "Remove from ignore list"
  },
  "components/JSPresentationUtils.js | showMoreFrame": {
    "message": "Show 1 more frame"
  },
  "components/JSPresentationUtils.js | showSMoreFrames": {
    "message": "Show {PH1} more frames"
  },
  "components/JSPresentationUtils.js | unknownSource": {
    "message": "unknown"
  },
  "components/Linkifier.js | auto": {
    "message": "auto"
  },
  "components/Linkifier.js | linkHandling": {
    "message": "Link handling:"
  },
  "components/Linkifier.js | openUsingS": {
    "message": "Open using {PH1}"
  },
  "components/Linkifier.js | reveal": {
    "message": "Reveal"
  },
  "components/Linkifier.js | revealInS": {
    "message": "Reveal in {PH1}"
  },
  "components/Linkifier.js | unknown": {
    "message": "(unknown)"
  },
  "components/TargetDetachedDialog.js | websocketDisconnected": {
    "message": "WebSocket disconnected"
  },
  "cookie_table/CookiesTable.ts | cookies": {
    "message": "Cookies"
  },
  "cookie_table/CookiesTable.ts | domain": {
    "message": "Domain"
  },
  "cookie_table/CookiesTable.ts | editableCookies": {
    "message": "Editable Cookies"
  },
  "cookie_table/CookiesTable.ts | expiresMaxage": {
    "message": "Expires / Max-Age"
  },
  "cookie_table/CookiesTable.ts | httponly": {
    "message": "HttpOnly"
  },
  "cookie_table/CookiesTable.ts | na": {
    "message": "N/A"
  },
  "cookie_table/CookiesTable.ts | name": {
    "message": "Name"
  },
  "cookie_table/CookiesTable.ts | path": {
    "message": "Path"
  },
  "cookie_table/CookiesTable.ts | priority": {
    "message": "Priority"
  },
  "cookie_table/CookiesTable.ts | samesite": {
    "message": "SameSite"
  },
  "cookie_table/CookiesTable.ts | secure": {
    "message": "Secure"
  },
  "cookie_table/CookiesTable.ts | session": {
    "message": "Session"
  },
  "cookie_table/CookiesTable.ts | showIssueAssociatedWithThis": {
    "message": "Show issue associated with this cookie"
  },
  "cookie_table/CookiesTable.ts | showRequestsWithThisCookie": {
    "message": "Show Requests With This Cookie"
  },
  "cookie_table/CookiesTable.ts | size": {
    "message": "Size"
  },
  "cookie_table/CookiesTable.ts | value": {
    "message": "Value"
  },
  "coverage/CoverageListView.ts | Byte": {
    "message": "1 byte"
  },
  "coverage/CoverageListView.ts | ByteS": {
    "message": "1 byte, {PH1}"
  },
  "coverage/CoverageListView.ts | codeCoverage": {
    "message": "Code Coverage"
  },
  "coverage/CoverageListView.ts | css": {
    "message": "CSS"
  },
  "coverage/CoverageListView.ts | jsCoverageWithPerBlock": {
    "message": "JS coverage with per block granularity: Once a block of JavaScript was executed, that block is marked as covered."
  },
  "coverage/CoverageListView.ts | jsCoverageWithPerFunction": {
    "message": "JS coverage with per function granularity: Once a function was executed, the whole function is marked as covered."
  },
  "coverage/CoverageListView.ts | jsPerBlock": {
    "message": "JS (per block)"
  },
  "coverage/CoverageListView.ts | jsPerFunction": {
    "message": "JS (per function)"
  },
  "coverage/CoverageListView.ts | sBytes": {
    "message": "{PH1} bytes"
  },
  "coverage/CoverageListView.ts | sBytesS": {
    "message": "{PH1} bytes, {PH2}"
  },
  "coverage/CoverageListView.ts | sBytesSBelongToBlocksOf": {
    "message": "{PH1} bytes ({PH2} %) belong to blocks of JavaScript that have not (yet) been executed."
  },
  "coverage/CoverageListView.ts | sBytesSBelongToBlocksOfJavascript": {
    "message": "{PH1} bytes ({PH2} %) belong to blocks of JavaScript that have executed at least once."
  },
  "coverage/CoverageListView.ts | sBytesSBelongToFunctionsThatHave": {
    "message": "{PH1} bytes ({PH2} %) belong to functions that have not (yet) been executed."
  },
  "coverage/CoverageListView.ts | sBytesSBelongToFunctionsThatHaveExecuted": {
    "message": "{PH1} bytes ({PH2} %) belong to functions that have executed at least once."
  },
  "coverage/CoverageListView.ts | sOfFileUnusedSOfFileUsed": {
    "message": "{PH1} % of file unused, {PH2} % of file used"
  },
  "coverage/CoverageListView.ts | sPercent": {
    "message": "{PH1} %"
  },
  "coverage/CoverageListView.ts | totalBytes": {
    "message": "Total Bytes"
  },
  "coverage/CoverageListView.ts | type": {
    "message": "Type"
  },
  "coverage/CoverageListView.ts | unusedBytes": {
    "message": "Unused Bytes"
  },
  "coverage/CoverageListView.ts | url": {
    "message": "URL"
  },
  "coverage/CoverageListView.ts | usageVisualization": {
    "message": "Usage Visualization"
  },
  "coverage/CoverageView.ts | all": {
    "message": "All"
  },
  "coverage/CoverageView.ts | chooseCoverageGranularityPer": {
    "message": "Choose coverage granularity: Per function has low overhead, per block has significant overhead."
  },
  "coverage/CoverageView.ts | clearAll": {
    "message": "Clear all"
  },
  "coverage/CoverageView.ts | clickTheRecordButtonSToStart": {
    "message": "Click the record button {PH1} to start capturing coverage."
  },
  "coverage/CoverageView.ts | clickTheReloadButtonSToReloadAnd": {
    "message": "Click the reload button {PH1} to reload and start capturing coverage."
  },
  "coverage/CoverageView.ts | contentScripts": {
    "message": "Content scripts"
  },
  "coverage/CoverageView.ts | css": {
    "message": "CSS"
  },
  "coverage/CoverageView.ts | export": {
    "message": "Export..."
  },
  "coverage/CoverageView.ts | filterCoverageByType": {
    "message": "Filter coverage by type"
  },
  "coverage/CoverageView.ts | filteredSTotalS": {
    "message": "Filtered: {PH1}  Total: {PH2}"
  },
  "coverage/CoverageView.ts | includeExtensionContentScripts": {
    "message": "Include extension content scripts"
  },
  "coverage/CoverageView.ts | javascript": {
    "message": "JavaScript"
  },
  "coverage/CoverageView.ts | perBlock": {
    "message": "Per block"
  },
  "coverage/CoverageView.ts | perFunction": {
    "message": "Per function"
  },
  "coverage/CoverageView.ts | sOfSSUsedSoFarSUnused": {
    "message": "{PH1} of {PH2} ({PH3}%) used so far,\n        {PH4} unused."
  },
  "coverage/CoverageView.ts | urlFilter": {
    "message": "URL filter"
  },
  "coverage/ModuleUIStrings.ts | instrumentCoverage": {
    "message": "Instrument coverage"
  },
  "coverage/ModuleUIStrings.ts | performance": {
    "message": "Performance"
  },
  "coverage/ModuleUIStrings.ts | startInstrumentingCoverageAnd": {
    "message": "Start instrumenting coverage and reload page"
  },
  "coverage/ModuleUIStrings.ts | stopInstrumentingCoverageAndShow": {
    "message": "Stop instrumenting coverage and show results"
  },
  "developer_resources/developer_resources-meta.ts | developerResources": {
    "message": "Developer Resources"
  },
  "developer_resources/DeveloperResourcesListView.ts | Byte": {
    "message": "1 byte"
  },
  "developer_resources/DeveloperResourcesListView.ts | copyInitiatorUrl": {
    "message": "Copy initiator URL"
  },
  "developer_resources/DeveloperResourcesListView.ts | copyUrl": {
    "message": "Copy URL"
  },
  "developer_resources/DeveloperResourcesListView.ts | developerResources": {
    "message": "Developer Resources"
  },
  "developer_resources/DeveloperResourcesListView.ts | error": {
    "message": "Error"
  },
  "developer_resources/DeveloperResourcesListView.ts | failure": {
    "message": "failure"
  },
  "developer_resources/DeveloperResourcesListView.ts | initiator": {
    "message": "Initiator"
  },
  "developer_resources/DeveloperResourcesListView.ts | pending": {
    "message": "pending"
  },
  "developer_resources/DeveloperResourcesListView.ts | sBytes": {
    "message": "{PH1} bytes"
  },
  "developer_resources/DeveloperResourcesListView.ts | status": {
    "message": "Status"
  },
  "developer_resources/DeveloperResourcesListView.ts | success": {
    "message": "success"
  },
  "developer_resources/DeveloperResourcesListView.ts | totalBytes": {
    "message": "Total Bytes"
  },
  "developer_resources/DeveloperResourcesListView.ts | url": {
    "message": "URL"
  },
  "developer_resources/DeveloperResourcesView.ts | enableLoadingThroughTarget": {
    "message": "Enable loading through target"
  },
  "developer_resources/DeveloperResourcesView.ts | enterTextToSearchTheUrlAndError": {
    "message": "Enter text to search the URL and Error columns"
  },
  "developer_resources/DeveloperResourcesView.ts | loadHttpsDeveloperResources": {
    "message": "Load HTTP(S) developer resources through the inspected target"
  },
  "developer_resources/DeveloperResourcesView.ts | resources": {
    "message": "{PH1} resources"
  },
  "developer_resources/DeveloperResourcesView.ts | resourcesCurrentlyLoading": {
    "message": "{PH1} resources, {PH2} currently loading"
  },
  "devices/DevicesView.ts | thisPanelHasBeenDeprecatedIn": {
    "message": "This panel has been deprecated in favor of the {PH1} interface, which has equivalent functionality."
  },
  "devices/ModuleUIStrings.ts | android": {
    "message": "android"
  },
  "devices/ModuleUIStrings.ts | mobile": {
    "message": "mobile"
  },
  "devices/ModuleUIStrings.ts | remoteDevices": {
    "message": "Remote devices"
  },
  "devices/ModuleUIStrings.ts | usb": {
    "message": "usb"
  },
  "event_listeners/EventListenersView.ts | deleteEventListener": {
    "message": "Delete event listener"
  },
  "event_listeners/EventListenersView.ts | noEventListeners": {
    "message": "No event listeners"
  },
  "event_listeners/EventListenersView.ts | passive": {
    "message": "Passive"
  },
  "event_listeners/EventListenersView.ts | remove": {
    "message": "Remove"
  },
  "event_listeners/EventListenersView.ts | revealInElementsPanel": {
    "message": "Reveal in Elements panel"
  },
  "event_listeners/EventListenersView.ts | togglePassive": {
    "message": "Toggle Passive"
  },
  "event_listeners/EventListenersView.ts | toggleWhetherEventListenerIs": {
    "message": "Toggle whether event listener is passive or blocking"
  },
  "help/help-meta.ts | whatsNew": {
    "message": "What's New"
  },
  "help/ModuleUIStrings.ts | appearance": {
    "message": "Appearance"
  },
  "help/ModuleUIStrings.ts | bug": {
    "message": "bug"
  },
  "help/ModuleUIStrings.ts | doNotShowWhatsNewAfterEachUpdate": {
    "message": "Do not show What's New after each update"
  },
  "help/ModuleUIStrings.ts | help": {
    "message": "Help"
  },
  "help/ModuleUIStrings.ts | releaseNotes": {
    "message": "Release notes"
  },
  "help/ModuleUIStrings.ts | reportADevtoolsIssue": {
    "message": "Report a DevTools issue"
  },
  "help/ModuleUIStrings.ts | showWhatsNewAfterEachUpdate": {
    "message": "Show What's New after each update"
  },
  "help/ReleaseNoteView.ts | close": {
    "message": "Close"
  },
  "help/ReleaseNoteView.ts | learnMore": {
    "message": "Learn more"
  },
  "help/ReleaseNoteView.ts | s": {
    "message": "{PH1}"
  },
  "inline_editor/ColorSwatch.ts | shiftclickToChangeColorFormat": {
    "message": "Shift-click to change color format"
  },
  "inline_editor/CSSShadowEditor.js | blur": {
    "message": "Blur"
  },
  "inline_editor/CSSShadowEditor.js | inset": {
    "message": "Inset"
  },
  "inline_editor/CSSShadowEditor.js | outset": {
    "message": "Outset"
  },
  "inline_editor/CSSShadowEditor.js | spread": {
    "message": "Spread"
  },
  "inline_editor/CSSShadowEditor.js | type": {
    "message": "Type"
  },
  "inline_editor/CSSShadowEditor.js | xOffset": {
    "message": "X offset"
  },
  "inline_editor/CSSShadowEditor.js | yOffset": {
    "message": "Y offset"
  },
  "inline_editor/CSSVarSwatch.ts | jumpToDefinition": {
    "message": "Jump to definition"
  },
  "inline_editor/CSSVarSwatch.ts | sIsNotDefined": {
    "message": "{PH1} is not defined"
  },
  "inline_editor/FontEditor.js | cssProperties": {
    "message": "CSS Properties"
  },
  "inline_editor/FontEditor.js | deleteS": {
    "message": "Delete {PH1}"
  },
  "inline_editor/FontEditor.js | fallbackS": {
    "message": "Fallback {PH1}"
  },
  "inline_editor/FontEditor.js | fontFamily": {
    "message": "Font Family"
  },
  "inline_editor/FontEditor.js | fontSelectorDeletedAtIndexS": {
    "message": "Font Selector deleted at index: {PH1}"
  },
  "inline_editor/FontEditor.js | fontSize": {
    "message": "Font Size"
  },
  "inline_editor/FontEditor.js | fontWeight": {
    "message": "Font Weight"
  },
  "inline_editor/FontEditor.js | lineHeight": {
    "message": "Line Height"
  },
  "inline_editor/FontEditor.js | PleaseEnterAValidValueForSText": {
    "message": "* Please enter a valid value for {PH1} text input"
  },
  "inline_editor/FontEditor.js | selectorInputMode": {
    "message": "Selector Input Mode"
  },
  "inline_editor/FontEditor.js | sKeyValueSelector": {
    "message": "{PH1} Key Value Selector"
  },
  "inline_editor/FontEditor.js | sliderInputMode": {
    "message": "Slider Input Mode"
  },
  "inline_editor/FontEditor.js | spacing": {
    "message": "Spacing"
  },
  "inline_editor/FontEditor.js | sSliderInput": {
    "message": "{PH1} Slider Input"
  },
  "inline_editor/FontEditor.js | sTextInput": {
    "message": "{PH1} Text Input"
  },
  "inline_editor/FontEditor.js | sToggleInputType": {
    "message": "{PH1} Toggle Input Type"
  },
  "inline_editor/FontEditor.js | sUnitInput": {
    "message": "{PH1} Unit Input"
  },
  "inline_editor/FontEditor.js | thereIsNoValueToDeleteAtIndexS": {
    "message": "There is no value to delete at index: {PH1}"
  },
  "inline_editor/FontEditor.js | thisPropertyIsSetToContainUnits": {
    "message": "This property is set to contain units but does not have a defined corresponding unitsArray: {PH1}"
  },
  "inline_editor/FontEditor.js | units": {
    "message": "Units"
  },
  "input/InputTimeline.ts | clearAll": {
    "message": "Clear all"
  },
  "input/InputTimeline.ts | loadProfile": {
    "message": "Load profile…"
  },
  "input/InputTimeline.ts | saveProfile": {
    "message": "Save profile…"
  },
  "input/ModuleUIStrings.ts | inputs": {
    "message": "Inputs"
  },
  "input/ModuleUIStrings.ts | pause": {
    "message": "Pause"
  },
  "input/ModuleUIStrings.ts | resume": {
    "message": "Resume"
  },
  "input/ModuleUIStrings.ts | startRecording": {
    "message": "Start recording"
  },
  "input/ModuleUIStrings.ts | startReplaying": {
    "message": "Start replaying"
  },
  "input/ModuleUIStrings.ts | stopRecording": {
    "message": "Stop recording"
  },
  "js_profiler/js_profiler-meta.ts | profiler": {
    "message": "Profiler"
  },
  "layer_viewer/LayerDetailsView.js | compositingReasons": {
    "message": "Compositing Reasons"
  },
  "layer_viewer/LayerDetailsView.js | containingBlocRectangleDimensions": {
    "message": "Containing Block {PH1} × {PH2} (at {PH3}, {PH4})"
  },
  "layer_viewer/LayerDetailsView.js | hasABackdropFilter": {
    "message": "Has a backdrop filter."
  },
  "layer_viewer/LayerDetailsView.js | hasABlendingEffectThatNeedsToBe": {
    "message": "Has a blending effect that needs to be known by compositor because of composited descendants."
  },
  "layer_viewer/LayerDetailsView.js | hasAClipThatNeedsToBeKnownBy": {
    "message": "Has a clip that needs to be known by compositor because of composited descendants."
  },
  "layer_viewer/LayerDetailsView.js | hasADTransform": {
    "message": "Has a 3d transform."
  },
  "layer_viewer/LayerDetailsView.js | hasAFilterEffectThatNeedsToBe": {
    "message": "Has a filter effect that needs to be known by compositor because of composited descendants."
  },
  "layer_viewer/LayerDetailsView.js | hasAMaskThatNeedsToBeKnownBy": {
    "message": "Has a mask that needs to be known by compositor because of composited descendants."
  },
  "layer_viewer/LayerDetailsView.js | hasAnActiveAcceleratedBackdrop": {
    "message": "Has an active accelerated backdrop filter animation or transition."
  },
  "layer_viewer/LayerDetailsView.js | hasAnActiveAcceleratedFilter": {
    "message": "Has an active accelerated filter animation or transition."
  },
  "layer_viewer/LayerDetailsView.js | hasAnActiveAcceleratedOpacity": {
    "message": "Has an active accelerated opacity animation or transition."
  },
  "layer_viewer/LayerDetailsView.js | hasAnActiveAcceleratedTransform": {
    "message": "Has an active accelerated transform animation or transition."
  },
  "layer_viewer/LayerDetailsView.js | hasAPerspectiveTransformThat": {
    "message": "Has a perspective transform that needs to be known by compositor because of 3d descendants."
  },
  "layer_viewer/LayerDetailsView.js | hasAPreservesdPropertyThatNeeds": {
    "message": "Has a preserves-3d property that needs to be known by compositor because of 3d descendants."
  },
  "layer_viewer/LayerDetailsView.js | hasAReflectionThatNeedsToBeKnown": {
    "message": "Has a reflection that needs to be known by compositor because of composited descendants."
  },
  "layer_viewer/LayerDetailsView.js | hasAWillchangeCompositingHint": {
    "message": "Has a will-change compositing hint other than transform and opacity."
  },
  "layer_viewer/LayerDetailsView.js | hasAWillchangeOpacityCompositing": {
    "message": "Has a will-change: opacity compositing hint."
  },
  "layer_viewer/LayerDetailsView.js | hasAWillchangeTransform": {
    "message": "Has a will-change: transform compositing hint."
  },
  "layer_viewer/LayerDetailsView.js | hasBackfacevisibilityHidden": {
    "message": "Has backface-visibility: hidden."
  },
  "layer_viewer/LayerDetailsView.js | hasClippingAncestor": {
    "message": "Has clipping ancestor."
  },
  "layer_viewer/LayerDetailsView.js | hasOpacityThatNeedsToBeAppliedBy": {
    "message": "Has opacity that needs to be applied by compositor because of composited descendants."
  },
  "layer_viewer/LayerDetailsView.js | isAnAcceleratedCanvasOrIsA": {
    "message": "Is an accelerated canvas, or is a display list backed canvas that was promoted to a layer based on a performance heuristic."
  },
  "layer_viewer/LayerDetailsView.js | isAnAcceleratedIframe": {
    "message": "Is an accelerated iFrame."
  },
  "layer_viewer/LayerDetailsView.js | isAnAcceleratedPlugin": {
    "message": "Is an accelerated plugin."
  },
  "layer_viewer/LayerDetailsView.js | isAnAcceleratedVideo": {
    "message": "Is an accelerated video."
  },
  "layer_viewer/LayerDetailsView.js | isAPositionfixedElementWith": {
    "message": "Is a position:fixed element with composited descendants."
  },
  "layer_viewer/LayerDetailsView.js | isAScrollableOverflowElement": {
    "message": "Is a scrollable overflow element."
  },
  "layer_viewer/LayerDetailsView.js | isDomOverlayForWebxrImmersivear": {
    "message": "Is DOM overlay for WebXR immersive-ar mode."
  },
  "layer_viewer/LayerDetailsView.js | isFixedOrStickyPosition": {
    "message": "Is fixed or sticky position."
  },
  "layer_viewer/LayerDetailsView.js | isOverlayControlsForVideo": {
    "message": "Is overlay controls for video."
  },
  "layer_viewer/LayerDetailsView.js | isTheDocumentrootscroller": {
    "message": "Is the document.rootScroller."
  },
  "layer_viewer/LayerDetailsView.js | isTheRootLayer": {
    "message": "Is the root layer."
  },
  "layer_viewer/LayerDetailsView.js | layerForLinkHighlightFrame": {
    "message": "Layer for link highlight, frame overlay, etc."
  },
  "layer_viewer/LayerDetailsView.js | layerPaintedOnTopOfOtherLayersAs": {
    "message": "Layer painted on top of other layers as decoration."
  },
  "layer_viewer/LayerDetailsView.js | layerWasSeparatelyComposited": {
    "message": "Layer was separately composited because it could not be squashed."
  },
  "layer_viewer/LayerDetailsView.js | mainThreadScrollingReason": {
    "message": "Main thread scrolling reason"
  },
  "layer_viewer/LayerDetailsView.js | memoryEstimate": {
    "message": "Memory estimate"
  },
  "layer_viewer/LayerDetailsView.js | mightOverlapOtherComposited": {
    "message": "Might overlap other composited content."
  },
  "layer_viewer/LayerDetailsView.js | nearestLayerShiftingContaining": {
    "message": "Nearest Layer Shifting Containing Block"
  },
  "layer_viewer/LayerDetailsView.js | nearestLayerShiftingStickyBox": {
    "message": "Nearest Layer Shifting Sticky Box"
  },
  "layer_viewer/LayerDetailsView.js | nonFastScrollable": {
    "message": "Non fast scrollable"
  },
  "layer_viewer/LayerDetailsView.js | overlapsOtherCompositedContent": {
    "message": "Overlaps other composited content."
  },
  "layer_viewer/LayerDetailsView.js | paintCount": {
    "message": "Paint count"
  },
  "layer_viewer/LayerDetailsView.js | paintProfiler": {
    "message": "Paint Profiler"
  },
  "layer_viewer/LayerDetailsView.js | parentWithCompositedNegative": {
    "message": "Parent with composited negative z-index content."
  },
  "layer_viewer/LayerDetailsView.js | repaintsOnScroll": {
    "message": "Repaints on scroll"
  },
  "layer_viewer/LayerDetailsView.js | scrollParentIsNotAnAncestor": {
    "message": "Scroll parent is not an ancestor."
  },
  "layer_viewer/LayerDetailsView.js | scrollRectangleDimensions": {
    "message": "{PH1} {PH2} × {PH3} (at {PH4}, {PH5})"
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerHomeForAGroupOf": {
    "message": "Secondary layer, home for a group of squashable content."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerNoopLayerToPlace": {
    "message": "Secondary layer, no-op layer to place the squashing layer correctly in the composited layer tree."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerTheHorizontal": {
    "message": "Secondary layer, the horizontal scrollbar layer."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerTheOverflow": {
    "message": "Secondary layer, the overflow controls host layer."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerTheScrollCorner": {
    "message": "Secondary layer, the scroll corner layer."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerTheVertical": {
    "message": "Secondary layer, the vertical scrollbar layer."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerToContainAnyNormal": {
    "message": "Secondary layer, to contain any normal flow and positive z-index contents on top of a negative z-index layer."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerToContainTheMask": {
    "message": "Secondary layer, to contain the mask contents."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerToHouseContents": {
    "message": "Secondary layer, to house contents that can be scrolled."
  },
  "layer_viewer/LayerDetailsView.js | secondaryLayerUsedToPositionThe": {
    "message": "Secondary layer, used to position the scrolling contents while scrolling."
  },
  "layer_viewer/LayerDetailsView.js | selectALayerToSeeItsDetails": {
    "message": "Select a layer to see its details"
  },
  "layer_viewer/LayerDetailsView.js | shouldIsolateDescendantsToApplyA": {
    "message": "Should isolate descendants to apply a blend effect."
  },
  "layer_viewer/LayerDetailsView.js | size": {
    "message": "Size"
  },
  "layer_viewer/LayerDetailsView.js | slowScrollRegions": {
    "message": "Slow scroll regions"
  },
  "layer_viewer/LayerDetailsView.js | stickyAncenstorLayersS": {
    "message": "{PH1}: {PH2} ({PH3})"
  },
  "layer_viewer/LayerDetailsView.js | stickyBoxRectangleDimensions": {
    "message": "Sticky Box {PH1} × {PH2} (at {PH3}, {PH4})"
  },
  "layer_viewer/LayerDetailsView.js | stickyPositionConstraint": {
    "message": "Sticky position constraint"
  },
  "layer_viewer/LayerDetailsView.js | touchEventHandler": {
    "message": "Touch event handler"
  },
  "layer_viewer/LayerDetailsView.js | unnamed": {
    "message": "<unnamed>"
  },
  "layer_viewer/LayerDetailsView.js | updateRectangleDimensions": {
    "message": "{PH1} × {PH2} (at {PH3},{PH4})"
  },
  "layer_viewer/LayerDetailsView.js | wheelEventHandler": {
    "message": "Wheel event handler"
  },
  "layer_viewer/Layers3DView.js | cantDisplayLayers": {
    "message": "Can't display layers,"
  },
  "layer_viewer/Layers3DView.js | checkSForPossibleReasons": {
    "message": "Check {PH1} for possible reasons."
  },
  "layer_viewer/Layers3DView.js | dLayersView": {
    "message": "3D Layers View"
  },
  "layer_viewer/Layers3DView.js | layerInformationIsNotYet": {
    "message": "Layer information is not yet available."
  },
  "layer_viewer/Layers3DView.js | mousewheelEventListener": {
    "message": "mousewheel event listener"
  },
  "layer_viewer/Layers3DView.js | paints": {
    "message": "Paints"
  },
  "layer_viewer/Layers3DView.js | repaintsOnScroll": {
    "message": "repaints on scroll"
  },
  "layer_viewer/Layers3DView.js | resetView": {
    "message": "Reset View"
  },
  "layer_viewer/Layers3DView.js | showPaintProfiler": {
    "message": "Show Paint Profiler"
  },
  "layer_viewer/Layers3DView.js | slowScrollRects": {
    "message": "Slow scroll rects"
  },
  "layer_viewer/Layers3DView.js | touchEventListener": {
    "message": "touch event listener"
  },
  "layer_viewer/Layers3DView.js | webglSupportIsDisabledInYour": {
    "message": "WebGL support is disabled in your browser."
  },
  "layer_viewer/LayerTreeOutline.js | layersTreePane": {
    "message": "Layers Tree Pane"
  },
  "layer_viewer/LayerTreeOutline.js | showPaintProfiler": {
    "message": "Show Paint Profiler"
  },
  "layer_viewer/LayerTreeOutline.js | updateChildDimension": {
    "message": " ({PH1} × {PH2})"
  },
  "layer_viewer/LayerViewHost.js | showInternalLayers": {
    "message": "Show internal layers"
  },
  "layer_viewer/ModuleUIStrings.js | layers": {
    "message": "Layers"
  },
  "layer_viewer/ModuleUIStrings.js | panOrRotateDown": {
    "message": "Pan or rotate down"
  },
  "layer_viewer/ModuleUIStrings.js | panOrRotateLeft": {
    "message": "Pan or rotate left"
  },
  "layer_viewer/ModuleUIStrings.js | panOrRotateRight": {
    "message": "Pan or rotate right"
  },
  "layer_viewer/ModuleUIStrings.js | panOrRotateUp": {
    "message": "Pan or rotate up"
  },
  "layer_viewer/ModuleUIStrings.js | resetView": {
    "message": "Reset view"
  },
  "layer_viewer/ModuleUIStrings.js | switchToPanMode": {
    "message": "Switch to pan mode"
  },
  "layer_viewer/ModuleUIStrings.js | switchToRotateMode": {
    "message": "Switch to rotate mode"
  },
  "layer_viewer/ModuleUIStrings.js | zoomIn": {
    "message": "Zoom in"
  },
  "layer_viewer/ModuleUIStrings.js | zoomOut": {
    "message": "Zoom out"
  },
  "layer_viewer/PaintProfilerView.js | bitmap": {
    "message": "Bitmap"
  },
  "layer_viewer/PaintProfilerView.js | commandLog": {
    "message": "Command Log"
  },
  "layer_viewer/PaintProfilerView.js | misc": {
    "message": "Misc"
  },
  "layer_viewer/PaintProfilerView.js | profiling": {
    "message": "Profiling…"
  },
  "layer_viewer/PaintProfilerView.js | profilingResults": {
    "message": "Profiling results"
  },
  "layer_viewer/PaintProfilerView.js | shapes": {
    "message": "Shapes"
  },
  "layer_viewer/PaintProfilerView.js | text": {
    "message": "Text"
  },
  "layer_viewer/TransformController.js | panModeX": {
    "message": "Pan mode (X)"
  },
  "layer_viewer/TransformController.js | resetTransform": {
    "message": "Reset transform (0)"
  },
  "layer_viewer/TransformController.js | rotateModeV": {
    "message": "Rotate mode (V)"
  },
  "layers/layers-meta.ts | layers": {
    "message": "Layers"
  },
  "layers/LayersPanel.ts | details": {
    "message": "Details"
  },
  "layers/LayersPanel.ts | profiler": {
    "message": "Profiler"
  },
  "lighthouse/lighthouse-meta.ts | lighthouse": {
    "message": "Lighthouse"
  },
  "lighthouse/lighthouse-meta.ts | lighthouseTag": {
    "message": "lighthouse"
  },
  "lighthouse/lighthouse-meta.ts | pwa": {
    "message": "pwa"
  },
  "lighthouse/LighthouseController.js | accessibility": {
    "message": "Accessibility"
  },
  "lighthouse/LighthouseController.js | applyMobileEmulation": {
    "message": "Apply mobile emulation"
  },
  "lighthouse/LighthouseController.js | applyMobileEmulationDuring": {
    "message": "Apply mobile emulation during auditing"
  },
  "lighthouse/LighthouseController.js | atLeastOneCategoryMustBeSelected": {
    "message": "At least one category must be selected."
  },
  "lighthouse/LighthouseController.js | bestPractices": {
    "message": "Best practices"
  },
  "lighthouse/LighthouseController.js | canOnlyAuditHttphttpsPagesAnd": {
    "message": "Can only audit HTTP/HTTPS pages and Chrome extensions. Navigate to a different page to start an audit."
  },
  "lighthouse/LighthouseController.js | clearStorage": {
    "message": "Clear storage"
  },
  "lighthouse/LighthouseController.js | desktop": {
    "message": "Desktop"
  },
  "lighthouse/LighthouseController.js | doesThisPageFollowBestPractices": {
    "message": "Does this page follow best practices for modern web development"
  },
  "lighthouse/LighthouseController.js | doesThisPageMeetTheStandardOfA": {
    "message": "Does this page meet the standard of a Progressive Web App"
  },
  "lighthouse/LighthouseController.js | howLongDoesThisAppTakeToShow": {
    "message": "How long does this app take to show content and become usable"
  },
  "lighthouse/LighthouseController.js | indexeddb": {
    "message": "IndexedDB"
  },
  "lighthouse/LighthouseController.js | isThisPageOptimizedForAdSpeedAnd": {
    "message": "Is this page optimized for ad speed and quality"
  },
  "lighthouse/LighthouseController.js | isThisPageOptimizedForSearch": {
    "message": "Is this page optimized for search engine results ranking"
  },
  "lighthouse/LighthouseController.js | isThisPageUsableByPeopleWith": {
    "message": "Is this page usable by people with disabilities or impairments"
  },
  "lighthouse/LighthouseController.js | localStorage": {
    "message": "Local Storage"
  },
  "lighthouse/LighthouseController.js | mobile": {
    "message": "Mobile"
  },
  "lighthouse/LighthouseController.js | multipleTabsAreBeingControlledBy": {
    "message": "Multiple tabs are being controlled by the same service worker. Close your other tabs on the same origin to audit this page."
  },
  "lighthouse/LighthouseController.js | performance": {
    "message": "Performance"
  },
  "lighthouse/LighthouseController.js | progressiveWebApp": {
    "message": "Progressive Web App"
  },
  "lighthouse/LighthouseController.js | publisherAds": {
    "message": "Publisher Ads"
  },
  "lighthouse/LighthouseController.js | resetStorageLocalstorage": {
    "message": "Reset storage (localStorage, IndexedDB, etc) before auditing. (Good for performance & PWA testing)"
  },
  "lighthouse/LighthouseController.js | seo": {
    "message": "SEO"
  },
  "lighthouse/LighthouseController.js | simulateASlowerPageLoadBasedOn": {
    "message": "Simulate a slower page load, based on data from an initial unthrottled load. If disabled, the page is actually slowed with applied throttling."
  },
  "lighthouse/LighthouseController.js | simulatedThrottling": {
    "message": "Simulated throttling"
  },
  "lighthouse/LighthouseController.js | thereMayBeStoredDataAffectingLoadingPlural": {
    "message": "There may be stored data affecting loading performance in these locations: {PH1}. Audit this page in an incognito window to prevent those resources from affecting your scores."
  },
  "lighthouse/LighthouseController.js | thereMayBeStoredDataAffectingSingular": {
    "message": "There may be stored data affecting loading performance in this location: {PH1}. Audit this page in an incognito window to prevent those resources from affecting your scores."
  },
  "lighthouse/LighthouseController.js | webSql": {
    "message": "Web SQL"
  },
  "lighthouse/LighthousePanel.js | cancelling": {
    "message": "Cancelling"
  },
  "lighthouse/LighthousePanel.js | clearAll": {
    "message": "Clear all"
  },
  "lighthouse/LighthousePanel.js | dropLighthouseJsonHere": {
    "message": "Drop Lighthouse JSON here"
  },
  "lighthouse/LighthousePanel.js | lighthouseSettings": {
    "message": "Lighthouse settings"
  },
  "lighthouse/LighthousePanel.js | performAnAudit": {
    "message": "Perform an audit…"
  },
  "lighthouse/LighthousePanel.js | printing": {
    "message": "Printing"
  },
  "lighthouse/LighthousePanel.js | thePrintPopupWindowIsOpenPlease": {
    "message": "The print popup window is open. Please close it to continue."
  },
  "lighthouse/LighthouseReportRenderer.js | thePerformanceMetricsAboveAre": {
    "message": "The performance metrics above are simulated and won't match the timings found in this trace. Disable simulated throttling in \"Lighthouse Settings\" if you want the timings to match."
  },
  "lighthouse/LighthouseReportRenderer.js | viewOriginalTrace": {
    "message": "View Original Trace"
  },
  "lighthouse/LighthouseReportRenderer.js | viewTrace": {
    "message": "View Trace"
  },
  "lighthouse/LighthouseReportSelector.js | newReport": {
    "message": "(new report)"
  },
  "lighthouse/LighthouseReportSelector.js | reports": {
    "message": "Reports"
  },
  "lighthouse/LighthouseStartView.js | categories": {
    "message": "Categories"
  },
  "lighthouse/LighthouseStartView.js | communityPluginsBeta": {
    "message": "Community Plugins (beta)"
  },
  "lighthouse/LighthouseStartView.js | device": {
    "message": "Device"
  },
  "lighthouse/LighthouseStartView.js | generateReport": {
    "message": "Generate report"
  },
  "lighthouse/LighthouseStartView.js | identifyAndFixCommonProblemsThat": {
    "message": "Identify and fix common problems that affect your site's performance, accessibility, and user experience."
  },
  "lighthouse/LighthouseStartView.js | learnMore": {
    "message": "Learn more"
  },
  "lighthouse/LighthouseStatusView.js | ahSorryWeRanIntoAnError": {
    "message": "Ah, sorry! We ran into an error."
  },
  "lighthouse/LighthouseStatusView.js | almostThereLighthouseIsNow": {
    "message": "Almost there! Lighthouse is now generating your report."
  },
  "lighthouse/LighthouseStatusView.js | asPageLoadTimeIncreasesFromOne": {
    "message": "As page load time increases from one second to seven seconds, the probability of a mobile site visitor bouncing increases 113%. [Source: Think with Google]"
  },
  "lighthouse/LighthouseStatusView.js | asTheNumberOfElementsOnAPage": {
    "message": "As the number of elements on a page increases from 400 to 6,000, the probability of conversion drops 95%. [Source: Think with Google]"
  },
  "lighthouse/LighthouseStatusView.js | auditingS": {
    "message": "Auditing {PH1}"
  },
  "lighthouse/LighthouseStatusView.js | auditingYourWebPage": {
    "message": "Auditing your web page"
  },
  "lighthouse/LighthouseStatusView.js | byReducingTheResponseSizeOfJson": {
    "message": "By reducing the response size of JSON needed for displaying comments, Instagram saw increased impressions [Source: WPO Stats]"
  },
  "lighthouse/LighthouseStatusView.js | cancel": {
    "message": "Cancel"
  },
  "lighthouse/LighthouseStatusView.js | cancelling": {
    "message": "Cancelling…"
  },
  "lighthouse/LighthouseStatusView.js | fastFactMessageWithPlaceholder": {
    "message": "💡 {PH1}"
  },
  "lighthouse/LighthouseStatusView.js | ifASiteTakesSecondToBecome": {
    "message": "If a site takes >1 second to become interactive, users lose attention, and their perception of completing the page task is broken [Source: Google Developers Blog]"
  },
  "lighthouse/LighthouseStatusView.js | ifThisIssueIsReproduciblePlease": {
    "message": "If this issue is reproducible, please report it at the Lighthouse GitHub repo."
  },
  "lighthouse/LighthouseStatusView.js | lighthouseIsGatheringInformation": {
    "message": "Lighthouse is gathering information about the page to compute your score."
  },
  "lighthouse/LighthouseStatusView.js | lighthouseIsLoadingThePage": {
    "message": "Lighthouse is loading the page."
  },
  "lighthouse/LighthouseStatusView.js | lighthouseIsLoadingYourPage": {
    "message": "Lighthouse is loading your page"
  },
  "lighthouse/LighthouseStatusView.js | lighthouseIsLoadingYourPageWith": {
    "message": "Lighthouse is loading your page with throttling to measure performance on a mobile device on 3G."
  },
  "lighthouse/LighthouseStatusView.js | lighthouseIsLoadingYourPageWithMobile": {
    "message": "Lighthouse is loading your page with mobile emulation."
  },
  "lighthouse/LighthouseStatusView.js | lighthouseIsLoadingYourPageWithThrottling": {
    "message": "Lighthouse is loading your page with throttling to measure performance on a slow desktop on 3G."
  },
  "lighthouse/LighthouseStatusView.js | lighthouseIsWarmingUp": {
    "message": "Lighthouse is warming up…"
  },
  "lighthouse/LighthouseStatusView.js | lighthouseOnlySimulatesMobile": {
    "message": "Lighthouse only simulates mobile performance; to measure performance on a real device, try WebPageTest.org [Source: Lighthouse team]"
  },
  "lighthouse/LighthouseStatusView.js | loading": {
    "message": "Loading…"
  },
  "lighthouse/LighthouseStatusView.js | mbTakesAMinimumOfSecondsTo": {
    "message": "1MB takes a minimum of 5 seconds to download on a typical 3G connection [Source: WebPageTest and DevTools 3G definition]."
  },
  "lighthouse/LighthouseStatusView.js | OfGlobalMobileUsersInWereOnGOrG": {
    "message": "75% of global mobile users in 2016 were on 2G or 3G [Source: GSMA Mobile]"
  },
  "lighthouse/LighthouseStatusView.js | OfMobilePagesTakeNearlySeconds": {
    "message": "70% of mobile pages take nearly 7 seconds for the visual content above the fold to display on the screen. [Source: Think with Google]"
  },
  "lighthouse/LighthouseStatusView.js | rebuildingPinterestPagesFor": {
    "message": "Rebuilding Pinterest pages for performance increased conversion rates by 15% [Source: WPO Stats]"
  },
  "lighthouse/LighthouseStatusView.js | SecondsIsTheAverageTimeAMobile": {
    "message": "19 seconds is the average time a mobile web page takes to load on a 3G connection [Source: Google DoubleClick blog]"
  },
  "lighthouse/LighthouseStatusView.js | theAverageUserDeviceCostsLess": {
    "message": "The average user device costs less than 200 USD. [Source: International Data Corporation]"
  },
  "lighthouse/LighthouseStatusView.js | tryToNavigateToTheUrlInAFresh": {
    "message": "Try to navigate to the URL in a fresh Chrome profile without any other tabs or extensions open and try again."
  },
  "lighthouse/LighthouseStatusView.js | walmartSawAIncreaseInRevenueFor": {
    "message": "Walmart saw a 1% increase in revenue for every 100ms improvement in page load [Source: WPO Stats]"
  },
  "media/EventDisplayTable.ts | eventDisplay": {
    "message": "Event display"
  },
  "media/EventDisplayTable.ts | eventName": {
    "message": "Event name"
  },
  "media/EventDisplayTable.ts | timestamp": {
    "message": "Timestamp"
  },
  "media/EventDisplayTable.ts | value": {
    "message": "Value"
  },
  "media/EventTimelineView.ts | bufferingStatus": {
    "message": "Buffering Status"
  },
  "media/EventTimelineView.ts | playbackStatus": {
    "message": "Playback Status"
  },
  "media/media-meta.ts | media": {
    "message": "Media"
  },
  "media/media-meta.ts | video": {
    "message": "video"
  },
  "media/PlayerDetailView.ts | events": {
    "message": "Events"
  },
  "media/PlayerDetailView.ts | messages": {
    "message": "Messages"
  },
  "media/PlayerDetailView.ts | playerEvents": {
    "message": "Player events"
  },
  "media/PlayerDetailView.ts | playerMessages": {
    "message": "Player messages"
  },
  "media/PlayerDetailView.ts | playerProperties": {
    "message": "Player properties"
  },
  "media/PlayerDetailView.ts | playerTimeline": {
    "message": "Player timeline"
  },
  "media/PlayerDetailView.ts | properties": {
    "message": "Properties"
  },
  "media/PlayerDetailView.ts | timeline": {
    "message": "Timeline"
  },
  "media/PlayerListView.ts | hideAllOthers": {
    "message": "Hide all others"
  },
  "media/PlayerListView.ts | hidePlayer": {
    "message": "Hide player"
  },
  "media/PlayerListView.ts | players": {
    "message": "Players"
  },
  "media/PlayerListView.ts | savePlayerInfo": {
    "message": "Save player info"
  },
  "media/PlayerMessagesView.ts | all": {
    "message": "All"
  },
  "media/PlayerMessagesView.ts | custom": {
    "message": "Custom"
  },
  "media/PlayerMessagesView.ts | debug": {
    "message": "Debug"
  },
  "media/PlayerMessagesView.ts | default": {
    "message": "Default"
  },
  "media/PlayerMessagesView.ts | error": {
    "message": "Error"
  },
  "media/PlayerMessagesView.ts | filterLogMessages": {
    "message": "Filter log messages"
  },
  "media/PlayerMessagesView.ts | info": {
    "message": "Info"
  },
  "media/PlayerMessagesView.ts | logLevel": {
    "message": "Log level:"
  },
  "media/PlayerMessagesView.ts | warning": {
    "message": "Warning"
  },
  "media/PlayerPropertiesView.ts | audio": {
    "message": "Audio"
  },
  "media/PlayerPropertiesView.ts | bitrate": {
    "message": "Bitrate"
  },
  "media/PlayerPropertiesView.ts | decoder": {
    "message": "Decoder"
  },
  "media/PlayerPropertiesView.ts | decoderName": {
    "message": "Decoder name"
  },
  "media/PlayerPropertiesView.ts | decryptingDemuxer": {
    "message": "Decrypting demuxer"
  },
  "media/PlayerPropertiesView.ts | duration": {
    "message": "Duration"
  },
  "media/PlayerPropertiesView.ts | encoderName": {
    "message": "Encoder name"
  },
  "media/PlayerPropertiesView.ts | fileSize": {
    "message": "File size"
  },
  "media/PlayerPropertiesView.ts | frameRate": {
    "message": "Frame rate"
  },
  "media/PlayerPropertiesView.ts | hardwareDecoder": {
    "message": "Hardware decoder"
  },
  "media/PlayerPropertiesView.ts | hardwareEncoder": {
    "message": "Hardware encoder"
  },
  "media/PlayerPropertiesView.ts | noDecoder": {
    "message": "No decoder"
  },
  "media/PlayerPropertiesView.ts | noEncoder": {
    "message": "No encoder"
  },
  "media/PlayerPropertiesView.ts | noTextTracks": {
    "message": "No text tracks"
  },
  "media/PlayerPropertiesView.ts | playbackFrameTitle": {
    "message": "Playback frame title"
  },
  "media/PlayerPropertiesView.ts | playbackFrameUrl": {
    "message": "Playback frame URL"
  },
  "media/PlayerPropertiesView.ts | properties": {
    "message": "Properties"
  },
  "media/PlayerPropertiesView.ts | rangeHeaderSupport": {
    "message": "Range header support"
  },
  "media/PlayerPropertiesView.ts | resolution": {
    "message": "Resolution"
  },
  "media/PlayerPropertiesView.ts | singleoriginPlayback": {
    "message": "Single-origin playback"
  },
  "media/PlayerPropertiesView.ts | startTime": {
    "message": "Start time"
  },
  "media/PlayerPropertiesView.ts | streaming": {
    "message": "Streaming"
  },
  "media/PlayerPropertiesView.ts | textTrack": {
    "message": "Text track"
  },
  "media/PlayerPropertiesView.ts | track": {
    "message": "Track"
  },
  "media/PlayerPropertiesView.ts | video": {
    "message": "Video"
  },
  "media/PlayerPropertiesView.ts | videoFreezingScore": {
    "message": "Video freezing score"
  },
  "media/PlayerPropertiesView.ts | videoPlaybackRoughness": {
    "message": "Video playback roughness"
  },
  "mobile_throttling/mobile_throttling-meta.ts | throttling": {
    "message": "Throttling"
  },
  "mobile_throttling/MobileThrottlingSelector.ts | advanced": {
    "message": "Advanced"
  },
  "mobile_throttling/MobileThrottlingSelector.ts | disabled": {
    "message": "Disabled"
  },
  "mobile_throttling/MobileThrottlingSelector.ts | presets": {
    "message": "Presets"
  },
  "mobile_throttling/ModuleUIStrings.ts | device": {
    "message": "device"
  },
  "mobile_throttling/ModuleUIStrings.ts | enableFastGThrottling": {
    "message": "Enable fast 3G throttling"
  },
  "mobile_throttling/ModuleUIStrings.ts | enableSlowGThrottling": {
    "message": "Enable slow 3G throttling"
  },
  "mobile_throttling/ModuleUIStrings.ts | goOffline": {
    "message": "Go offline"
  },
  "mobile_throttling/ModuleUIStrings.ts | goOnline": {
    "message": "Go online"
  },
  "mobile_throttling/ModuleUIStrings.ts | network": {
    "message": "Network"
  },
  "mobile_throttling/ModuleUIStrings.ts | throttling": {
    "message": "throttling"
  },
  "mobile_throttling/NetworkPanelIndicator.ts | networkThrottlingIsEnabled": {
    "message": "Network throttling is enabled"
  },
  "mobile_throttling/NetworkPanelIndicator.ts | requestsMayBeBlocked": {
    "message": "Requests may be blocked"
  },
  "mobile_throttling/NetworkPanelIndicator.ts | requestsMayBeRewrittenByLocal": {
    "message": "Requests may be rewritten by local overrides"
  },
  "mobile_throttling/NetworkThrottlingSelector.ts | custom": {
    "message": "Custom"
  },
  "mobile_throttling/NetworkThrottlingSelector.ts | disabled": {
    "message": "Disabled"
  },
  "mobile_throttling/NetworkThrottlingSelector.ts | presets": {
    "message": "Presets"
  },
  "mobile_throttling/ThrottlingManager.ts | add": {
    "message": "Add…"
  },
  "mobile_throttling/ThrottlingManager.ts | addS": {
    "message": "Add {PH1}"
  },
  "mobile_throttling/ThrottlingManager.ts | cpuThrottling": {
    "message": "CPU throttling"
  },
  "mobile_throttling/ThrottlingManager.ts | cpuThrottlingIsEnabled": {
    "message": "CPU throttling is enabled"
  },
  "mobile_throttling/ThrottlingManager.ts | dSlowdown": {
    "message": "{PH1}× slowdown"
  },
  "mobile_throttling/ThrottlingManager.ts | forceDisconnectedFromNetwork": {
    "message": "Force disconnected from network"
  },
  "mobile_throttling/ThrottlingManager.ts | noThrottling": {
    "message": "No throttling"
  },
  "mobile_throttling/ThrottlingManager.ts | offline": {
    "message": "Offline"
  },
  "mobile_throttling/ThrottlingManager.ts | sS": {
    "message": "{PH1}: {PH2}"
  },
  "mobile_throttling/ThrottlingManager.ts | throttling": {
    "message": "Throttling"
  },
  "mobile_throttling/ThrottlingPresets.ts | checkNetworkAndPerformancePanels": {
    "message": "Check Network and Performance panels"
  },
  "mobile_throttling/ThrottlingPresets.ts | custom": {
    "message": "Custom"
  },
  "mobile_throttling/ThrottlingPresets.ts | fastGXCpuSlowdown": {
    "message": "Fast 3G & 4x CPU slowdown"
  },
  "mobile_throttling/ThrottlingPresets.ts | lowendMobile": {
    "message": "Low-end mobile"
  },
  "mobile_throttling/ThrottlingPresets.ts | midtierMobile": {
    "message": "Mid-tier mobile"
  },
  "mobile_throttling/ThrottlingPresets.ts | noInternetConnectivity": {
    "message": "No internet connectivity"
  },
  "mobile_throttling/ThrottlingPresets.ts | noThrottling": {
    "message": "No throttling"
  },
  "mobile_throttling/ThrottlingPresets.ts | slowGXCpuSlowdown": {
    "message": "Slow 3G & 6x CPU slowdown"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | addCustomProfile": {
    "message": "Add custom profile..."
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | dms": {
    "message": "{PH1}ms"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | download": {
    "message": "Download"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | dskbs": {
    "message": "{PH1}{PH2}kB/s"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | fsmbs": {
    "message": "{PH1}{PH2}MB/s"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | kbs": {
    "message": "kb/s"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | latency": {
    "message": "Latency"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | latencyMustBeAnIntegerBetweenSms": {
    "message": "Latency must be an integer between {PH1}ms to {PH2}ms inclusive"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | ms": {
    "message": "ms"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | networkThrottlingProfiles": {
    "message": "Network Throttling Profiles"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | optional": {
    "message": "optional"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | profileName": {
    "message": "Profile Name"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | profileNameCharactersLengthMust": {
    "message": "Profile Name characters length must be between 1 to {PH1} inclusive"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | sMustBeANumberBetweenSkbsToSkbs": {
    "message": "{PH1} must be a number between {PH2}kb/s to {PH3}kb/s inclusive"
  },
  "mobile_throttling/ThrottlingSettingsTab.ts | upload": {
    "message": "Upload"
  },
  "node_debugger/node_debugger-meta.ts | node": {
    "message": "Node"
  },
  "node_main/node_main-meta.ts | connection": {
    "message": "Connection"
  },
  "node_main/node_main-meta.ts | node": {
    "message": "node"
  },
  "node_main/NodeConnectionsPanel.js | addConnection": {
    "message": "Add connection"
  },
  "node_main/NodeConnectionsPanel.js | networkAddressEgLocalhost": {
    "message": "Network address (e.g. localhost:9229)"
  },
  "node_main/NodeConnectionsPanel.js | noConnectionsSpecified": {
    "message": "No connections specified"
  },
  "node_main/NodeConnectionsPanel.js | nodejsDebuggingGuide": {
    "message": "Node.js debugging guide"
  },
  "node_main/NodeConnectionsPanel.js | specifyNetworkEndpointAnd": {
    "message": "Specify network endpoint and DevTools will connect to it automatically. Read {PH1} to learn more."
  },
  "node_main/NodeMain.js | main": {
    "message": "Main"
  },
  "node_main/NodeMain.js | nodejsS": {
    "message": "Node.js: {PH1}"
  },
  "performance_monitor/ModuleUIStrings.ts | activity": {
    "message": "activity"
  },
  "performance_monitor/ModuleUIStrings.ts | metrics": {
    "message": "metrics"
  },
  "performance_monitor/ModuleUIStrings.ts | monitor": {
    "message": "monitor"
  },
  "performance_monitor/ModuleUIStrings.ts | performance": {
    "message": "performance"
  },
  "performance_monitor/ModuleUIStrings.ts | performanceMonitor": {
    "message": "Performance monitor"
  },
  "performance_monitor/ModuleUIStrings.ts | systemMonitor": {
    "message": "system monitor"
  },
  "performance_monitor/PerformanceMonitor.ts | cpuUsage": {
    "message": "CPU usage"
  },
  "performance_monitor/PerformanceMonitor.ts | documentFrames": {
    "message": "Document Frames"
  },
  "performance_monitor/PerformanceMonitor.ts | documents": {
    "message": "Documents"
  },
  "performance_monitor/PerformanceMonitor.ts | domNodes": {
    "message": "DOM Nodes"
  },
  "performance_monitor/PerformanceMonitor.ts | graphsDisplayingARealtimeViewOf": {
    "message": "Graphs displaying a real-time view of performance metrics"
  },
  "performance_monitor/PerformanceMonitor.ts | jsEventListeners": {
    "message": "JS event listeners"
  },
  "performance_monitor/PerformanceMonitor.ts | jsHeapSize": {
    "message": "JS heap size"
  },
  "performance_monitor/PerformanceMonitor.ts | layoutsSec": {
    "message": "Layouts / sec"
  },
  "performance_monitor/PerformanceMonitor.ts | paused": {
    "message": "Paused"
  },
  "performance_monitor/PerformanceMonitor.ts | styleRecalcsSec": {
    "message": "Style recalcs / sec"
  },
  "persistence/Automapping.js | theAttemptToBindSInTheWorkspace": {
    "message": "The attempt to bind \"{PH1}\" in the workspace failed as this URI is malformed."
  },
  "persistence/EditFileSystemView.js | add": {
    "message": "Add"
  },
  "persistence/EditFileSystemView.js | enterAPath": {
    "message": "Enter a path"
  },
  "persistence/EditFileSystemView.js | enterAUniquePath": {
    "message": "Enter a unique path"
  },
  "persistence/EditFileSystemView.js | excludedFolders": {
    "message": "Excluded folders"
  },
  "persistence/EditFileSystemView.js | folderPath": {
    "message": "Folder path"
  },
  "persistence/EditFileSystemView.js | none": {
    "message": "None"
  },
  "persistence/EditFileSystemView.js | sViaDevtools": {
    "message": "{PH1} (via .devtools)"
  },
  "persistence/IsolatedFileSystem.js | blobCouldNotBeLoaded": {
    "message": "Blob could not be loaded."
  },
  "persistence/IsolatedFileSystem.js | cantReadFileSS": {
    "message": "Can't read file: {PH1}: {PH2}"
  },
  "persistence/IsolatedFileSystem.js | fileSystemErrorS": {
    "message": "File system error: {PH1}"
  },
  "persistence/IsolatedFileSystem.js | linkedToS": {
    "message": "Linked to {PH1}"
  },
  "persistence/IsolatedFileSystem.js | unknownErrorReadingFileS": {
    "message": "Unknown error reading file: {PH1}"
  },
  "persistence/IsolatedFileSystemManager.js | unableToAddFilesystemS": {
    "message": "Unable to add filesystem: {PH1}"
  },
  "persistence/ModuleUIStrings.js | disableOverrideNetworkRequests": {
    "message": "Disable override network requests"
  },
  "persistence/ModuleUIStrings.js | enableLocalOverrides": {
    "message": "Enable Local Overrides"
  },
  "persistence/ModuleUIStrings.js | enableOverrideNetworkRequests": {
    "message": "Enable override network requests"
  },
  "persistence/ModuleUIStrings.js | interception": {
    "message": "interception"
  },
  "persistence/ModuleUIStrings.js | network": {
    "message": "network"
  },
  "persistence/ModuleUIStrings.js | override": {
    "message": "override"
  },
  "persistence/ModuleUIStrings.js | persistence": {
    "message": "Persistence"
  },
  "persistence/ModuleUIStrings.js | request": {
    "message": "request"
  },
  "persistence/ModuleUIStrings.js | rewrite": {
    "message": "rewrite"
  },
  "persistence/ModuleUIStrings.js | workspace": {
    "message": "Workspace"
  },
  "persistence/PersistenceActions.js | openInContainingFolder": {
    "message": "Open in containing folder"
  },
  "persistence/PersistenceActions.js | saveAs": {
    "message": "Save as..."
  },
  "persistence/PersistenceActions.js | saveForOverrides": {
    "message": "Save for overrides"
  },
  "persistence/PersistenceActions.js | saveImage": {
    "message": "Save image"
  },
  "persistence/PersistenceUtils.js | linkedToS": {
    "message": "Linked to {PH1}"
  },
  "persistence/PersistenceUtils.js | linkedToSourceMapS": {
    "message": "Linked to source map: {PH1}"
  },
  "persistence/PlatformFileSystem.js | unableToReadFilesWithThis": {
    "message": "Unable to read files with this implementation."
  },
  "persistence/WorkspaceSettingsTab.js | addFolder": {
    "message": "Add folder…"
  },
  "persistence/WorkspaceSettingsTab.js | folderExcludePattern": {
    "message": "Folder exclude pattern"
  },
  "persistence/WorkspaceSettingsTab.js | mappingsAreInferredAutomatically": {
    "message": "Mappings are inferred automatically."
  },
  "persistence/WorkspaceSettingsTab.js | remove": {
    "message": "Remove"
  },
  "persistence/WorkspaceSettingsTab.js | workspace": {
    "message": "Workspace"
  },
  "protocol_monitor/ModuleUIStrings.ts | protocolMonitor": {
    "message": "Protocol monitor"
  },
  "protocol_monitor/ProtocolMonitor.ts | clearAll": {
    "message": "Clear all"
  },
  "protocol_monitor/ProtocolMonitor.ts | direction": {
    "message": "Direction"
  },
  "protocol_monitor/ProtocolMonitor.ts | documentation": {
    "message": "Documentation"
  },
  "protocol_monitor/ProtocolMonitor.ts | filter": {
    "message": "Filter"
  },
  "protocol_monitor/ProtocolMonitor.ts | method": {
    "message": "Method"
  },
  "protocol_monitor/ProtocolMonitor.ts | noMessageSelected": {
    "message": "No message selected"
  },
  "protocol_monitor/ProtocolMonitor.ts | record": {
    "message": "Record"
  },
  "protocol_monitor/ProtocolMonitor.ts | request": {
    "message": "Request"
  },
  "protocol_monitor/ProtocolMonitor.ts | response": {
    "message": "Response"
  },
  "protocol_monitor/ProtocolMonitor.ts | sMs": {
    "message": "{PH1} ms"
  },
  "protocol_monitor/ProtocolMonitor.ts | target": {
    "message": "Target"
  },
  "protocol_monitor/ProtocolMonitor.ts | timestamp": {
    "message": "Timestamp"
  },
  "recorder/RecordingFileSystem.ts | defaultRecordingName": {
    "message": "Recording #{nextId}"
  },
  "recorder/RecordingFileSystem.ts | linkedToS": {
    "message": "Linked to {PH1}"
  },
  "resources/ClearStorageView.js | storageQuotaUsed": {
    "message": "{PH1} used out of {PH2} storage quota"
  },
  "resources/ClearStorageView.js | storageQuotaUsedWithBytes": {
    "message": "{PH1} bytes used out of {PH2} bytes storage quota"
  },
  "resources/ClearStorageView.js | storageWithCustomMarker": {
    "message": "{PH1} (custom)"
  },
  "screencast/ScreencastApp.ts | toggleScreencast": {
    "message": "Toggle screencast"
  },
  "screencast/ScreencastView.ts | addressBar": {
    "message": "Address bar"
  },
  "screencast/ScreencastView.ts | back": {
    "message": "back"
  },
  "screencast/ScreencastView.ts | forward": {
    "message": "forward"
  },
  "screencast/ScreencastView.ts | profilingInProgress": {
    "message": "Profiling in progress"
  },
  "screencast/ScreencastView.ts | reload": {
    "message": "reload"
  },
  "screencast/ScreencastView.ts | screencastViewOfDebugTarget": {
    "message": "Screencast view of debug target"
  },
  "screencast/ScreencastView.ts | theTabIsInactive": {
    "message": "The tab is inactive"
  },
  "search/SearchResultsPane.js | lineS": {
    "message": "Line {PH1}"
  },
  "search/SearchResultsPane.js | matchesCountS": {
    "message": "Matches Count {PH1}"
  },
  "search/SearchResultsPane.js | showDMore": {
    "message": "Show {PH1} more"
  },
  "search/SearchView.js | clear": {
    "message": "Clear"
  },
  "search/SearchView.js | foundDMatchingLinesInDFiles": {
    "message": "Found {PH1} matching lines in {PH2} files."
  },
  "search/SearchView.js | foundDMatchingLinesInFile": {
    "message": "Found {PH1} matching lines in 1 file."
  },
  "search/SearchView.js | foundMatchingLineInFile": {
    "message": "Found 1 matching line in 1 file."
  },
  "search/SearchView.js | indexing": {
    "message": "Indexing…"
  },
  "search/SearchView.js | indexingInterrupted": {
    "message": "Indexing interrupted."
  },
  "search/SearchView.js | matchCase": {
    "message": "Match Case"
  },
  "search/SearchView.js | noMatchesFound": {
    "message": "No matches found."
  },
  "search/SearchView.js | refresh": {
    "message": "Refresh"
  },
  "search/SearchView.js | search": {
    "message": "Search"
  },
  "search/SearchView.js | searchFinished": {
    "message": "Search finished."
  },
  "search/SearchView.js | searching": {
    "message": "Searching…"
  },
  "search/SearchView.js | searchInterrupted": {
    "message": "Search interrupted."
  },
  "search/SearchView.js | searchQuery": {
    "message": "Search Query"
  },
  "search/SearchView.js | useRegularExpression": {
    "message": "Use Regular Expression"
  },
  "security/SecurityModel.ts | cipherWithMAC": {
    "message": "{PH1} with {PH2}"
  },
  "security/SecurityModel.ts | keyExchangeWithGroup": {
    "message": "{PH1} with {PH2}"
  },
  "security/SecurityModel.ts | theSecurityOfThisPageIsUnknown": {
    "message": "The security of this page is unknown."
  },
  "security/SecurityModel.ts | thisPageIsNotSecure": {
    "message": "This page is not secure."
  },
  "security/SecurityModel.ts | thisPageIsNotSecureBrokenHttps": {
    "message": "This page is not secure (broken HTTPS)."
  },
  "security/SecurityModel.ts | thisPageIsSecureValidHttps": {
    "message": "This page is secure (valid HTTPS)."
  },
  "security/SecurityPanel.ts | activeContentWithCertificate": {
    "message": "active content with certificate errors"
  },
  "security/SecurityPanel.ts | activeMixedContent": {
    "message": "active mixed content"
  },
  "security/SecurityPanel.ts | allResourcesOnThisPageAreServed": {
    "message": "All resources on this page are served securely."
  },
  "security/SecurityPanel.ts | allServedSecurely": {
    "message": "all served securely"
  },
  "security/SecurityPanel.ts | blockedMixedContent": {
    "message": "Blocked mixed content"
  },
  "security/SecurityPanel.ts | certificate": {
    "message": "Certificate"
  },
  "security/SecurityPanel.ts | certificateExpiresSoon": {
    "message": "Certificate expires soon"
  },
  "security/SecurityPanel.ts | certificateTransparency": {
    "message": "Certificate Transparency"
  },
  "security/SecurityPanel.ts | chromeHasDeterminedThatThisSite": {
    "message": "Chrome has determined that this site could be fake or fraudulent.\n\nIf you believe this is shown in error please visit https://bugs.chromium.org/p/chromium/issues/entry?template=Safety+Tips+Appeals."
  },
  "security/SecurityPanel.ts | cipher": {
    "message": "Cipher"
  },
  "security/SecurityPanel.ts | connection": {
    "message": "Connection"
  },
  "security/SecurityPanel.ts | contentWithCertificateErrors": {
    "message": "content with certificate errors"
  },
  "security/SecurityPanel.ts | dataWasEnteredInAFieldOnA": {
    "message": "Data was entered in a field on a non-secure page. A warning has been added to the URL bar."
  },
  "security/SecurityPanel.ts | flaggedByGoogleSafeBrowsing": {
    "message": "Flagged by Google Safe Browsing"
  },
  "security/SecurityPanel.ts | formFieldEditedOnANonsecurePage": {
    "message": "Form field edited on a non-secure page"
  },
  "security/SecurityPanel.ts | hashAlgorithm": {
    "message": "Hash algorithm"
  },
  "security/SecurityPanel.ts | hideFullDetails": {
    "message": "Hide full details"
  },
  "security/SecurityPanel.ts | info": {
    "message": "Info"
  },
  "security/SecurityPanel.ts | insecureSha": {
    "message": "insecure (SHA-1)"
  },
  "security/SecurityPanel.ts | issuedAt": {
    "message": "Issued at"
  },
  "security/SecurityPanel.ts | issuer": {
    "message": "Issuer"
  },
  "security/SecurityPanel.ts | keyExchange": {
    "message": "Key exchange"
  },
  "security/SecurityPanel.ts | keyExchangeGroup": {
    "message": "Key exchange group"
  },
  "security/SecurityPanel.ts | logId": {
    "message": "Log ID"
  },
  "security/SecurityPanel.ts | logName": {
    "message": "Log name"
  },
  "security/SecurityPanel.ts | mainOrigin": {
    "message": "Main origin"
  },
  "security/SecurityPanel.ts | mainOriginNonsecure": {
    "message": "Main origin (non-secure)"
  },
  "security/SecurityPanel.ts | mainOriginSecure": {
    "message": "Main origin (secure)"
  },
  "security/SecurityPanel.ts | missing": {
    "message": "missing"
  },
  "security/SecurityPanel.ts | mixedContent": {
    "message": "mixed content"
  },
  "security/SecurityPanel.ts | na": {
    "message": "(n/a)"
  },
  "security/SecurityPanel.ts | nonsecureForm": {
    "message": "non-secure form"
  },
  "security/SecurityPanel.ts | nonsecureOrigins": {
    "message": "Non-secure origins"
  },
  "security/SecurityPanel.ts | noSecurityDetailsAreAvailableFor": {
    "message": "No security details are available for this origin."
  },
  "security/SecurityPanel.ts | noSecurityInformation": {
    "message": "No security information"
  },
  "security/SecurityPanel.ts | notSecure": {
    "message": "Not secure"
  },
  "security/SecurityPanel.ts | notSecureBroken": {
    "message": "Not secure (broken)"
  },
  "security/SecurityPanel.ts | obsoleteConnectionSettings": {
    "message": "obsolete connection settings"
  },
  "security/SecurityPanel.ts | openFullCertificateDetails": {
    "message": "Open full certificate details"
  },
  "security/SecurityPanel.ts | origin": {
    "message": "Origin"
  },
  "security/SecurityPanel.ts | overview": {
    "message": "Overview"
  },
  "security/SecurityPanel.ts | possibleSpoofingUrl": {
    "message": "Possible spoofing URL"
  },
  "security/SecurityPanel.ts | protocol": {
    "message": "Protocol"
  },
  "security/SecurityPanel.ts | publickeypinningBypassed": {
    "message": "Public-Key-Pinning bypassed"
  },
  "security/SecurityPanel.ts | publickeypinningWasBypassedByA": {
    "message": "Public-Key-Pinning was bypassed by a local root certificate."
  },
  "security/SecurityPanel.ts | reloadThePageToRecordRequestsFor": {
    "message": "Reload the page to record requests for HTTP resources."
  },
  "security/SecurityPanel.ts | reloadToViewDetails": {
    "message": "Reload to view details"
  },
  "security/SecurityPanel.ts | resources": {
    "message": "Resources"
  },
  "security/SecurityPanel.ts | rsaKeyExchangeIsObsoleteEnableAn": {
    "message": "RSA key exchange is obsolete. Enable an ECDHE-based cipher suite."
  },
  "security/SecurityPanel.ts | san": {
    "message": "SAN"
  },
  "security/SecurityPanel.ts | sct": {
    "message": "SCT"
  },
  "security/SecurityPanel.ts | secure": {
    "message": "Secure"
  },
  "security/SecurityPanel.ts | secureConnectionSettings": {
    "message": "secure connection settings"
  },
  "security/SecurityPanel.ts | secureOrigins": {
    "message": "Secure origins"
  },
  "security/SecurityPanel.ts | securityOverview": {
    "message": "Security overview"
  },
  "security/SecurityPanel.ts | showFullDetails": {
    "message": "Show full details"
  },
  "security/SecurityPanel.ts | showLess": {
    "message": "Show less"
  },
  "security/SecurityPanel.ts | showMoreSTotal": {
    "message": "Show more ({PH1} total)"
  },
  "security/SecurityPanel.ts | signatureAlgorithm": {
    "message": "Signature algorithm"
  },
  "security/SecurityPanel.ts | signatureData": {
    "message": "Signature data"
  },
  "security/SecurityPanel.ts | sIsObsoleteEnableAnAesgcmbased": {
    "message": "{PH1} is obsolete. Enable an AES-GCM-based cipher suite."
  },
  "security/SecurityPanel.ts | sIsObsoleteEnableTlsOrLater": {
    "message": "{PH1} is obsolete. Enable TLS 1.2 or later."
  },
  "security/SecurityPanel.ts | source": {
    "message": "Source"
  },
  "security/SecurityPanel.ts | subject": {
    "message": "Subject"
  },
  "security/SecurityPanel.ts | subjectAlternativeNameMissing": {
    "message": "Subject Alternative Name missing"
  },
  "security/SecurityPanel.ts | theCertificateChainForThisSite": {
    "message": "The certificate chain for this site contains a certificate signed using SHA-1."
  },
  "security/SecurityPanel.ts | theCertificateForThisSiteDoesNot": {
    "message": "The certificate for this site does not contain a Subject Alternative Name extension containing a domain name or IP address."
  },
  "security/SecurityPanel.ts | theCertificateForThisSiteExpires": {
    "message": "The certificate for this site expires in less than 48 hours and needs to be renewed."
  },
  "security/SecurityPanel.ts | theConnectionToThisSiteIs": {
    "message": "The connection to this site is encrypted and authenticated using {PH1}, {PH2}, and {PH3}."
  },
  "security/SecurityPanel.ts | theConnectionToThisSiteIsUsingA": {
    "message": "The connection to this site is using a valid, trusted server certificate issued by {PH1}."
  },
  "security/SecurityPanel.ts | theSecurityDetailsAboveAreFrom": {
    "message": "The security details above are from the first inspected response."
  },
  "security/SecurityPanel.ts | theSecurityOfThisPageIsUnknown": {
    "message": "The security of this page is unknown."
  },
  "security/SecurityPanel.ts | theServerSignatureUsesShaWhichIs": {
    "message": "The server signature uses SHA-1, which is obsolete. Enable a SHA-2 signature algorithm instead. (Note this is different from the signature in the certificate.)"
  },
  "security/SecurityPanel.ts | thisIsAnErrorPage": {
    "message": "This is an error page."
  },
  "security/SecurityPanel.ts | thisOriginIsANonhttpsSecure": {
    "message": "This origin is a non-HTTPS secure origin."
  },
  "security/SecurityPanel.ts | thisPageHasANonhttpsSecureOrigin": {
    "message": "This page has a non-HTTPS secure origin."
  },
  "security/SecurityPanel.ts | thisPageIncludesAFormWithA": {
    "message": "This page includes a form with a non-secure \"action\" attribute."
  },
  "security/SecurityPanel.ts | thisPageIncludesHttpResources": {
    "message": "This page includes HTTP resources."
  },
  "security/SecurityPanel.ts | thisPageIncludesResourcesThat": {
    "message": "This page includes resources that were loaded with certificate errors."
  },
  "security/SecurityPanel.ts | thisPageIsDangerousFlaggedBy": {
    "message": "This page is dangerous (flagged by Google Safe Browsing)."
  },
  "security/SecurityPanel.ts | thisPageIsInsecureUnencrypted": {
    "message": "This page is insecure (unencrypted HTTP)."
  },
  "security/SecurityPanel.ts | thisPageIsNotSecure": {
    "message": "This page is not secure."
  },
  "security/SecurityPanel.ts | thisPageIsNotSecureBrokenHttps": {
    "message": "This page is not secure (broken HTTPS)."
  },
  "security/SecurityPanel.ts | thisPageIsSecureValidHttps": {
    "message": "This page is secure (valid HTTPS)."
  },
  "security/SecurityPanel.ts | thisPageIsSuspicious": {
    "message": "This page is suspicious"
  },
  "security/SecurityPanel.ts | thisPageIsSuspiciousFlaggedBy": {
    "message": "This page is suspicious (flagged by Chrome)."
  },
  "security/SecurityPanel.ts | thisRequestCompliesWithChromes": {
    "message": "This request complies with Chrome's Certificate Transparency policy."
  },
  "security/SecurityPanel.ts | thisRequestDoesNotComplyWith": {
    "message": "This request does not comply with Chrome's Certificate Transparency policy."
  },
  "security/SecurityPanel.ts | thisResponseWasLoadedFromCache": {
    "message": "This response was loaded from cache. Some security details might be missing."
  },
  "security/SecurityPanel.ts | thisSiteIsMissingAValidTrusted": {
    "message": "This site is missing a valid, trusted certificate ({PH1})."
  },
  "security/SecurityPanel.ts | thisSitesHostnameLooksSimilarToS": {
    "message": "This site's hostname looks similar to {PH1}. Attackers sometimes mimic sites by making small, hard-to-see changes to the domain name.\n\nIf you believe this is shown in error please visit https://bugs.chromium.org/p/chromium/issues/entry?template=Safety+Tips+Appeals."
  },
  "security/SecurityPanel.ts | toCheckThisPagesStatusVisit": {
    "message": "To check this page's status, visit g.co/safebrowsingstatus."
  },
  "security/SecurityPanel.ts | unknownCanceled": {
    "message": "Unknown / canceled"
  },
  "security/SecurityPanel.ts | validAndTrusted": {
    "message": "valid and trusted"
  },
  "security/SecurityPanel.ts | validationStatus": {
    "message": "Validation status"
  },
  "security/SecurityPanel.ts | validFrom": {
    "message": "Valid from"
  },
  "security/SecurityPanel.ts | validUntil": {
    "message": "Valid until"
  },
  "security/SecurityPanel.ts | viewCertificate": {
    "message": "View certificate"
  },
  "security/SecurityPanel.ts | viewDRequestInNetworkPanel": {
    "message": "View {PH1} request in Network Panel"
  },
  "security/SecurityPanel.ts | viewDRequestsInNetworkPanel": {
    "message": "View {PH1} requests in Network Panel"
  },
  "security/SecurityPanel.ts | viewRequestsInNetworkPanel": {
    "message": "View requests in Network Panel"
  },
  "security/SecurityPanel.ts | youHaveRecentlyAllowedContent": {
    "message": "You have recently allowed content loaded with certificate errors (such as scripts or iframes) to run on this site."
  },
  "security/SecurityPanel.ts | youHaveRecentlyAllowedNonsecure": {
    "message": "You have recently allowed non-secure content (such as scripts or iframes) to run on this site."
  },
  "security/SecurityPanel.ts | yourConnectionToThisOriginIsNot": {
    "message": "Your connection to this origin is not secure."
  },
  "security/SecurityPanel.ts | yourPageRequestedNonsecure": {
    "message": "Your page requested non-secure resources that were blocked."
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | addFilenamePattern": {
    "message": "Add filename pattern"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | addPattern": {
    "message": "Add pattern..."
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | behavior": {
    "message": "Behavior"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | debuggerWillSkipThroughThe": {
    "message": "Debugger will skip through the scripts and will not stop on exceptions thrown by them."
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | disabled": {
    "message": "Disabled"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | frameworkIgnoreList": {
    "message": "Framework Ignore List"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | ignoreList": {
    "message": "Ignore List"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | ignoreListContentScripts": {
    "message": "Add content scripts to ignore list"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | ignoreListContentScriptsExtension": {
    "message": "Add content scripts to ignore list (extension scripts in the page)"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | ignoreScriptsWhoseNamesMatchS": {
    "message": "Ignore scripts whose names match '{PH1}'"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | noIgnoreListPatterns": {
    "message": "No ignore list patterns"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | pattern": {
    "message": "Pattern"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | patternAlreadyExists": {
    "message": "Pattern already exists"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | patternCannotBeEmpty": {
    "message": "Pattern cannot be empty"
  },
  "settings/FrameworkIgnoreListSettingsTab.ts | patternMustBeAValidRegular": {
    "message": "Pattern must be a valid regular expression"
  },
  "settings/KeybindsSettingsTab.ts | addAShortcut": {
    "message": "Add a shortcut"
  },
  "settings/KeybindsSettingsTab.ts | confirmChanges": {
    "message": "Confirm changes"
  },
  "settings/KeybindsSettingsTab.ts | discardChanges": {
    "message": "Discard changes"
  },
  "settings/KeybindsSettingsTab.ts | editShortcut": {
    "message": "Edit shortcut"
  },
  "settings/KeybindsSettingsTab.ts | FullListOfDevtoolsKeyboard": {
    "message": "Full list of DevTools keyboard shortcuts and gestures"
  },
  "settings/KeybindsSettingsTab.ts | keyboardShortcutsList": {
    "message": "Keyboard shortcuts list"
  },
  "settings/KeybindsSettingsTab.ts | matchShortcutsFromPreset": {
    "message": "Match shortcuts from preset"
  },
  "settings/KeybindsSettingsTab.ts | noShortcutForAction": {
    "message": "No shortcut for action"
  },
  "settings/KeybindsSettingsTab.ts | removeShortcut": {
    "message": "Remove shortcut"
  },
  "settings/KeybindsSettingsTab.ts | ResetShortcutsForAction": {
    "message": "Reset shortcuts for action"
  },
  "settings/KeybindsSettingsTab.ts | RestoreDefaultShortcuts": {
    "message": "Restore default shortcuts"
  },
  "settings/KeybindsSettingsTab.ts | shortcutModified": {
    "message": "Shortcut modified"
  },
  "settings/KeybindsSettingsTab.ts | shortcuts": {
    "message": "Shortcuts"
  },
  "settings/KeybindsSettingsTab.ts | shortcutsCannotContainOnly": {
    "message": "Shortcuts cannot contain only modifier keys."
  },
  "settings/KeybindsSettingsTab.ts | thisShortcutIsInUseByS": {
    "message": "This shortcut is in use by {PH1}: {PH2}."
  },
  "settings/ModuleUIStrings.ts | documentation": {
    "message": "Documentation"
  },
  "settings/ModuleUIStrings.ts | experiments": {
    "message": "Experiments"
  },
  "settings/ModuleUIStrings.ts | ignoreList": {
    "message": "Ignore List"
  },
  "settings/ModuleUIStrings.ts | preferences": {
    "message": "Preferences"
  },
  "settings/ModuleUIStrings.ts | settings": {
    "message": "Settings"
  },
  "settings/ModuleUIStrings.ts | shortcuts": {
    "message": "Shortcuts"
  },
  "settings/SettingsScreen.ts | experiments": {
    "message": "Experiments"
  },
  "settings/SettingsScreen.ts | oneOrMoreSettingsHaveChanged": {
    "message": "One or more settings have changed which requires a reload to take effect."
  },
  "settings/SettingsScreen.ts | preferences": {
    "message": "Preferences"
  },
  "settings/SettingsScreen.ts | restoreDefaultsAndReload": {
    "message": "Restore defaults and reload"
  },
  "settings/SettingsScreen.ts | settings": {
    "message": "Settings"
  },
  "settings/SettingsScreen.ts | shortcuts": {
    "message": "Shortcuts"
  },
  "settings/SettingsScreen.ts | theseExperimentsAreParticularly": {
    "message": "These experiments are particularly unstable. Enable at your own risk."
  },
  "settings/SettingsScreen.ts | theseExperimentsCouldBeUnstable": {
    "message": "These experiments could be unstable or unreliable and may require you to restart DevTools."
  },
  "settings/SettingsScreen.ts | warning": {
    "message": "WARNING:"
  },
  "snippets/ModuleUIStrings.ts | runSnippet": {
    "message": "Run snippet"
  },
  "snippets/ScriptSnippetFileSystem.ts | linkedTo": {
    "message": "Linked to {PH1}"
  },
  "snippets/ScriptSnippetFileSystem.ts | scriptSnippet": {
    "message": "Script snippet #{PH1}"
  },
  "snippets/SnippetsQuickOpen.ts | noSnippetsFound": {
    "message": "No snippets found."
  },
  "text_editor/CodeMirrorTextEditor.js | codeEditor": {
    "message": "Code editor"
  },
  "web_audio/AudioContextContentBuilder.ts | audiocontext": {
    "message": "AudioContext"
  },
  "web_audio/AudioContextContentBuilder.ts | callbackBufferSize": {
    "message": "Callback Buffer Size"
  },
  "web_audio/AudioContextContentBuilder.ts | callbackInterval": {
    "message": "Callback Interval"
  },
  "web_audio/AudioContextContentBuilder.ts | currentTime": {
    "message": "Current Time"
  },
  "web_audio/AudioContextContentBuilder.ts | maxOutputChannels": {
    "message": "Max Output Channels"
  },
  "web_audio/AudioContextContentBuilder.ts | offlineaudiocontext": {
    "message": "OfflineAudioContext"
  },
  "web_audio/AudioContextContentBuilder.ts | renderCapacity": {
    "message": "Render Capacity"
  },
  "web_audio/AudioContextContentBuilder.ts | sampleRate": {
    "message": "Sample Rate"
  },
  "web_audio/AudioContextContentBuilder.ts | state": {
    "message": "State"
  },
  "web_audio/AudioContextSelector.ts | audioContextS": {
    "message": "Audio context: {PH1}"
  },
  "web_audio/AudioContextSelector.ts | noRecordings": {
    "message": "(no recordings)"
  },
  "web_audio/ModuleUIStrings.ts | audio": {
    "message": "audio"
  },
  "web_audio/ModuleUIStrings.ts | webaudio": {
    "message": "WebAudio"
  },
  "web_audio/WebAudioView.ts | openAPageThatUsesWebAudioApiTo": {
    "message": "Open a page that uses Web Audio API to start monitoring."
  },
  "webauthn/ModuleUIStrings.ts | webauthn": {
    "message": "WebAuthn"
  },
  "webauthn/WebauthnPane.ts | actions": {
    "message": "Actions"
  },
  "webauthn/WebauthnPane.ts | active": {
    "message": "Active"
  },
  "webauthn/WebauthnPane.ts | add": {
    "message": "Add"
  },
  "webauthn/WebauthnPane.ts | addAuthenticator": {
    "message": "Add authenticator"
  },
  "webauthn/WebauthnPane.ts | authenticatorS": {
    "message": "Authenticator {PH1}"
  },
  "webauthn/WebauthnPane.ts | credentials": {
    "message": "Credentials"
  },
  "webauthn/WebauthnPane.ts | editName": {
    "message": "Edit name"
  },
  "webauthn/WebauthnPane.ts | enableVirtualAuthenticator": {
    "message": "Enable virtual authenticator environment"
  },
  "webauthn/WebauthnPane.ts | export": {
    "message": "Export"
  },
  "webauthn/WebauthnPane.ts | id": {
    "message": "ID"
  },
  "webauthn/WebauthnPane.ts | isResident": {
    "message": "Is Resident"
  },
  "webauthn/WebauthnPane.ts | learnMore": {
    "message": "Learn more"
  },
  "webauthn/WebauthnPane.ts | newAuthenticator": {
    "message": "New authenticator"
  },
  "webauthn/WebauthnPane.ts | no": {
    "message": "No"
  },
  "webauthn/WebauthnPane.ts | noCredentialsTryCallingSFromYour": {
    "message": "No credentials. Try calling {PH1} from your website."
  },
  "webauthn/WebauthnPane.ts | privateKeypem": {
    "message": "Private key.pem"
  },
  "webauthn/WebauthnPane.ts | protocol": {
    "message": "Protocol"
  },
  "webauthn/WebauthnPane.ts | remove": {
    "message": "Remove"
  },
  "webauthn/WebauthnPane.ts | rpId": {
    "message": "RP ID"
  },
  "webauthn/WebauthnPane.ts | saveName": {
    "message": "Save name"
  },
  "webauthn/WebauthnPane.ts | setSAsTheActiveAuthenticator": {
    "message": "Set {PH1} as the active authenticator"
  },
  "webauthn/WebauthnPane.ts | signCount": {
    "message": "Sign Count"
  },
  "webauthn/WebauthnPane.ts | supportsResidentKeys": {
    "message": "Supports resident keys"
  },
  "webauthn/WebauthnPane.ts | supportsUserVerification": {
    "message": "Supports user verification"
  },
  "webauthn/WebauthnPane.ts | transport": {
    "message": "Transport"
  },
  "webauthn/WebauthnPane.ts | userHandle": {
    "message": "User Handle"
  },
  "webauthn/WebauthnPane.ts | useWebauthnForPhishingresistant": {
    "message": "Use WebAuthn for phishing-resistant authentication"
  },
  "webauthn/WebauthnPane.ts | uuid": {
    "message": "UUID"
  },
  "webauthn/WebauthnPane.ts | yes": {
    "message": "Yes"
  },
  "workspace/UISourceCode.js | index": {
    "message": "(index)"
  },
  "workspace/UISourceCode.js | thisFileWasChangedExternally": {
    "message": "This file was changed externally. Would you like to reload it?"
  }
}
