diff --git a/locales/de/app.ftl b/locales/de/app.ftl
index 1816c66682..46725b0cba 100644
--- a/locales/de/app.ftl
+++ b/locales/de/app.ftl
@@ -305,6 +305,16 @@ MarkerContextMenu--copy-description = Beschreibung kopieren
MarkerContextMenu--copy-call-stack = Aufrufstack kopieren
MarkerContextMenu--copy-url = URL kopieren
MarkerContextMenu--copy-as-json = Als JSON kopieren
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Empfänger-Thread „{ $threadName }“ auswählen
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Absender-Thread „{ $threadName }“ auswählen
## MarkerSettings
## This is used in all panels related to markers.
@@ -518,7 +528,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Vollständiger Bereich
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Vollständiger Zeitraum ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/el/app.ftl b/locales/el/app.ftl
index 28d663db15..cd01786145 100644
--- a/locales/el/app.ftl
+++ b/locales/el/app.ftl
@@ -316,6 +316,16 @@ MarkerContextMenu--copy-description = Αντιγραφή περιγραφής
MarkerContextMenu--copy-call-stack = Αντιγραφή στοίβας κλήσεων
MarkerContextMenu--copy-url = Αντιγραφή URL
MarkerContextMenu--copy-as-json = Αντιγραφή ως JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Επιλέξτε το νήμα παραλήπτη «{ $threadName }»
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Επιλέξτε το νήμα αποστολέα «{ $threadName }»
## MarkerSettings
## This is used in all panels related to markers.
@@ -529,7 +539,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Πλήρες εύρος
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Πλήρες εύρος ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/en-GB/app.ftl b/locales/en-GB/app.ftl
index 561e0b4fe5..361211521f 100644
--- a/locales/en-GB/app.ftl
+++ b/locales/en-GB/app.ftl
@@ -320,6 +320,16 @@ MarkerContextMenu--copy-description = Copy description
MarkerContextMenu--copy-call-stack = Copy call stack
MarkerContextMenu--copy-url = Copy URL
MarkerContextMenu--copy-as-json = Copy as JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Select the receiver thread “{ $threadName }”
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Select the sender thread “{ $threadName }”
## MarkerSettings
## This is used in all panels related to markers.
@@ -533,7 +543,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Full Range
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Full Range ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/en-US/app.ftl b/locales/en-US/app.ftl
index 2de213d675..692736f1d2 100644
--- a/locales/en-US/app.ftl
+++ b/locales/en-US/app.ftl
@@ -584,7 +584,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Full Range
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Full Range ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/es-CL/app.ftl b/locales/es-CL/app.ftl
index 5700ccbcf8..39f11b8621 100644
--- a/locales/es-CL/app.ftl
+++ b/locales/es-CL/app.ftl
@@ -107,7 +107,7 @@ CallTree--bytes-self = Propio (bytes)
# Variables:
# $calledFunction (String) - Name of the function whose call was sometimes inlined.
CallTree--divergent-inlining-badge =
- .title = Algunas llamadas a { $callFunction } fueron incorporadas por el compilador.
+ .title = Algunas llamadas a { $calledFunction } fueron incorporadas por el compilador.
# Variables:
# $calledFunction (String) - Name of the function whose call was inlined.
# $outerFunction (String) - Name of the outer function into which the called function was inlined.
@@ -472,7 +472,6 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Rango completo
## Profile Loader Animation
diff --git a/locales/fr/app.ftl b/locales/fr/app.ftl
index aae207ad0d..3ca802f266 100644
--- a/locales/fr/app.ftl
+++ b/locales/fr/app.ftl
@@ -103,7 +103,7 @@ CallTree--bytes-self = Individuel (octets)
# Variables:
# $calledFunction (String) - Name of the function whose call was sometimes inlined.
CallTree--divergent-inlining-badge =
- .title = Certains appels à { $callFunction } ont été regroupés par le compilateur.
+ .title = Certains appels à { $calledFunction } ont été regroupés par le compilateur.
# Variables:
# $calledFunction (String) - Name of the function whose call was inlined.
# $outerFunction (String) - Name of the outer function into which the called function was inlined.
@@ -468,7 +468,6 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Intervalle complet
## Profile Loader Animation
diff --git a/locales/ia/app.ftl b/locales/ia/app.ftl
index 74e30c6e5c..534017e6ce 100644
--- a/locales/ia/app.ftl
+++ b/locales/ia/app.ftl
@@ -313,6 +313,16 @@ MarkerContextMenu--copy-description = Copiar le description
MarkerContextMenu--copy-call-stack = Copiar pila de appellos
MarkerContextMenu--copy-url = Copiar URL
MarkerContextMenu--copy-as-json = Copiar como JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Selige le argumento destinatario “{ $threadName }”
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Selige le argumento mittente “{ $threadName }”
## MarkerSettings
## This is used in all panels related to markers.
@@ -526,7 +536,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Plen gamma
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Intervallo complete ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/it/app.ftl b/locales/it/app.ftl
index 6d8e9100f2..f8ddc53144 100644
--- a/locales/it/app.ftl
+++ b/locales/it/app.ftl
@@ -255,6 +255,16 @@ MarkerContextMenu--copy-description = Copia descrizione
MarkerContextMenu--copy-call-stack = Copia stack di chiamata
MarkerContextMenu--copy-url = Copia URL
MarkerContextMenu--copy-as-json = Copia come JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Seleziona il thread di destinazione “{ $threadName }”
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Seleziona il thread di origine “{ $threadName }”
## MarkerSettings
## This is used in all panels related to markers.
@@ -467,7 +477,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Intervallo completo
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Intervallo completo ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/kab/app.ftl b/locales/kab/app.ftl
index 0ca24b84d4..74edf4b491 100644
--- a/locales/kab/app.ftl
+++ b/locales/kab/app.ftl
@@ -29,16 +29,11 @@ AppHeader--github-icon =
## AppViewRouter
## This is used for displaying errors when loading the application.
-AppViewRouter--error-message-unpublished =
- .message = Ur yezmir ara ad d-yerr amaɣnu seg { -firefox-brand-name }.
-AppViewRouter--error-message-from-file =
- .message = Taɣuri n faylu neɣ tasleḍt n ufylu yellan deg-s d awezɣi.
-AppViewRouter--error-message-local =
- .message = Ur yettwasebded ara yakan.
-AppViewRouter--error-message-public =
- .message = Ur yezmir ara ad d-yader umaɣnu.
-AppViewRouter--error-message-from-url =
- .message = Ur yezmir ara ad d-yader umaɣnu.
+AppViewRouter--error-unpublished = Ur yezmir ara ad d-yaf amaɣnu seg { -firefox-brand-name }.
+AppViewRouter--error-from-file = Ur izmir ara ad d-iɣer afaylu neɣ ad yesleḍ amaɣnu yellan deg-s.
+AppViewRouter--error-local = Ur yebdid ara yakan.
+AppViewRouter--error-public = Ur yezmir ara ad d-yader amaɣnu.
+AppViewRouter--error-from-url = Ur yezmir ara ad d-yessader amaɣnu.
AppViewRouter--route-not-found--home =
.specialMessage = URL wuɣur tettaɛraḍeḍ ad tawḍeḍ ur tettwassen ara.
@@ -55,6 +50,8 @@ CallNodeContextMenu--transform-focus-function = Siḍes ef twuri
.title = { CallNodeContextMenu--transform-focus-function-title }
CallNodeContextMenu--transform-focus-function-inverted = Siḍeṣ ɣef twuri (imitti)
.title = { CallNodeContextMenu--transform-focus-function-title }
+CallNodeContextMenu--transform-collapse-function-subtree = Ṭebbeq tawuri
+ .title = Aṭebbeq n twuri ad yekkes meṛṛa ayen iwumi tessawaldaɣen ad tefk akk akud n uselkem i twuri. Aya ad yefk tallelt i usifses n umaɣnu ara yessiwlen i tengalt ur yattwaslaḍen ara.
CallNodeContextMenu--expand-all = Snefli akk
# Searchfox is a source code indexing tool for Mozilla Firefox.
# See: https://searchfox.org/
@@ -67,6 +64,13 @@ CallNodeContextMenu--copy-stack = Nqel tanebdant
## This is the component for Call Tree panel.
+## Call tree "badges" (icons) with tooltips
+##
+## These inlining badges are displayed in the call tree in front of some
+## functions for native code (C / C++ / Rust). They're a small "inl" icon with
+## a tooltip.
+
+
## CallTreeSidebar
## This is the sidebar component that is used in Call Tree and Flame Graph panels.
@@ -170,7 +174,6 @@ MarkerContextMenu--end-selection-here = Taggara n ufran da
MarkerContextMenu--copy-description = Nɣel aglam
MarkerContextMenu--copy-call-stack = Nɣel tanebdant n usiwel
MarkerContextMenu--copy-url = Nɣel URL
-MarkerContextMenu--copy-full-payload = Nɣel tuttra tummidt
## MarkerSettings
## This is used in all panels related to markers.
@@ -217,7 +220,6 @@ MenuButtons--metaInfo--symbols = Izamulen:
MenuButtons--metaInfo--cpu = CPU:
MenuButtons--metaInfo--recording-started = Asekles yebda:
MenuButtons--metaInfo--interval = Azilal:
-MenuButtons--metaInfo--profile-version = Lqem n umaɣnu:
MenuButtons--metaInfo--buffer-capacity = Tazmert n uḥraz:
MenuButtons--metaInfo--buffer-duration = Tanzgat n uḥraz:
# Buffer Duration in Seconds in Meta Info Panel
@@ -313,10 +315,6 @@ ProfileFilterNavigator--full-range = Azilal ummid
## Profile Loader Animation
-ProfileLoaderAnimation--loading-message-local =
- .message = Ur yettwasebded ara yakan.
-ProfileLoaderAnimation--loading-message-view-not-found =
- .message = Ur tettwaf ara teskant
## ProfileRootMessage
@@ -353,7 +351,6 @@ TabBar--network-tab = Aẓeṭṭa
## This is used as a context menu for timeline to organize the tracks in the
## analysis UI.
-TrackContextMenu--only-show-this-process-group = Sken kan agraw-a n ukala
# This is used as the context menu item to show only the given track.
# Variables:
# $trackName (String) - Name of the selected track to isolate.
@@ -363,6 +360,16 @@ TrackContextMenu--only-show-track = Sken kan “{ $trackName }”
# $trackName (String) - Name of the selected track to hide.
TrackContextMenu--hide-track = Ffer “{ $trackName }”
+## TrackMemoryGraph
+## This is used to show the memory graph of that process in the timeline part of
+## the UI. To learn more about it, visit:
+## https://profiler.firefox.com/docs/#/./memory-allocations?id=memory-track
+
+
+## TrackSearchField
+## The component that is used for the search input in the track context menu.
+
+
## TransformNavigator
## Navigator for the applied transforms in the Call Tree, Flame Graph, and Stack
## Chart components.
@@ -409,6 +416,28 @@ TransformNavigator--drop-function = Sers: { $item }
# $item (String) - Name of the function that transform applied to.
TransformNavigator--collapse-direct-recursion = Fneẓ asniles: { $item }
+## Source code view in a box at the bottom of the UI.
+
+# Displayed below SourceView--cannot-obtain-source, if the browser could not
+# be queried for source code using the symbolication API.
+# Variables:
+# $browserConnectionErrorMessage (String) - The raw internal error message, not localized
+SourceView--browser-connection-error-when-obtaining-source = Ur yezmir ara ad yessuter i API n uzamul n yiminig: { $browserConnectionErrorMessage }
+# Displayed below SourceView--cannot-obtain-source, if the browser was queried
+# for source code using the symbolication API, and this query returned an error.
+# Variables:
+# $apiErrorMessage (String) - The raw internal error message from the API, not localized
+SourceView--browser-api-error-when-obtaining-source = API n uzamul n yiminig yerra-d tuccḍa: { $apiErrorMessage }
+# Displayed below SourceView--cannot-obtain-source, if the file format of an
+# "archive" file was not recognized. The only supported archive formats at the
+# moment are .tar and .tar.gz, because that's what crates.io uses for .crates files.
+# Variables:
+# $url (String) - The URL from which the "archive" file was downloaded.
+# $parsingErrorMessage (String) - The raw internal error message during parsing, not localized
+SourceView--archive-parsing-error-when-obtaining-source = Aḥraz deg { $url } ur yezmir ara ad yettwasleḍ: { $parsingErrorMessage }
+SourceView--close-button =
+ .title = Mdel timeẓri taneṣlit
+
## UploadedRecordingsHome
## This is the page that displays all the profiles that user has uploaded.
## See: https://profiler.firefox.com/uploaded-recordings/
diff --git a/locales/nl/app.ftl b/locales/nl/app.ftl
index c2efdc0b83..e30f114904 100644
--- a/locales/nl/app.ftl
+++ b/locales/nl/app.ftl
@@ -155,7 +155,7 @@ CallTree--bytes-self = Zelf (bytes)
# Variables:
# $calledFunction (String) - Name of the function whose call was sometimes inlined.
CallTree--divergent-inlining-badge =
- .title = Sommige aanroepen naar { $callFunction } zijn inline door de compiler geplaatst.
+ .title = Sommige aanroepen naar { $calledFunction } zijn inline door de compiler geplaatst.
# Variables:
# $calledFunction (String) - Name of the function whose call was inlined.
# $outerFunction (String) - Name of the outer function into which the called function was inlined.
@@ -255,7 +255,7 @@ Home--web-channel-unavailable =
Home--record-instructions =
Klik om te starten met het maken van een profiel op de profielknop of gebruik de
sneltoetsen. Het pictogram is blauw als er een profiel wordt opgenomen.
- Klik op SHIFT om de gegevens in profiler.firefox.com te laden.
+ Klik op Vastleggen om de gegevens in profiler.firefox.com te laden.
Home--instructions-title = Profielen bekijken en opnemen
Home--instructions-content =
Het opnemen van prestatieprofielen vereist { -firefox-brand-name }.
@@ -320,6 +320,16 @@ MarkerContextMenu--copy-description = Beschrijving kopiëren
MarkerContextMenu--copy-call-stack = Aanroepstack kopiëren
MarkerContextMenu--copy-url = URL kopiëren
MarkerContextMenu--copy-as-json = Kopiëren als JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Selecteer de ontvangerthread ‘{ $threadName }’
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Selecteer de afzenderthread ‘{ $threadName }’
## MarkerSettings
## This is used in all panels related to markers.
@@ -533,7 +543,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Volledig bereik
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Volledig bereik ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/pt-BR/app.ftl b/locales/pt-BR/app.ftl
index 98074a70ac..1e079ec060 100644
--- a/locales/pt-BR/app.ftl
+++ b/locales/pt-BR/app.ftl
@@ -257,6 +257,16 @@ MarkerContextMenu--copy-description = Copiar descrição
MarkerContextMenu--copy-call-stack = Copiar pilha de chamadas
MarkerContextMenu--copy-url = Copiar URL
MarkerContextMenu--copy-as-json = Copiar como JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Selecionar o thread receptor “{ $threadName }”
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Selecionar o thread remetente “{ $threadName }”
## MarkerSettings
## This is used in all panels related to markers.
@@ -470,7 +480,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Intervalo completo
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Intervalo completo ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/sv-SE/app.ftl b/locales/sv-SE/app.ftl
index f840926b2d..1c0b058980 100644
--- a/locales/sv-SE/app.ftl
+++ b/locales/sv-SE/app.ftl
@@ -313,6 +313,16 @@ MarkerContextMenu--copy-description = Kopiera beskrivning
MarkerContextMenu--copy-call-stack = Kopiera anropsstack
MarkerContextMenu--copy-url = Kopiera URL
MarkerContextMenu--copy-as-json = Kopiera som JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Välj mottagartråden "{ $threadName }"
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Välj avsändartråden "{ $threadName }"
## MarkerSettings
## This is used in all panels related to markers.
@@ -526,7 +536,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Hela intervallet
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Fullt intervall ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/uk/app.ftl b/locales/uk/app.ftl
index 382836d41b..73362a5a34 100644
--- a/locales/uk/app.ftl
+++ b/locales/uk/app.ftl
@@ -317,6 +317,16 @@ MarkerContextMenu--copy-description = Скопіювати опис
MarkerContextMenu--copy-call-stack = Скопіювати стек викликів
MarkerContextMenu--copy-url = Скопіювати URL-адресу
MarkerContextMenu--copy-as-json = Скопіювати як JSON
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = Виберіть потік-одержувач “{ $threadName }”
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = Виберіть потік-відправник “{ $threadName }”
## MarkerSettings
## This is used in all panels related to markers.
@@ -535,7 +545,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = Повний спектр
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = Повний діапазон ({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/zh-CN/app.ftl b/locales/zh-CN/app.ftl
index 432b0a5885..50770d0b93 100644
--- a/locales/zh-CN/app.ftl
+++ b/locales/zh-CN/app.ftl
@@ -251,6 +251,16 @@ MarkerContextMenu--copy-description = 复制描述
MarkerContextMenu--copy-call-stack = 复制调用栈
MarkerContextMenu--copy-url = 复制 URL
MarkerContextMenu--copy-as-json = 复制为 JSON 格式
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = 选择 Receiver 线程“{ $threadName }”
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = 选择 Sender 线程“{ $threadName }”
## MarkerSettings
## This is used in all panels related to markers.
@@ -459,7 +469,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = 完整范围
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = 完整范围({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/locales/zh-TW/app.ftl b/locales/zh-TW/app.ftl
index e734b3160d..c9cc893e85 100644
--- a/locales/zh-TW/app.ftl
+++ b/locales/zh-TW/app.ftl
@@ -251,6 +251,16 @@ MarkerContextMenu--copy-description = 複製描述
MarkerContextMenu--copy-call-stack = 複製呼叫堆疊
MarkerContextMenu--copy-url = 複製網址
MarkerContextMenu--copy-as-json = 以 JSON 格式複製
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-receiver-thread = 選擇接收執行緒「{ $threadName }」
+# This string is used on the marker context menu item when right clicked on an
+# IPC marker.
+# Variables:
+# $threadName (String) - Name of the thread that will be selected.
+MarkerContextMenu--select-the-sender-thread = 選擇傳送執行緒「{ $threadName }」
## MarkerSettings
## This is used in all panels related to markers.
@@ -459,7 +469,13 @@ ProfileDeleteButton--delete-button =
## ProfileFilterNavigator
## This is used at the top of the profile analysis UI.
-ProfileFilterNavigator--full-range = 完整範圍
+# This string is used on the top left side of the profile analysis UI as the
+# "Full Range" button. In the profiler UI, it's possible to zoom in to a time
+# range. This button reverts it back to the full range. It also includes the
+# duration of the full range.
+# Variables:
+# $fullRangeDuration (String) - The duration of the full profile data.
+ProfileFilterNavigator--full-range-with-duration = 完整範圍({ $fullRangeDuration })
## Profile Loader Animation
diff --git a/package.json b/package.json
index 7194bf04b1..fd1bebdacb 100644
--- a/package.json
+++ b/package.json
@@ -50,7 +50,7 @@
},
"dependencies": {
"@codemirror/gutter": "^0.19.9",
- "@codemirror/highlight": "^0.19.7",
+ "@codemirror/highlight": "^0.19.8",
"@codemirror/lang-cpp": "^0.19.1",
"@codemirror/lang-javascript": "^0.19.6",
"@codemirror/lang-rust": "^0.19.2",
@@ -102,13 +102,13 @@
"@babel/preset-env": "^7.16.11",
"@babel/preset-flow": "^7.16.7",
"@babel/preset-react": "^7.16.7",
- "@testing-library/dom": "^8.11.3",
- "@testing-library/jest-dom": "^5.16.2",
+ "@testing-library/dom": "^8.12.0",
+ "@testing-library/jest-dom": "^5.16.3",
"@testing-library/react": "^12.1.4",
"alex": "^10.0.0",
"autoprefixer": "^10.4.4",
"babel-jest": "^27.5.1",
- "babel-loader": "^8.2.3",
+ "babel-loader": "^8.2.4",
"babel-plugin-module-resolver": "^4.1.0",
"browserslist": "^4.20.2",
"caniuse-lite": "^1.0.30001320",
@@ -129,7 +129,7 @@
"eslint-plugin-jest-dom": "^4.0.1",
"eslint-plugin-jest-formatting": "^3.1.0",
"eslint-plugin-prettier": "^4.0.0",
- "eslint-plugin-react": "^7.29.3",
+ "eslint-plugin-react": "^7.29.4",
"eslint-plugin-testing-library": "^5.0.6",
"fake-indexeddb": "^3.1.7",
"file-loader": "^6.2.0",
diff --git a/src/components/app/Home.css b/src/components/app/Home.css
index 2183a0b96c..89056df043 100644
--- a/src/components/app/Home.css
+++ b/src/components/app/Home.css
@@ -165,15 +165,18 @@
position: relative;
}
-.homeTransition-enter {
- opacity: 0.1;
- transform: translateX(100px);
-}
+/* Only show the home transition when reduced motion is not preferred */
+@media (prefers-reduced-motion: no-preference) {
+ .homeTransition-enter {
+ opacity: 0.1;
+ transform: translateX(100px);
+ }
-.homeTransition-enter.homeTransition-enter-active {
- opacity: 1;
- transform: translateX(0);
- transition: opacity 300ms ease-out, transform 300ms ease-out;
+ .homeTransition-enter.homeTransition-enter-active {
+ opacity: 1;
+ transform: translateX(0);
+ transition: opacity 300ms ease-out, transform 300ms ease-out;
+ }
}
.homeSectionUploadFromFileInput {
diff --git a/src/components/app/MenuButtons/Publish.css b/src/components/app/MenuButtons/Publish.css
index de3e3d2a7a..ddfa09113c 100644
--- a/src/components/app/MenuButtons/Publish.css
+++ b/src/components/app/MenuButtons/Publish.css
@@ -175,3 +175,10 @@
.menuButtonsPublishError {
margin: 10px 0;
}
+
+/* Do not animate the publish animation for stripes at the top loading bar. */
+@media (prefers-reduced-motion) {
+ .menuButtonsPublishUploadBarInner {
+ animation: none;
+ }
+}
diff --git a/src/components/app/ProfileFilterNavigator.js b/src/components/app/ProfileFilterNavigator.js
index a604c2547a..4db89237b9 100644
--- a/src/components/app/ProfileFilterNavigator.js
+++ b/src/components/app/ProfileFilterNavigator.js
@@ -70,7 +70,14 @@ class ProfileFilterNavigatorBarImpl extends React.PureComponent {
);
} else {
firstItem = (
-
+
Full Range
);
diff --git a/src/components/app/ProfileRootMessage.css b/src/components/app/ProfileRootMessage.css
index 87201c0626..fde52de4e9 100644
--- a/src/components/app/ProfileRootMessage.css
+++ b/src/components/app/ProfileRootMessage.css
@@ -1,3 +1,7 @@
+/* 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/. */
+
.rootMessageContainer {
position: absolute;
top: 0;
@@ -165,3 +169,12 @@
transform: translateX(-100px);
}
}
+
+/* Do not animate the loading animation when user prefers reduced motion. The
+ * other alternative was to remove these boxes completely, but it's still nice
+ * to keep the boxes as a nice visualization. */
+@media (prefers-reduced-motion) {
+ .loading-div {
+ animation: none;
+ }
+}
diff --git a/src/components/app/ProfileViewer.css b/src/components/app/ProfileViewer.css
index decc21a247..8e650a18b5 100644
--- a/src/components/app/ProfileViewer.css
+++ b/src/components/app/ProfileViewer.css
@@ -1,3 +1,7 @@
+/* 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/. */
+
@keyframes profileViewerFadeIn {
0% {
opacity: 0;
@@ -114,3 +118,13 @@
.profileViewerSpacer {
flex: 1;
}
+
+/* Do no animate the whole profile viewer during loading and publishing if user
+ * prefers reduced motion. */
+@media (prefers-reduced-motion) {
+ .profileViewer,
+ .profileViewerFadeOut,
+ .profileViewerFadeInSanitized {
+ animation: none;
+ }
+}
diff --git a/src/components/shared/FilterNavigatorBar.css b/src/components/shared/FilterNavigatorBar.css
index b60bdac8c8..06b7090f59 100644
--- a/src/components/shared/FilterNavigatorBar.css
+++ b/src/components/shared/FilterNavigatorBar.css
@@ -160,3 +160,11 @@
opacity: 0;
transform: translateX(50%);
}
+
+/* Do not animate the filter navigator bar items when user prefers reduced motion */
+@media (prefers-reduced-motion) {
+ .filterNavigatorBarItem {
+ animation: none;
+ transition: none;
+ }
+}
diff --git a/src/components/shared/FilterNavigatorBar.js b/src/components/shared/FilterNavigatorBar.js
index 0fe2bb0257..d9f1682fd3 100644
--- a/src/components/shared/FilterNavigatorBar.js
+++ b/src/components/shared/FilterNavigatorBar.js
@@ -9,27 +9,53 @@ import classNames from 'classnames';
import { CSSTransition, TransitionGroup } from 'react-transition-group';
import './FilterNavigatorBar.css';
-type FilterNavigatorBarButtonProps = {|
- onClick: (number) => mixed,
- index: number,
- children: React.Node,
+type FilterNavigatorBarListItemProps = {|
+ +onClick?: null | ((number) => mixed),
+ +index: number,
+ +isFirstItem: boolean,
+ +isLastItem: boolean,
+ +isSelectedItem: boolean,
+ +title?: string,
+ +additionalClassName?: string,
+ +children: React.Node,
|};
-class FilterNavigatorBarButton extends React.PureComponent {
+class FilterNavigatorBarListItem extends React.PureComponent {
_onClick = () => {
const { index, onClick } = this.props;
- onClick(index);
+ if (onClick) {
+ onClick(index);
+ }
};
render() {
+ const {
+ isFirstItem,
+ isLastItem,
+ isSelectedItem,
+ children,
+ additionalClassName,
+ onClick,
+ title,
+ } = this.props;
return (
-
+ {onClick ? (
+
+ ) : (
+ {children}
+ )}
+
);
}
}
@@ -57,22 +83,17 @@ export class FilterNavigatorBar extends React.PureComponent {
classNames="filterNavigatorBarTransition"
timeout={250}
>
-