From 08f1e63a31df562fa8e4b53e1ea3f35fbba242a8 Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 13:40:07 +0100 Subject: [PATCH 1/8] Don't overlap menus --- accessibility/keyboardui.js | 25 ++++--------------------- main/context.js | 2 +- main/input.js | 9 +++++++++ style.css | 34 ++++++++++++++++++++-------------- 4 files changed, 34 insertions(+), 36 deletions(-) diff --git a/accessibility/keyboardui.js b/accessibility/keyboardui.js index 3fb14def..d0fb7f03 100644 --- a/accessibility/keyboardui.js +++ b/accessibility/keyboardui.js @@ -492,7 +492,6 @@ function formatKeys(keys) { const ShortcutsPanel = { panel: null, - dock: "left", previousFocus: null, init() { @@ -503,17 +502,17 @@ const ShortcutsPanel = { createPanel() { const div = document.createElement("div"); div.id = "shortcutsPanel"; - div.className = "shortcuts-panel hidden shortcuts-panel--left"; + div.className = "shortcuts-panel hidden"; div.setAttribute("role", "region"); div.setAttribute("aria-label", translate("shortcut_panel_title")); div.tabIndex = 0; div.innerHTML = ` - +

${translate("shortcut_panel_title")}

`; - document.body.appendChild(div); + document.getElementById("maincontent").appendChild(div); this.panel = div; }, @@ -555,27 +554,11 @@ const ShortcutsPanel = { this.panel.classList.contains("hidden") ? this.show() : this.hide(); }, - setDock(side) { - this.dock = side; - this.panel.classList.toggle("shortcuts-panel--left", side === "left"); - this.panel.classList.toggle("shortcuts-panel--right", side === "right"); - }, - setupListeners() { - // Not handled by InputManager as they are set specifically - // to listen when the panel has focus, not globally document.addEventListener("click", (e) => { if (e.target.id === "closeShortcutsPanel") this.hide(); }); this.panel.addEventListener("keydown", (e) => { - if (e.key === "ArrowLeft") { - e.preventDefault(); - this.setDock("left"); - } - if (e.key === "ArrowRight") { - e.preventDefault(); - this.setDock("right"); - } if (e.key === "ArrowUp") { e.preventDefault(); this.panel.scrollBy({ top: -100, behavior: "instant" }); @@ -584,7 +567,7 @@ const ShortcutsPanel = { e.preventDefault(); this.panel.scrollBy({ top: 100, behavior: "instant" }); } - if (e.key === "Tab" || e.key === "Escape") { + if (e.key === "Escape") { e.preventDefault(); e.stopPropagation(); this.hide(); diff --git a/main/context.js b/main/context.js index 000be22a..4c06a8c4 100644 --- a/main/context.js +++ b/main/context.js @@ -44,7 +44,7 @@ export const ContextManager = { if (isInput || isBlocklyTyping) return "TYPING"; // OVERLAY: are they currently in an overlay? - const overlaySelectors = "#area-menu-overlay, .shortcuts-panel"; + const overlaySelectors = "#area-menu-overlay"; const isOverlayVisible = Array.from( document.querySelectorAll(overlaySelectors), ).some((el) => window.getComputedStyle(el).display !== "none"); diff --git a/main/input.js b/main/input.js index 15dd75cd..c2e3aa09 100644 --- a/main/input.js +++ b/main/input.js @@ -129,6 +129,15 @@ export function setupInput() { "#shortcutsBtn", ].forEach((sel) => pushUnique(document.querySelector(sel))); + // 6c) Shortcuts panel (when visible) + const shortcutsPanel = document.getElementById("shortcutsPanel"); + pushUnique(shortcutsPanel); + if (shortcutsPanel) { + shortcutsPanel + .querySelectorAll("a[href], button:not([disabled])") + .forEach(pushUnique); + } + // 7) Main UI controls (in natural order) [ "#menuBtn", diff --git a/style.css b/style.css index 802a8511..6d25a6d4 100644 --- a/style.css +++ b/style.css @@ -468,6 +468,7 @@ button { gap: 0; box-sizing: border-box; overflow-x: hidden; + position: relative; } #canvasArea { @@ -493,7 +494,7 @@ button { padding: 0 8px; background-color: var(--color-bg); box-shadow: 0px 0px 10px var(--color-shadow); - z-index: 10; + z-index: 100; } #blocklyZoomControls .toolbar-divider { @@ -1656,25 +1657,18 @@ kbd { font-size: 1.2em; } -/* Shortcuts panel — floats over UI, pointer events pass through the wrapper */ +/* Shortcuts panel — overlays main content area, does not affect editor layout */ .shortcuts-panel { - position: fixed; + position: absolute; top: 0; bottom: 0; - width: min(300px, 100%); + right: 0; + width: 400px; + box-sizing: border-box; background-color: var(--color-bg); padding: 1.5em; overflow-y: auto; - z-index: 10002; -} - -.shortcuts-panel--left { - left: 0; -} - -.shortcuts-panel--right { - right: 0; - left: auto; + z-index: 90; } .shortcuts-panel:focus { @@ -1687,6 +1681,18 @@ kbd { top: 1em; right: 1em; float: none; + width: 1.5em; + height: 1.5em; + padding: 0; + display: flex; + align-items: center; + justify-content: center; +} + +.shortcuts-panel .help-link-button:focus { + outline: 2px solid var(--color-focus); + outline-offset: 2px; + border-radius: 2px; } .shortcuts-panel h1 { From 9c54b85ac450794be1be07cf910360784eb52e1f Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 13:54:43 +0100 Subject: [PATCH 2/8] Move search when panel open --- accessibility/keyboardui.js | 4 +++- style.css | 4 ++++ style/blockly.css | 6 +++++- ui/colourpicker.js | 4 ++-- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/accessibility/keyboardui.js b/accessibility/keyboardui.js index d0fb7f03..7bf99ae3 100644 --- a/accessibility/keyboardui.js +++ b/accessibility/keyboardui.js @@ -463,7 +463,7 @@ function getShortcuts() { }, { label: translate("shortcut_quick_colour"), - keys: `P`, + keys: `C`, category: translate("shortcut_category_gizmos"), }, { @@ -539,6 +539,7 @@ const ShortcutsPanel = { .join(""); this.previousFocus = document.activeElement; this.panel.classList.remove("hidden"); + document.body.classList.add("shortcuts-panel-open"); this.panel.focus(); document.getElementById("shortcutsBtn")?.classList.add("active"); }, @@ -547,6 +548,7 @@ const ShortcutsPanel = { this.previousFocus?.focus(); this.previousFocus = null; this.panel.classList.add("hidden"); + document.body.classList.remove("shortcuts-panel-open"); document.getElementById("shortcutsBtn")?.classList.remove("active"); }, diff --git a/style.css b/style.css index 6d25a6d4..ad643acb 100644 --- a/style.css +++ b/style.css @@ -1699,3 +1699,7 @@ kbd { font-size: 1.8em; margin-top: 10px; } + +.shortcuts-panel #shortcuts-table { + margin-bottom: 1.5em; +} diff --git a/style/blockly.css b/style/blockly.css index 10d2eefd..6fce4e07 100644 --- a/style/blockly.css +++ b/style/blockly.css @@ -260,6 +260,10 @@ body[data-theme="low-vision"] { } /* Search Highlight Styles */ +.shortcuts-panel-open .blockly-ws-search { + transform: translateX(-400px); +} + .blockly-ws-search { background: var(--color-bg); margin-top: 5px; @@ -267,7 +271,7 @@ body[data-theme="low-vision"] { justify-content: center; padding: 0.25em; position: absolute; - z-index: 70; + z-index: 100; } /* Fade top-level blocks that contain no search matches */ diff --git a/ui/colourpicker.js b/ui/colourpicker.js index b858c48b..1fbfd161 100644 --- a/ui/colourpicker.js +++ b/ui/colourpicker.js @@ -1864,8 +1864,8 @@ class CustomColorPicker { document.body.classList.add("color-picker-open"); document.getElementById("colorPickerButton")?.classList.add("active"); - // Add P shortcut to pick current colour - InputManager.on("*", "KeyP", (e) => { + // Add C shortcut to pick current colour + InputManager.on("*", "KeyC", (e) => { if (ContextManager.getCurrentContext() === "TYPING") return; if (e.ctrlKey || e.metaKey || e.altKey || e.shiftKey) return; e.preventDefault(); From 8978bb8c5ba253ef1e094e160fffaca1b8cdc0fe Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 13:59:06 +0100 Subject: [PATCH 3/8] Change panel title --- locale/de.js | 2 +- locale/en.js | 2 +- locale/es.js | 2 +- locale/fr.js | 2 +- locale/it.js | 2 +- locale/pl.js | 2 +- locale/pt.js | 2 +- locale/sv.js | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/locale/de.js b/locale/de.js index d6f75f8b..ba4c1d0a 100644 --- a/locale/de.js +++ b/locale/de.js @@ -1215,7 +1215,7 @@ export default { toolbar_zoom_out_ui: "Verkleinern", toolbar_zoom_in_ui: "Vergrößern", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Tastaturkürzel", + shortcut_panel_title: "Tastatursteuerung", shortcut_panel_close: "Tastaturkürzel schließen", // Keyboard shortcuts panel — labels diff --git a/locale/en.js b/locale/en.js index 954b1fde..fae5587c 100644 --- a/locale/en.js +++ b/locale/en.js @@ -1265,7 +1265,7 @@ export default { toolbar_zoom_out_ui: "Zoom out", toolbar_zoom_in_ui: "Zoom in", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Keyboard shortcuts", + shortcut_panel_title: "Keyboard Controls", shortcut_panel_close: "Close keyboard shortcuts", // Keyboard shortcuts panel — labels diff --git a/locale/es.js b/locale/es.js index ff38394c..25c0ee50 100644 --- a/locale/es.js +++ b/locale/es.js @@ -1228,7 +1228,7 @@ export default { toolbar_zoom_out_ui: "Alejar", toolbar_zoom_in_ui: "Acercar", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Atajos de teclado", + shortcut_panel_title: "Controles de teclado", shortcut_panel_close: "Cerrar atajos de teclado", // Keyboard shortcuts panel — labels diff --git a/locale/fr.js b/locale/fr.js index 9174c63e..4a787f0f 100644 --- a/locale/fr.js +++ b/locale/fr.js @@ -1226,7 +1226,7 @@ export default { toolbar_zoom_out_ui: "Dézoomer", toolbar_zoom_in_ui: "Zoomer", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Raccourcis clavier", + shortcut_panel_title: "Commandes clavier", shortcut_panel_close: "Fermer les raccourcis clavier", // Keyboard shortcuts panel — labels diff --git a/locale/it.js b/locale/it.js index 8c2b673a..bca5d8a2 100644 --- a/locale/it.js +++ b/locale/it.js @@ -1217,7 +1217,7 @@ export default { toolbar_zoom_out_ui: "Riduci zoom", toolbar_zoom_in_ui: "Aumenta zoom", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Scorciatoie da tastiera", + shortcut_panel_title: "Controlli da tastiera", shortcut_panel_close: "Chiudi le scorciatoie da tastiera", // Keyboard shortcuts panel — labels diff --git a/locale/pl.js b/locale/pl.js index 93207d5e..e43c3b5b 100644 --- a/locale/pl.js +++ b/locale/pl.js @@ -1222,7 +1222,7 @@ export default { toolbar_zoom_out_ui: "Oddal", toolbar_zoom_in_ui: "Przybliż", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Skróty klawiaturowe", + shortcut_panel_title: "Sterowanie klawiaturą", shortcut_panel_close: "Zamknij skróty klawiaturowe", // Keyboard shortcuts panel — labels diff --git a/locale/pt.js b/locale/pt.js index 17b42e99..9997b683 100644 --- a/locale/pt.js +++ b/locale/pt.js @@ -1214,7 +1214,7 @@ export default { toolbar_zoom_out_ui: "Reduzir zoom", toolbar_zoom_in_ui: "Aumentar zoom", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Atalhos de teclado", + shortcut_panel_title: "Controlos de teclado", shortcut_panel_close: "Fechar atalhos de teclado", // Keyboard shortcuts panel — labels diff --git a/locale/sv.js b/locale/sv.js index cdd65732..9d553d0c 100644 --- a/locale/sv.js +++ b/locale/sv.js @@ -1204,7 +1204,7 @@ export default { toolbar_zoom_out_ui: "Zooma ut", toolbar_zoom_in_ui: "Zooma in", // Keyboard shortcuts panel — title and close button - shortcut_panel_title: "Tangentbordsgenvägar", + shortcut_panel_title: "Tangentbordskontroller", shortcut_panel_close: "Stäng tangentbordsgenvägar", // Keyboard shortcuts panel — labels From 288214d4be65ede4826d4babc87f024d2c632a2f Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 14:03:13 +0100 Subject: [PATCH 4/8] Remove close button --- accessibility/keyboardui.js | 13 ++++--------- style.css | 14 ++++---------- 2 files changed, 8 insertions(+), 19 deletions(-) diff --git a/accessibility/keyboardui.js b/accessibility/keyboardui.js index 7bf99ae3..b0c811f1 100644 --- a/accessibility/keyboardui.js +++ b/accessibility/keyboardui.js @@ -507,9 +507,10 @@ const ShortcutsPanel = { div.setAttribute("aria-label", translate("shortcut_panel_title")); div.tabIndex = 0; div.innerHTML = ` - - -

