Skip to content

Commit 5c9b0f2

Browse files
authored
Vary shortcut by OS, automatically (#141)
1 parent 1efa082 commit 5c9b0f2

13 files changed

+23
-15
lines changed

source/_locales/de/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"message": "Nach Name suchen…"
2828
},
2929
"undoInfoMsg": {
30-
"message": "Du kannst deine letzte Aktionen rückgäng machen oder wiederherstellen. Dies funktioniert aber nur solange wie dieser Popup-Dialog geöffnet ist. Drücke dazu <kbd>Strg+z</kbd> unter Windows und <kbd>cmd+z</kbd> unter macOS, <kbd>super+z</kbd> unter Ubuntu."
30+
"message": "Du kannst deine letzte Aktionen rückgäng machen oder wiederherstellen. Dies funktioniert aber nur solange wie dieser Popup-Dialog geöffnet ist. Drücke dazu <kbd>Strg+Z</kbd>."
3131
},
3232
"uninstall": {
3333
"message": "Erweiterung entfernen…"

source/_locales/en/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"message": "Search by name…"
2828
},
2929
"undoInfoMsg": {
30-
"message": "You can undo and redo your last action until you close this popup. Press <kbd>ctrl+z</kbd> on Windows or Ubuntu, and <kbd>cmd+z</kbd> on macOS."
30+
"message": "You can undo (with <kbd>Ctrl+Z</kbd>) and redo your last action until you close this popup."
3131
},
3232
"uninstall": {
3333
"message": "Remove from Chrome"

source/_locales/es/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"message": "Buscar por nombre…"
2828
},
2929
"undoInfoMsg": {
30-
"message": "Puedes deshacer y rehacer tu última acción hasta que cierres esta ventana. Presiona <kbd>ctrl+z</kbd> en Windows y <kbd>cmd+z</kbd> en macOS, <kbd>super+z</kbd> en Ubuntu."
30+
"message": "Puedes deshacer (con <kbd>Ctrl+Z</kbd>) y rehacer tu última acción hasta que cierres esta ventana."
3131
},
3232
"uninstall": {
3333
"message": "Eliminar"

source/_locales/fr/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"hash": "1220702106584c8c90c0f41c486a3e0b"
3737
},
3838
"undoInfoMsg": {
39-
"message": "Vous pouvez annuler et refaire votre dernière action jusqu'à ce que vous fermiez cette fenêtre contextuelle. Appuyez sur <kbd>ctrl+z</kbd> sur Windows et <kbd>cmd+z</kbd> sur macOS, <kbd>super+z</kbd> sur Ubuntu.",
39+
"message": "Vous pouvez annuler et refaire votre dernière action jusqu'à ce que vous fermiez cette fenêtre contextuelle. Appuyez sur <kbd>Ctrl+Z</kbd>.",
4040
"hash": "4105b6ebe6d3c7badf1a2bf9d425ddbb"
4141
},
4242
"uninstall": {

source/_locales/he/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"message": "חיפוש תוסף לפי שם"
2828
},
2929
"undoInfoMsg": {
30-
"message": "ניתן לבטל או לבצע מחדש פעולות עד לסגירת החלון באמצעות <kbd>ctrl+z</kbd> ב - windows, <kbd>cmd+z</kbd> ב - macOS או <kbd>super+z</kbd> ב Ubuntu."
30+
"message": "ניתן לבטל או לבצע מחדש פעולות עד לסגירת החלון באמצעות <kbd>Ctrl+Z</kbd>."
3131
},
3232
"uninstall": {
3333
"message": "להסיר את התוסף"

source/_locales/it/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"hash": "1220702106584c8c90c0f41c486a3e0b"
3737
},
3838
"undoInfoMsg": {
39-
"message": "Puoi annullare e ripetere la tua ultima azione finché non chiudi questo popup. Premi <kbd>ctrl+z</kbd> su Windows, <kbd>cmd+z</kbd> su macOS o <kbd>super+z</kbd> on Ubuntu.",
39+
"message": "Puoi annullare (con <kbd>Ctrl+Z</kbd>) e ripetere la tua ultima azione finché non chiudi questo popup.",
4040
"hash": "4c9adc1bb6418b3ecbc77f3ddda22a70"
4141
},
4242
"uninstall": {

source/_locales/nl/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"hash": "1220702106584c8c90c0f41c486a3e0b"
3737
},
3838
"undoInfoMsg": {
39-
"message": "Je kan je laatste actie ongedaan maken of opnieuw uitvoeren totdat je deze popup sluit. Druk op <kbd>ctrl+z</kbd> op Windows of Ubuntu, en <kbd>cmd+z</kbd> op MacOS.",
39+
"message": "Je kan je laatste actie ongedaan maken of opnieuw uitvoeren totdat je deze popup sluit. Druk op <kbd>Ctrl+Z</kbd>.",
4040
"hash": "b8be6c1fc88c7e6042b054effb2c6981"
4141
},
4242
"uninstall": {

source/_locales/tr/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"hash": "1220702106584c8c90c0f41c486a3e0b"
3737
},
3838
"undoInfoMsg": {
39-
"message": "Bu pencere kapanıncaya kadar son işleminizi geri ya da ileri alabilirsiniz. Windows’ta <kbd>ctrl+z</kbd>’ye, macOS’te <kbd>cmd+z</kbd>’ye.",
39+
"message": "Bu pencere kapanıncaya kadar son işleminizi geri ya da ileri alabilirsiniz. <kbd>Ctrl+Z</kbd>’ye.",
4040
"hash": "4105b6ebe6d3c7badf1a2bf9d425ddbb"
4141
},
4242
"uninstall": {

source/_locales/zh_CN/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
"message": "查找扩展"
2222
},
2323
"undoInfoMsg": {
24-
"message": "在关闭这个窗口前你可以撤销你的操作。 在 Windows 或 Ubuntu 中按 <kbd>Ctrl+Z</kbd>, macOS 中按<kbd>CMD+Z</kbd>."
24+
"message": "在关闭这个窗口前你可以撤销你的操作。 中按 <kbd>Ctrl+Z</kbd>"
2525
},
2626
"uninstall": {
2727
"message": "卸载这个扩展"

source/_locales/zh_TW/messages.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"hash": "1220702106584c8c90c0f41c486a3e0b"
3737
},
3838
"undoInfoMsg": {
39-
"message": "在關閉這個窗口前你可以撤銷你的操作。 <br>在 Windows 或 Ubuntu 中按<kbd>ctrl+z</kbd>, macOS 中按<kbd>cmd+z</kbd>。",
39+
"message": "在關閉這個窗口前你可以撤銷你的操作。 中按<kbd>Ctrl+Z</kbd>。",
4040
"hash": "4105b6ebe6d3c7badf1a2bf9d425ddbb"
4141
},
4242
"uninstall": {

source/app.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
<main>
164164
{#if showInfoMessage && !userClickedHideInfoMessage}
165165
<p class="notice">
166-
{@html getI18N('undoInfoMsg')}
166+
{@html UndoStack.replaceKbdOnMac(getI18N('undoInfoMsg'))}
167167
<a class="hide-action" href="#hide" on:click={hideInfoMessage}
168168
>{getI18N('hideInfoMsg')}</a
169169
>

source/lib/undo-stack.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
export default class UndoStack {
22
_undoStack = [];
33
_redoStack = [];
4-
_Z_KEY = 90;
5-
_isWin = navigator.userAgent.match(/win/i);
4+
static isMac = navigator.platform.includes('Mac');
5+
static replaceKbdOnMac = string =>
6+
UndoStack.isMac
7+
? // Some locales don't call it "ctrl"
8+
string.replace(/(?<=>)[a-z]+\+z/i, '⌘Z')
9+
: string;
610

711
constructor(element) {
812
if (element) {
@@ -12,8 +16,8 @@ export default class UndoStack {
1216

1317
#keyboardEventListener = event => {
1418
if (
15-
event.keyCode === this._Z_KEY &&
16-
(this._isWin ? event.ctrlKey : event.metaKey)
19+
event.code === 'KeyZ' &&
20+
(UndoStack._isMac ? event.metaKey : event.ctrlKey)
1721
) {
1822
if (event.shiftKey) {
1923
this.redo();

source/style.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ a {
3131
text-decoration: none;
3232
}
3333

34+
kbd {
35+
font-family: system-ui, monospace;
36+
}
37+
3438
button {
3539
display: inline-block;
3640
padding: 0;

0 commit comments

Comments
 (0)