# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# LOCALIZATION NOTE These strings are used inside the Performance Tools
# which is available from the Web Developer sub-menu -> 'Performance'.
# The correct localization of this file might be to keep it in
# English, or another language commonly spoken among web developers.
# You want to make that choice consistent across the developer tools.
# A good criteria is the language in which you'd find the best
# documentation on web development on the web. These strings
# are specifically for marker names in the performance tool.

# LOCALIZATION NOTE (marker.label.*):
# These strings are displayed in the Performance Tool waterfall, identifying markers.
# We want to use the same wording as Google Chrome when appropriate.
marker.label.styles=Recalculate Style
marker.label.reflow=Layout
marker.label.paint=Paint
marker.label.composite=Composite Layers
marker.label.compositeForwardTransaction=Composite Request Sent
marker.label.javascript=Function Call
marker.label.parseHTML=Parse HTML
marker.label.parseXML=Parse XML
marker.label.domevent=DOM Event
marker.label.consoleTime=Console
marker.label.garbageCollection2=Garbage Collection
marker.label.garbageCollection.incremental=Incremental GC
marker.label.garbageCollection.nonIncremental=Non-incremental GC
marker.label.cycleCollection=Cycle Collection
marker.label.cycleCollection.forgetSkippable=CC Graph Reduction
marker.label.timestamp=Timestamp
marker.label.worker=Worker
marker.label.unknown=Unknown

# LOCALIZATION NOTE (marker.label.javascript.*):
# These strings are displayed as JavaScript markers that have special
# reasons that can be translated.
marker.label.javascript.scriptElement=Script Tag
marker.label.javascript.promiseCallback=Promise Callback
marker.label.javascript.promiseInit=Promise Init
marker.label.javascript.workerRunnable=Worker
marker.label.javascript.jsURI=JavaScript URI
marker.label.javascript.eventHandler=Event Handler

# LOCALIZATION NOTE (marker.fieldFormat):
# Some timeline markers come with details, like a size, a name, a js function.
# %1$S is replaced with one of the above label (marker.label.*) and %2$S
# with the details. For examples: Paint (200x100), or console.time (FOO)
marker.fieldFormat=%1$S (%2$S)

# LOCALIZATION NOTE (marker.field.*):
# Strings used in the waterfall sidebar as property names.

# General marker fields
marker.field.start=Start:
marker.field.end=End:
marker.field.duration=Duration:
# Field names for stack values
marker.field.stack=Stack:
marker.field.startStack=Stack at start:
marker.field.endStack=Stack at end:
# %S is the "Async Cause" of a marker, and this signifies that the cause
# was an asynchronous one in a displayed stack.
marker.field.asyncStack=(Async: %S)
# For console.time markers
marker.field.consoleTimerName=Timer Name:
# For DOM Event markers
marker.field.DOMEventType=Event Type:
marker.field.DOMEventPhase=Phase:
# Non-incremental cause for a Garbage Collection marker
marker.field.nonIncrementalCause=Non-incremental Cause:
# For "Recalculate Style" markers
marker.field.restyleHint=Restyle Hint:
# General "reason" for a marker (JavaScript, Garbage Collection)
marker.field.causeName=Cause:
# General "type" for a marker (Cycle Collection, Garbage Collection)
marker.field.type=Type:
# The type of operation performed by a Worker.
marker.worker.serializeDataOffMainThread=Serialize data in Worker
marker.worker.serializeDataOnMainThread=Serialize data on the main thread
marker.worker.deserializeDataOffMainThread=Deserialize data in Worker
marker.worker.deserializeDataOnMainThread=Deserialize data on the main thread

# Strings used in the waterfall sidebar as values.
marker.value.unknownFrame=<unknown location>
marker.value.DOMEventTargetPhase=Target
marker.value.DOMEventCapturingPhase=Capture
marker.value.DOMEventBubblingPhase=Bubbling

# LOCALIZATION NOTE (marker.gcreason.label.*):
# These strings are used to give a concise but readable description of a GC reason.
marker.gcreason.label.API=API Call
marker.gcreason.label.EAGER_ALLOC_TRIGGER=Eager Allocation Trigger
marker.gcreason.label.DESTROY_RUNTIME=Shutdown
marker.gcreason.label.DESTROY_CONTEXT=Shutdown
marker.gcreason.label.LAST_DITCH=Out of Memory
marker.gcreason.label.TOO_MUCH_MALLOC=Too Many Bytes Allocated
marker.gcreason.label.ALLOC_TRIGGER=Too Many Allocations
marker.gcreason.label.DEBUG_GC=Debug GC
marker.gcreason.label.COMPARTMENT_REVIVED=Dead Global Revived
marker.gcreason.label.RESET=Finish Incremental Cycle
marker.gcreason.label.OUT_OF_NURSERY=Nursery is Full
marker.gcreason.label.EVICT_NURSERY=Nursery Eviction
marker.gcreason.label.FULL_STORE_BUFFER=Nursery Objects Too Active
marker.gcreason.label.SHARED_MEMORY_LIMIT=Large Allocation Failed
marker.gcreason.label.PERIODIC_FULL_GC=Periodic Full GC
marker.gcreason.label.INCREMENTAL_TOO_SLOW=Allocations Rate Too Fast
marker.gcreason.label.COMPONENT_UTILS=Cu.forceGC
marker.gcreason.label.MEM_PRESSURE=Low Memory
marker.gcreason.label.CC_WAITING=Forced by Cycle Collection
marker.gcreason.label.CC_FORCED=Forced by Cycle Collection
marker.gcreason.label.LOAD_END=Page Load Finished
marker.gcreason.label.PAGE_HIDE=Moved to Background
marker.gcreason.label.NSJSCONTEXT_DESTROY=Destroy JS Context
marker.gcreason.label.SET_NEW_DOCUMENT=New Document
marker.gcreason.label.SET_DOC_SHELL=New Document
marker.gcreason.label.DOM_UTILS=API Call
marker.gcreason.label.DOM_IPC=IPC
marker.gcreason.label.DOM_WORKER=Periodic Worker GC
marker.gcreason.label.INTER_SLICE_GC=Periodic Incremental GC Slice
marker.gcreason.label.FULL_GC_TIMER=Periodic Full GC
marker.gcreason.label.SHUTDOWN_CC=Shutdown
marker.gcreason.label.FINISH_LARGE_EVALUATE=Large Eval
marker.gcreason.label.DOM_WINDOW_UTILS=User Inactive
marker.gcreason.label.USER_INACTIVE=User Inactive