${translate("shortcut_panel_title")}

+
+

${translate("shortcut_panel_title")}

+ +
`; document.getElementById("maincontent").appendChild(div); @@ -521,9 +522,6 @@ const ShortcutsPanel = { this.panel.querySelector("#shortcuts-panel-title").textContent = translate( "shortcut_panel_title", ); - this.panel - .querySelector("#closeShortcutsPanel") - .setAttribute("aria-label", translate("shortcut_panel_close")); const tbody = this.panel.querySelector("tbody"); const groups = getShortcuts().reduce((acc, s) => { (acc[s.category] ??= []).push(s); @@ -557,9 +555,6 @@ const ShortcutsPanel = { }, setupListeners() { - document.addEventListener("click", (e) => { - if (e.target.id === "closeShortcutsPanel") this.hide(); - }); this.panel.addEventListener("keydown", (e) => { if (e.key === "ArrowUp") { e.preventDefault(); diff --git a/style.css b/style.css index ad643acb..85929b62 100644 --- a/style.css +++ b/style.css @@ -1676,17 +1676,11 @@ kbd { outline-offset: -2px; } -.shortcuts-panel .close-button { - position: absolute; - top: 1em; - right: 1em; - float: none; - width: 1.5em; - height: 1.5em; - padding: 0; +.shortcuts-panel-header { display: flex; align-items: center; - justify-content: center; + justify-content: space-between; + margin-bottom: 0.5em; } .shortcuts-panel .help-link-button:focus { @@ -1697,7 +1691,7 @@ kbd { .shortcuts-panel h1 { font-size: 1.8em; - margin-top: 10px; + margin: 0; } .shortcuts-panel #shortcuts-table { From 3732f33b6149f10d1545034c79bb5665d24bc134 Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 14:41:49 +0100 Subject: [PATCH 5/8] Add many more controls --- accessibility/keyboardui.js | 89 ++++++++++++++++++++++++++++++------- locale/de.js | 20 +++++++-- locale/en.js | 20 +++++++-- locale/es.js | 20 +++++++-- locale/fr.js | 20 +++++++-- locale/it.js | 20 +++++++-- locale/pl.js | 20 +++++++-- locale/pt.js | 20 +++++++-- locale/sv.js | 20 +++++++-- 9 files changed, 202 insertions(+), 47 deletions(-) diff --git a/accessibility/keyboardui.js b/accessibility/keyboardui.js index b0c811f1..429b26dc 100644 --- a/accessibility/keyboardui.js +++ b/accessibility/keyboardui.js @@ -319,7 +319,7 @@ function getShortcuts() { }, { label: translate("shortcut_move_between_areas"), - keys: `Tab`, + keys: `Tab / Shift + Tab`, category: translate("shortcut_category_main"), }, { @@ -385,14 +385,51 @@ function getShortcuts() { category: translate("shortcut_category_area_menu"), }, + { + label: translate("shortcut_toolbox"), + keys: `T`, + category: translate("shortcut_category_toolbox"), + }, + { + label: translate("shortcut_nav_toolbox_blocks"), + keys: `↑ ↓ ← →`, + category: translate("shortcut_category_toolbox"), + }, + { + label: translate("shortcut_add_block"), + keys: `Enter`, + category: translate("shortcut_category_toolbox"), + }, + { label: translate("shortcut_code_editor"), keys: `${mod} + E`, category: translate("shortcut_category_editor"), }, { - label: translate("shortcut_toolbox"), - keys: `T`, + label: translate("shortcut_select_workspace"), + keys: `W`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_move_through_blocks"), + keys: `↑ ↓`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_move_in_out_blocks"), + keys: `← →`, + category: translate("shortcut_category_editor"), + }, + + { + label: translate("shortcut_next_block_stack"), + keys: `N`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_prev_block_stack"), + keys: `B`, category: translate("shortcut_category_editor"), }, { @@ -401,8 +438,33 @@ function getShortcuts() { category: translate("shortcut_category_editor"), }, { - label: translate("shortcut_move_through_blocks"), - keys: `↑ ↓ ← →`, + label: translate("shortcut_context_menu"), + keys: `${mod} + Enter`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_duplicate_block"), + keys: `D`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_detach_block"), + keys: `X`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_start_move_block"), + keys: `M`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_move_arrows"), + keys: `↑ ↓`, + category: translate("shortcut_category_editor"), + }, + { + label: translate("shortcut_move_anywhere"), + keys: `${mod} + ↑ ↓ ← →`, category: translate("shortcut_category_editor"), }, { @@ -425,11 +487,6 @@ function getShortcuts() { keys: `Esc`, category: translate("shortcut_category_editor"), }, - { - label: translate("shortcut_start_move_block"), - keys: `M`, - category: translate("shortcut_category_editor"), - }, { label: translate("shortcut_open_gizmos"), @@ -480,12 +537,14 @@ function formatKeys(keys) { return keys .split(/( \+ | \/ )/) .map((part) => - part === " + " || part === " / " + part === " + " ? part - : part - .split(" ") - .map((k) => `${k}`) - .join(" "), + : part === " / " + ? "
" + : part + .split(" ") + .map((k) => `${k}`) + .join(" "), ) .join(""); } diff --git a/locale/de.js b/locale/de.js index ba4c1d0a..0e780ebc 100644 --- a/locale/de.js +++ b/locale/de.js @@ -1237,12 +1237,23 @@ export default { shortcut_code_editor: "Code-Editor", shortcut_toolbox: "Werkzeugkasten", shortcut_add_block_by_name: "Block nach Name hinzufügen", + shortcut_add_block: "Ausgewählten Block hinzufügen", shortcut_search_block: "Nach einem Block suchen", - shortcut_select_next_result: "Nächstes Suchergebnis", - shortcut_select_previous_result: "Vorheriges Suchergebnis", - shortcut_focus_result: "Zum ausgewählten Suchergebnis springen", - shortcut_move_through_blocks: "Durch Blöcke navigieren", + shortcut_select_next_result: "Suche: Nächstes Ergebnis", + shortcut_select_previous_result: "Suche: Vorheriges Ergebnis", + shortcut_focus_result: "Suche: Zum ausgewählten Block springen", + shortcut_nav_toolbox_blocks: "Kategorien und Blöcke navigieren", + shortcut_context_menu: "Kontextmenü öffnen", + shortcut_duplicate_block: "Block duplizieren", + shortcut_detach_block: "Block trennen", shortcut_start_move_block: "Block verschieben", + shortcut_move_arrows: "Verschieben: zur Verbindung", + shortcut_move_anywhere: "Verschieben: überall", + shortcut_select_workspace: "Arbeitsbereich auswählen", + shortcut_move_through_blocks: "Durch Blöcke bewegen", + shortcut_move_in_out_blocks: "In/aus einem Block navigieren", + shortcut_next_block_stack: "Nächster Blockstapel", + shortcut_prev_block_stack: "Vorheriger Blockstapel", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Gizmo auswählen", shortcut_keyboard_cursor_gizmos: "Tastaturcursor für Gizmos", @@ -1256,6 +1267,7 @@ export default { shortcut_category_main: "Allgemein", shortcut_category_menu: "Menü", shortcut_category_area_menu: "Bereichsmenü", + shortcut_category_toolbox: "Werkzeugkasten", shortcut_category_editor: "Editor", shortcut_category_gizmos: "Gizmos", diff --git a/locale/en.js b/locale/en.js index fae5587c..4b87c4f8 100644 --- a/locale/en.js +++ b/locale/en.js @@ -1287,12 +1287,23 @@ export default { shortcut_code_editor: "Code editor", shortcut_toolbox: "Toolbox", shortcut_add_block_by_name: "Add block by name", + shortcut_add_block: "Add selected block", shortcut_search_block: "Search for a block", - shortcut_select_next_result: "Next search result", - shortcut_select_previous_result: "Previous search result", - shortcut_focus_result: "Go to selected search result", - shortcut_move_through_blocks: "Move through blocks", + shortcut_select_next_result: "Search: Next result", + shortcut_select_previous_result: "Search: Previous result", + shortcut_focus_result: "Search: Go to selected block", + shortcut_nav_toolbox_blocks: "Navigate categories and blocks", + shortcut_context_menu: "Open context menu", + shortcut_duplicate_block: "Duplicate block", + shortcut_detach_block: "Detach block", shortcut_start_move_block: "Move block", + shortcut_move_arrows: "Move: to connection", + shortcut_move_anywhere: "Move: anywhere", + shortcut_select_workspace: "Select workspace", + shortcut_move_through_blocks: "Move through blocks", + shortcut_move_in_out_blocks: "Move in/out of a block", + shortcut_next_block_stack: "Next block stack", + shortcut_prev_block_stack: "Previous block stack", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Select gizmo", shortcut_keyboard_cursor_gizmos: "Keyboard cursor for gizmos", @@ -1306,6 +1317,7 @@ export default { shortcut_category_main: "Main", shortcut_category_menu: "Menu", shortcut_category_area_menu: "Area menu", + shortcut_category_toolbox: "Toolbox", shortcut_category_editor: "Editor", shortcut_category_gizmos: "Gizmos", diff --git a/locale/es.js b/locale/es.js index 25c0ee50..2fd5b161 100644 --- a/locale/es.js +++ b/locale/es.js @@ -1250,12 +1250,23 @@ export default { shortcut_code_editor: "Editor de código", shortcut_toolbox: "Caja de herramientas", shortcut_add_block_by_name: "Añadir bloque por nombre", + shortcut_add_block: "Añadir bloque seleccionado", shortcut_search_block: "Buscar un bloque", - shortcut_select_next_result: "Siguiente resultado de búsqueda", - shortcut_select_previous_result: "Resultado de búsqueda anterior", - shortcut_focus_result: "Ir al resultado de búsqueda seleccionado", - shortcut_move_through_blocks: "Navegar por los bloques", + shortcut_select_next_result: "Búsqueda: siguiente resultado", + shortcut_select_previous_result: "Búsqueda: resultado anterior", + shortcut_focus_result: "Búsqueda: ir al bloque seleccionado", + shortcut_nav_toolbox_blocks: "Navegar por categorías y bloques", + shortcut_context_menu: "Abrir menú contextual", + shortcut_duplicate_block: "Duplicar bloque", + shortcut_detach_block: "Desconectar bloque", shortcut_start_move_block: "Mover bloque", + shortcut_move_arrows: "Mover: a conexión", + shortcut_move_anywhere: "Mover: a cualquier lugar", + shortcut_select_workspace: "Seleccionar área de trabajo", + shortcut_move_through_blocks: "Moverse por los bloques", + shortcut_move_in_out_blocks: "Entrar/salir de un bloque", + shortcut_next_block_stack: "Siguiente pila de bloques", + shortcut_prev_block_stack: "Pila de bloques anterior", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Seleccionar gizmo", shortcut_keyboard_cursor_gizmos: "Cursor de teclado para gizmos", @@ -1269,6 +1280,7 @@ export default { shortcut_category_main: "General", shortcut_category_menu: "Menú", shortcut_category_area_menu: "Menú de áreas", + shortcut_category_toolbox: "Caja de herramientas", shortcut_category_editor: "Editor", shortcut_category_gizmos: "Gizmos", diff --git a/locale/fr.js b/locale/fr.js index 4a787f0f..ad81bde3 100644 --- a/locale/fr.js +++ b/locale/fr.js @@ -1249,12 +1249,23 @@ export default { shortcut_code_editor: "Éditeur de code", shortcut_toolbox: "Boîte à outils", shortcut_add_block_by_name: "Ajouter un bloc par nom", + shortcut_add_block: "Ajouter le bloc sélectionné", shortcut_search_block: "Rechercher un bloc", - shortcut_select_next_result: "Résultat de recherche suivant", - shortcut_select_previous_result: "Résultat de recherche précédent", - shortcut_focus_result: "Aller au résultat de recherche sélectionné", - shortcut_move_through_blocks: "Naviguer dans les blocs", + shortcut_select_next_result: "Recherche : résultat suivant", + shortcut_select_previous_result: "Recherche : résultat précédent", + shortcut_focus_result: "Recherche : aller au bloc sélectionné", + shortcut_nav_toolbox_blocks: "Naviguer dans les catégories et les blocs", + shortcut_context_menu: "Ouvrir le menu contextuel", + shortcut_duplicate_block: "Dupliquer le bloc", + shortcut_detach_block: "Détacher le bloc", shortcut_start_move_block: "Déplacer le bloc", + shortcut_move_arrows: "Déplacer : vers une connexion", + shortcut_move_anywhere: "Déplacer : n'importe où", + shortcut_select_workspace: "Sélectionner l'espace de travail", + shortcut_move_through_blocks: "Se déplacer dans les blocs", + shortcut_move_in_out_blocks: "Entrer/sortir d'un bloc", + shortcut_next_block_stack: "Pile de blocs suivante", + shortcut_prev_block_stack: "Pile de blocs précédente", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Sélectionner un gizmo", shortcut_keyboard_cursor_gizmos: "Curseur clavier pour les gizmos", @@ -1268,6 +1279,7 @@ export default { shortcut_category_main: "Général", shortcut_category_menu: "Menu", shortcut_category_area_menu: "Menu des zones", + shortcut_category_toolbox: "Boîte à outils", shortcut_category_editor: "Éditeur", shortcut_category_gizmos: "Gizmos", diff --git a/locale/it.js b/locale/it.js index bca5d8a2..5242014c 100644 --- a/locale/it.js +++ b/locale/it.js @@ -1239,12 +1239,23 @@ export default { shortcut_code_editor: "Editor di codice", shortcut_toolbox: "Casella degli strumenti", shortcut_add_block_by_name: "Aggiungi blocco per nome", + shortcut_add_block: "Aggiungi blocco selezionato", shortcut_search_block: "Cerca un blocco", - shortcut_select_next_result: "Risultato di ricerca successivo", - shortcut_select_previous_result: "Risultato di ricerca precedente", - shortcut_focus_result: "Vai al risultato di ricerca selezionato", - shortcut_move_through_blocks: "Navigare tra i blocchi", + shortcut_select_next_result: "Ricerca: risultato successivo", + shortcut_select_previous_result: "Ricerca: risultato precedente", + shortcut_focus_result: "Ricerca: vai al blocco selezionato", + shortcut_nav_toolbox_blocks: "Navigare tra categorie e blocchi", + shortcut_context_menu: "Apri menu contestuale", + shortcut_duplicate_block: "Duplica blocco", + shortcut_detach_block: "Stacca blocco", shortcut_start_move_block: "Sposta blocco", + shortcut_move_arrows: "Sposta: alla connessione", + shortcut_move_anywhere: "Sposta: ovunque", + shortcut_select_workspace: "Seleziona area di lavoro", + shortcut_move_through_blocks: "Muoversi tra i blocchi", + shortcut_move_in_out_blocks: "Entrare/uscire da un blocco", + shortcut_next_block_stack: "Pila di blocchi successiva", + shortcut_prev_block_stack: "Pila di blocchi precedente", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Seleziona gizmo", shortcut_keyboard_cursor_gizmos: "Cursore da tastiera per i gizmos", @@ -1258,6 +1269,7 @@ export default { shortcut_category_main: "Generale", shortcut_category_menu: "Menu", shortcut_category_area_menu: "Menu delle aree", + shortcut_category_toolbox: "Casella degli strumenti", shortcut_category_editor: "Editor", shortcut_category_gizmos: "Gizmos", diff --git a/locale/pl.js b/locale/pl.js index e43c3b5b..f3dd9873 100644 --- a/locale/pl.js +++ b/locale/pl.js @@ -1244,12 +1244,23 @@ export default { shortcut_code_editor: "Edytor kodu", shortcut_toolbox: "Przybornik", shortcut_add_block_by_name: "Dodaj blok według nazwy", + shortcut_add_block: "Dodaj wybrany blok", shortcut_search_block: "Szukaj bloku", - shortcut_select_next_result: "Następny wynik wyszukiwania", - shortcut_select_previous_result: "Poprzedni wynik wyszukiwania", - shortcut_focus_result: "Przejdź do wybranego wyniku wyszukiwania", - shortcut_move_through_blocks: "Nawiguj między blokami", + shortcut_select_next_result: "Szukaj: następny wynik", + shortcut_select_previous_result: "Szukaj: poprzedni wynik", + shortcut_focus_result: "Szukaj: przejdź do wybranego bloku", + shortcut_nav_toolbox_blocks: "Nawiguj po kategoriach i blokach", + shortcut_context_menu: "Otwórz menu kontekstowe", + shortcut_duplicate_block: "Duplikuj blok", + shortcut_detach_block: "Odłącz blok", shortcut_start_move_block: "Przesuń blok", + shortcut_move_arrows: "Przesuń: do połączenia", + shortcut_move_anywhere: "Przesuń: gdziekolwiek", + shortcut_select_workspace: "Wybierz obszar roboczy", + shortcut_move_through_blocks: "Poruszaj się między blokami", + shortcut_move_in_out_blocks: "Wejdź/wyjdź z bloku", + shortcut_next_block_stack: "Następny stos bloków", + shortcut_prev_block_stack: "Poprzedni stos bloków", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Wybierz gizmo", shortcut_keyboard_cursor_gizmos: "Kursor klawiatury dla gizmos", @@ -1263,6 +1274,7 @@ export default { shortcut_category_main: "Ogólne", shortcut_category_menu: "Menu", shortcut_category_area_menu: "Menu obszarów", + shortcut_category_toolbox: "Przybornik", shortcut_category_editor: "Edytor", shortcut_category_gizmos: "Gizmos", diff --git a/locale/pt.js b/locale/pt.js index 9997b683..fc6c3f5e 100644 --- a/locale/pt.js +++ b/locale/pt.js @@ -1236,12 +1236,23 @@ export default { shortcut_code_editor: "Editor de código", shortcut_toolbox: "Caixa de ferramentas", shortcut_add_block_by_name: "Adicionar bloco por nome", + shortcut_add_block: "Adicionar bloco selecionado", shortcut_search_block: "Procurar um bloco", - shortcut_select_next_result: "Próximo resultado de pesquisa", - shortcut_select_previous_result: "Resultado de pesquisa anterior", - shortcut_focus_result: "Ir para o resultado de pesquisa selecionado", - shortcut_move_through_blocks: "Navegar pelos blocos", + shortcut_select_next_result: "Pesquisa: próximo resultado", + shortcut_select_previous_result: "Pesquisa: resultado anterior", + shortcut_focus_result: "Pesquisa: ir para o bloco selecionado", + shortcut_nav_toolbox_blocks: "Navegar por categorias e blocos", + shortcut_context_menu: "Abrir menu de contexto", + shortcut_duplicate_block: "Duplicar bloco", + shortcut_detach_block: "Desconectar bloco", shortcut_start_move_block: "Mover bloco", + shortcut_move_arrows: "Mover: para ligação", + shortcut_move_anywhere: "Mover: para qualquer lugar", + shortcut_select_workspace: "Selecionar área de trabalho", + shortcut_move_through_blocks: "Mover pelos blocos", + shortcut_move_in_out_blocks: "Entrar/sair de um bloco", + shortcut_next_block_stack: "Próxima pilha de blocos", + shortcut_prev_block_stack: "Pilha de blocos anterior", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Selecionar gizmo", shortcut_keyboard_cursor_gizmos: "Cursor de teclado para gizmos", @@ -1255,6 +1266,7 @@ export default { shortcut_category_main: "Geral", shortcut_category_menu: "Menu", shortcut_category_area_menu: "Menu de áreas", + shortcut_category_toolbox: "Caixa de ferramentas", shortcut_category_editor: "Editor", shortcut_category_gizmos: "Gizmos", diff --git a/locale/sv.js b/locale/sv.js index 9d553d0c..5235773a 100644 --- a/locale/sv.js +++ b/locale/sv.js @@ -1226,12 +1226,23 @@ export default { shortcut_code_editor: "Kodeditor", shortcut_toolbox: "Verktygslåda", shortcut_add_block_by_name: "Lägg till block efter namn", + shortcut_add_block: "Lägg till valt block", shortcut_search_block: "Sök efter ett block", - shortcut_select_next_result: "Nästa sökresultat", - shortcut_select_previous_result: "Föregående sökresultat", - shortcut_focus_result: "Gå till valt sökresultat", - shortcut_move_through_blocks: "Navigera bland block", + shortcut_select_next_result: "Sök: nästa resultat", + shortcut_select_previous_result: "Sök: föregående resultat", + shortcut_focus_result: "Sök: gå till valt block", + shortcut_nav_toolbox_blocks: "Navigera bland kategorier och block", + shortcut_context_menu: "Öppna snabbmeny", + shortcut_duplicate_block: "Duplicera block", + shortcut_detach_block: "Koppla loss block", shortcut_start_move_block: "Flytta block", + shortcut_move_arrows: "Flytta: till anslutning", + shortcut_move_anywhere: "Flytta: var som helst", + shortcut_select_workspace: "Välj arbetsyta", + shortcut_move_through_blocks: "Flytta bland block", + shortcut_move_in_out_blocks: "Gå in i/ut ur ett block", + shortcut_next_block_stack: "Nästa blockstapel", + shortcut_prev_block_stack: "Föregående blockstapel", shortcut_open_gizmos: "Gizmos", shortcut_select_gizmo: "Välj gizmo", shortcut_keyboard_cursor_gizmos: "Tangentbordskursor för gizmos", @@ -1245,6 +1256,7 @@ export default { shortcut_category_main: "Allmänt", shortcut_category_menu: "Meny", shortcut_category_area_menu: "Områdesmeny", + shortcut_category_toolbox: "Verktygslåda", shortcut_category_editor: "Editor", shortcut_category_gizmos: "Gizmos", From c6f0e45f58b1b1b84207d56ce78ecd1f66078f65 Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 14:44:40 +0100 Subject: [PATCH 6/8] Update panel when lang changes --- accessibility/keyboardui.js | 13 ++++++++++++- main/translation.js | 5 +++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/accessibility/keyboardui.js b/accessibility/keyboardui.js index 429b26dc..dc1b59af 100644 --- a/accessibility/keyboardui.js +++ b/accessibility/keyboardui.js @@ -556,6 +556,7 @@ const ShortcutsPanel = { init() { this.createPanel(); this.setupListeners(); + window.flockShortcutsPanel = this; }, createPanel() { @@ -576,7 +577,7 @@ const ShortcutsPanel = { this.panel = div; }, - show() { + renderContent() { this.panel.setAttribute("aria-label", translate("shortcut_panel_title")); this.panel.querySelector("#shortcuts-panel-title").textContent = translate( "shortcut_panel_title", @@ -594,6 +595,10 @@ const ShortcutsPanel = { `, ) .join(""); + }, + + show() { + this.renderContent(); this.previousFocus = document.activeElement; this.panel.classList.remove("hidden"); document.body.classList.add("shortcuts-panel-open"); @@ -601,6 +606,12 @@ const ShortcutsPanel = { document.getElementById("shortcutsBtn")?.classList.add("active"); }, + refreshTranslations() { + if (!this.panel.classList.contains("hidden")) { + this.renderContent(); + } + }, + hide() { this.previousFocus?.focus(); this.previousFocus = null; diff --git a/main/translation.js b/main/translation.js index f9e820ea..f8110f4e 100644 --- a/main/translation.js +++ b/main/translation.js @@ -113,6 +113,11 @@ export async function setLanguage(language) { window.flockColorPicker.refreshTranslations(); } + // Update shortcuts panel if open + if (window.flockShortcutsPanel?.refreshTranslations) { + window.flockShortcutsPanel.refreshTranslations(); + } + // Refresh the workspace to show updated language const workspace = Blockly.getMainWorkspace(); if (workspace) { From 31d1a6abbcff7f8439af8ba052291458739a1bd9 Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 14:52:16 +0100 Subject: [PATCH 7/8] Additional direction --- accessibility/keyboardui.js | 8 ++++++++ locale/de.js | 2 ++ locale/en.js | 2 ++ locale/es.js | 2 ++ locale/fr.js | 2 ++ locale/it.js | 2 ++ locale/pl.js | 2 ++ locale/pt.js | 2 ++ locale/sv.js | 2 ++ 9 files changed, 24 insertions(+) diff --git a/accessibility/keyboardui.js b/accessibility/keyboardui.js index dc1b59af..6695307e 100644 --- a/accessibility/keyboardui.js +++ b/accessibility/keyboardui.js @@ -390,6 +390,11 @@ function getShortcuts() { keys: `T`, category: translate("shortcut_category_toolbox"), }, + { + label: translate("shortcut_toolbox_typing"), + keys: `"${translate("shortcut_toolbox_typing_hint")}"`, + category: translate("shortcut_category_toolbox"), + }, { label: translate("shortcut_nav_toolbox_blocks"), keys: `↑ ↓ ← →`, @@ -534,6 +539,9 @@ function getShortcuts() { // Formats keys for menu nicely // You can use + or / and these won't be tagged function formatKeys(keys) { + if (keys.startsWith('"') && keys.endsWith('"')) { + return keys.slice(1, -1); + } return keys .split(/( \+ | \/ )/) .map((part) => diff --git a/locale/de.js b/locale/de.js index 0e780ebc..8431c75a 100644 --- a/locale/de.js +++ b/locale/de.js @@ -1243,6 +1243,8 @@ export default { shortcut_select_previous_result: "Suche: Vorheriges Ergebnis", shortcut_focus_result: "Suche: Zum ausgewählten Block springen", shortcut_nav_toolbox_blocks: "Kategorien und Blöcke navigieren", + shortcut_toolbox_typing: "Zur Kategorie springen", + shortcut_toolbox_typing_hint: "Namen eintippen", shortcut_context_menu: "Kontextmenü öffnen", shortcut_duplicate_block: "Block duplizieren", shortcut_detach_block: "Block trennen", diff --git a/locale/en.js b/locale/en.js index 4b87c4f8..4280a6c5 100644 --- a/locale/en.js +++ b/locale/en.js @@ -1293,6 +1293,8 @@ export default { shortcut_select_previous_result: "Search: Previous result", shortcut_focus_result: "Search: Go to selected block", shortcut_nav_toolbox_blocks: "Navigate categories and blocks", + shortcut_toolbox_typing: "Skip to category", + shortcut_toolbox_typing_hint: "Start typing its name", shortcut_context_menu: "Open context menu", shortcut_duplicate_block: "Duplicate block", shortcut_detach_block: "Detach block", diff --git a/locale/es.js b/locale/es.js index 2fd5b161..facdb4f1 100644 --- a/locale/es.js +++ b/locale/es.js @@ -1256,6 +1256,8 @@ export default { shortcut_select_previous_result: "Búsqueda: resultado anterior", shortcut_focus_result: "Búsqueda: ir al bloque seleccionado", shortcut_nav_toolbox_blocks: "Navegar por categorías y bloques", + shortcut_toolbox_typing: "Ir a la categoría", + shortcut_toolbox_typing_hint: "Empieza a escribir su nombre", shortcut_context_menu: "Abrir menú contextual", shortcut_duplicate_block: "Duplicar bloque", shortcut_detach_block: "Desconectar bloque", diff --git a/locale/fr.js b/locale/fr.js index ad81bde3..69770bb0 100644 --- a/locale/fr.js +++ b/locale/fr.js @@ -1255,6 +1255,8 @@ export default { shortcut_select_previous_result: "Recherche : résultat précédent", shortcut_focus_result: "Recherche : aller au bloc sélectionné", shortcut_nav_toolbox_blocks: "Naviguer dans les catégories et les blocs", + shortcut_toolbox_typing: "Aller à la catégorie", + shortcut_toolbox_typing_hint: "Commencez à taper son nom", shortcut_context_menu: "Ouvrir le menu contextuel", shortcut_duplicate_block: "Dupliquer le bloc", shortcut_detach_block: "Détacher le bloc", diff --git a/locale/it.js b/locale/it.js index 5242014c..7dcb7ef3 100644 --- a/locale/it.js +++ b/locale/it.js @@ -1245,6 +1245,8 @@ export default { shortcut_select_previous_result: "Ricerca: risultato precedente", shortcut_focus_result: "Ricerca: vai al blocco selezionato", shortcut_nav_toolbox_blocks: "Navigare tra categorie e blocchi", + shortcut_toolbox_typing: "Vai alla categoria", + shortcut_toolbox_typing_hint: "Inizia a digitare il nome", shortcut_context_menu: "Apri menu contestuale", shortcut_duplicate_block: "Duplica blocco", shortcut_detach_block: "Stacca blocco", diff --git a/locale/pl.js b/locale/pl.js index f3dd9873..136f2467 100644 --- a/locale/pl.js +++ b/locale/pl.js @@ -1250,6 +1250,8 @@ export default { shortcut_select_previous_result: "Szukaj: poprzedni wynik", shortcut_focus_result: "Szukaj: przejdź do wybranego bloku", shortcut_nav_toolbox_blocks: "Nawiguj po kategoriach i blokach", + shortcut_toolbox_typing: "Przejdź do kategorii", + shortcut_toolbox_typing_hint: "Zacznij wpisywać jej nazwę", shortcut_context_menu: "Otwórz menu kontekstowe", shortcut_duplicate_block: "Duplikuj blok", shortcut_detach_block: "Odłącz blok", diff --git a/locale/pt.js b/locale/pt.js index fc6c3f5e..58e34c1d 100644 --- a/locale/pt.js +++ b/locale/pt.js @@ -1242,6 +1242,8 @@ export default { shortcut_select_previous_result: "Pesquisa: resultado anterior", shortcut_focus_result: "Pesquisa: ir para o bloco selecionado", shortcut_nav_toolbox_blocks: "Navegar por categorias e blocos", + shortcut_toolbox_typing: "Ir para a categoria", + shortcut_toolbox_typing_hint: "Comece a digitar o nome", shortcut_context_menu: "Abrir menu de contexto", shortcut_duplicate_block: "Duplicar bloco", shortcut_detach_block: "Desconectar bloco", diff --git a/locale/sv.js b/locale/sv.js index 5235773a..9ee05731 100644 --- a/locale/sv.js +++ b/locale/sv.js @@ -1232,6 +1232,8 @@ export default { shortcut_select_previous_result: "Sök: föregående resultat", shortcut_focus_result: "Sök: gå till valt block", shortcut_nav_toolbox_blocks: "Navigera bland kategorier och block", + shortcut_toolbox_typing: "Hoppa till kategori", + shortcut_toolbox_typing_hint: "Börja skriva dess namn", shortcut_context_menu: "Öppna snabbmeny", shortcut_duplicate_block: "Duplicera block", shortcut_detach_block: "Koppla loss block", From f903a3524f2835958bfda638d2fd03b9d88c76e6 Mon Sep 17 00:00:00 2001 From: lawsie <5183697+lawsie@users.noreply.github.com> Date: Mon, 18 May 2026 15:16:54 +0100 Subject: [PATCH 8/8] Update aria for help link --- accessibility/keyboardui.js | 5 ++++- locale/de.js | 1 + locale/en.js | 1 + locale/es.js | 1 + locale/fr.js | 1 + locale/it.js | 1 + locale/pl.js | 1 + locale/pt.js | 1 + locale/sv.js | 1 + 9 files changed, 12 insertions(+), 1 deletion(-) diff --git a/accessibility/keyboardui.js b/accessibility/keyboardui.js index 6695307e..3e7d8a4f 100644 --- a/accessibility/keyboardui.js +++ b/accessibility/keyboardui.js @@ -577,7 +577,7 @@ const ShortcutsPanel = { div.innerHTML = `

${translate("shortcut_panel_title")}

- +
`; @@ -590,6 +590,9 @@ const ShortcutsPanel = { this.panel.querySelector("#shortcuts-panel-title").textContent = translate( "shortcut_panel_title", ); + this.panel + .querySelector(".help-link-button") + .setAttribute("aria-label", translate("shortcut_panel_help_link")); const tbody = this.panel.querySelector("tbody"); const groups = getShortcuts().reduce((acc, s) => { (acc[s.category] ??= []).push(s); diff --git a/locale/de.js b/locale/de.js index 8431c75a..d32ba409 100644 --- a/locale/de.js +++ b/locale/de.js @@ -1217,6 +1217,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Tastatursteuerung", shortcut_panel_close: "Tastaturkürzel schließen", + shortcut_panel_help_link: "Hilfe-Link für Tastatursteuerung öffnen", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Tastaturkürzel ein-/ausblenden", diff --git a/locale/en.js b/locale/en.js index 4280a6c5..c63a0531 100644 --- a/locale/en.js +++ b/locale/en.js @@ -1267,6 +1267,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Keyboard Controls", shortcut_panel_close: "Close keyboard shortcuts", + shortcut_panel_help_link: "Open keyboard controls help link", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Show/hide shortcut help", diff --git a/locale/es.js b/locale/es.js index facdb4f1..6836ca9d 100644 --- a/locale/es.js +++ b/locale/es.js @@ -1230,6 +1230,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Controles de teclado", shortcut_panel_close: "Cerrar atajos de teclado", + shortcut_panel_help_link: "Abrir enlace de ayuda de controles de teclado", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Mostrar/ocultar atajos de teclado", diff --git a/locale/fr.js b/locale/fr.js index 69770bb0..e527603b 100644 --- a/locale/fr.js +++ b/locale/fr.js @@ -1228,6 +1228,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Commandes clavier", shortcut_panel_close: "Fermer les raccourcis clavier", + shortcut_panel_help_link: "Ouvrir le lien d'aide des commandes clavier", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Afficher/masquer les raccourcis clavier", diff --git a/locale/it.js b/locale/it.js index 7dcb7ef3..446cbbab 100644 --- a/locale/it.js +++ b/locale/it.js @@ -1219,6 +1219,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Controlli da tastiera", shortcut_panel_close: "Chiudi le scorciatoie da tastiera", + shortcut_panel_help_link: "Apri il collegamento all'aiuto per i controlli da tastiera", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Mostra/nascondi scorciatoie da tastiera", diff --git a/locale/pl.js b/locale/pl.js index 136f2467..695e0eb1 100644 --- a/locale/pl.js +++ b/locale/pl.js @@ -1224,6 +1224,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Sterowanie klawiaturą", shortcut_panel_close: "Zamknij skróty klawiaturowe", + shortcut_panel_help_link: "Otwórz łącze pomocy sterowania klawiaturą", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Pokaż/ukryj skróty klawiaturowe", diff --git a/locale/pt.js b/locale/pt.js index 58e34c1d..da5eccec 100644 --- a/locale/pt.js +++ b/locale/pt.js @@ -1216,6 +1216,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Controlos de teclado", shortcut_panel_close: "Fechar atalhos de teclado", + shortcut_panel_help_link: "Abrir ligação de ajuda dos controlos do teclado", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Mostrar/ocultar atalhos de teclado", diff --git a/locale/sv.js b/locale/sv.js index 9ee05731..b816e731 100644 --- a/locale/sv.js +++ b/locale/sv.js @@ -1206,6 +1206,7 @@ export default { // Keyboard shortcuts panel — title and close button shortcut_panel_title: "Tangentbordskontroller", shortcut_panel_close: "Stäng tangentbordsgenvägar", + shortcut_panel_help_link: "Öppna hjälplänk för tangentbordskontroller", // Keyboard shortcuts panel — labels shortcut_show_hide_help: "Visa/dölj tangentbordsgenvägar",