feat: tell users about conflicting shortcuts (close #832)

This commit is contained in:
Louis Pontoise
2021-02-25 02:05:10 +09:00
committed by lwouis
parent 914f55af9f
commit b3456481ae
30 changed files with 280 additions and 4 deletions
+9
View File
@@ -94,6 +94,9 @@
/* No comment provided by engineer. */
"Close window" = "Close window";
/* No comment provided by engineer. */
"Conflicting shortcut" = "Conflicting shortcut";
/* No comment provided by engineer. */
"Controls" = "Controls";
@@ -274,6 +277,9 @@
/* No comment provided by engineer. */
"Shortcut 2" = "Shortcut 2";
/* No comment provided by engineer. */
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/* Menubar option */
"Show" = "Show";
@@ -310,6 +316,9 @@
/* No comment provided by engineer. */
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
/* No comment provided by engineer. */
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/* No comment provided by engineer. */
"Updates policy:" = "Updates policy:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "إغلاق النافذة";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controls";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Shortcut 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "إظهار";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "سياسة التحديثات:";
@@ -96,6 +96,9 @@
/*No comment provided by engineer.*/
"Close window" = "Zavřít okno";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Ovládání";
@@ -304,6 +307,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Zkratka 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Zobrazit";
@@ -343,6 +349,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Toto oprávnění je potřeba k zobrazení náhledů a titulků otevřených oken";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Kontrola aktualizací:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Fenster schließen";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Steuerung";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Tastenkürzel 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Anzeigen";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Diese Erlaubnis is nötig um Bildschirmaufnahmen und Titel offener Fenster anzuzeigen";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Update Richtlinie:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Close window";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controls";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Shortcut 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Show";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Updates policy:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Cerrar ventana";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controles";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Atajo 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Mostrar";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Este permiso es necesario para mostrar capturas de pantalla y títulos de ventanas abiertas";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Política de actualizaciones:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Sulje ikkuna";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Ohjaimet";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Pikanäppäin 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Näytä";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Tarvitaan ikkunoiden otsikoiden ja pikkukuvien näyttämiseen";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Päivityspolitiikka:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Fermer la fenêtre";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Contrôles";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Raccourci 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Afficher";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Cette permission est nécessaire pour afficher les miniatures et titres des fenêtres ouvertes";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Politique de mise-à-jour :";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Ablak bezárása";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Kezelőszervek";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Parancsikon 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Mutat";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Ez a jogosultság ahhoz szükséges hogy megjeleníthessük a képernyőképeket és csempéket a nyitott ablakokhoz";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Frissítési beállítások:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Tutup jendela";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Kontrol";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Pintasan 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Tampilkan";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Izin ini diperlukan untuk menampilkan tangkapan layar dan judul jendela yang terbuka";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Kebijakan pembaruan:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Chiudi la finestra";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controls";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Shortcut 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Mostra";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Politica sugli aggiornamenti:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "ウィンドウを閉じる";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "コントロール";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "ショートカット2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "アプリを表示";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "こちらの許可は、スクリーンショットと開いているウィンドウを表示するのに必要です。";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "アップデートポリシー:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "윈도우 닫기";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "조작";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "단축키 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "보기";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "이 권한은 윈도우의 이미지와 제목을 띄울 수 있게 해줍니다";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "업데이트 방법:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Close window";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controls";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Shortcut 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Opbréngen";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Updates policy:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Sluit venster";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Besturing";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Snelkoppeling 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Toon";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Deze permissie is nodig om screenshots en titels van geopende vensters te tonen";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Updatebeleid:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Lukk vindu";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Kontroller";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Hurtigtast 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Vis";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Denne tillatelsen er nødvendig for å kunne vise skjermbilde og tittel på åpne vinduer";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Oppdateringspolicy:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Zamknij okno";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Kontrola";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Skrót 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Pokaż";
@@ -339,6 +345,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "To uprawnienie jest potrzebne do wyświetlania zrzutów ekranu i tytułów otwartych okien";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Zasady aktualizacji:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Fecha a janela";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controles";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Atalho 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Exibir";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Esta permissão é necessária para exibir pré-visualizações e títulos das janelas abertas";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Política de atualizações:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Fechar janela";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controlos";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Atalho 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Mostrar";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Esta permissão é necessária para mostrar capturas de ecrã e títulos das janelas abertas";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Regras de actualização:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Закрыть окно";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Управление";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Комбинация 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Показать";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Это разрешение нужно для показа скриншотов и заголовков открытых окон";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Правило обновлений:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Zavrieť okno";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Ovládače";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Skratka 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Zobraziť";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Toto povolenie je potrebné na zobrazovanie snímok obrazovky a názvov otvorených okien";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Pravidlá aktualizácií:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Close window";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controls";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Shortcut 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Prikaži";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Politika posodobitev:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Stäng fönster";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Kommandon";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Kortkommando 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Visa";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Denna behörigheten behövs för skärmdumpar och titlar från öppna fönster";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Policy för uppdateringar:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Pencereyi kapat";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Kontroller";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Kısayol 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Göster";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "Bu izin, açık pencerelerin başlıklarını ve ekran görüntülerini göstermek için gerekiyor";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Güncelleme politikası:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "Close window";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "Controls";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "Shortcut 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "Show";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "This permission is needed to show screenshots and titles of open windows";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "Updates policy:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "关闭窗口";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "控制";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "快捷键 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "显示";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "需要此权限以显示窗口截屏与标题";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "更新方式:";
@@ -95,6 +95,9 @@
/*No comment provided by engineer.*/
"Close window" = "關閉視窗";
/*No comment provided by engineer.*/
"Conflicting shortcut" = "Conflicting shortcut";
/*No comment provided by engineer.*/
"Controls" = "控制";
@@ -299,6 +302,9 @@
/*No comment provided by engineer.*/
"Shortcut 2" = "快速鍵 2";
/*No comment provided by engineer.*/
"Shortcut already assigned to another action: %@" = "Shortcut already assigned to another action: %@";
/*No comment provided by engineer.*/
"Show" = "顯示";
@@ -338,6 +344,9 @@
/*No comment provided by engineer.*/
"This permission is needed to show screenshots and titles of open windows" = "需要取得此權限,才能顯示打開視窗的截圖與標題資訊";
/*No comment provided by engineer.*/
"Unassign existing shortcut and continue" = "Unassign existing shortcut and continue";
/*No comment provided by engineer.*/
"Updates policy:" = "更新策略:";
@@ -3,11 +3,13 @@ import ShortcutRecorder
class CustomRecorderControl: RecorderControl, RecorderControlDelegate {
var clearable: Bool!
var id: String!
convenience init(_ shortcutString: String, _ clearable: Bool) {
convenience init(_ shortcutString: String, _ clearable: Bool, _ id: String) {
self.init(frame: .zero)
translatesAutoresizingMaskIntoConstraints = false
self.clearable = clearable
self.id = id
delegate = self
allowsEscapeToCancelRecording = false
allowsDeleteToClearShortcutAndEndRecording = false
@@ -30,10 +32,39 @@ class CustomRecorderControl: RecorderControl, RecorderControlDelegate {
}
// only allow modifiers: ⌥ -> valid, e -> invalid, ⌥e -> invalid
func recorderControl(_ aControl: RecorderControl, canRecord aShortcut: Shortcut) -> Bool {
if !clearable && aShortcut.keyCode != .none {
func recorderControl(_ control: RecorderControl, canRecord shortcut: Shortcut) -> Bool {
if !clearable && shortcut.keyCode != .none {
return false
}
alertIfSameShortcutAlreadyAssigned(shortcut)
return true
}
func alertIfSameShortcutAlreadyAssigned(_ shortcut: Shortcut) {
if let shortcutAlreadyAssigned = (ControlsTab.shortcuts.values.first {
if $0.id == id || id.starts(with: "holdShortcut") || $0.id.starts(with: "holdShortcut") {
return false
}
if $0.id.starts(with: "nextWindowShortcut") {
return $0.shortcut.keyCode == shortcut.keyCode
}
return $0.shortcut.keyCode == shortcut.keyCode && $0.shortcut.modifierFlags == shortcut.modifierFlags
}) {
let existing = ControlsTab.shortcutControls[shortcutAlreadyAssigned.id]!
let alert = NSAlert()
alert.alertStyle = .critical
alert.messageText = NSLocalizedString("Conflicting shortcut", comment: "")
alert.informativeText = String(format: NSLocalizedString("Shortcut already assigned to another action: %@", comment: ""), existing.1.replacingOccurrences(of: " ", with: "\u{00A0}"))
alert.addButton(withTitle: NSLocalizedString("Unassign existing shortcut and continue", comment: "")).setAccessibilityFocused(true)
let cancelButton = alert.addButton(withTitle: NSLocalizedString("Cancel", comment: ""))
cancelButton.keyEquivalent = "\u{1b}"
let userChoice = alert.runModal()
if userChoice == .alertFirstButtonReturn {
existing.0.objectValue = nil
ControlsTab.shortcutChangedCallback(existing.0)
ControlsTab.shortcutControls[id]!.0.objectValue = shortcut
ControlsTab.shortcutChangedCallback(self)
}
}
}
}
@@ -9,9 +9,10 @@ enum LabelPosition {
class LabelAndControl: NSObject {
static func makeLabelWithRecorder(_ labelText: String, _ rawName: String, _ shortcutString: String, _ clearable: Bool = true, labelPosition: LabelPosition = .leftWithSeparator) -> [NSView] {
let input = CustomRecorderControl(shortcutString, clearable)
let input = CustomRecorderControl(shortcutString, clearable, rawName)
let views = makeLabelWithProvidedControl(labelText, rawName, input, labelPosition: labelPosition, extraAction: { _ in ControlsTab.shortcutChangedCallback(input) })
ControlsTab.shortcutChangedCallback(input)
ControlsTab.shortcutControls[rawName] = (input, labelText)
return views
}
@@ -4,6 +4,7 @@ import ShortcutRecorder
class ControlsTab {
static var nextWindowShortcut: [NSControl]!
static var shortcuts = [String: ATShortcut]()
static var shortcutControls = [String: (CustomRecorderControl, String)]()
static var shortcutsActions = [
"holdShortcut": { App.app.focusTarget() },
"holdShortcut2": { App.app.focusTarget() },