# LOCALIZATION NOTE (marker.gcreason.description.*):
# These strings are used to give an expanded description of why a GC occurred.
marker.gcreason.description.API=There was an API call to force garbage collection.
marker.gcreason.description.EAGER_ALLOC_TRIGGER=JavaScript returned to the event loop and there were enough bytes allocated since the last GC that a new GC cycle was triggered.
marker.gcreason.description.DESTROY_RUNTIME=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
marker.gcreason.description.DESTROY_CONTEXT=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
marker.gcreason.description.LAST_DITCH=JavaScript attempted to allocate, but there was no memory available. Doing a full compacting garbage collection as an attempt to free up memory for the allocation.
marker.gcreason.description.TOO_MUCH_MALLOC=JavaScript allocated too many bytes, and forced a garbage collection.
marker.gcreason.description.ALLOC_TRIGGER=JavaScript allocated too many times, and forced a garbage collection.
marker.gcreason.description.DEBUG_GC=GC due to Zeal debug settings.
marker.gcreason.description.COMPARTMENT_REVIVED=A global object that was thought to be dead at the start of the GC cycle was revived by the end of the GC cycle.
marker.gcreason.description.RESET=The active incremental GC cycle was forced to finish immediately.
marker.gcreason.description.OUT_OF_NURSERY=JavaScript allocated enough new objects in the nursery that it became full and triggered a minor GC.
marker.gcreason.description.EVICT_NURSERY=Work needed to be done on the tenured heap, requiring the nursery to be empty.
marker.gcreason.description.FULL_STORE_BUFFER=There were too many properties on tenured objects whose value was an object in the nursery.
marker.gcreason.description.SHARED_MEMORY_LIMIT=A large allocation was requested, but there was not enough memory.
marker.gcreason.description.PERIODIC_FULL_GC=JavaScript returned to the event loop, and it has been a relatively long time since Firefox performed a garbage collection.
marker.gcreason.description.INCREMENTAL_TOO_SLOW=A full, non-incremental garbage collection was triggered because there was a faster rate of allocations than the existing incremental garbage collection cycle could keep up with.
marker.gcreason.description.COMPONENT_UTILS=Components.utils.forceGC() was called to force a garbage collection.
marker.gcreason.description.MEM_PRESSURE=There was very low memory available.
marker.gcreason.description.CC_WAITING=The cycle collector required a garbage collection.
marker.gcreason.description.CC_FORCED=The cycle collector required a garbage collection.
marker.gcreason.description.LOAD_END=The document finished loading.
marker.gcreason.description.PAGE_HIDE=The tab or window was moved to the background.
marker.gcreason.description.NSJSCONTEXT_DESTROY=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
marker.gcreason.description.SET_NEW_DOCUMENT=The page has been navigated to a new document.
marker.gcreason.description.SET_DOC_SHELL=The page has been navigated to a new document.
marker.gcreason.description.DOM_UTILS=There was an API call to force garbage collection.
marker.gcreason.description.DOM_IPC=Received an inter-process message that requested a garbage collection.
marker.gcreason.description.DOM_WORKER=The worker was idle for a relatively long time.
marker.gcreason.description.INTER_SLICE_GC=There has been a relatively long time since the last incremental GC slice.
marker.gcreason.description.FULL_GC_TIMER=JavaScript returned to the event loop, and it has been a relatively long time since we performed a garbage collection.
marker.gcreason.description.SHUTDOWN_CC=Firefox destroyed a JavaScript runtime or context, and this was the final garbage collection before shutting down.
marker.gcreason.description.FINISH_LARGE_EVALUATE=Firefox finished evaluating a large script, and performed a GC because the script will never be run again.
marker.gcreason.description.DOM_WINDOW_UTILS=The user was inactive for a long time. Took the opportunity to perform GC when it was unlikely to be noticed.
marker.gcreason.description.USER_INACTIVE=The user was inactive for a long time. Firefox took the opportunity to perform GC when it was unlikely to be noticed.
