From 70ee681757628af72ed10320ab5dcc552dcf0ef6 Mon Sep 17 00:00:00 2001 From: lwouis Date: Wed, 20 Dec 2023 22:17:55 +0100 Subject: [PATCH] feat: users can check status of required system permissions --- docs/Contributors.md | 7 +- resources/l10n/Localizable.strings | 5 +- resources/l10n/ar.lproj/Localizable.strings | 3 + resources/l10n/bg.lproj/Localizable.strings | 3 + resources/l10n/bn.lproj/Localizable.strings | 3 + resources/l10n/ca.lproj/Localizable.strings | 3 + resources/l10n/cs.lproj/Localizable.strings | 3 + resources/l10n/da.lproj/Localizable.strings | 3 + resources/l10n/de.lproj/Localizable.strings | 3 + resources/l10n/el.lproj/Localizable.strings | 3 + resources/l10n/en.lproj/Localizable.strings | 3 + resources/l10n/es.lproj/Localizable.strings | 7 +- resources/l10n/et.lproj/Localizable.strings | 3 + resources/l10n/fa.lproj/Localizable.strings | 3 + resources/l10n/fi.lproj/Localizable.strings | 3 + resources/l10n/fr.lproj/Localizable.strings | 3 + resources/l10n/gl.lproj/Localizable.strings | 3 + resources/l10n/he.lproj/Localizable.strings | 3 + resources/l10n/hi.lproj/Localizable.strings | 3 + resources/l10n/hr.lproj/Localizable.strings | 3 + resources/l10n/hu.lproj/Localizable.strings | 3 + resources/l10n/id.lproj/Localizable.strings | 3 + resources/l10n/it.lproj/Localizable.strings | 3 + resources/l10n/ja.lproj/Localizable.strings | 3 + resources/l10n/ko.lproj/Localizable.strings | 3 + resources/l10n/ku.lproj/Localizable.strings | 3 + resources/l10n/lb.lproj/Localizable.strings | 3 + resources/l10n/nl.lproj/Localizable.strings | 3 + resources/l10n/no.lproj/Localizable.strings | 3 + resources/l10n/pl.lproj/Localizable.strings | 22 +-- .../l10n/pt-BR.lproj/Localizable.strings | 3 + resources/l10n/pt.lproj/Localizable.strings | 3 + resources/l10n/ro.lproj/Localizable.strings | 3 + resources/l10n/ru.lproj/Localizable.strings | 21 +-- resources/l10n/sk.lproj/Localizable.strings | 3 + resources/l10n/sl.lproj/Localizable.strings | 3 + resources/l10n/sq.lproj/Localizable.strings | 3 + resources/l10n/sr.lproj/Localizable.strings | 3 + resources/l10n/sv.lproj/Localizable.strings | 139 +++++++++--------- resources/l10n/ta.lproj/Localizable.strings | 3 + resources/l10n/tr.lproj/Localizable.strings | 3 + resources/l10n/uk.lproj/Localizable.strings | 7 +- resources/l10n/uz.lproj/Localizable.strings | 3 + resources/l10n/vi.lproj/Localizable.strings | 3 + .../l10n/zh-CN.lproj/Localizable.strings | 3 + .../l10n/zh-TW.lproj/Localizable.strings | 3 + src/logic/SystemPermissions.swift | 16 +- src/ui/App.swift | 6 + src/ui/Menubar.swift | 4 + src/ui/permission-window/PermissionView.swift | 2 - .../permission-window/PermissionsWindow.swift | 21 ++- 51 files changed, 262 insertions(+), 112 deletions(-) diff --git a/docs/Contributors.md b/docs/Contributors.md index 7618a5e2..9bf4dbe5 100644 --- a/docs/Contributors.md +++ b/docs/Contributors.md @@ -41,6 +41,7 @@ They helped [localize the app](https://poeditor.com/join/project/8AOEZ0eAZE): * Aden Aziz * Admin * Albert Abdilim +* Alex * Ali Gokmen * Ali. tas103 * Allen Guan @@ -49,6 +50,7 @@ They helped [localize the app](https://poeditor.com/join/project/8AOEZ0eAZE): * Anurag Roy * anushree b * Arman +* Artem Stankov * Arthur * Ash * blanorama @@ -63,6 +65,7 @@ They helped [localize the app](https://poeditor.com/join/project/8AOEZ0eAZE): * Dan84 * Darko * David R +* David Süle * Didier Deschrijver * Dzhuneyt * EDUARDO @@ -106,7 +109,6 @@ They helped [localize the app](https://poeditor.com/join/project/8AOEZ0eAZE): * Jules Beckers * Julian Nowaczyk * Julio -* Jungwan Woo * Kagurazaka Tsuki * kal * kant @@ -123,6 +125,7 @@ They helped [localize the app](https://poeditor.com/join/project/8AOEZ0eAZE): * lwouis * Maplevantablack * Marc Pla +* Marcus Billman * Marekscholle * Marko McLion * Martin Mitka @@ -148,7 +151,6 @@ They helped [localize the app](https://poeditor.com/join/project/8AOEZ0eAZE): * Pehovorka * Peterkim0620 * Petr Kolář -* Philippe Ménendès * Piotr Budny * ponchik * Quentin. douarre @@ -186,7 +188,6 @@ They helped [localize the app](https://poeditor.com/join/project/8AOEZ0eAZE): * Whatsmine-HaoshuaiXu * Wilhelm Wolfgang Gärtner * Wowpapa3232 -* Yash * Yossi Zahn * ysaito * Yukai diff --git a/resources/l10n/Localizable.strings b/resources/l10n/Localizable.strings index 3ca161e4..a8b6054f 100644 --- a/resources/l10n/Localizable.strings +++ b/resources/l10n/Localizable.strings @@ -1,4 +1,4 @@ -/* No comment provided by engineer. */ +/* No comment provided by engineer. */ "About" = "About"; /* Menubar option. %@ is AltTab */ @@ -103,6 +103,9 @@ /* Menubar option */ "Check for updates…" = "Check for updates…"; +/* Menubar option */ +"Check permissions…" = "Check permissions…"; + /* No comment provided by engineer. */ "Close window" = "Close window"; diff --git a/resources/l10n/ar.lproj/Localizable.strings b/resources/l10n/ar.lproj/Localizable.strings index 5d904378..e373ddf5 100644 --- a/resources/l10n/ar.lproj/Localizable.strings +++ b/resources/l10n/ar.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "ابحث عن تحديثات…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "إغلاق النافذة"; diff --git a/resources/l10n/bg.lproj/Localizable.strings b/resources/l10n/bg.lproj/Localizable.strings index 76f53ac7..655c56a0 100644 --- a/resources/l10n/bg.lproj/Localizable.strings +++ b/resources/l10n/bg.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Провери за нови онбонвявания..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Затвори прозореца"; diff --git a/resources/l10n/bn.lproj/Localizable.strings b/resources/l10n/bn.lproj/Localizable.strings index 1dfd2dc3..2e1f7ce9 100644 --- a/resources/l10n/bn.lproj/Localizable.strings +++ b/resources/l10n/bn.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "হালনাগাদ অনুসন্ধান করুন…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "উইন্ডো বন্ধ করুন"; diff --git a/resources/l10n/ca.lproj/Localizable.strings b/resources/l10n/ca.lproj/Localizable.strings index a2427814..705b7414 100644 --- a/resources/l10n/ca.lproj/Localizable.strings +++ b/resources/l10n/ca.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Buscar actualitzacions…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Tancar finestra"; diff --git a/resources/l10n/cs.lproj/Localizable.strings b/resources/l10n/cs.lproj/Localizable.strings index 40f454cc..0b28ced7 100644 --- a/resources/l10n/cs.lproj/Localizable.strings +++ b/resources/l10n/cs.lproj/Localizable.strings @@ -108,6 +108,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Zkontrolovat aktualizace..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Zavřít okno"; diff --git a/resources/l10n/da.lproj/Localizable.strings b/resources/l10n/da.lproj/Localizable.strings index 52abda1b..2492c64f 100644 --- a/resources/l10n/da.lproj/Localizable.strings +++ b/resources/l10n/da.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Tjek for opdateringer"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/de.lproj/Localizable.strings b/resources/l10n/de.lproj/Localizable.strings index 6986d7dc..4aceac07 100644 --- a/resources/l10n/de.lproj/Localizable.strings +++ b/resources/l10n/de.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Nach Updates suchen…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Fenster schließen"; diff --git a/resources/l10n/el.lproj/Localizable.strings b/resources/l10n/el.lproj/Localizable.strings index 8959290c..34201eac 100644 --- a/resources/l10n/el.lproj/Localizable.strings +++ b/resources/l10n/el.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Έλεγχος ενημερώσεων..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Κλείσιμο παραθύρου"; diff --git a/resources/l10n/en.lproj/Localizable.strings b/resources/l10n/en.lproj/Localizable.strings index dacd6b83..bf09f12a 100644 --- a/resources/l10n/en.lproj/Localizable.strings +++ b/resources/l10n/en.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Check for updates…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/es.lproj/Localizable.strings b/resources/l10n/es.lproj/Localizable.strings index 9d1743e7..f0224d57 100644 --- a/resources/l10n/es.lproj/Localizable.strings +++ b/resources/l10n/es.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Comprobar actualizaciones…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Cerrar ventana"; @@ -393,10 +396,10 @@ "View existing discussions" = "Ver discusiones existentes"; /*No comment provided by engineer.*/ -"Vim keys" = "Vim keys"; +"Vim keys" = "Teclas Vim"; /*No comment provided by engineer.*/ -"Vim keys already assigned to other actions:\n%@" = "Vim keys already assigned to other actions:\n%@"; +"Vim keys already assigned to other actions:\n%@" = "Teclas Vim ya asignadas a otras acciones:\n%@"; /*No comment provided by engineer.*/ "Visible Spaces" = "Spaces visible"; diff --git a/resources/l10n/et.lproj/Localizable.strings b/resources/l10n/et.lproj/Localizable.strings index 42caa1a9..edd34f4b 100644 --- a/resources/l10n/et.lproj/Localizable.strings +++ b/resources/l10n/et.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Check for updates…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/fa.lproj/Localizable.strings b/resources/l10n/fa.lproj/Localizable.strings index 903e8153..691d089d 100644 --- a/resources/l10n/fa.lproj/Localizable.strings +++ b/resources/l10n/fa.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "به‌روزرسانی را بررسی کن"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/fi.lproj/Localizable.strings b/resources/l10n/fi.lproj/Localizable.strings index 080ea6ce..b73e002f 100644 --- a/resources/l10n/fi.lproj/Localizable.strings +++ b/resources/l10n/fi.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Tarkista päivitykset…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Sulje ikkuna"; diff --git a/resources/l10n/fr.lproj/Localizable.strings b/resources/l10n/fr.lproj/Localizable.strings index a52825bc..18576e9d 100644 --- a/resources/l10n/fr.lproj/Localizable.strings +++ b/resources/l10n/fr.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Chercher une mise-à-jour…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Fermer la fenêtre"; diff --git a/resources/l10n/gl.lproj/Localizable.strings b/resources/l10n/gl.lproj/Localizable.strings index fe0c73fc..6c2b042d 100644 --- a/resources/l10n/gl.lproj/Localizable.strings +++ b/resources/l10n/gl.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Comprobar actualizacións..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Pechar ventá"; diff --git a/resources/l10n/he.lproj/Localizable.strings b/resources/l10n/he.lproj/Localizable.strings index 1cb3ee38..b3dc2892 100644 --- a/resources/l10n/he.lproj/Localizable.strings +++ b/resources/l10n/he.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "בדוק עדכונים"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "סגור חלון"; diff --git a/resources/l10n/hi.lproj/Localizable.strings b/resources/l10n/hi.lproj/Localizable.strings index f4b69804..cc9079b2 100644 --- a/resources/l10n/hi.lproj/Localizable.strings +++ b/resources/l10n/hi.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "अपडेट चेक करो..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "विंडो बंद करो"; diff --git a/resources/l10n/hr.lproj/Localizable.strings b/resources/l10n/hr.lproj/Localizable.strings index 7946a4cd..0f75d7d9 100644 --- a/resources/l10n/hr.lproj/Localizable.strings +++ b/resources/l10n/hr.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Provjeri ažuriranja…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/hu.lproj/Localizable.strings b/resources/l10n/hu.lproj/Localizable.strings index 5c33ff42..155d3eb7 100644 --- a/resources/l10n/hu.lproj/Localizable.strings +++ b/resources/l10n/hu.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Frissítések keresése…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Ablak bezárása"; diff --git a/resources/l10n/id.lproj/Localizable.strings b/resources/l10n/id.lproj/Localizable.strings index f10e9c78..bad290ad 100644 --- a/resources/l10n/id.lproj/Localizable.strings +++ b/resources/l10n/id.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Periksa pembaruan…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Tutup jendela"; diff --git a/resources/l10n/it.lproj/Localizable.strings b/resources/l10n/it.lproj/Localizable.strings index 7b7a3edb..f99ef72c 100644 --- a/resources/l10n/it.lproj/Localizable.strings +++ b/resources/l10n/it.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Verifica aggiornamenti..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Chiudi finestra"; diff --git a/resources/l10n/ja.lproj/Localizable.strings b/resources/l10n/ja.lproj/Localizable.strings index 63f727b4..d0cccd8f 100644 --- a/resources/l10n/ja.lproj/Localizable.strings +++ b/resources/l10n/ja.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "更新を確認する…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "ウィンドウを閉じる"; diff --git a/resources/l10n/ko.lproj/Localizable.strings b/resources/l10n/ko.lproj/Localizable.strings index 847e1110..65c96d4e 100644 --- a/resources/l10n/ko.lproj/Localizable.strings +++ b/resources/l10n/ko.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "업데이트 확인…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "윈도우 닫기"; diff --git a/resources/l10n/ku.lproj/Localizable.strings b/resources/l10n/ku.lproj/Localizable.strings index 11476736..83df7710 100644 --- a/resources/l10n/ku.lproj/Localizable.strings +++ b/resources/l10n/ku.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Li nêjeniyan venêre..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Pacê bigire"; diff --git a/resources/l10n/lb.lproj/Localizable.strings b/resources/l10n/lb.lproj/Localizable.strings index 0b1c6722..e298d2c0 100644 --- a/resources/l10n/lb.lproj/Localizable.strings +++ b/resources/l10n/lb.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "No Updates sichen…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/nl.lproj/Localizable.strings b/resources/l10n/nl.lproj/Localizable.strings index 74fd8b01..10fa2461 100644 --- a/resources/l10n/nl.lproj/Localizable.strings +++ b/resources/l10n/nl.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Controleer op updates…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Sluit venster"; diff --git a/resources/l10n/no.lproj/Localizable.strings b/resources/l10n/no.lproj/Localizable.strings index 98332f4a..43f836e3 100644 --- a/resources/l10n/no.lproj/Localizable.strings +++ b/resources/l10n/no.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Se etter oppdateringer…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Lukk vindu"; diff --git a/resources/l10n/pl.lproj/Localizable.strings b/resources/l10n/pl.lproj/Localizable.strings index 22253796..530d138f 100644 --- a/resources/l10n/pl.lproj/Localizable.strings +++ b/resources/l10n/pl.lproj/Localizable.strings @@ -39,7 +39,7 @@ "Allowed" = "Dozwolone"; /*No comment provided by engineer.*/ -"Alphabetical" = "Alphabetical"; +"Alphabetical" = "Alfabetycznie"; /*No comment provided by engineer.*/ "Also select windows using:" = "Wybierz okna także za pomocą:"; @@ -107,11 +107,14 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Sprawdź aktualizacje…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Zamknij okno"; /*No comment provided by engineer.*/ -"Conflicting shortcut" = "Konfliktujący skrót"; +"Conflicting shortcut" = "Konflikt skrótu"; /*No comment provided by engineer.*/ "Controls" = "Klawisze"; @@ -150,7 +153,7 @@ "Fullscreen windows:" = "Okna pełnoekranowe:"; /*No comment provided by engineer.*/ -"Fullscreen/Defullscreen window" = "Fullscreen/Defullscreen window"; +"Fullscreen/Defullscreen window" = "Przełącz pełny ekran dla okna"; /*No comment provided by engineer.*/ "General" = "Ogólne"; @@ -267,10 +270,10 @@ "Quit app" = "Wyjdź z aplikacji"; /*No comment provided by engineer.*/ -"Recently Created" = "Recently Created"; +"Recently Created" = "Ostatnio utworzone"; /*No comment provided by engineer.*/ -"Recently Focused" = "Recently Focused"; +"Recently Focused" = "Ostatnio aktywne"; /*No comment provided by engineer.*/ "Remember my choice" = "Pamiętaj mój wybór"; @@ -360,13 +363,12 @@ "Source code repository" = "Repozytorium kodu źródłowego"; /*No comment provided by engineer.*/ -"Space" = "Space"; +"Space" = "Przestrzeń"; /*No comment provided by engineer.*/ "Start" = "Na początku"; /*No comment provided by engineer.*/ -/*Fuzzy*/ "Start at login:" = "Uruchom przy zalogowaniu:"; /*No comment provided by engineer.*/ @@ -394,10 +396,10 @@ "View existing discussions" = "Wyświetl istniejące dyskusje"; /*No comment provided by engineer.*/ -"Vim keys" = "Vim keys"; +"Vim keys" = "Klawisze Vim"; /*No comment provided by engineer.*/ -"Vim keys already assigned to other actions:\n%@" = "Vim keys already assigned to other actions:\n%@"; +"Vim keys already assigned to other actions:\n%@" = "Klawisze Vim są już przyporządkowane to innych akcji: %@"; /*No comment provided by engineer.*/ "Visible Spaces" = "Widocznych przestrzeni"; @@ -433,7 +435,7 @@ "Window min width in row:" = "Minimalna szerokość okna w rzędzie:"; /*No comment provided by engineer.*/ -"Window order:" = "Window order:"; +"Window order:" = "Porządek okien:"; /*No comment provided by engineer.*/ "Window title font size:" = "Rozmiar czcionki tytułu okna:"; diff --git a/resources/l10n/pt-BR.lproj/Localizable.strings b/resources/l10n/pt-BR.lproj/Localizable.strings index 4ff7b546..b99fa766 100644 --- a/resources/l10n/pt-BR.lproj/Localizable.strings +++ b/resources/l10n/pt-BR.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Verificar por atualizações…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Fecha a janela"; diff --git a/resources/l10n/pt.lproj/Localizable.strings b/resources/l10n/pt.lproj/Localizable.strings index b817bf1c..19e90a0d 100644 --- a/resources/l10n/pt.lproj/Localizable.strings +++ b/resources/l10n/pt.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Procurar actualizações…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Fechar janela"; diff --git a/resources/l10n/ro.lproj/Localizable.strings b/resources/l10n/ro.lproj/Localizable.strings index d481053a..5398a0fd 100644 --- a/resources/l10n/ro.lproj/Localizable.strings +++ b/resources/l10n/ro.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Verifică actualizări…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Închide fereastră"; diff --git a/resources/l10n/ru.lproj/Localizable.strings b/resources/l10n/ru.lproj/Localizable.strings index 413a2394..c0e2798f 100644 --- a/resources/l10n/ru.lproj/Localizable.strings +++ b/resources/l10n/ru.lproj/Localizable.strings @@ -39,7 +39,7 @@ "Allowed" = "Разрешено"; /*No comment provided by engineer.*/ -"Alphabetical" = "Alphabetical"; +"Alphabetical" = "По алфавиту"; /*No comment provided by engineer.*/ "Also select windows using:" = "Также выбирать окна, используя:"; @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Проверить обновления…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Закрыть окно"; @@ -150,7 +153,7 @@ "Fullscreen windows:" = "Развернутые окна:"; /*No comment provided by engineer.*/ -"Fullscreen/Defullscreen window" = "Fullscreen/Defullscreen window"; +"Fullscreen/Defullscreen window" = "Переключить полноэкранный режим окна"; /*No comment provided by engineer.*/ "General" = "Основное"; @@ -255,7 +258,7 @@ "Preferences…" = "Настройки…"; /*No comment provided by engineer.*/ -"Preview selected window:" = "Preview selected window:"; +"Preview selected window:" = "Превью выбранного окна:"; /*No comment provided by engineer.*/ "Quit" = "Выход"; @@ -267,10 +270,10 @@ "Quit app" = "Выйти из приложения"; /*No comment provided by engineer.*/ -"Recently Created" = "Recently Created"; +"Recently Created" = "Недавно созданное"; /*No comment provided by engineer.*/ -"Recently Focused" = "Recently Focused"; +"Recently Focused" = "Недавно активное"; /*No comment provided by engineer.*/ "Remember my choice" = "Запомнить мой выбор"; @@ -360,7 +363,7 @@ "Source code repository" = "Репозиторий исходного кода"; /*No comment provided by engineer.*/ -"Space" = "Space"; +"Space" = "Пространство"; /*No comment provided by engineer.*/ "Start" = "Начало"; @@ -393,10 +396,10 @@ "View existing discussions" = "Посмотреть обсуждения"; /*No comment provided by engineer.*/ -"Vim keys" = "Vim keys"; +"Vim keys" = "Vim клавиши"; /*No comment provided by engineer.*/ -"Vim keys already assigned to other actions:\n%@" = "Vim keys already assigned to other actions:\n%@"; +"Vim keys already assigned to other actions:\n%@" = "Vim клавиши уже назначены на другие действия:\n%@"; /*No comment provided by engineer.*/ "Visible Spaces" = "Видимые пространства"; @@ -432,7 +435,7 @@ "Window min width in row:" = "Минимальная ширина эскиза в ряду:"; /*No comment provided by engineer.*/ -"Window order:" = "Window order:"; +"Window order:" = "Порядок окон:"; /*No comment provided by engineer.*/ "Window title font size:" = "Размер заголовка:"; diff --git a/resources/l10n/sk.lproj/Localizable.strings b/resources/l10n/sk.lproj/Localizable.strings index c13631ef..55860a5e 100644 --- a/resources/l10n/sk.lproj/Localizable.strings +++ b/resources/l10n/sk.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Kontrolovať aktualizácie…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Zavrieť okno"; diff --git a/resources/l10n/sl.lproj/Localizable.strings b/resources/l10n/sl.lproj/Localizable.strings index b8a3905f..3e6d977a 100644 --- a/resources/l10n/sl.lproj/Localizable.strings +++ b/resources/l10n/sl.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Preveri posodobitve…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/sq.lproj/Localizable.strings b/resources/l10n/sq.lproj/Localizable.strings index 6e6c8f45..e670620f 100644 --- a/resources/l10n/sq.lproj/Localizable.strings +++ b/resources/l10n/sq.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Shiko për përditësime"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Mbyll dritaren"; diff --git a/resources/l10n/sr.lproj/Localizable.strings b/resources/l10n/sr.lproj/Localizable.strings index b695ccf3..22a70b83 100644 --- a/resources/l10n/sr.lproj/Localizable.strings +++ b/resources/l10n/sr.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Proveri ažuriranja..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Zatvori prozor"; diff --git a/resources/l10n/sv.lproj/Localizable.strings b/resources/l10n/sv.lproj/Localizable.strings index acd7b817..30b74aa1 100644 --- a/resources/l10n/sv.lproj/Localizable.strings +++ b/resources/l10n/sv.lproj/Localizable.strings @@ -18,28 +18,28 @@ "Active screen" = "Aktiv skärm"; /*No comment provided by engineer.*/ -"Active Space" = "Aktivt Spaces-fönster"; +"Active Space" = "Aktivt skrivbord"; /*No comment provided by engineer.*/ "Align windows:" = "Justera fönster:"; /*No comment provided by engineer.*/ -"All apps" = "All appar"; +"All apps" = "Alla appar"; /*No comment provided by engineer.*/ -"All data from this form will be made public, as a ticket on github.com" = "All data från detta formulär kommer bli publikt, som en ticket på github.com"; +"All data from this form will be made public, as a ticket on github.com" = "All information i detta formulär kommer göras offentlig i form av ett ärende på github.com"; /*No comment provided by engineer.*/ "All screens" = "Alla skärmar"; /*No comment provided by engineer.*/ -"All Spaces" = "Alla Spaces-fönster"; +"All Spaces" = "Alla skrivbord"; /*No comment provided by engineer.*/ "Allowed" = "Tillåten"; /*No comment provided by engineer.*/ -"Alphabetical" = "Alphabetical"; +"Alphabetical" = "Alfabetiskt"; /*No comment provided by engineer.*/ "Also select windows using:" = "Välj även fönster med:"; @@ -51,7 +51,7 @@ "AltTab needs some permissions" = "AltTab behöver behörigheter"; /*No comment provided by engineer.*/ -"Always" = "Always"; +"Always" = "Alltid"; /*No comment provided by engineer.*/ "Always send crash reports" = "Skicka alltid felrapporter"; @@ -60,13 +60,13 @@ "and press:" = "och tryck:"; /*No comment provided by engineer.*/ -"App (BundleID starting with)" = "App (BundleID starting with)"; +"App (BundleID starting with)" = "App (BundleID börjar med)"; /*No comment provided by engineer.*/ -"App is hidden" = "App is hidden"; +"App is hidden" = "Appen är dold"; /*No comment provided by engineer.*/ -"App is running but has no open window" = "App is running but has no open window"; +"App is running but has no open window" = "Appen körs men har inga öppna fönster"; /*No comment provided by engineer.*/ "Apparition delay:" = "Visningsfördröjning:"; @@ -75,16 +75,16 @@ "Appearance" = "Utseende"; /*No comment provided by engineer.*/ -"Are you sure you don’t want a response?" = "Är du säker att du inte vill skicka respons?"; +"Are you sure you don’t want a response?" = "Är du säker att du inte vill ha svar?"; /*No comment provided by engineer.*/ "Arrow keys" = "Piltangenter"; /*No comment provided by engineer.*/ -"Ask whether to send crash reports" = "Fråga om att skicka felrapporter"; +"Ask whether to send crash reports" = "Fråga innan felrapporter skickas"; /*No comment provided by engineer.*/ -"Auto-install updates periodically" = "Installera regelbundna uppdateringar automatiskt"; +"Auto-install updates periodically" = "Installera regelbundet uppdateringar automatiskt"; /*No comment provided by engineer.*/ "Blacklists" = "Svartlista"; @@ -96,16 +96,19 @@ "Cancel and hide" = "Avbryt och dölj"; /*No comment provided by engineer.*/ -"Center" = "Centrera"; +"Center" = "Centrerat"; /*No comment provided by engineer.*/ -"Check for updates now…" = "Kontrollera uppdateringar nu..."; +"Check for updates now…" = "Leta efter uppdateringar nu…"; /*No comment provided by engineer.*/ -"Check for updates periodically" = "Kontrollera uppdateringar regelbundet"; +"Check for updates periodically" = "Leta regelbundet efter uppdateringar"; /*No comment provided by engineer.*/ -"Check for updates…" = "Kontrollera uppdateringar..."; +"Check for updates…" = "Leta efter uppdateringar…"; + +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; /*No comment provided by engineer.*/ "Close window" = "Stäng fönster"; @@ -120,13 +123,13 @@ "Crash reports policy:" = "Felrapportspolicy:"; /*No comment provided by engineer.*/ -"Cursor follows focus" = "Cursor follows focus"; +"Cursor follows focus" = "Flytta muspekaren när fönster byts"; /*No comment provided by engineer.*/ "Do nothing" = "Gör ingenting"; /*No comment provided by engineer.*/ -"Don’t check for updates periodically" = "Kontrollera inte uppdateringar regelbundet"; +"Don’t check for updates periodically" = "Leta inte efter uppdateringar regelbundet"; /*No comment provided by engineer.*/ "Don’t send" = "Skicka inte"; @@ -141,22 +144,22 @@ "Fade out animation:" = "Tona ut:"; /*No comment provided by engineer.*/ -"Focus selected window" = "Fokusera på valt fönster"; +"Focus selected window" = "Byt till valt fönster"; /*No comment provided by engineer.*/ -"Fullscreen window" = "Fullscreen window"; +"Fullscreen window" = "Visa fönstret i helskärm"; /*No comment provided by engineer.*/ -"Fullscreen windows:" = "Fönster i fullskärm:"; +"Fullscreen windows:" = "Fönster i helskärm:"; /*No comment provided by engineer.*/ -"Fullscreen/Defullscreen window" = "Fullscreen/Defullscreen window"; +"Fullscreen/Defullscreen window" = "Växla helskärmsläge"; /*No comment provided by engineer.*/ "General" = "Allmänt"; /*No comment provided by engineer.*/ -"Hidden windows:" = "Dölj fönster:"; +"Hidden windows:" = "Dolda fönster:"; /*No comment provided by engineer.*/ "Hide" = "Dölj"; @@ -171,10 +174,10 @@ "Hide colored circles on mouse hover:" = "Dölj fönsterradsknappar när musen hålls över:"; /*%@ is AltTab*/ -"Hide in %@" = "Hide in %@"; +"Hide in %@" = "Dölj i %@"; /*No comment provided by engineer.*/ -"Hide Space number labels:" = "Dölj nummeretiketter för Spaces-fönster:"; +"Hide Space number labels:" = "Dölj numrering för skrivbord:"; /*No comment provided by engineer.*/ "Hide status icons:" = "Dölj statusikoner:"; @@ -189,10 +192,10 @@ "Hold" = "Håll ned"; /*No comment provided by engineer.*/ -"I think the app could be improved with…" = "Jag tror appen skulle kunna förbättras genom..."; +"I think the app could be improved with…" = "Jag tycker att appen kan förbättras genom…"; /*No comment provided by engineer.*/ -"Ignore shortcuts when active" = "Ignore shortcuts when active"; +"Ignore shortcuts when active" = "Ignorera kortkommandon när aktiv"; /*No comment provided by engineer.*/ "Ignore shortcuts while a window from these apps is active" = "Ignorera kortkommandon när dessa appars fönster är aktiva"; @@ -201,31 +204,31 @@ "Latest releases" = "Senaste versioner"; /*No comment provided by engineer.*/ -"Left" = "Vänster"; +"Left" = "Vänsterjusterat"; /*No comment provided by engineer.*/ -"Max height on screen:" = "Maxhöjd på skärm:"; +"Max height on screen:" = "Maxhöjd på skärmen:"; /*No comment provided by engineer.*/ -"Max width on screen:" = "Maxbredd på skärm:"; +"Max width on screen:" = "Maxbredd på skärmen:"; /*No comment provided by engineer.*/ -"Menubar icon:" = "Ikon i menylist:"; +"Menubar icon:" = "Ikon i menyrad:"; /*No comment provided by engineer.*/ "Middle" = "Mitten"; /*No comment provided by engineer.*/ -"Minimize/Deminimize window" = "Minifiera/Avminifiera fönster"; +"Minimize/Deminimize window" = "Minimera/återställ fönster"; /*No comment provided by engineer.*/ -"Minimized windows:" = "Minifierade fönster:"; +"Minimized windows:" = "Minimerade fönster:"; /*No comment provided by engineer.*/ -"Miscellaneous:" = "Miscellaneous:"; +"Miscellaneous:" = "Övrigt:"; /*No comment provided by engineer.*/ -"Mouse hover" = "Hålla muspekaren över"; +"Mouse hover" = "Muspekare"; /*No comment provided by engineer.*/ "Never send crash reports" = "Skicka aldrig felrapporter"; @@ -237,25 +240,25 @@ "NSHumanReadableCopyright" = "GPL-3.0-licens"; /*No comment provided by engineer.*/ -"Only if the window is fullscreen" = "Endast on fönstret visas fullskärm"; +"Only if the window is fullscreen" = "Endast om fönstret visas i helskärm"; /*No comment provided by engineer.*/ -"Open Accessibility Preferences…" = "Öppna hjälpmedelsinställningar..."; +"Open Accessibility Preferences…" = "Öppna hjälpmedelsinställningar…"; /*No comment provided by engineer.*/ -"Open Screen Recording Preferences…" = "Öppna skärminspelningsinställningar..."; +"Open Screen Recording Preferences…" = "Öppna skärminspelningsinställningar…"; /*No comment provided by engineer.*/ -"Optional: email (if you want a reply)" = "Valfritt: epost-adress (för ev. svar)"; +"Optional: email (if you want a reply)" = "Valfritt: e-postadress (om du önskar svar)"; /*No comment provided by engineer.*/ "Policies" = "Policy"; /*No comment provided by engineer.*/ -"Preferences…" = "Inställningar..."; +"Preferences…" = "Inställningar…"; /*No comment provided by engineer.*/ -"Preview selected window:" = "Preview selected window:"; +"Preview selected window:" = "Förhandsvisa valt fönster:"; /*No comment provided by engineer.*/ "Quit" = "Avsluta"; @@ -267,25 +270,25 @@ "Quit app" = "Avsluta app"; /*No comment provided by engineer.*/ -"Recently Created" = "Recently Created"; +"Recently Created" = "Nyligen skapat"; /*No comment provided by engineer.*/ -"Recently Focused" = "Recently Focused"; +"Recently Focused" = "Nyligen aktivt"; /*No comment provided by engineer.*/ "Remember my choice" = "Kom ihåg mitt val"; /*No comment provided by engineer.*/ -"Reset preferences and restart" = "Reset preferences and restart"; +"Reset preferences and restart" = "Nollställ inställningar och starta om"; /*No comment provided by engineer.*/ -"Reset preferences and restart…" = "Reset preferences and restart…"; +"Reset preferences and restart…" = "Nollställ inställningar och starta om"; /*No comment provided by engineer.*/ "Rows of thumbnails:" = "Rader av tumnaglar:"; /*No comment provided by engineer.*/ -"Screen including menu bar" = "Skärm med menylist"; +"Screen including menu bar" = "Skärm med menyrad"; /*No comment provided by engineer.*/ "Screen including mouse" = "Skärm med muspekaren"; @@ -312,13 +315,13 @@ "Send anyway" = "Skicka ändå"; /*No comment provided by engineer.*/ -"Send debug profile (CPU, memory, etc)" = "Skicka försökningsinfo (CPU, minne, osv.)"; +"Send debug profile (CPU, memory, etc)" = "Skicka felsökningsinfo (CPU, minne, osv.)"; /*No comment provided by engineer.*/ "Send feedback" = "Skicka feedback"; /*No comment provided by engineer.*/ -"Send feedback…" = "Skicka feedback..."; +"Send feedback…" = "Skicka feedback…"; /*No comment provided by engineer.*/ "Share improvement ideas, or report bugs" = "Dela förbättringsförslag eller rapportera fel"; @@ -330,13 +333,13 @@ "Shortcut 2" = "Kortkommando 2"; /*No comment provided by engineer.*/ -"Shortcut 3" = "Shortcut 3"; +"Shortcut 3" = "Kortkommando 3"; /*No comment provided by engineer.*/ -"Shortcut 4" = "Shortcut 4"; +"Shortcut 4" = "Kortkommando 4"; /*No comment provided by engineer.*/ -"Shortcut 5" = "Shortcut 5"; +"Shortcut 5" = "Kortkommando 5"; /*No comment provided by engineer.*/ "Shortcut already assigned to another action: %@" = "Kommandot är redan kopplat till en annan funktion: %@"; @@ -360,7 +363,7 @@ "Source code repository" = "Källkodskatalog"; /*No comment provided by engineer.*/ -"Space" = "Space"; +"Space" = "Skrivbord"; /*No comment provided by engineer.*/ "Start" = "Början"; @@ -375,37 +378,37 @@ "Then release:" = "När kommando släpps:"; /*No comment provided by engineer.*/ -"This permission is needed to focus windows after you release the shortcut" = "Denna behörigheten behövs för att fokusera på fönster efter kommandot släpps"; +"This permission is needed to focus windows after you release the shortcut" = "Denna behörighet behövs för att byta fönster när du släpper kommandot"; /*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"; +"This permission is needed to show screenshots and titles of open windows" = "Denna behörighet behövs för att visa skärmdumpar och titlar för öppna fönster"; /*No comment provided by engineer.*/ "Unassign existing shortcut and continue" = "Ta bort nuvarande kommando och fortsätt"; /*No comment provided by engineer.*/ -"Updates policy:" = "Policy för uppdateringar:"; +"Updates policy:" = "Uppdateringspolicy:"; /*No comment provided by engineer.*/ "Version" = "Version"; /*No comment provided by engineer.*/ -"View existing discussions" = "Visa existerande diskutioner"; +"View existing discussions" = "Visa befintliga diskussioner"; /*No comment provided by engineer.*/ -"Vim keys" = "Vim keys"; +"Vim keys" = "Vim-tangenter"; /*No comment provided by engineer.*/ -"Vim keys already assigned to other actions:\n%@" = "Vim keys already assigned to other actions:\n%@"; +"Vim keys already assigned to other actions:\n%@" = "Vim-tangenter används redan för följande:\n%@"; /*No comment provided by engineer.*/ -"Visible Spaces" = "Synliga Spaces-fönster"; +"Visible Spaces" = "Synliga skrivbord"; /*No comment provided by engineer.*/ -"When fullscreen" = "When fullscreen"; +"When fullscreen" = "I helskärmsläge"; /*No comment provided by engineer.*/ -"When no open window" = "When no open window"; +"When no open window" = "När inget fönster är öppet"; /*No comment provided by engineer.*/ "While open, press:" = "När öppet, tryck:"; @@ -414,16 +417,16 @@ "Window app icon size:" = "Storlek för appikoner:"; /*No comment provided by engineer.*/ -"Window is fullscreen" = "Window is fullscreen"; +"Window is fullscreen" = "Fönstret visas i helskärm"; /*No comment provided by engineer.*/ -"Window is minimized" = "Window is minimized"; +"Window is minimized" = "Fönstret är minimerat"; /*No comment provided by engineer.*/ -"Window is on every Space" = "Window is on every Space"; +"Window is on every Space" = "Fönstret finns på alla skrivbord"; /*No comment provided by engineer.*/ -"Window is on Space %d" = "Window is on Space %d"; +"Window is on Space %d" = "Fönstret finns på skrivbord %d"; /*No comment provided by engineer.*/ "Window max width in row:" = "Maxhöjd för fönster i rad:"; @@ -432,7 +435,7 @@ "Window min width in row:" = "Maxbredd för fönster i rad:"; /*No comment provided by engineer.*/ -"Window order:" = "Window order:"; +"Window order:" = "Sortera fönster:"; /*No comment provided by engineer.*/ "Window title font size:" = "Storlek för fönstertitel:"; @@ -441,7 +444,7 @@ "Window title truncation:" = "Förkortning av fönstertitel:"; /*No comment provided by engineer.*/ -"You can’t undo this action." = "You can’t undo this action."; +"You can’t undo this action." = "Detta kan inte ångras."; /*No comment provided by engineer.*/ -"You didn’t write your email, thus can’t receive any response." = "Du uppgav inte epost och kan därför inte få svar."; +"You didn’t write your email, thus can’t receive any response." = "Du uppgav ingen e-post och kan därför inte få svar."; diff --git a/resources/l10n/ta.lproj/Localizable.strings b/resources/l10n/ta.lproj/Localizable.strings index fc80e796..7e1489fa 100644 --- a/resources/l10n/ta.lproj/Localizable.strings +++ b/resources/l10n/ta.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Check for updates…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/tr.lproj/Localizable.strings b/resources/l10n/tr.lproj/Localizable.strings index 6a84f9dc..c1f61f25 100644 --- a/resources/l10n/tr.lproj/Localizable.strings +++ b/resources/l10n/tr.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Güncellemeleri kontrol et…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Pencereyi kapat"; diff --git a/resources/l10n/uk.lproj/Localizable.strings b/resources/l10n/uk.lproj/Localizable.strings index a2f0e52d..bf06dc83 100644 --- a/resources/l10n/uk.lproj/Localizable.strings +++ b/resources/l10n/uk.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Перевiрити оновлення..."; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Закрити вікно"; @@ -393,10 +396,10 @@ "View existing discussions" = "Переглянути наявні обговорення"; /*No comment provided by engineer.*/ -"Vim keys" = "Vim keys"; +"Vim keys" = "Клавіші Vim"; /*No comment provided by engineer.*/ -"Vim keys already assigned to other actions:\n%@" = "Vim keys already assigned to other actions:\n%@"; +"Vim keys already assigned to other actions:\n%@" = "Клавіші Vim уже призначені для інших дій:\n%@"; /*No comment provided by engineer.*/ "Visible Spaces" = "Видимі Простори"; diff --git a/resources/l10n/uz.lproj/Localizable.strings b/resources/l10n/uz.lproj/Localizable.strings index 454e05f5..a43a9d1b 100644 --- a/resources/l10n/uz.lproj/Localizable.strings +++ b/resources/l10n/uz.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "yangilanishlarni tekshir"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Close window"; diff --git a/resources/l10n/vi.lproj/Localizable.strings b/resources/l10n/vi.lproj/Localizable.strings index f284dd26..fb2d1a2d 100644 --- a/resources/l10n/vi.lproj/Localizable.strings +++ b/resources/l10n/vi.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "Kiểm tra cập nhật"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "Đóng cửa sổ"; diff --git a/resources/l10n/zh-CN.lproj/Localizable.strings b/resources/l10n/zh-CN.lproj/Localizable.strings index 2c29a8a7..59fb146e 100644 --- a/resources/l10n/zh-CN.lproj/Localizable.strings +++ b/resources/l10n/zh-CN.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "检查更新…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "关闭窗口"; diff --git a/resources/l10n/zh-TW.lproj/Localizable.strings b/resources/l10n/zh-TW.lproj/Localizable.strings index 5cb912f3..cea1f58f 100644 --- a/resources/l10n/zh-TW.lproj/Localizable.strings +++ b/resources/l10n/zh-TW.lproj/Localizable.strings @@ -107,6 +107,9 @@ /*No comment provided by engineer.*/ "Check for updates…" = "檢查更新…"; +/*Menubar option*/ +"Check permissions…" = "Check permissions…"; + /*No comment provided by engineer.*/ "Close window" = "關閉視窗"; diff --git a/src/logic/SystemPermissions.swift b/src/logic/SystemPermissions.swift index dff70d8f..7dbb13d9 100644 --- a/src/logic/SystemPermissions.swift +++ b/src/logic/SystemPermissions.swift @@ -4,7 +4,6 @@ import Cocoa class SystemPermissions { static var changeCallback: (() -> Void)! static var timer: Timer! - static var permissionsWindow: PermissionsWindow! static func accessibilityIsGranted() -> Bool { if #available(OSX 10.9, *) { @@ -68,14 +67,14 @@ class SystemPermissions { DispatchQueue.main.async { if accessibility && screenRecording { timer.invalidate() - permissionsWindow?.close() + App.app.permissionsWindow?.close() startupBlock() } else { - if accessibility != permissionsWindow.accessibilityView.isPermissionGranted { - permissionsWindow.accessibilityView.updatePermissionStatus(accessibility) + if accessibility != App.app.permissionsWindow.accessibilityView.isPermissionGranted { + App.app.permissionsWindow.accessibilityView.updatePermissionStatus(accessibility) } - if #available(OSX 10.15, *), screenRecording != permissionsWindow.screenRecordingView.isPermissionGranted { - permissionsWindow.screenRecordingView.updatePermissionStatus(screenRecording) + if #available(OSX 10.15, *), screenRecording != App.app.permissionsWindow.screenRecordingView.isPermissionGranted { + App.app.permissionsWindow.screenRecordingView.updatePermissionStatus(screenRecording) } } } @@ -92,10 +91,7 @@ class SystemPermissions { if accessibilityIsGranted() && screenRecordingIsGranted() { startupBlock() } else { - permissionsWindow = PermissionsWindow() - permissionsWindow.center() - App.shared.activate(ignoringOtherApps: true) - permissionsWindow.makeKeyAndOrderFront(nil) + App.app.permissionsWindow.show() observePermissionsPreStartup(startupBlock) } } diff --git a/src/ui/App.swift b/src/ui/App.swift index 3d3f1985..63b7c65e 100644 --- a/src/ui/App.swift +++ b/src/ui/App.swift @@ -21,6 +21,7 @@ class App: AppCenterApplication, NSApplicationDelegate { var previewPanel: PreviewPanel! var preferencesWindow: PreferencesWindow! var feedbackWindow: FeedbackWindow! + var permissionsWindow: PermissionsWindow! var isFirstSummon = true var appIsBeingUsed = false var globalShortcutsAreDisabled = false @@ -50,6 +51,7 @@ class App: AppCenterApplication, NSApplicationDelegate { #endif AXUIElement.setGlobalTimeout() BackgroundWork.startSystemPermissionThread() + permissionsWindow = PermissionsWindow() SystemPermissions.ensurePermissionsAreGranted { [weak self] in guard let self = self else { return } BackgroundWork.start() @@ -168,6 +170,10 @@ class App: AppCenterApplication, NSApplicationDelegate { PoliciesTab.checkForUpdatesNow(sender) } + @objc func checkPermissions(_ sender: NSMenuItem) { + permissionsWindow.show() + } + @objc func showFeedbackPanel() { showSecondaryWindow(feedbackWindow) } diff --git a/src/ui/Menubar.swift b/src/ui/Menubar.swift index ddaf6b4e..954da549 100644 --- a/src/ui/Menubar.swift +++ b/src/ui/Menubar.swift @@ -24,6 +24,10 @@ class Menubar { withTitle: NSLocalizedString("Check for updates…", comment: "Menubar option"), action: #selector(App.app.checkForUpdatesNow), keyEquivalent: "") + menu.addItem( + withTitle: NSLocalizedString("Check permissions…", comment: "Menubar option"), + action: #selector(App.app.checkPermissions), + keyEquivalent: "") menu.addItem( withTitle: NSLocalizedString("Send feedback…", comment: "Menubar option"), action: #selector(App.app.showFeedbackPanel), diff --git a/src/ui/permission-window/PermissionView.swift b/src/ui/permission-window/PermissionView.swift index 33293343..6dee3a5a 100644 --- a/src/ui/permission-window/PermissionView.swift +++ b/src/ui/permission-window/PermissionView.swift @@ -44,13 +44,11 @@ class PermissionView: StackView { self.isPermissionGranted = isPermissionGranted if isPermissionGranted { let color = PermissionView.greenColor - button.isEnabled = false status.stringValue = "● " + NSLocalizedString("Allowed", comment: "") status.textColor = color.withAlphaComponent(1) layer!.backgroundColor = color.cgColor } else { let color = PermissionView.redColor - button.isEnabled = true status.stringValue = "● " + NSLocalizedString("Not allowed", comment: "") status.textColor = color.withAlphaComponent(1) layer!.backgroundColor = color.cgColor diff --git a/src/ui/permission-window/PermissionsWindow.swift b/src/ui/permission-window/PermissionsWindow.swift index 7638c04d..58c5c40a 100644 --- a/src/ui/permission-window/PermissionsWindow.swift +++ b/src/ui/permission-window/PermissionsWindow.swift @@ -11,18 +11,29 @@ class PermissionsWindow: NSWindow, NSWindowDelegate { setupView() } + func show() { + accessibilityView.updatePermissionStatus(SystemPermissions.accessibilityIsGranted()) + screenRecordingView.updatePermissionStatus(SystemPermissions.screenRecordingIsGranted()) + center() + App.shared.activate(ignoringOtherApps: true) + makeKeyAndOrderFront(nil) + } + func windowShouldClose(_ sender: NSWindow) -> Bool { - debugPrint("Before using this app, you need to give permission in System Preferences > Security & Privacy > Privacy > Accessibility.", - "Please authorize and re-launch.", - "See https://help.rescuetime.com/article/59-how-do-i-enable-accessibility-permissions-on-mac-osx", - separator: "\n") - App.shared.terminate(self) + if !SystemPermissions.accessibilityIsGranted() || !SystemPermissions.screenRecordingIsGranted() { + debugPrint("Before using this app, you need to give permission in System Preferences > Security & Privacy > Privacy > Accessibility.", + "Please authorize and re-launch.", + "See https://help.rescuetime.com/article/59-how-do-i-enable-accessibility-permissions-on-mac-osx", + separator: "\n") + App.shared.terminate(self) + } return true } private func setupWindow() { title = NSLocalizedString("AltTab needs some permissions", comment: "") hidesOnDeactivate = false + isReleasedWhenClosed = false styleMask.insert([.miniaturizable, .closable]) }