From 8224b6f1d758b890bef3489b7cc03142c1acdaa4 Mon Sep 17 00:00:00 2001 From: Felitendo Date: Sat, 26 Sep 2026 20:31:18 +0200 Subject: [PATCH] feat: warn when no polkit agent runs and offer to install one --- README.md | 2 +- doc/face-unlock.1.scd | 4 +- po/de.po | 272 +++++++++++++++++++-------------- po/es.po | 272 +++++++++++++++++++-------------- po/face-unlock.pot | 270 ++++++++++++++++++-------------- po/fr.po | 272 +++++++++++++++++++-------------- po/it.po | 272 +++++++++++++++++++-------------- po/ja.po | 272 +++++++++++++++++++-------------- po/ko.po | 272 +++++++++++++++++++-------------- po/nl.po | 271 ++++++++++++++++++-------------- po/pl.po | 270 ++++++++++++++++++-------------- po/pt_BR.po | 272 +++++++++++++++++++-------------- po/ru.po | 270 ++++++++++++++++++-------------- po/tr.po | 272 +++++++++++++++++++-------------- po/uk.po | 271 ++++++++++++++++++-------------- po/zh_CN.po | 270 ++++++++++++++++++-------------- src/agent/enrollcontroller.cpp | 5 + src/lib/daemon.sh | 9 +- src/lib/menu.sh | 14 ++ src/lib/system.sh | 129 ++++++++++++++-- 20 files changed, 2338 insertions(+), 1623 deletions(-) diff --git a/README.md b/README.md index d346da8..10b13a9 100644 --- a/README.md +++ b/README.md @@ -78,7 +78,7 @@ desktops, on Wayland: | Niri | ✅ | ✅ | ✅ on face-unlock's own | - **GNOME:** log out and back in once after installing, so the bubble can show. -- **Hyprland and Niri:** you need a polkit agent, for example hyprpolkitagent. +- **Hyprland and Niri:** you need a polkit agent. The menu installs one if it is missing.
Hyprland and Niri: which lock screen? diff --git a/doc/face-unlock.1.scd b/doc/face-unlock.1.scd index facc74c..a0d705b 100644 --- a/doc/face-unlock.1.scd +++ b/doc/face-unlock.1.scd @@ -273,7 +273,9 @@ so does the bubble, above the lock screen too. *enable* and *status* show what to add to its config. Hyprland and Niri come without a polkit agent. One has to run for admin -prompts and for setting up a face, for example hyprpolkitagent. +prompts and for setting up a face, for example hyprpolkitagent. The menu warns +when none runs, and *p* installs one: hyprpolkitagent where the distribution +has it, else KDE's agent. It starts it too, now and with the session. # SUDO, ADMIN PROMPTS AND LOCK SCREENS diff --git a/po/de.po b/po/de.po index f52f476..f78cf8e 100644 --- a/po/de.po +++ b/po/de.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.0\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-23 22:32+0200\n" "Last-Translator: Felitendo\n" "Language-Team: German\n" @@ -59,9 +59,9 @@ msgstr "Es wurde kein Gesicht hinzugefügt." msgid "First, set up your face." msgstr "Richte zuerst dein Gesicht ein." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Einstellung konnte nicht gespeichert werden." @@ -123,16 +123,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Es ist noch kein Gesicht eingerichtet." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "an" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "aus" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s Aufnahmen, %s dazugelernt" @@ -162,7 +162,7 @@ msgstr "Gesichtsentsperrung einschalten" msgid "Turn it off (faces are kept)" msgstr "Ausschalten (Gesichter bleiben erhalten)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Gesicht hinzufügen" @@ -206,7 +206,7 @@ msgstr "" "Starte das als dein eigener Benutzer, nicht als root. Wenn nötig, wird nach " "deinem Passwort gefragt." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Unbekannter Befehl: %s" @@ -281,7 +281,7 @@ msgstr "" msgid "The camera could not be used." msgstr "Die Kamera konnte nicht benutzt werden." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Die Erkennungsmodelle fehlen. Installiere das Paket neu." @@ -297,82 +297,88 @@ msgstr "Die Kamera ist gerade mit einem anderen Scan beschäftigt." msgid "The face unlock service is not running." msgstr "Der Dienst für die Gesichtsentsperrung läuft nicht." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Nicht erlaubt." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"Kein Passwortfenster? Starte einen polkit-Agenten, zum Beispiel " +"hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Etwas ist schiefgelaufen (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Schau in die Kamera. Blinzle einmal oder dreh den Kopf ein wenig." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Gesicht gefunden." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Erkannt. Jetzt einmal blinzeln oder den Kopf ein wenig drehen." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Schau auf den Bildschirm." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Geh näher an die Kamera." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Es ist zu dunkel, um dein Gesicht zu sehen." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "Treffer" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "Drehung" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "Augen" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "Tiefe" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "Blinzeln" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "Spiegelung" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "Rand" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "Kopfdrehung" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Erkannt als %s (Treffer %s) in %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Lebenszeichen: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -385,11 +391,11 @@ msgstr "" msgid "[y/N]" msgstr "[j/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "AN" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "AUS" @@ -430,7 +436,7 @@ msgstr "langsam" msgid "%s seconds" msgstr "%s Sekunden" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "automatisch" @@ -442,81 +448,87 @@ msgstr "face-unlock" msgid "yours" msgstr "deiner" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Kein polkit-Agent läuft, darum kann sich kein Passwortfenster öffnen. Gesicht hinzufügen und Admin-Abfragen brauchen einen." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Gesichtsentsperrung" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Dienst" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "läuft nicht" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Die Gesichtsentsperrung erneut einzuschalten startet ihn." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Gesichter" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "noch keins eingerichtet" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "alle ausgeschaltet" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "keine gefunden" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Kamera" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Sperrbildschirm" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Admin-Abfragen" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Sperrbildschirme" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Foto-Prüfung" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "Pausiert" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "noch %d Minuten, oder bis das Passwort benutzt wird" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Letzte Entsperrung" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "Der Sperrbildschirm-Dienst läuft nicht." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -524,7 +536,7 @@ msgstr "" "Unter GNOME zeigt eine kleine GNOME-Erweiterung die Bubble. Beim Einschalten " "der Gesichtsentsperrung wird sie mit eingeschaltet." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -534,7 +546,7 @@ msgstr "" "unlock zurückkommst (`face-unlock lock`, mit der Bubble), und öffnet sie. " "Andere Sperrbildschirme scannen mit Enter." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -542,7 +554,7 @@ msgstr "" "Entsperrt den Sperrbildschirm, wenn er dein Gesicht sieht. Aus: Dort geht " "nur dein Passwort." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -550,7 +562,7 @@ msgstr "" "Scannt, wenn du auf dem Sperrbildschirm eine Taste drückst oder die Maus " "bewegst, und wenn der Computer aufwacht." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -558,7 +570,7 @@ msgstr "" "Scannt, sobald der Bildschirm gesperrt wird. Normalerweise aus: Sperrst du " "selbst, würde er gleich wieder entsperren." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -566,7 +578,7 @@ msgstr "" "sudo nimmt dein Gesicht statt des Passworts. Passt es nicht, tippst du wie " "gewohnt dein Passwort." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -576,7 +588,7 @@ msgstr "" "`face-unlock lock`. Oder behalte deinen: hyprlock zeigt dann oben eine " "Textzeile. Enter öffnet die Auswahl." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -586,11 +598,11 @@ msgstr "" "Leer: das von deinem Desktop. Oder eine Datei, ein Ordner, aus dem zufällig " "eins genommen wird, oder `none`. Enter zum Eintippen." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Zeichnet das Bild hinter dem Sperrbildschirm von face-unlock weich." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -599,7 +611,7 @@ msgstr "" "Der Sperrbildschirm nimmt dein Gesicht in seiner Passwortprüfung. Drück " "Enter im leeren Feld für einen Scan. Hier gefunden: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -607,18 +619,18 @@ msgstr "" "Die Passwort-Fenster deines Desktops und von Apps, zum Beispiel beim " "Installieren. Passt das Gesicht nicht, tippst du dein Passwort." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Du musst blinzeln oder den Kopf leicht drehen. Das hält auch ausgedruckte " "Fotos auf." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Keine Prüfung. Nur zum Ausprobieren einer Kamera." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -626,22 +638,22 @@ msgstr "" "Hält Fotos auf Handy, Tablet oder Hochglanzpapier auf. Blinzeln ist nicht " "nötig. Ein matter Ausdruck kann durchkommen." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Seltener Verwechslungen, aber mit Brille oder bei schlechtem Licht erkennt " "es dich vielleicht nicht." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "Erkennt dich leichter, aber auch jemanden, der dir sehr ähnlich sieht." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "Der Standard. Passt für die meisten." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -649,7 +661,7 @@ msgstr "" "Deine Augen müssen offen sein und auf den Bildschirm schauen. So entsperrt " "es nicht, wenn du wegschaust oder schläfst." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -658,11 +670,11 @@ msgstr "" "neu einrichten. Eine Infrarot-Kamera braucht ihr Licht (linux-enable-ir-" "emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Wie lange die Kamera nach deinem Gesicht sucht, bevor sie aufgibt." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -670,7 +682,7 @@ msgstr "" "Nach einem sicheren Treffer merkt es sich, wie du gerade aussiehst. So musst " "du nach neuer Frisur oder Brille nichts neu einrichten." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -678,103 +690,107 @@ msgstr "" "Kein Scan bei zugeklapptem Laptop, zum Beispiel am Schreibtisch mit externem " "Bildschirm." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "Die Bubble oben am Bildschirm zeigt, was die Kamera gerade macht." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Eine kleine Pille mit einem Schloss, das aufgeht." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "" "Eine Insel mit einem Gesicht, das sich umschaut, danach Ringe und ein Haken." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "Wie schnell sich die Bubble bewegt." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Zeigt die Bubble auch, wenn sudo oder eine Admin-Abfrage dein Gesicht scannt." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "automatisch (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(Infrarot)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(nicht angeschlossen)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "wie Desktop" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "keins" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Bild oder Ordner:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Nicht gefunden: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Einstellungen" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ auswählen ←→ oder Leertaste: ändern q: zurück" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "für alle Nutzer, fragt nach deinem Passwort" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Hoch/Runter: wählen, Leertaste: an/aus, r: umbenennen, d: löschen, a: " "hinzufügen, q: zurück" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Es ist noch kein Gesicht eingerichtet. Drück a, um eins hinzuzufügen." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Neuer Name:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "„%s“ löschen?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Gesichtsentsperrung ein- oder ausschalten" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Ausprobieren" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "polkit-Agent installieren" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Beenden" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -792,26 +808,26 @@ msgstr "Das PAM-Modul ist nicht unter %s installiert." msgid "There is no PAM configuration for %s on this system." msgstr "Auf diesem System gibt es keine PAM-Konfiguration für %s." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" "Dafür braucht es root, aber weder sudo noch run0 noch doas ist installiert." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Dieser Befehl muss als root laufen." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Keine gültige Einstellung: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Dafür kann es nicht verwendet werden: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -819,41 +835,67 @@ msgstr "" "Hyprland startet den Sperrbildschirm-Dienst nicht von selbst. Füge das in %s " "ein:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland startet den polkit-Agenten nicht von selbst. Füge das in %s ein:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Kein Paketmanager gefunden, um einen polkit-Agenten zu installieren." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Ein polkit-Agent wird installiert. Dafür braucht es dein Passwort." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Der polkit-Agent konnte nicht installiert werden." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "Der polkit-Agent ist nicht gestartet. Siehe: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "Der polkit-Agent läuft. Passwortfenster öffnen sich jetzt." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Um damit zu sperren, trag das in %s ein und setze %s in %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Um damit zu sperren, trag das bei den binds in %s ein und nutze %s in " "swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Um damit zu sperren, starte %s dort, wo jetzt dein Sperrbildschirm startet." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Du sperrst jetzt mit dem Sperrbildschirm von face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "" "hyprlock zeigt oben, was face unlock gerade tut, ab dem nächsten Sperren." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Konnte die Zeile nicht in %s eintragen." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -861,7 +903,7 @@ msgstr "" "Dein Sperrbildschirm bleibt, wie er ist. Drück Enter im leeren Passwortfeld, " "um zu scannen." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock hat keine %s, also kann es den Text nicht zeigen." @@ -1022,32 +1064,32 @@ msgstr "Die Gesichtsentsperrung ist eingerichtet." msgid "A face can only be added with your password." msgstr "Ein Gesicht kann nur mit deinem Passwort hinzugefügt werden." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "Die Kamera konnte nicht benutzt werden: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "" "Die Modelle für die Gesichtserkennung fehlen. Installiere das Paket neu." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Das hat zu lange gedauert. Versuch es nochmal, bei gutem Licht." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "Der Dienst für die Gesichtsentsperrung läuft nicht. Schalte die " "Gesichtsentsperrung zuerst ein." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "" "Die Kamera ist gerade mit einem anderen Scan beschäftigt. Versuch es gleich " "nochmal." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Das Gesicht konnte nicht hinzugefügt werden (%1)." diff --git a/po/es.po b/po/es.po index 87d6174..0a6ff85 100644 --- a/po/es.po +++ b/po/es.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Spanish\n" @@ -58,9 +58,9 @@ msgstr "No se añadió ninguna cara." msgid "First, set up your face." msgstr "Primero, configura tu cara." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "No se pudo guardar el ajuste." @@ -124,16 +124,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Todavía no hay ninguna cara configurada." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "activado" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "desactivado" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s muestras, %s aprendidas" @@ -163,7 +163,7 @@ msgstr "Activar el desbloqueo facial" msgid "Turn it off (faces are kept)" msgstr "Desactivarlo (las caras se conservan)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Añadir una cara" @@ -207,7 +207,7 @@ msgstr "" "Ejecuta esto con tu propio usuario, no como root. Pide tu contraseña cuando " "la necesita." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Comando desconocido: %s" @@ -282,7 +282,7 @@ msgstr "" msgid "The camera could not be used." msgstr "No se pudo usar la cámara." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Faltan los modelos de reconocimiento. Reinstala el paquete." @@ -298,82 +298,88 @@ msgstr "La cámara está ocupada con otro escaneo." msgid "The face unlock service is not running." msgstr "El servicio de desbloqueo facial no está en marcha." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "No permitido." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"¿No aparece la ventana de contraseña? Inicia un agente de polkit, por " +"ejemplo hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Algo salió mal (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Mira a la cámara. Parpadea una vez o gira un poco la cabeza." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Cara encontrada." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Reconocida. Ahora parpadea una vez o gira un poco la cabeza." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Mira a la pantalla." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Acércate a la cámara." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Está demasiado oscuro para ver tu cara." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "similitud" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "giro" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "ojos" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "profundidad" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "parpadeo" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "reflejo" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "borde" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "giro de cabeza" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Reconocido como %s (similitud %s) en %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Señal de vida: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -386,11 +392,11 @@ msgstr "" msgid "[y/N]" msgstr "[s/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "ACTIVADO" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "DESACTIVADO" @@ -431,7 +437,7 @@ msgstr "lenta" msgid "%s seconds" msgstr "%s segundos" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "automática" @@ -443,81 +449,87 @@ msgstr "la de face-unlock" msgid "yours" msgstr "la tuya" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "No se está ejecutando ningún agente de polkit, así que no se puede abrir ninguna ventana de contraseña. Añadir una cara y las solicitudes de administrador lo necesitan." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Desbloqueo facial" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Servicio" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "detenido" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Al volver a activar el desbloqueo facial, se inicia." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Caras" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "ninguna configurada aún" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "todas desactivadas" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "ninguna encontrada" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Cámara" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Pantalla de bloqueo" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Solicitudes de administrador" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Pantallas de bloqueo" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Detección de fotos" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "En pausa" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "%d minutos más, o hasta que se use la contraseña" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Último desbloqueo" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "El agente de la pantalla de bloqueo no se está ejecutando." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -525,7 +537,7 @@ msgstr "" "En GNOME, una pequeña extensión de GNOME muestra la burbuja. Al activar el " "desbloqueo facial se activa también." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -535,7 +547,7 @@ msgstr "" "de face-unlock (`face-unlock lock`, con la burbuja) y los abre. Las demás " "pantallas de bloqueo escanean con Intro." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -543,7 +555,7 @@ msgstr "" "Desbloquea la pantalla de bloqueo cuando ve tu cara. Desactivado: ahí solo " "sirve tu contraseña." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -551,7 +563,7 @@ msgstr "" "Escanea cuando pulsas una tecla o mueves el ratón en la pantalla de bloqueo, " "y cuando el equipo se despierta." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -559,7 +571,7 @@ msgstr "" "Escanea en cuanto se bloquea la pantalla. Desactivado por defecto: si la " "bloqueas tú, se desbloquearía enseguida." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -567,7 +579,7 @@ msgstr "" "sudo usa tu cara en lugar de la contraseña. Si no coincide, escribes la " "contraseña como siempre." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -577,7 +589,7 @@ msgstr "" "`face-unlock lock`. O quédate con la tuya: hyprlock muestra entonces una " "línea de texto arriba. Intro abre la elección." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -587,11 +599,11 @@ msgstr "" "lock`). Vacío: la de tu escritorio. O un archivo, una carpeta de la que se " "elige una al azar, o `none`. Intro para escribirla." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Desenfoca la imagen detrás de la pantalla de bloqueo de face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -600,7 +612,7 @@ msgstr "" "La pantalla de bloqueo acepta tu cara en su comprobación de contraseña. " "Pulsa Intro en el campo vacío para escanear. Encontradas aquí: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -608,18 +620,18 @@ msgstr "" "Las ventanas de contraseña de tu escritorio y de las aplicaciones, por " "ejemplo al instalar software. Si no coincide, escribes la contraseña." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Tienes que parpadear o girar un poco la cabeza. Esto también frena las fotos " "impresas." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Sin comprobación. Solo para probar una cámara." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -627,24 +639,24 @@ msgstr "" "Frena fotos en un móvil, una tableta o papel brillante. No hace falta " "parpadear. Una foto impresa en papel mate puede pasar." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Menos coincidencias erróneas, pero puede que no te reconozca con gafas o con " "poca luz." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "" "Te reconoce con más facilidad, pero también a alguien que se parezca mucho a " "ti." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "El valor por defecto. Adecuado para la mayoría." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -652,7 +664,7 @@ msgstr "" "Tus ojos tienen que estar abiertos y mirando a la pantalla. Así no se " "desbloquea mientras miras a otro lado o duermes." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -661,11 +673,11 @@ msgstr "" "tu cara. Una cámara infrarroja necesita su luz encendida (linux-enable-ir-" "emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Cuánto tiempo busca la cámara tu cara antes de rendirse." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -673,7 +685,7 @@ msgstr "" "Tras una coincidencia segura, recuerda tu aspecto actual. Así, un corte de " "pelo nuevo o unas gafas no piden configurar de nuevo." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -681,106 +693,110 @@ msgstr "" "Sin escaneo mientras el portátil está cerrado, por ejemplo en un escritorio " "con una pantalla externa." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "" "La burbuja en la parte superior de la pantalla muestra lo que hace la cámara." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Una pequeña pastilla con un candado que se abre." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "" "Una isla con una cara que mira alrededor, luego anillos y una marca de " "verificación." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "La velocidad a la que se mueve la burbuja." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Muestra la burbuja también cuando sudo o una solicitud de administrador " "escanea tu cara." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "automática (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(infrarroja)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(no conectada)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "como el escritorio" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "ninguna" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Imagen o carpeta:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "No encontrado: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Ajustes" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ elegir ←→ o Espacio: cambiar q: volver" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "para todos los usuarios, pide tu contraseña" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Arriba/Abajo: elegir, Espacio: activar/desactivar, r: renombrar, d: borrar, " "a: añadir, q: volver" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Todavía no hay ninguna cara configurada. Pulsa a para añadir una." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Nuevo nombre:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "¿Borrar «%s»?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Activar o desactivar el desbloqueo facial" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Probarlo" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Instalar un agente de polkit" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Salir" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -798,25 +814,25 @@ msgstr "El módulo PAM no está instalado en %s." msgid "There is no PAM configuration for %s on this system." msgstr "No hay configuración PAM para %s en este sistema." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "Esto necesita root, y no está instalado ni sudo, ni run0, ni doas." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Este comando tiene que ejecutarse como root." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Ajuste no válido: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "No se puede usar para este servicio: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -824,29 +840,55 @@ msgstr "" "Hyprland no inicia por sí solo el agente de la pantalla de bloqueo. Añade " "esto a %s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland no inicia por sí solo el agente de polkit. Añade esto a %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "No se encontró ningún gestor de paquetes para instalar un agente de polkit." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Instalando un agente de polkit. Necesita tu contraseña." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "No se pudo instalar un agente de polkit." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "El agente de polkit no se inició. Mira: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "El agente de polkit se está ejecutando. Ahora se abren las ventanas de contraseña." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Para bloquear con ella, añade esto a %s y pon %s en %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Para bloquear con ella, añade esto a los binds de %s y usa %s en swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Para bloquear con ella, ejecuta %s donde ahora se inicia tu pantalla de " "bloqueo." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Ahora bloqueas con la pantalla de bloqueo de face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -854,12 +896,12 @@ msgstr "" "hyprlock muestra arriba lo que hace face unlock, a partir del próximo " "bloqueo." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "No se pudo añadir la línea a %s." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -867,7 +909,7 @@ msgstr "" "Tu pantalla de bloqueo se queda como está. Pulsa Intro en el campo de " "contraseña vacío para escanear." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock no tiene %s, así que no puede mostrar el texto." @@ -1028,30 +1070,30 @@ msgstr "El desbloqueo facial está configurado." msgid "A face can only be added with your password." msgstr "Solo se puede añadir una cara con tu contraseña." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "No se pudo usar la cámara: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "Faltan los modelos de reconocimiento facial. Reinstala el paquete." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Ha tardado demasiado. Inténtalo de nuevo, con buena luz." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "El servicio de desbloqueo facial no está en marcha. Activa primero el " "desbloqueo facial." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "" "La cámara está ocupada con otro escaneo. Inténtalo de nuevo en un momento." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "No se pudo añadir la cara (%1)." diff --git a/po/face-unlock.pot b/po/face-unlock.pot index e08cce4..ae3330b 100644 --- a/po/face-unlock.pot +++ b/po/face-unlock.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:29+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -54,9 +54,9 @@ msgstr "" msgid "First, set up your face." msgstr "" -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "" @@ -107,16 +107,16 @@ msgstr "" msgid "No face is set up yet." msgstr "" -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "" @@ -146,7 +146,7 @@ msgstr "" msgid "Turn it off (faces are kept)" msgstr "" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "" @@ -188,7 +188,7 @@ msgid "" "needs to." msgstr "" -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "" @@ -261,7 +261,7 @@ msgstr "" msgid "The camera could not be used." msgstr "" -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "" @@ -277,82 +277,86 @@ msgstr "" msgid "The face unlock service is not running." msgstr "" -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "" -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "" -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "" -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "" -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "" -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "" -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "" -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "" -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -363,11 +367,11 @@ msgstr "" msgid "[y/N]" msgstr "" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "" @@ -408,7 +412,7 @@ msgstr "" msgid "%s seconds" msgstr "" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "" @@ -420,297 +424,307 @@ msgstr "" msgid "yours" msgstr "" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "" + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "" -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "" -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." msgstr "" -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " "screens scan on Enter." msgstr "" -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." msgstr "" -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." msgstr "" -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." msgstr "" -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." msgstr "" -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " "opens the choice." msgstr "" -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " "random, or `none`. Enter to type it." msgstr "" -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "" -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " "empty field to scan. Found here: %s." msgstr "" -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." msgstr "" -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "" -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." msgstr "" -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "" -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "" -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." msgstr "" -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." msgstr "" -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "" -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." msgstr "" -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." msgstr "" -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "" -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "" -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "" -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "" -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "" -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -726,67 +740,93 @@ msgstr "" msgid "There is no PAM configuration for %s on this system." msgstr "" -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "" -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" msgstr "" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "" + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "" + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "" + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "" + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "" -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "" -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "" -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "" -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "" @@ -947,27 +987,27 @@ msgstr "" msgid "A face can only be added with your password." msgstr "" -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "" -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "" -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "" -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "" diff --git a/po/fr.po b/po/fr.po index fd67a11..07385a4 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: French\n" @@ -60,9 +60,9 @@ msgstr "Aucun visage n'a été ajouté." msgid "First, set up your face." msgstr "Configurez d'abord votre visage." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Impossible d'enregistrer le réglage." @@ -127,16 +127,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Aucun visage n'est encore configuré." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "activé" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "désactivé" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s échantillons, %s appris" @@ -166,7 +166,7 @@ msgstr "Activer le déverrouillage facial" msgid "Turn it off (faces are kept)" msgstr "Le désactiver (les visages sont conservés)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Ajouter un visage" @@ -210,7 +210,7 @@ msgstr "" "Lancez ceci avec votre propre utilisateur, pas en root. Le mot de passe est " "demandé quand il le faut." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Commande inconnue : %s" @@ -285,7 +285,7 @@ msgstr "" msgid "The camera could not be used." msgstr "La caméra n'a pas pu être utilisée." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Les modèles de reconnaissance sont absents. Réinstallez le paquet." @@ -301,84 +301,90 @@ msgstr "La caméra est occupée par un autre scan." msgid "The face unlock service is not running." msgstr "Le service de déverrouillage facial n'est pas lancé." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Non autorisé." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"Pas de fenêtre de mot de passe ? Lancez un agent polkit, par exemple " +"hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Une erreur s'est produite (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "" "Regardez la caméra. Clignez des yeux une fois ou tournez un peu la tête." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Visage trouvé." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "" "Reconnu. Clignez maintenant des yeux une fois ou tournez un peu la tête." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Regardez l'écran." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Rapprochez-vous de la caméra." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Il fait trop sombre pour voir votre visage." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "score" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "rotation" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "yeux" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "profondeur" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "clignement" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "reflet" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "bord" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "rotation de la tête" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Reconnu comme %s (score %s) en %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Signe de vie : %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -391,11 +397,11 @@ msgstr "" msgid "[y/N]" msgstr "[o/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "ACTIVÉ" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "DÉSACTIVÉ" @@ -436,7 +442,7 @@ msgstr "lent" msgid "%s seconds" msgstr "%s secondes" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "automatique" @@ -448,81 +454,87 @@ msgstr "celui de face-unlock" msgid "yours" msgstr "le vôtre" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Aucun agent polkit ne tourne, donc aucune fenêtre de mot de passe ne peut s'ouvrir. Ajouter un visage et les demandes d'administration en ont besoin." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Déverrouillage facial" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Service" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "arrêté" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Réactiver le déverrouillage facial le démarre." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Visages" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "aucun configuré pour l'instant" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "tous désactivés" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "aucune trouvée" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Caméra" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Écran de verrouillage" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Demandes d'administration" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Écrans de verrouillage" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Contrôle anti-photo" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "En pause" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "encore %d minutes, ou jusqu'à l'utilisation du mot de passe" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Dernier déverrouillage" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "L'agent de l'écran de verrouillage ne tourne pas." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -530,7 +542,7 @@ msgstr "" "Sous GNOME, une petite extension GNOME affiche la bulle. Activer le " "déverrouillage facial l'active aussi." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -540,7 +552,7 @@ msgstr "" "de face-unlock (`face-unlock lock`, avec la bulle) et les ouvre. Les autres " "écrans de verrouillage scannent avec Entrée." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -548,7 +560,7 @@ msgstr "" "Déverrouille l'écran de verrouillage quand il voit votre visage. Désactivé : " "seul votre mot de passe fonctionne." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -556,7 +568,7 @@ msgstr "" "Scanne quand vous appuyez sur une touche ou bougez la souris sur l'écran de " "verrouillage, et au réveil de l'ordinateur." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -564,7 +576,7 @@ msgstr "" "Scanne dès que l'écran se verrouille. Désactivé par défaut : si vous " "verrouillez vous-même, il se déverrouillerait aussitôt." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -572,7 +584,7 @@ msgstr "" "sudo prend votre visage au lieu du mot de passe. Sinon, vous tapez le mot de " "passe comme d'habitude." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -582,7 +594,7 @@ msgstr "" "avec `face-unlock lock`. Ou gardez le vôtre : hyprlock affiche alors une " "ligne de texte en haut. Entrée ouvre le choix." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -592,11 +604,11 @@ msgstr "" "lock`). Vide : celle de votre bureau. Ou un fichier, un dossier où en " "prendre une au hasard, ou `none`. Entrée pour la saisir." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Floute l'image derrière l'écran de verrouillage de face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -605,7 +617,7 @@ msgstr "" "L'écran de verrouillage accepte votre visage dans sa vérification du mot de " "passe. Appuyez sur Entrée dans le champ vide pour scanner. Trouvés ici : %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -613,18 +625,18 @@ msgstr "" "Les fenêtres de mot de passe de votre bureau et des applications, par " "exemple pour installer un logiciel. Sinon, vous tapez le mot de passe." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Vous devez cligner des yeux ou tourner un peu la tête. Cela bloque aussi les " "photos imprimées." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Aucun contrôle. Seulement pour essayer une caméra." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -632,24 +644,24 @@ msgstr "" "Bloque les photos sur un téléphone, une tablette ou du papier brillant. Pas " "besoin de cligner des yeux. Une photo imprimée mate peut passer." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Moins d'erreurs de correspondance, mais il peut ne pas vous reconnaître avec " "des lunettes ou sous une mauvaise lumière." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "" "Vous reconnaît plus facilement, mais aussi quelqu'un qui vous ressemble " "beaucoup." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "La valeur par défaut. Convient à la plupart des gens." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -657,7 +669,7 @@ msgstr "" "Vos yeux doivent être ouverts et tournés vers l'écran. Ainsi, rien ne se " "déverrouille quand vous regardez ailleurs ou dormez." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -666,11 +678,11 @@ msgstr "" "reconfigurez votre visage. Une caméra infrarouge doit avoir sa lumière " "allumée (linux-enable-ir-emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Combien de temps la caméra cherche votre visage avant d'abandonner." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -679,7 +691,7 @@ msgstr "" "nouvelle coupe ou des lunettes ne demandent donc pas de nouvelle " "configuration." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -687,105 +699,109 @@ msgstr "" "Pas de scan quand le portable est fermé, par exemple à un bureau avec un " "écran externe." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "La bulle en haut de l'écran montre ce que fait la caméra." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Une petite pilule avec un cadenas qui s'ouvre." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "" "Un îlot avec un visage qui regarde autour de lui, puis des anneaux et une " "coche." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "La vitesse à laquelle la bulle bouge." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Affiche aussi la bulle quand sudo ou une demande d'administration scanne " "votre visage." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "automatique (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(infrarouge)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(non branchée)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "comme le bureau" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "aucun" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Image ou dossier :" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Introuvable : %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Réglages" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ choisir ←→ ou Espace : changer q : retour" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "pour tous, demande votre mot de passe" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Haut/Bas : choisir, Espace : activer/désactiver, r : renommer, d : " "supprimer, a : ajouter, q : retour" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Aucun visage n'est encore configuré. Appuyez sur a pour en ajouter un." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Nouveau nom :" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Supprimer « %s » ?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Activer ou désactiver le déverrouillage facial" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Essayer" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Installer un agent polkit" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Quitter" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -803,26 +819,26 @@ msgstr "Le module PAM n'est pas installé dans %s." msgid "There is no PAM configuration for %s on this system." msgstr "Il n'y a pas de configuration PAM pour %s sur ce système." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" "Il faut les droits root, mais ni sudo, ni run0, ni doas n'est installé." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Cette commande doit être lancée en root." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Réglage non valide : %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Ne peut pas servir pour ce service : %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -830,31 +846,57 @@ msgstr "" "Hyprland ne démarre pas l'agent de l'écran de verrouillage tout seul. " "Ajoutez ceci à %s :" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland ne démarre pas l'agent polkit tout seul. Ajoutez ceci à %s :" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Aucun gestionnaire de paquets trouvé pour installer un agent polkit." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Installation d'un agent polkit. Votre mot de passe est nécessaire." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Impossible d'installer un agent polkit." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "L'agent polkit n'a pas démarré. Voir : systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "L'agent polkit tourne. Les fenêtres de mot de passe s'ouvrent maintenant." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Pour verrouiller avec, ajoutez ceci à %s, et mettez %s dans %s :" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Pour verrouiller avec, ajoutez ceci aux binds de %s, et utilisez %s dans " "swayidle :" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Pour verrouiller avec, lancez %s là où votre écran de verrouillage démarre " "aujourd'hui." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "" "Vous verrouillez maintenant avec l'écran de verrouillage de face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -862,12 +904,12 @@ msgstr "" "hyprlock affiche en haut ce que fait face unlock, dès le prochain " "verrouillage." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Impossible d'ajouter la ligne à %s." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -875,7 +917,7 @@ msgstr "" "Votre écran de verrouillage reste tel quel. Appuyez sur Entrée dans le champ " "de mot de passe vide pour scanner." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock n'a pas de %s, il ne peut donc pas afficher le texte." @@ -1036,30 +1078,30 @@ msgstr "Le déverrouillage facial est configuré." msgid "A face can only be added with your password." msgstr "Un visage ne peut être ajouté qu'avec votre mot de passe." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "La caméra n'a pas pu être utilisée : %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "" "Les modèles de reconnaissance faciale sont absents. Réinstallez le paquet." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Cela a pris trop de temps. Réessayez, avec une bonne lumière." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "Le service de déverrouillage facial n'est pas lancé. Activez d'abord le " "déverrouillage facial." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "La caméra est occupée par un autre scan. Réessayez dans un instant." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Le visage n'a pas pu être ajouté (%1)." diff --git a/po/it.po b/po/it.po index 50aabca..c05f5c5 100644 --- a/po/it.po +++ b/po/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Italian\n" @@ -58,9 +58,9 @@ msgstr "Nessun volto aggiunto." msgid "First, set up your face." msgstr "Per prima cosa, configura il tuo volto." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Impossibile salvare l'impostazione." @@ -120,16 +120,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Nessun volto ancora configurato." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "attivo" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "disattivo" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s campioni, %s appresi" @@ -159,7 +159,7 @@ msgstr "Attiva lo sblocco con il volto" msgid "Turn it off (faces are kept)" msgstr "Disattivalo (i volti restano salvati)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Aggiungi un volto" @@ -203,7 +203,7 @@ msgstr "" "Esegui questo con il tuo utente, non come root. Chiede la password quando " "serve." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Comando sconosciuto: %s" @@ -278,7 +278,7 @@ msgstr "" msgid "The camera could not be used." msgstr "Impossibile usare la fotocamera." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Mancano i modelli di riconoscimento. Reinstalla il pacchetto." @@ -294,83 +294,89 @@ msgstr "La fotocamera è occupata con un'altra scansione." msgid "The face unlock service is not running." msgstr "Il servizio di sblocco con il volto non è in esecuzione." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Non consentito." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"Nessuna finestra per la password? Avvia un agente polkit, per esempio " +"hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Qualcosa è andato storto (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "" "Guarda la fotocamera. Sbatti le palpebre una volta o gira un po' la testa." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Volto trovato." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Riconosciuto. Ora sbatti le palpebre una volta o gira un po' la testa." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Guarda lo schermo." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Avvicinati alla fotocamera." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "È troppo buio per vedere il tuo volto." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "somiglianza" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "rotazione" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "occhi" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "profondità" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "battito" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "riflesso" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "bordo" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "rotazione della testa" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Riconosciuto come %s (somiglianza %s) in %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Segno di vita: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -383,11 +389,11 @@ msgstr "" msgid "[y/N]" msgstr "[s/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "ATTIVO" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "DISATTIVO" @@ -428,7 +434,7 @@ msgstr "lenta" msgid "%s seconds" msgstr "%s secondi" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "automatica" @@ -440,81 +446,87 @@ msgstr "quella di face-unlock" msgid "yours" msgstr "la tua" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Nessun agente polkit è in esecuzione, quindi non si può aprire nessuna finestra per la password. Aggiungere un volto e le richieste di amministratore ne hanno bisogno." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Sblocco con il volto" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Servizio" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "non in esecuzione" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Riattivare lo sblocco con il volto lo avvia." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Volti" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "nessuno configurato" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "tutti disattivati" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "nessuna trovata" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Fotocamera" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Schermata di blocco" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Richieste di amministratore" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Schermate di blocco" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Controllo foto" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "In pausa" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "ancora per %d minuti, o finché non si usa la password" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Ultimo sblocco" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "L'agente della schermata di blocco non è in esecuzione." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -522,7 +534,7 @@ msgstr "" "Su GNOME una piccola estensione di GNOME mostra la bolla. Attivando lo " "sblocco con il volto si attiva anche lei." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -532,7 +544,7 @@ msgstr "" "face-unlock (`face-unlock lock`, con la bolla) e li apre. Le altre schermate " "di blocco scansionano con Invio." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -540,7 +552,7 @@ msgstr "" "Sblocca la schermata di blocco quando vede il tuo volto. Disattivo: lì " "funziona solo la password." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -548,7 +560,7 @@ msgstr "" "Esegue la scansione quando premi un tasto o muovi il mouse sulla schermata " "di blocco, e quando il computer si riattiva." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -556,7 +568,7 @@ msgstr "" "Esegue la scansione appena lo schermo si blocca. Disattivo di norma: se lo " "blocchi tu, si sbloccherebbe subito." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -564,7 +576,7 @@ msgstr "" "sudo usa il tuo volto al posto della password. Se non corrisponde, digiti la " "password come al solito." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -574,7 +586,7 @@ msgstr "" "unlock lock`. Oppure tieni la tua: hyprlock mostra allora una riga di testo " "in alto. Invio apre la scelta." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -584,11 +596,11 @@ msgstr "" "lock`). Vuoto: quella del tuo desktop. Oppure un file, una cartella da cui " "prenderne una a caso, o `none`. Invio per scriverla." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Sfoca l'immagine dietro la schermata di blocco di face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -597,7 +609,7 @@ msgstr "" "La schermata di blocco accetta il tuo volto nel controllo della password. " "Premi Invio nel campo vuoto per scansionare. Trovate qui: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -605,18 +617,18 @@ msgstr "" "Le finestre della password del tuo desktop e delle app, per esempio quando " "installi software. Se non corrisponde, digiti la password." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Devi sbattere le palpebre o girare un po' la testa. Questo ferma anche le " "foto stampate." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Nessun controllo. Solo per provare una fotocamera." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -624,22 +636,22 @@ msgstr "" "Ferma le foto su un telefono, un tablet o carta lucida. Non serve sbattere " "le palpebre. Una foto stampata opaca può passare." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Meno scambi di persona, ma potrebbe non riconoscerti con gli occhiali o con " "poca luce." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "Ti riconosce più facilmente, ma anche qualcuno che ti somiglia molto." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "Il valore predefinito. Va bene per la maggior parte delle persone." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -647,7 +659,7 @@ msgstr "" "I tuoi occhi devono essere aperti e rivolti allo schermo. Così non si " "sblocca mentre guardi altrove o dormi." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -656,11 +668,11 @@ msgstr "" "nuovo il tuo volto. Una fotocamera a infrarossi ha bisogno della sua luce " "(linux-enable-ir-emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Per quanto tempo la fotocamera cerca il tuo volto prima di arrendersi." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -669,7 +681,7 @@ msgstr "" "nuovo taglio di capelli o gli occhiali non richiedono una nuova " "configurazione." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -677,103 +689,107 @@ msgstr "" "Nessuna scansione quando il portatile è chiuso, per esempio alla scrivania " "con uno schermo esterno." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "La bolla in cima allo schermo mostra cosa sta facendo la fotocamera." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Una piccola pillola con un lucchetto che si apre." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "Un'isola con un volto che si guarda intorno, poi anelli e una spunta." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "Quanto velocemente si muove la bolla." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Mostra la bolla anche quando sudo o una richiesta di amministratore " "scansiona il tuo volto." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "automatica (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(infrarossi)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(non collegata)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "come il desktop" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "nessuno" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Immagine o cartella:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Non trovato: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Impostazioni" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ scegli ←→ o Spazio: cambia q: indietro" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "per tutti gli utenti, chiede la tua password" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Su/Giù: scegli, Spazio: attiva/disattiva, r: rinomina, d: elimina, a: " "aggiungi, q: indietro" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Nessun volto ancora configurato. Premi a per aggiungerne uno." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Nuovo nome:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Eliminare «%s»?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Attiva o disattiva lo sblocco con il volto" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Provalo" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Installa un agente polkit" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Esci" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -791,26 +807,26 @@ msgstr "Il modulo PAM non è installato in %s." msgid "There is no PAM configuration for %s on this system." msgstr "Su questo sistema non c'è una configurazione PAM per %s." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" "Servono i permessi di root, ma non è installato né sudo, né run0, né doas." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Questo comando deve essere eseguito come root." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Impostazione non valida: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Non si può usare per questo servizio: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -818,40 +834,66 @@ msgstr "" "Hyprland non avvia da solo l'agente della schermata di blocco. Aggiungi " "questo a %s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland non avvia da solo l'agente polkit. Aggiungi questo a %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Nessun gestore di pacchetti trovato per installare un agente polkit." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Installazione di un agente polkit. Serve la tua password." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Impossibile installare un agente polkit." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "L'agente polkit non si è avviato. Vedi: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "L'agente polkit è in esecuzione. Ora le finestre per la password si aprono." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Per bloccare con essa, aggiungi questo a %s e imposta %s in %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Per bloccare con essa, aggiungi questo ai binds in %s e usa %s in swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Per bloccare con essa, esegui %s dove ora parte la tua schermata di blocco." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Ora blocchi con la schermata di blocco di face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "" "hyprlock mostra in alto cosa sta facendo face unlock, dal prossimo blocco." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Impossibile aggiungere la riga a %s." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -859,7 +901,7 @@ msgstr "" "La tua schermata di blocco resta com'è. Premi Invio nel campo password vuoto " "per la scansione." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock non ha %s, quindi non può mostrare il testo." @@ -1020,30 +1062,30 @@ msgstr "Lo sblocco con il volto è configurato." msgid "A face can only be added with your password." msgstr "Un volto si può aggiungere solo con la tua password." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "Impossibile usare la fotocamera: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "Mancano i modelli di riconoscimento facciale. Reinstalla il pacchetto." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Ci è voluto troppo. Riprova con una buona luce." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "Il servizio di sblocco con il volto non è in esecuzione. Attiva prima lo " "sblocco con il volto." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "" "La fotocamera è occupata con un'altra scansione. Riprova tra un attimo." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Impossibile aggiungere il volto (%1)." diff --git a/po/ja.po b/po/ja.po index c40cf7a..3a373f6 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Japanese\n" @@ -57,9 +57,9 @@ msgstr "顔は追加されませんでした。" msgid "First, set up your face." msgstr "まず顔を登録してください。" -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "設定を保存できませんでした。" @@ -115,16 +115,16 @@ msgstr "顔認証はオフです。顔データは残っています。「顔」 msgid "No face is set up yet." msgstr "まだ顔が登録されていません。" -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "オン" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "オフ" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "サンプル %s 件、学習 %s 件" @@ -154,7 +154,7 @@ msgstr "顔認証をオンにする" msgid "Turn it off (faces are kept)" msgstr "オフにする(顔データは残ります)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "顔を追加" @@ -198,7 +198,7 @@ msgstr "" "root ではなく、自分のユーザーで実行してください。必要なときはパスワードを尋ね" "ます。" -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "不明なコマンド: %s" @@ -273,7 +273,7 @@ msgstr "" msgid "The camera could not be used." msgstr "カメラを使用できませんでした。" -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "認識モデルがありません。パッケージを再インストールしてください。" @@ -289,82 +289,88 @@ msgstr "カメラは別のスキャン中です。" msgid "The face unlock service is not running." msgstr "顔認証サービスが動作していません。" -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "許可されていません。" -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"パスワードの画面が出ませんか? polkit エージェント(例: hyprpolkitagent)を起" +"動してください。" + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "問題が発生しました(%s)。" -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "カメラを見てください。一度まばたきするか、少し顔を動かしてください。" -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "顔が見つかりました。" -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "認識しました。一度まばたきするか、少し顔を動かしてください。" -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "画面を見てください。" -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "カメラに近づいてください。" -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "暗すぎて顔が見えません。" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "一致度" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "回転" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "目" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "奥行き" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "まばたき" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "反射" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "縁" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "顔の向き" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "%s として認識しました(一致度 %s、%s ミリ秒)。" -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "生体反応: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -377,11 +383,11 @@ msgstr "" msgid "[y/N]" msgstr "[y/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "オン" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "オフ" @@ -422,7 +428,7 @@ msgstr "遅い" msgid "%s seconds" msgstr "%s 秒" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "自動" @@ -434,81 +440,87 @@ msgstr "face-unlock" msgid "yours" msgstr "今のもの" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "polkit エージェントが動いていないため、パスワードの画面を開けません。顔の追加と管理者の認証にはエージェントが必要です。" + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "顔認証" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "サービス" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "停止中" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "顔認証をもう一度オンにすると起動します。" -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "顔" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "まだ登録なし" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "すべてオフ" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "見つかりません" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "カメラ" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "ロック画面" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "管理者の認証" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "ロック画面" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "写真チェック" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "一時停止中" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "あと %d 分、またはパスワードが使われるまで" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "最後のロック解除" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "ロック画面エージェントが動いていません。" -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -516,7 +528,7 @@ msgstr "" "GNOME では小さな GNOME 拡張機能がバブルを表示します。顔認証をオンにすると一緒" "に有効になります。" -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -526,7 +538,7 @@ msgstr "" "き)に戻ってきたときにスキャンして開きます。ほかのロック画面は Enter でスキャ" "ンします。" -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -534,7 +546,7 @@ msgstr "" "顔を認識するとロック画面を解除します。オフ: ロック画面ではパスワードだけが使" "えます。" -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -542,7 +554,7 @@ msgstr "" "ロック画面でキーを押すかマウスを動かしたとき、そしてコンピューターがスリープ" "から復帰したときにスキャンします。" -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -550,7 +562,7 @@ msgstr "" "画面がロックされるとすぐにスキャンします。既定はオフ: 自分でロックすると、す" "ぐに解除されてしまうためです。" -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -558,7 +570,7 @@ msgstr "" "sudo でパスワードの代わりに顔を使います。一致しなければ、いつも通りパスワード" "を入力します。" -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -568,7 +580,7 @@ msgstr "" "今のロック画面を使い続けることもできます: その場合 hyprlock が上部に一行のテ" "キストを表示します。Enter で選択画面を開きます。" -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -577,11 +589,11 @@ msgstr "" "face-unlock のロック画面(`face-unlock lock`)の背景画像。空欄: デスクトップ" "と同じ画像。またはファイル、ランダムに選ぶフォルダー、`none`。Enter で入力。" -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "face-unlock のロック画面の背景画像をぼかします。" -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -590,7 +602,7 @@ msgstr "" "ロック画面のパスワード確認で顔が使えます。空の欄で Enter を押すとスキャンしま" "す。見つかったもの: %s。" -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -598,16 +610,16 @@ msgstr "" "デスクトップやアプリのパスワード画面です(ソフトウェアのインストール時な" "ど)。一致しなければパスワードを入力します。" -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "まばたきするか、少し顔を動かす必要があります。印刷した写真も防げます。" -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "チェックしません。カメラを試すときだけ使ってください。" -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -615,22 +627,22 @@ msgstr "" "スマホ、タブレット、光沢紙に映った写真を防ぎます。まばたきは不要です。つや消" "しの印刷写真は通ることがあります。" -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "誤認識は減りますが、眼鏡をかけているときや暗いときに認識されないことがありま" "す。" -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "認識されやすくなりますが、あなたによく似た人も認識されやすくなります。" -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "既定値です。ほとんどの人に適しています。" -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -638,7 +650,7 @@ msgstr "" "目を開けて画面を見ている必要があります。よそ見や居眠りの間にロック解除されま" "せん。" -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -646,11 +658,11 @@ msgstr "" "「自動」は最初の通常のカメラを使います。変更したら顔を登録し直してください。" "赤外線カメラはライトをオンにする必要があります(linux-enable-ir-emitter)。" -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "カメラが顔を探してからあきらめるまでの時間です。" -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -658,7 +670,7 @@ msgstr "" "確実に一致したとき、今の見た目を覚えます。髪型を変えたり眼鏡をかけたりして" "も、登録し直す必要はありません。" -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -666,100 +678,104 @@ msgstr "" "ノートパソコンを閉じているときはスキャンしません。外部モニターにつないで机で" "使う場合などです。" -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "画面上部のバブルに、カメラの状態が表示されます。" -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "鍵が開く小さなピルです。" -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "あたりを見回す顔のアイランド。そのあとリングとチェックマークが出ます。" -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "バブルが動く速さです。" -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "sudo や管理者の認証で顔をスキャンするときにもバブルを表示します。" -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "自動(%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(赤外線)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(未接続)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "デスクトップと同じ" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "なし" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "画像またはフォルダー:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "見つかりません: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "設定" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ 選択 ←→ またはスペース: 変更 q: 戻る" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "全ユーザー共通、パスワードが必要" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "上/下: 選択、スペース: オン/オフ、r: 名前を変更、d: 削除、a: 追加、q: 戻る" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "まだ顔が登録されていません。a を押して追加してください。" -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "新しい名前:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "「%s」を削除しますか?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "顔認証のオン/オフ" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "試す" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "polkit エージェントをインストール" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "終了" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -775,26 +791,26 @@ msgstr "PAM モジュールが %s にインストールされていません。" msgid "There is no PAM configuration for %s on this system." msgstr "このシステムには %s の PAM 設定がありません。" -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" "root 権限が必要ですが、sudo も run0 も doas もインストールされていません。" -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "このコマンドは root で実行する必要があります。" -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "無効な設定です: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "このサービスには使えません: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -802,48 +818,74 @@ msgstr "" "Hyprland はロック画面エージェントを自動では起動しません。%s に次を追加してく" "ださい:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland は polkit エージェントを自動では起動しません。%s に次を追加してください:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "polkit エージェントをインストールするためのパッケージマネージャーが見つかりません。" + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "polkit エージェントをインストールします。パスワードが必要です。" + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "polkit エージェントをインストールできませんでした。" + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "polkit エージェントが起動しませんでした。確認: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "polkit エージェントが動いています。これでパスワードの画面が開きます。" + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "これでロックするには、%s にこれを追加し、%s を %s に書いてください:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "これでロックするには、%s の binds にこれを追加し、swayidle で %s を使ってくだ" "さい:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "これでロックするには、今ロック画面を起動している場所で %s を実行してくださ" "い。" -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "これから face-unlock のロック画面でロックします。" -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "次回のロックから、hyprlock が上部に face unlock の状態を表示します。" -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "%s に行を追加できませんでした。" -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "" "ロック画面はそのままです。空のパスワード欄で Enter を押すとスキャンします。" -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock に %s がないため、テキストを表示できません。" @@ -1004,27 +1046,27 @@ msgstr "顔認証の設定が完了しました。" msgid "A face can only be added with your password." msgstr "顔を追加するにはパスワードが必要です。" -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "カメラを使用できませんでした: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "顔認識モデルがありません。パッケージを再インストールしてください。" -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "時間がかかりすぎました。明るい場所でもう一度お試しください。" -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "顔認証サービスが動作していません。まず顔認証をオンにしてください。" -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "カメラは別のスキャン中です。少ししてからもう一度お試しください。" -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "顔を追加できませんでした(%1)。" diff --git a/po/ko.po b/po/ko.po index 4f83d9c..6f77ff6 100644 --- a/po/ko.po +++ b/po/ko.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Korean\n" @@ -57,9 +57,9 @@ msgstr "얼굴이 추가되지 않았습니다." msgid "First, set up your face." msgstr "먼저 얼굴을 등록하세요." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "설정을 저장하지 못했습니다." @@ -116,16 +116,16 @@ msgstr "" msgid "No face is set up yet." msgstr "아직 등록된 얼굴이 없습니다." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "켜짐" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "꺼짐" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "샘플 %s개, 학습 %s개" @@ -155,7 +155,7 @@ msgstr "얼굴 잠금 해제 켜기" msgid "Turn it off (faces are kept)" msgstr "끄기 (얼굴 데이터는 유지)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "얼굴 추가" @@ -197,7 +197,7 @@ msgid "" "needs to." msgstr "root가 아닌 본인 사용자로 실행하세요. 필요하면 비밀번호를 묻습니다." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "알 수 없는 명령: %s" @@ -272,7 +272,7 @@ msgstr "" msgid "The camera could not be used." msgstr "카메라를 사용할 수 없었습니다." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "인식 모델이 없습니다. 패키지를 다시 설치하세요." @@ -288,82 +288,88 @@ msgstr "카메라가 다른 스캔으로 사용 중입니다." msgid "The face unlock service is not running." msgstr "얼굴 잠금 해제 서비스가 실행 중이 아닙니다." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "허용되지 않습니다." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"비밀번호 창이 나타나지 않나요? polkit 에이전트(예: hyprpolkitagent)를 실행하" +"세요." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "문제가 발생했습니다 (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "카메라를 보세요. 눈을 한 번 깜빡이거나 고개를 살짝 돌리세요." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "얼굴을 찾았습니다." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "인식했습니다. 이제 눈을 한 번 깜빡이거나 고개를 살짝 돌리세요." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "화면을 보세요." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "카메라에 더 가까이 오세요." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "너무 어두워서 얼굴이 보이지 않습니다." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "일치도" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "회전" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "눈" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "깊이" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "깜빡임" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "반사" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "가장자리" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "고개 돌림" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "인식됨: %s (일치도 %s), %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "생체 신호: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -376,11 +382,11 @@ msgstr "" msgid "[y/N]" msgstr "[y/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "켜짐" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "꺼짐" @@ -421,7 +427,7 @@ msgstr "느리게" msgid "%s seconds" msgstr "%s초" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "자동" @@ -433,81 +439,87 @@ msgstr "face-unlock" msgid "yours" msgstr "지금 쓰는 것" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "polkit 에이전트가 실행 중이 아니어서 비밀번호 창을 열 수 없습니다. 얼굴 추가와 관리자 인증 창에 필요합니다." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "얼굴 잠금 해제" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "서비스" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "실행 중 아님" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "얼굴 잠금 해제를 다시 켜면 시작됩니다." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "얼굴" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "아직 없음" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "모두 꺼짐" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "찾을 수 없음" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "카메라" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "잠금 화면" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "관리자 인증 창" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "잠금 화면" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "사진 검사" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "일시 중지됨" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "%d분 더, 또는 비밀번호를 사용할 때까지" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "마지막 잠금 해제" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "잠금 화면 에이전트가 실행 중이 아닙니다." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -515,7 +527,7 @@ msgstr "" "GNOME에서는 작은 GNOME 확장이 버블을 보여 줍니다. 얼굴 잠금 해제를 켜면 함께 " "켜집니다." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -524,14 +536,14 @@ msgstr "" "hyprlock, swaylock 또는 face-unlock 자체 잠금 화면(`face-unlock lock`, 버블 " "포함)으로 돌아오면 스캔해서 엽니다. 다른 잠금 화면은 Enter로 스캔합니다." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." msgstr "" "얼굴을 보면 잠금 화면을 해제합니다. 꺼짐: 잠금 화면에서는 비밀번호만 됩니다." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -539,7 +551,7 @@ msgstr "" "잠금 화면에서 키를 누르거나 마우스를 움직일 때, 그리고 컴퓨터가 깨어날 때 스" "캔합니다." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -547,7 +559,7 @@ msgstr "" "화면이 잠기자마자 스캔합니다. 기본값은 꺼짐: 직접 잠그면 곧바로 다시 풀려 버" "리기 때문입니다." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -555,7 +567,7 @@ msgstr "" "sudo가 비밀번호 대신 얼굴을 사용합니다. 일치하지 않으면 평소처럼 비밀번호를 " "입력합니다." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -565,7 +577,7 @@ msgstr "" "금 잠금 화면을 그대로 쓸 수도 있습니다: 그러면 hyprlock이 위쪽에 한 줄의 글" "을 보여 줍니다. Enter로 선택 창을 엽니다." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -574,11 +586,11 @@ msgstr "" "face-unlock 잠금 화면(`face-unlock lock`)의 배경 그림. 비워 두면 바탕 화면의 " "그림. 또는 파일, 무작위로 고를 폴더, `none`. Enter로 입력." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "face-unlock 잠금 화면의 배경 그림을 흐리게 합니다." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -587,7 +599,7 @@ msgstr "" "잠금 화면의 비밀번호 확인에서 얼굴을 받습니다. 빈 칸에서 Enter를 누르면 스캔" "합니다. 찾은 것: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -595,16 +607,16 @@ msgstr "" "데스크톱과 앱의 비밀번호 창입니다. 예를 들어 소프트웨어를 설치할 때입니다. 일" "치하지 않으면 비밀번호를 입력합니다." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "눈을 깜빡이거나 고개를 살짝 돌려야 합니다. 인쇄한 사진도 막아 줍니다." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "검사하지 않습니다. 카메라를 시험할 때만 쓰세요." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -612,22 +624,22 @@ msgstr "" "휴대폰, 태블릿, 광택지에 있는 사진을 막습니다. 눈을 깜빡일 필요는 없습니다. " "무광 인쇄 사진은 통과할 수 있습니다." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "잘못 일치하는 경우가 줄지만, 안경을 쓰거나 조명이 나쁘면 알아보지 못할 수 있" "습니다." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "더 쉽게 알아보지만, 당신과 많이 닮은 사람도 알아볼 수 있습니다." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "기본값입니다. 대부분의 사람에게 알맞습니다." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -635,7 +647,7 @@ msgstr "" "눈을 뜨고 화면을 보고 있어야 합니다. 그래서 다른 곳을 보거나 자는 동안에는 풀" "리지 않습니다." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -643,11 +655,11 @@ msgstr "" "자동은 첫 번째 일반 카메라를 사용합니다. 바꾼 뒤에는 얼굴을 다시 등록하세요. " "적외선 카메라는 조명을 켜야 합니다 (linux-enable-ir-emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "카메라가 포기하기 전까지 얼굴을 찾는 시간입니다." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -655,7 +667,7 @@ msgstr "" "확실히 일치하면 지금 모습을 기억합니다. 그래서 머리 모양이 바뀌거나 안경을 써" "도 다시 등록할 필요가 없습니다." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -663,100 +675,104 @@ msgstr "" "노트북을 덮었을 때는 스캔하지 않습니다. 예를 들어 외부 모니터를 연결해 책상에" "서 쓸 때입니다." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "화면 위쪽의 버블이 카메라가 하는 일을 보여 줍니다." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "자물쇠가 열리는 작은 알약입니다." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "주위를 둘러보는 얼굴이 있는 아일랜드, 그다음 링과 체크 표시입니다." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "버블이 움직이는 속도입니다." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "sudo나 관리자 인증 창이 얼굴을 스캔할 때도 버블을 보여 줍니다." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "자동 (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(적외선)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(연결 안 됨)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "바탕 화면과 같음" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "없음" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "그림 또는 폴더:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "찾을 수 없음: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "설정" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ 선택 ←→ 또는 스페이스: 변경 q: 뒤로" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "모든 사용자에게 적용, 비밀번호 필요" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "위/아래: 선택, 스페이스: 켜기/끄기, r: 이름 바꾸기, d: 삭제, a: 추가, q: 뒤로" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "아직 등록된 얼굴이 없습니다. a를 눌러 추가하세요." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "새 이름:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "\"%s\" 항목을 삭제할까요?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "얼굴 잠금 해제 켜기/끄기" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "사용해 보기" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "polkit 에이전트 설치" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "끝내기" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -773,26 +789,26 @@ msgstr "PAM 모듈이 다음 위치에 설치되어 있지 않습니다: %s" msgid "There is no PAM configuration for %s on this system." msgstr "이 시스템에는 %s용 PAM 설정이 없습니다." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" "root 권한이 필요하지만 sudo, run0, doas 중 아무것도 설치되어 있지 않습니다." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "이 명령은 root로 실행해야 합니다." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "올바르지 않은 설정: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "이 서비스에는 사용할 수 없습니다: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -800,46 +816,72 @@ msgstr "" "Hyprland는 잠금 화면 에이전트를 스스로 시작하지 않습니다. %s에 다음을 추가하" "세요:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland는 polkit 에이전트를 스스로 시작하지 않습니다. %s에 다음을 추가하세요:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "polkit 에이전트를 설치할 패키지 관리자를 찾지 못했습니다." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "polkit 에이전트를 설치합니다. 비밀번호가 필요합니다." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "polkit 에이전트를 설치하지 못했습니다." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "polkit 에이전트가 시작되지 않았습니다. 확인: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "polkit 에이전트가 실행 중입니다. 이제 비밀번호 창이 열립니다." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "이것으로 잠그려면 %s에 이것을 추가하고, %s을(를) %s에 설정하세요:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "이것으로 잠그려면 %s의 binds에 이것을 추가하고, swayidle에서 %s을(를) 쓰세요:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "이것으로 잠그려면 지금 잠금 화면을 시작하는 곳에서 %s을(를) 실행하세요." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "이제 face-unlock 잠금 화면으로 잠급니다." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "다음 잠금부터 hyprlock이 위쪽에 face unlock이 하는 일을 보여 줍니다." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "%s에 줄을 추가할 수 없습니다." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "" "잠금 화면은 그대로입니다. 빈 비밀번호 칸에서 Enter를 누르면 스캔합니다." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock에 %s이(가) 없어 글을 보여 줄 수 없습니다." @@ -1000,28 +1042,28 @@ msgstr "얼굴 잠금 해제가 설정되었습니다." msgid "A face can only be added with your password." msgstr "얼굴은 비밀번호가 있어야만 추가할 수 있습니다." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "카메라를 사용할 수 없었습니다: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "얼굴 인식 모델이 없습니다. 패키지를 다시 설치하세요." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "시간이 너무 오래 걸렸습니다. 밝은 곳에서 다시 시도하세요." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "얼굴 잠금 해제 서비스가 실행 중이 아닙니다. 먼저 얼굴 잠금 해제를 켜세요." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "카메라가 다른 스캔으로 사용 중입니다. 잠시 후 다시 시도하세요." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "얼굴을 추가하지 못했습니다 (%1)." diff --git a/po/nl.po b/po/nl.po index 07a1bb3..de7b1c1 100644 --- a/po/nl.po +++ b/po/nl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Dutch\n" @@ -58,9 +58,9 @@ msgstr "Er is geen gezicht toegevoegd." msgid "First, set up your face." msgstr "Stel eerst je gezicht in." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Kon de instelling niet opslaan." @@ -119,16 +119,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Er is nog geen gezicht ingesteld." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "aan" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "uit" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s opnames, %s bijgeleerd" @@ -158,7 +158,7 @@ msgstr "Gezichtsontgrendeling aanzetten" msgid "Turn it off (faces are kept)" msgstr "Uitzetten (gezichten blijven bewaard)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Een gezicht toevoegen" @@ -202,7 +202,7 @@ msgstr "" "Voer dit uit als je eigen gebruiker, niet als root. Het vraagt om je " "wachtwoord als dat nodig is." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Onbekende opdracht: %s" @@ -277,7 +277,7 @@ msgstr "" msgid "The camera could not be used." msgstr "De camera kon niet worden gebruikt." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "De herkenningsmodellen ontbreken. Installeer het pakket opnieuw." @@ -293,82 +293,87 @@ msgstr "De camera is bezig met een andere scan." msgid "The face unlock service is not running." msgstr "De dienst voor gezichtsontgrendeling draait niet." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Niet toegestaan." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"Geen wachtwoordvenster? Start een polkit-agent, bijvoorbeeld hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Er ging iets mis (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Kijk in de camera. Knipper één keer of draai je hoofd een beetje." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Gezicht gevonden." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Herkend. Knipper nu één keer of draai je hoofd een beetje." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Kijk naar het scherm." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Kom dichter bij de camera." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Het is te donker om je gezicht te zien." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "match" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "draai" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "ogen" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "diepte" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "knipperen" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "schittering" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "rand" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "hoofddraai" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Herkend als %s (match %s) in %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Teken van leven: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -381,11 +386,11 @@ msgstr "" msgid "[y/N]" msgstr "[j/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "AAN" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "UIT" @@ -426,7 +431,7 @@ msgstr "langzaam" msgid "%s seconds" msgstr "%s seconden" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "automatisch" @@ -438,81 +443,87 @@ msgstr "die van face-unlock" msgid "yours" msgstr "de jouwe" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Er draait geen polkit-agent, dus er kan geen wachtwoordvenster openen. Een gezicht toevoegen en beheerdersvragen hebben er een nodig." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Gezichtsontgrendeling" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Dienst" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "draait niet" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Gezichtsontgrendeling opnieuw aanzetten start hem." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Gezichten" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "nog geen ingesteld" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "allemaal uit" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "geen gevonden" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Camera" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Vergrendelscherm" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Beheerdersvragen" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Vergrendelschermen" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Fotocontrole" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "Gepauzeerd" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "nog %d minuten, of tot het wachtwoord wordt gebruikt" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Laatste ontgrendeling" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "De agent voor het vergrendelscherm draait niet." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -520,7 +531,7 @@ msgstr "" "Op GNOME toont een kleine GNOME-extensie de bubbel. Als je " "gezichtsontgrendeling inschakelt, gaat die ook aan." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -530,7 +541,7 @@ msgstr "" "van face-unlock (`face-unlock lock`, met de bubbel) en opent ze. Andere " "vergrendelschermen scannen met Enter." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -538,7 +549,7 @@ msgstr "" "Ontgrendelt het vergrendelscherm als het je gezicht ziet. Uit: daar werkt " "alleen je wachtwoord." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -546,7 +557,7 @@ msgstr "" "Scant als je op het vergrendelscherm een toets indrukt of de muis beweegt, " "en als de computer ontwaakt." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -554,7 +565,7 @@ msgstr "" "Scant zodra het scherm vergrendelt. Standaard uit: vergrendel je zelf, dan " "zou het meteen weer ontgrendelen." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -562,7 +573,7 @@ msgstr "" "sudo neemt je gezicht in plaats van het wachtwoord. Geen match: je typt " "zoals gewoonlijk je wachtwoord." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -572,7 +583,7 @@ msgstr "" "`face-unlock lock`. Of houd de jouwe: hyprlock toont dan bovenaan een regel " "tekst. Enter opent de keuze." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -582,11 +593,11 @@ msgstr "" "lock`). Leeg: die van je bureaublad. Of een bestand, een map waaruit er " "willekeurig een wordt gekozen, of `none`. Enter om te typen." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Vervaagt de afbeelding achter het vergrendelscherm van face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -595,7 +606,7 @@ msgstr "" "Het vergrendelscherm neemt je gezicht in zijn wachtwoordcontrole. Druk op " "Enter in het lege veld om te scannen. Hier gevonden: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -603,18 +614,18 @@ msgstr "" "De wachtwoordvensters van je bureaublad en apps, bijvoorbeeld bij het " "installeren van software. Geen match: je typt je wachtwoord." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Je moet knipperen of je hoofd een beetje draaien. Dat houdt ook geprinte " "foto's tegen." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Helemaal geen controle. Alleen om een camera uit te proberen." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -622,22 +633,22 @@ msgstr "" "Houdt foto's op een telefoon, tablet of glanzend papier tegen. Knipperen is " "niet nodig. Een matte geprinte foto kan erdoor komen." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Minder verwisselingen, maar met een bril of bij slecht licht herkent het je " "misschien niet." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "Herkent je makkelijker, maar ook iemand die veel op je lijkt." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "De standaard. Goed voor de meeste mensen." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -645,7 +656,7 @@ msgstr "" "Je ogen moeten open zijn en naar het scherm kijken. Zo ontgrendelt het niet " "als je wegkijkt of slaapt." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -654,11 +665,11 @@ msgstr "" "opnieuw in. Een infraroodcamera heeft zijn lampje nodig (linux-enable-ir-" "emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Hoe lang de camera naar je gezicht zoekt voordat hij opgeeft." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -666,7 +677,7 @@ msgstr "" "Na een zekere match onthoudt het hoe je er nu uitziet. Een nieuw kapsel of " "een bril vraagt dus niet om opnieuw instellen." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -674,101 +685,105 @@ msgstr "" "Geen scan als de laptop dicht is, bijvoorbeeld aan een bureau met een extern " "scherm." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "De bubbel boven aan het scherm laat zien wat de camera doet." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Een kleine pil met een slot dat opengaat." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "Een eiland met een gezicht dat rondkijkt, daarna ringen en een vinkje." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "Hoe snel de bubbel beweegt." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "Toont de bubbel ook als sudo of een beheerdersvraag je gezicht scant." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "automatisch (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(infrarood)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(niet aangesloten)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "zoals bureaublad" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "geen" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Afbeelding of map:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Niet gevonden: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Instellingen" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ kiezen ←→ of Spatie: wijzigen q: terug" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "voor alle gebruikers, vraagt om je wachtwoord" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Omhoog/Omlaag: kiezen, Spatie: aan/uit, r: hernoemen, d: verwijderen, a: " "toevoegen, q: terug" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Er is nog geen gezicht ingesteld. Druk op a om er een toe te voegen." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Nieuwe naam:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "“%s” verwijderen?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Gezichtsontgrendeling aan- of uitzetten" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Uitproberen" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Een polkit-agent installeren" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Afsluiten" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -786,27 +801,27 @@ msgstr "De PAM-module is niet geïnstalleerd in %s." msgid "There is no PAM configuration for %s on this system." msgstr "Er is op dit systeem geen PAM-configuratie voor %s." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" "Dit heeft root nodig, maar sudo, run0 en doas zijn geen van alle " "geïnstalleerd." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Deze opdracht moet als root draaien." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Geen geldige instelling: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Hier kan het niet voor worden gebruikt: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -814,29 +829,55 @@ msgstr "" "Hyprland start de agent voor het vergrendelscherm niet zelf. Voeg dit toe " "aan %s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland start de polkit-agent niet zelf. Voeg dit toe aan %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Geen pakketbeheerder gevonden om een polkit-agent mee te installeren." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Een polkit-agent wordt geïnstalleerd. Daarvoor is je wachtwoord nodig." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Kon geen polkit-agent installeren." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "De polkit-agent is niet gestart. Zie: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "De polkit-agent draait. Wachtwoordvensters openen nu." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Om ermee te vergrendelen, voeg dit toe aan %s en zet %s in %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Om ermee te vergrendelen, voeg dit toe aan de binds in %s en gebruik %s in " "swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Om ermee te vergrendelen, start %s waar je vergrendelscherm nu wordt gestart." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Je vergrendelt nu met het vergrendelscherm van face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -844,12 +885,12 @@ msgstr "" "hyprlock toont bovenaan wat face unlock doet, vanaf de volgende keer " "vergrendelen." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Kon de regel niet aan %s toevoegen." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -857,7 +898,7 @@ msgstr "" "Je vergrendelscherm blijft zoals het is. Druk op Enter in het lege " "wachtwoordveld om te scannen." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock heeft geen %s, dus het kan de tekst niet tonen." @@ -1018,30 +1059,30 @@ msgstr "Gezichtsontgrendeling is ingesteld." msgid "A face can only be added with your password." msgstr "Een gezicht kan alleen met je wachtwoord worden toegevoegd." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "De camera kon niet worden gebruikt: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "" "De modellen voor gezichtsherkenning ontbreken. Installeer het pakket opnieuw." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Dat duurde te lang. Probeer het opnieuw, bij goed licht." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "De dienst voor gezichtsontgrendeling draait niet. Zet eerst " "gezichtsontgrendeling aan." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "De camera is bezig met een andere scan. Probeer het zo opnieuw." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Het gezicht kon niet worden toegevoegd (%1)." diff --git a/po/pl.po b/po/pl.po index 597ac45..3ba217c 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Polish\n" @@ -59,9 +59,9 @@ msgstr "Nie dodano żadnej twarzy." msgid "First, set up your face." msgstr "Najpierw skonfiguruj swoją twarz." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Nie udało się zapisać ustawienia." @@ -120,16 +120,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Nie skonfigurowano jeszcze żadnej twarzy." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "wł." #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "wył." -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "próbki: %s, wyuczone: %s" @@ -159,7 +159,7 @@ msgstr "Włącz odblokowywanie twarzą" msgid "Turn it off (faces are kept)" msgstr "Wyłącz je (twarze zostają zachowane)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Dodaj twarz" @@ -203,7 +203,7 @@ msgstr "" "Uruchom to jako swój użytkownik, nie jako root. Hasło zostanie zapytane, gdy " "będzie potrzebne." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Nieznane polecenie: %s" @@ -278,7 +278,7 @@ msgstr "" msgid "The camera could not be used." msgstr "Nie udało się użyć kamery." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Brakuje modeli rozpoznawania. Zainstaluj pakiet ponownie." @@ -294,82 +294,86 @@ msgstr "Kamera jest zajęta innym skanowaniem." msgid "The face unlock service is not running." msgstr "Usługa odblokowywania twarzą nie działa." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Brak uprawnień." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "Brak okna hasła? Uruchom agenta polkit, na przykład hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Coś poszło nie tak (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Spójrz w kamerę. Mrugnij raz albo lekko obróć głowę." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Znaleziono twarz." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Rozpoznano. Teraz mrugnij raz albo lekko obróć głowę." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Spójrz na ekran." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Podejdź bliżej kamery." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Jest za ciemno, aby zobaczyć twoją twarz." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "zgodność" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "obrót" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "oczy" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "głębia" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "mrugnięcie" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "odblask" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "krawędź" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "obrót głowy" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Rozpoznano jako %s (zgodność %s) w %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Oznaka życia: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -382,11 +386,11 @@ msgstr "" msgid "[y/N]" msgstr "[t/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "WŁ." -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "WYŁ." @@ -427,7 +431,7 @@ msgstr "wolna" msgid "%s seconds" msgstr "%s s" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "automatyczna" @@ -439,81 +443,87 @@ msgstr "face-unlock" msgid "yours" msgstr "twój" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Nie działa żaden agent polkit, więc nie może otworzyć się okno hasła. Dodawanie twarzy i okna administratora go potrzebują." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Odblokowywanie twarzą" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Usługa" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "nie działa" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Ponowne włączenie odblokowywania twarzą ją uruchomi." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Twarze" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "jeszcze żadnej" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "wszystkie wyłączone" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "nie znaleziono" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Kamera" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Ekran blokady" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Okna administratora" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Ekrany blokady" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Wykrywanie zdjęć" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "Wstrzymane" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "jeszcze %d min lub do użycia hasła" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Ostatnie odblokowanie" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "Agent ekranu blokady nie działa." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -521,7 +531,7 @@ msgstr "" "W GNOME dymek pokazuje małe rozszerzenie GNOME. Włączenie odblokowywania " "twarzą włącza też je." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -531,7 +541,7 @@ msgstr "" "unlock (`face-unlock lock`, z dymkiem), i je otwiera. Inne ekrany blokady " "skanują po Enter." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -539,7 +549,7 @@ msgstr "" "Odblokowuje ekran blokady, gdy widzi twoją twarz. Wyłączone: działa tam " "tylko hasło." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -547,7 +557,7 @@ msgstr "" "Skanuje, gdy naciśniesz klawisz lub poruszysz myszą na ekranie blokady, oraz " "gdy komputer się wybudzi." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -555,7 +565,7 @@ msgstr "" "Skanuje od razu po zablokowaniu ekranu. Domyślnie wyłączone: gdy zablokujesz " "sam, od razu by się odblokował." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -563,7 +573,7 @@ msgstr "" "sudo przyjmuje twarz zamiast hasła. Gdy nie pasuje, wpisujesz hasło jak " "zwykle." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -573,7 +583,7 @@ msgstr "" "lock`. Albo zostaw swój: hyprlock pokaże wtedy u góry linię tekstu. Enter " "otwiera wybór." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -583,11 +593,11 @@ msgstr "" "pulpitu. Albo plik, folder, z którego losowany jest obraz, albo `none`. " "Enter, aby wpisać." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Rozmywa obraz za ekranem blokady face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -596,7 +606,7 @@ msgstr "" "Ekran blokady przyjmuje twarz przy sprawdzaniu hasła. Naciśnij Enter w " "pustym polu, aby skanować. Znalezione tutaj: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -604,18 +614,18 @@ msgstr "" "Okna haseł pulpitu i aplikacji, na przykład przy instalowaniu programów. Gdy " "twarz nie pasuje, wpisujesz hasło." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Musisz mrugnąć albo lekko obrócić głowę. To zatrzymuje też wydrukowane " "zdjęcia." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Bez żadnej kontroli. Tylko do wypróbowania kamery." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -623,22 +633,22 @@ msgstr "" "Zatrzymuje zdjęcia na telefonie, tablecie lub błyszczącym papierze. Nie " "trzeba mrugać. Matowy wydruk może przejść." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Mniej pomyłek, ale może cię nie rozpoznać w okularach albo przy słabym " "świetle." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "Łatwiej cię rozpoznaje, ale też kogoś bardzo do ciebie podobnego." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "Domyślna. Pasuje większości osób." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -646,7 +656,7 @@ msgstr "" "Twoje oczy muszą być otwarte i patrzeć na ekran. Dzięki temu nie odblokuje, " "gdy patrzysz w bok lub śpisz." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -655,11 +665,11 @@ msgstr "" "nowa. Kamera na podczerwień potrzebuje włączonego światła (linux-enable-ir-" "emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Jak długo kamera szuka twojej twarzy, zanim się podda." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -667,7 +677,7 @@ msgstr "" "Po pewnym dopasowaniu zapamiętuje, jak teraz wyglądasz. Nowa fryzura czy " "okulary nie wymagają więc ponownej konfiguracji." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -675,102 +685,106 @@ msgstr "" "Bez skanowania, gdy laptop jest zamknięty, na przykład przy biurku z " "zewnętrznym ekranem." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "Dymek u góry ekranu pokazuje, co robi kamera." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Mała pigułka z kłódką, która się otwiera." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "Wyspa z twarzą, która się rozgląda, potem pierścienie i ptaszek." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "Jak szybko porusza się dymek." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Pokazuje dymek także wtedy, gdy sudo lub okno administratora skanuje twarz." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "automatyczna (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(podczerwień)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(niepodłączona)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "jak na pulpicie" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "brak" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Obraz lub folder:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Nie znaleziono: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Ustawienia" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ wybierz ←→ lub Spacja: zmień q: wstecz" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "dla wszystkich użytkowników, pyta o hasło" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Góra/Dół: wybierz, Spacja: wł./wył., r: zmień nazwę, d: usuń, a: dodaj, q: " "wstecz" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Nie skonfigurowano jeszcze żadnej twarzy. Naciśnij a, aby dodać." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Nowa nazwa:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Usunąć „%s”?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Włącz lub wyłącz odblokowywanie twarzą" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Wypróbuj" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Zainstaluj agenta polkit" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Zakończ" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -786,63 +800,89 @@ msgstr "Moduł PAM nie jest zainstalowany w %s." msgid "There is no PAM configuration for %s on this system." msgstr "Na tym systemie nie ma konfiguracji PAM dla %s." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "" "To wymaga roota, a nie jest zainstalowane ani sudo, ani run0, ani doas." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "To polecenie musi działać jako root." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Nieprawidłowe ustawienie: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Nie można tego użyć dla tej usługi: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" msgstr "Hyprland nie uruchamia sam agenta ekranu blokady. Dodaj to do %s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland nie uruchamia sam agenta polkit. Dodaj to do %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Nie znaleziono menedżera pakietów, którym można zainstalować agenta polkit." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Instalowanie agenta polkit. Potrzebne jest twoje hasło." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Nie udało się zainstalować agenta polkit." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "Agent polkit się nie uruchomił. Zobacz: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "Agent polkit działa. Okna hasła teraz się otwierają." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Aby nim blokować, dodaj to do %s i ustaw %s w %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "Aby nim blokować, dodaj to do binds w %s i użyj %s w swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Aby nim blokować, uruchamiaj %s tam, gdzie teraz startuje twój ekran blokady." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Teraz blokujesz ekranem blokady face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "hyprlock pokaże u góry, co robi face unlock, od następnej blokady." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Nie udało się dodać linii do %s." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -850,7 +890,7 @@ msgstr "" "Twój ekran blokady zostaje bez zmian. Naciśnij Enter w pustym polu hasła, " "aby skanować." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock nie ma %s, więc nie może pokazać tekstu." @@ -1011,29 +1051,29 @@ msgstr "Odblokowywanie twarzą jest skonfigurowane." msgid "A face can only be added with your password." msgstr "Twarz można dodać tylko z hasłem." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "Nie udało się użyć kamery: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "Brakuje modeli rozpoznawania twarzy. Zainstaluj pakiet ponownie." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "To trwało za długo. Spróbuj ponownie przy dobrym świetle." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "Usługa odblokowywania twarzą nie działa. Najpierw włącz odblokowywanie " "twarzą." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "Kamera jest zajęta innym skanowaniem. Spróbuj ponownie za chwilę." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Nie udało się dodać twarzy (%1)." diff --git a/po/pt_BR.po b/po/pt_BR.po index a199f80..aedcad9 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Brazilian Portuguese\n" @@ -58,9 +58,9 @@ msgstr "Nenhum rosto foi adicionado." msgid "First, set up your face." msgstr "Primeiro, configure o seu rosto." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Não foi possível salvar a configuração." @@ -122,16 +122,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Nenhum rosto configurado ainda." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "ativado" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "desativado" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s amostras, %s aprendidas" @@ -161,7 +161,7 @@ msgstr "Ativar o desbloqueio facial" msgid "Turn it off (faces are kept)" msgstr "Desativar (os rostos são mantidos)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Adicionar um rosto" @@ -205,7 +205,7 @@ msgstr "" "Execute isto com o seu próprio usuário, não como root. Ele pede a sua senha " "quando precisa." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Comando desconhecido: %s" @@ -280,7 +280,7 @@ msgstr "" msgid "The camera could not be used." msgstr "Não foi possível usar a câmera." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Os modelos de reconhecimento estão faltando. Reinstale o pacote." @@ -296,82 +296,88 @@ msgstr "A câmera está ocupada com outra leitura." msgid "The face unlock service is not running." msgstr "O serviço de desbloqueio facial não está em execução." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Não permitido." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"Nenhuma janela de senha? Inicie um agente do polkit, por exemplo o " +"hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Algo deu errado (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Olhe para a câmera. Pisque uma vez ou vire um pouco a cabeça." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Rosto encontrado." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Reconhecido. Agora pisque uma vez ou vire um pouco a cabeça." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Olhe para a tela." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Aproxime-se da câmera." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Está escuro demais para ver o seu rosto." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "semelhança" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "giro" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "olhos" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "profundidade" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "piscada" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "reflexo" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "borda" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "giro da cabeça" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Reconhecido como %s (semelhança %s) em %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Sinal de vida: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -384,11 +390,11 @@ msgstr "" msgid "[y/N]" msgstr "[s/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "ATIVADO" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "DESATIVADO" @@ -429,7 +435,7 @@ msgstr "lenta" msgid "%s seconds" msgstr "%s segundos" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "automática" @@ -441,81 +447,87 @@ msgstr "a do face-unlock" msgid "yours" msgstr "a sua" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Nenhum agente do polkit está em execução, então nenhuma janela de senha pode abrir. Adicionar um rosto e os pedidos de administrador precisam de um." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Desbloqueio facial" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Serviço" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "parado" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Ativar o desbloqueio facial de novo o inicia." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Rostos" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "nenhum configurado ainda" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "todos desativados" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "nenhuma encontrada" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Câmera" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Tela de bloqueio" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Pedidos de administrador" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Telas de bloqueio" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Detecção de foto" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "Pausado" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "por mais %d minutos, ou até a senha ser usada" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Último desbloqueio" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "O agente da tela de bloqueio não está em execução." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -523,7 +535,7 @@ msgstr "" "No GNOME, uma pequena extensão do GNOME mostra a bolha. Ativar o desbloqueio " "facial também a ativa." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -533,7 +545,7 @@ msgstr "" "face-unlock (`face-unlock lock`, com a bolha) e os abre. As outras telas de " "bloqueio escaneiam com Enter." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -541,7 +553,7 @@ msgstr "" "Desbloqueia a tela de bloqueio quando vê o seu rosto. Desativado: lá só a " "sua senha funciona." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -549,7 +561,7 @@ msgstr "" "Faz a leitura quando você aperta uma tecla ou mexe o mouse na tela de " "bloqueio, e quando o computador acorda." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -557,7 +569,7 @@ msgstr "" "Faz a leitura assim que a tela é bloqueada. Desativado por padrão: se você " "mesmo bloquear, ela desbloquearia logo em seguida." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -565,7 +577,7 @@ msgstr "" "O sudo usa o seu rosto em vez da senha. Se não corresponder, você digita a " "senha como sempre." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -575,7 +587,7 @@ msgstr "" "unlock lock`. Ou mantenha a sua: o hyprlock então mostra uma linha de texto " "no topo. Enter abre a escolha." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -585,11 +597,11 @@ msgstr "" "Vazio: a da sua área de trabalho. Ou um arquivo, uma pasta da qual uma é " "escolhida ao acaso, ou `none`. Enter para digitar." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Desfoca a imagem atrás da tela de bloqueio do face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -598,7 +610,7 @@ msgstr "" "A tela de bloqueio aceita seu rosto na verificação de senha. Pressione Enter " "no campo vazio para escanear. Encontradas aqui: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -606,18 +618,18 @@ msgstr "" "As janelas de senha da sua área de trabalho e dos apps, por exemplo ao " "instalar programas. Se não corresponder, você digita a senha." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Você precisa piscar ou virar um pouco a cabeça. Isso também barra fotos " "impressas." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Nenhuma verificação. Só para testar uma câmera." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -625,23 +637,23 @@ msgstr "" "Barra fotos em celular, tablet ou papel brilhante. Não é preciso piscar. Uma " "foto impressa em papel fosco pode passar." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Menos confusões, mas talvez não reconheça você de óculos ou com pouca luz." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "" "Reconhece você com mais facilidade, mas também alguém muito parecido com " "você." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "O padrão. Serve para a maioria das pessoas." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -649,7 +661,7 @@ msgstr "" "Seus olhos precisam estar abertos e voltados para a tela. Assim não " "desbloqueia enquanto você olha para outro lado ou dorme." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -658,11 +670,11 @@ msgstr "" "rosto de novo. Uma câmera infravermelha precisa da luz ligada (linux-enable-" "ir-emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Quanto tempo a câmera procura o seu rosto antes de desistir." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -670,7 +682,7 @@ msgstr "" "Após uma correspondência segura, ele guarda a sua aparência atual. Assim, um " "corte de cabelo novo ou óculos não exigem nova configuração." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -678,103 +690,107 @@ msgstr "" "Nenhuma leitura com o notebook fechado, por exemplo numa mesa com uma tela " "externa." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "A bolha no topo da tela mostra o que a câmera está fazendo." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Uma pequena pílula com um cadeado que se abre." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "Uma ilha com um rosto que olha em volta, depois anéis e um visto." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "A velocidade com que a bolha se move." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Mostra a bolha também quando o sudo ou um pedido de administrador lê o seu " "rosto." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "automática (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(infravermelha)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(não conectada)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "igual à área de trabalho" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "nenhum" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Imagem ou pasta:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Não encontrado: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Configurações" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ escolher ←→ ou Espaço: mudar q: voltar" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "para todos os usuários, pede a sua senha" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Cima/Baixo: escolher, Espaço: ativar/desativar, r: renomear, d: apagar, a: " "adicionar, q: voltar" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Nenhum rosto configurado ainda. Aperte a para adicionar um." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Novo nome:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Apagar \"%s\"?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Ativar ou desativar o desbloqueio facial" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Testar" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Instalar um agente do polkit" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Sair" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -792,25 +808,25 @@ msgstr "O módulo PAM não está instalado em %s." msgid "There is no PAM configuration for %s on this system." msgstr "Não há configuração PAM para %s neste sistema." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "Isto precisa de root, e nem sudo, nem run0, nem doas está instalado." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Este comando precisa ser executado como root." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Configuração inválida: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Não pode ser usado para este serviço: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -818,28 +834,54 @@ msgstr "" "O Hyprland não inicia o agente da tela de bloqueio sozinho. Adicione isto a " "%s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "O Hyprland não inicia o agente do polkit sozinho. Adicione isto a %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Nenhum gerenciador de pacotes encontrado para instalar um agente do polkit." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Instalando um agente do polkit. Isso precisa da sua senha." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Não foi possível instalar um agente do polkit." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "O agente do polkit não iniciou. Veja: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "O agente do polkit está em execução. As janelas de senha abrem agora." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Para bloquear com ela, adicione isto a %s e defina %s em %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Para bloquear com ela, adicione isto aos binds em %s e use %s no swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Para bloquear com ela, rode %s onde sua tela de bloqueio é iniciada hoje." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Agora você bloqueia com a tela de bloqueio do face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -847,12 +889,12 @@ msgstr "" "O hyprlock mostra no topo o que o face unlock está fazendo, a partir do " "próximo bloqueio." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Não foi possível adicionar a linha a %s." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -860,7 +902,7 @@ msgstr "" "Sua tela de bloqueio fica como está. Pressione Enter no campo de senha vazio " "para escanear." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "O hyprlock não tem %s, então não pode mostrar o texto." @@ -1021,30 +1063,30 @@ msgstr "O desbloqueio facial está configurado." msgid "A face can only be added with your password." msgstr "Um rosto só pode ser adicionado com a sua senha." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "Não foi possível usar a câmera: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "" "Os modelos de reconhecimento facial estão faltando. Reinstale o pacote." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Demorou demais. Tente de novo, com boa luz." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "O serviço de desbloqueio facial não está em execução. Ative o desbloqueio " "facial primeiro." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "A câmera está ocupada com outra leitura. Tente de novo em instantes." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Não foi possível adicionar o rosto (%1)." diff --git a/po/ru.po b/po/ru.po index 940417d..24eee22 100644 --- a/po/ru.po +++ b/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Russian\n" @@ -59,9 +59,9 @@ msgstr "Лицо не добавлено." msgid "First, set up your face." msgstr "Сначала настройте своё лицо." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Не удалось сохранить настройку." @@ -120,16 +120,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Ещё не настроено ни одного лица." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "вкл." #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "выкл." -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "образцов: %s, выучено: %s" @@ -159,7 +159,7 @@ msgstr "Включить разблокировку по лицу" msgid "Turn it off (faces are kept)" msgstr "Выключить её (лица сохраняются)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Добавить лицо" @@ -203,7 +203,7 @@ msgstr "" "Запускайте это от своего пользователя, не от root. Пароль будет запрошен, " "когда он понадобится." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Неизвестная команда: %s" @@ -278,7 +278,7 @@ msgstr "" msgid "The camera could not be used." msgstr "Не удалось использовать камеру." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Нет моделей распознавания. Переустановите пакет." @@ -294,82 +294,86 @@ msgstr "Камера занята другим сканированием." msgid "The face unlock service is not running." msgstr "Служба разблокировки по лицу не запущена." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Нет доступа." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "Нет окна для пароля? Запустите агент polkit, например hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Что-то пошло не так (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Посмотрите в камеру. Моргните один раз или слегка поверните голову." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Лицо найдено." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Распознано. Теперь моргните один раз или слегка поверните голову." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Посмотрите на экран." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Подвиньтесь ближе к камере." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Слишком темно, чтобы увидеть ваше лицо." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "сходство" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "поворот" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "глаза" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "глубина" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "моргание" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "блик" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "край" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "поворот головы" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Распознано как %s (сходство %s) за %s мс." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Признак жизни: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -382,11 +386,11 @@ msgstr "" msgid "[y/N]" msgstr "[д/Н]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "ВКЛ" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "ВЫКЛ" @@ -427,7 +431,7 @@ msgstr "медленная" msgid "%s seconds" msgstr "%s с" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "автоматически" @@ -439,81 +443,87 @@ msgstr "face-unlock" msgid "yours" msgstr "ваш" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Агент polkit не запущен, поэтому окно для пароля не может открыться. Он нужен для добавления лица и запросов администратора." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Разблокировка по лицу" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Служба" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "не запущена" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Повторное включение разблокировки по лицу запустит её." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Лица" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "пока не настроены" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "все выключены" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "не найдена" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Камера" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Экран блокировки" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Запросы администратора" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Экраны блокировки" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Проверка на фото" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "Приостановлено" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "ещё %d мин или до ввода пароля" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Последняя разблокировка" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "Агент экрана блокировки не запущен." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -521,7 +531,7 @@ msgstr "" "В GNOME пузырь показывает небольшое расширение GNOME. Оно включается вместе " "с разблокировкой по лицу." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -531,7 +541,7 @@ msgstr "" "блокировки face-unlock (`face-unlock lock`, с пузырём), и открывает их. " "Другие экраны блокировки сканируют по Enter." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -539,7 +549,7 @@ msgstr "" "Снимает блокировку экрана, когда видит ваше лицо. Выкл.: там работает только " "пароль." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -547,7 +557,7 @@ msgstr "" "Сканирует, когда вы нажимаете клавишу или двигаете мышь на экране " "блокировки, и когда компьютер просыпается." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -555,7 +565,7 @@ msgstr "" "Сканирует сразу после блокировки экрана. По умолчанию выкл.: если вы " "блокируете сами, он тут же разблокировался бы." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -563,7 +573,7 @@ msgstr "" "sudo принимает ваше лицо вместо пароля. Не совпало: вы вводите пароль как " "обычно." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -573,7 +583,7 @@ msgstr "" "`face-unlock lock`. Или оставьте свой: тогда hyprlock покажет сверху строку " "текста. Enter открывает выбор." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -583,11 +593,11 @@ msgstr "" "что на рабочем столе. Или файл, папка, из которой берётся случайная, или " "`none`. Нажмите Enter, чтобы ввести." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Размывает картинку за экраном блокировки face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -596,7 +606,7 @@ msgstr "" "Экран блокировки принимает ваше лицо при проверке пароля. Нажмите Enter в " "пустом поле, чтобы сканировать. Найдено здесь: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -604,18 +614,18 @@ msgstr "" "Окна ввода пароля рабочего стола и приложений, например при установке " "программ. Не совпало: вы вводите пароль." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Нужно моргнуть или слегка повернуть голову. Это также останавливает " "распечатанные фото." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Никакой проверки. Только чтобы опробовать камеру." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -623,22 +633,22 @@ msgstr "" "Останавливает фото на телефоне, планшете или глянцевой бумаге. Моргать не " "нужно. Матовое распечатанное фото может пройти." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Меньше ошибочных совпадений, но может не узнать вас в очках или при плохом " "свете." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "Узнаёт вас легче, но и того, кто очень на вас похож." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "По умолчанию. Подходит большинству." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -646,7 +656,7 @@ msgstr "" "Ваши глаза должны быть открыты и смотреть на экран. Так он не " "разблокируется, пока вы смотрите в сторону или спите." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -655,11 +665,11 @@ msgstr "" "заново. Инфракрасной камере нужна включённая подсветка (linux-enable-ir-" "emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Как долго камера ищет ваше лицо, прежде чем сдаться." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -667,7 +677,7 @@ msgstr "" "После уверенного совпадения запоминает, как вы выглядите сейчас. Новая " "стрижка или очки не требуют новой настройки." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -675,103 +685,107 @@ msgstr "" "Без сканирования, когда ноутбук закрыт, например за столом с внешним " "монитором." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "Пузырь вверху экрана показывает, что делает камера." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Маленькая таблетка с замком, который открывается." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "Остров с лицом, которое оглядывается, затем кольца и галочка." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "Как быстро движется пузырь." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Показывает пузырь и тогда, когда sudo или запрос администратора сканирует " "ваше лицо." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "автоматически (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(инфракрасная)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(не подключена)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "как на рабочем столе" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "нет" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Картинка или папка:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Не найдено: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Настройки" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ выбор ←→ или Пробел: изменить q: назад" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "для всех пользователей, запрашивает пароль" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Вверх/Вниз: выбор, Пробел: вкл./выкл., r: переименовать, d: удалить, a: " "добавить, q: назад" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Ещё не настроено ни одного лица. Нажмите a, чтобы добавить." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Новое имя:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Удалить «%s»?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Включить или выключить разблокировку по лицу" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Попробовать" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Установить агент polkit" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Выход" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -789,65 +803,91 @@ msgstr "Модуль PAM не установлен в %s." msgid "There is no PAM configuration for %s on this system." msgstr "В этой системе нет настройки PAM для %s." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "Для этого нужен root, но не установлен ни sudo, ни run0, ни doas." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Эту команду нужно запускать от root." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Недопустимая настройка: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Для этой службы использовать нельзя: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" msgstr "Hyprland сам не запускает агент экрана блокировки. Добавьте это в %s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland сам не запускает агент polkit. Добавьте это в %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Не найден менеджер пакетов, чтобы установить агент polkit." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Устанавливается агент polkit. Для этого нужен ваш пароль." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Не удалось установить агент polkit." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "Агент polkit не запустился. Смотрите: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "Агент polkit запущен. Теперь окна для пароля открываются." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Чтобы блокировать им, добавьте это в %s и укажите %s в %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Чтобы блокировать им, добавьте это в binds в %s и используйте %s в swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Чтобы блокировать им, запускайте %s там, где сейчас запускается ваш экран " "блокировки." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Теперь вы блокируете экраном блокировки face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "" "hyprlock покажет сверху, что делает face unlock, со следующей блокировки." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Не удалось добавить строку в %s." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -855,7 +895,7 @@ msgstr "" "Ваш экран блокировки остаётся как есть. Нажмите Enter в пустом поле пароля, " "чтобы сканировать." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "У hyprlock нет %s, поэтому он не может показать текст." @@ -1016,30 +1056,30 @@ msgstr "Разблокировка по лицу настроена." msgid "A face can only be added with your password." msgstr "Лицо можно добавить только с вашим паролем." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "Не удалось использовать камеру: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "Нет моделей распознавания лиц. Переустановите пакет." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "" "Это заняло слишком много времени. Попробуйте ещё раз при хорошем свете." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "Служба разблокировки по лицу не запущена. Сначала включите разблокировку по " "лицу." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "Камера занята другим сканированием. Попробуйте чуть позже." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Не удалось добавить лицо (%1)." diff --git a/po/tr.po b/po/tr.po index cf9f39d..9ad6c64 100644 --- a/po/tr.po +++ b/po/tr.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Turkish\n" @@ -57,9 +57,9 @@ msgstr "Hiç yüz eklenmedi." msgid "First, set up your face." msgstr "Önce yüzünüzü kurun." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Ayar kaydedilemedi." @@ -116,16 +116,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Henüz hiç yüz kurulmadı." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "açık" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "kapalı" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s örnek, %s öğrenilen" @@ -155,7 +155,7 @@ msgstr "Yüzle kilit açmayı aç" msgid "Turn it off (faces are kept)" msgstr "Kapat (yüzler saklanır)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Yüz ekle" @@ -199,7 +199,7 @@ msgstr "" "Bunu root olarak değil, kendi kullanıcınızla çalıştırın. Gerektiğinde " "parolanızı sorar." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Bilinmeyen komut: %s" @@ -274,7 +274,7 @@ msgstr "" msgid "The camera could not be used." msgstr "Kamera kullanılamadı." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Tanıma modelleri eksik. Paketi yeniden kurun." @@ -290,82 +290,88 @@ msgstr "Kamera başka bir taramayla meşgul." msgid "The face unlock service is not running." msgstr "Yüzle kilit açma hizmeti çalışmıyor." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "İzin verilmiyor." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"Parola penceresi çıkmadı mı? Bir polkit aracısı başlatın, örneğin " +"hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Bir şeyler ters gitti (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Kameraya bakın. Bir kez göz kırpın ya da başınızı biraz çevirin." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Yüz bulundu." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Tanındı. Şimdi bir kez göz kırpın ya da başınızı biraz çevirin." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Ekrana bakın." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Kameraya yaklaşın." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Yüzünüzü görmek için ortam çok karanlık." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "benzerlik" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "dönüş" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "gözler" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "derinlik" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "göz kırpma" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "parlama" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "kenar" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "baş çevirme" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Tanınan: %s (benzerlik %s), süre %s ms." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Canlılık işareti: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -378,11 +384,11 @@ msgstr "" msgid "[y/N]" msgstr "[e/H]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "AÇIK" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "KAPALI" @@ -423,7 +429,7 @@ msgstr "yavaş" msgid "%s seconds" msgstr "%s saniye" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "otomatik" @@ -435,81 +441,87 @@ msgstr "face-unlock" msgid "yours" msgstr "sizinki" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Çalışan bir polkit aracısı yok, bu yüzden parola penceresi açılamaz. Yüz eklemek ve yönetici istemleri için bir tane gerekir." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Yüzle kilit açma" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Hizmet" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "çalışmıyor" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Yüzle kilit açmayı yeniden açmak onu başlatır." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Yüzler" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "henüz kurulmadı" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "hepsi kapalı" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "bulunamadı" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Kamera" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Kilit ekranı" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Yönetici istemleri" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Kilit ekranları" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Fotoğraf denetimi" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "Duraklatıldı" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "%d dakika daha ya da parola kullanılana kadar" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Son kilit açma" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "Kilit ekranı aracısı çalışmıyor." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -517,7 +529,7 @@ msgstr "" "GNOME'da baloncuğu küçük bir GNOME uzantısı gösterir. Yüzle kilit açmayı " "açınca o da açılır." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -527,7 +539,7 @@ msgstr "" "unlock lock`, baloncukla) döndüğünüzde tarar ve onları açar. Diğer kilit " "ekranları Enter ile tarar." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -535,7 +547,7 @@ msgstr "" "Yüzünüzü görünce kilit ekranını açar. Kapalı: orada yalnızca parolanız " "çalışır." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -543,7 +555,7 @@ msgstr "" "Kilit ekranında bir tuşa bastığınızda ya da fareyi oynattığınızda ve " "bilgisayar uyandığında tarar." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -551,7 +563,7 @@ msgstr "" "Ekran kilitlenir kilitlenmez tarar. Varsayılan olarak kapalı: kendiniz " "kilitlerseniz hemen yeniden açılırdı." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -559,7 +571,7 @@ msgstr "" "sudo parola yerine yüzünüzü kullanır. Eşleşmezse parolayı her zamanki gibi " "yazarsınız." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -569,7 +581,7 @@ msgstr "" "kilitlersiniz. Ya da kendinizinkini koruyun: hyprlock o zaman üstte bir " "satır metin gösterir. Enter seçimi açar." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -579,11 +591,11 @@ msgstr "" "masaüstünüzdeki resim. Ya da bir dosya, rastgele seçilecek bir klasör veya " "`none`. Yazmak için Enter." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "face-unlock kilit ekranının arkasındaki resmi bulanıklaştırır." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -592,7 +604,7 @@ msgstr "" "Kilit ekranı parola denetiminde yüzünüzü kabul eder. Taramak için boş alanda " "Enter'a basın. Burada bulunanlar: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -600,18 +612,18 @@ msgstr "" "Masaüstünüzün ve uygulamaların parola pencereleri, örneğin yazılım kurarken. " "Eşleşmezse parolayı yazarsınız." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Göz kırpmanız ya da başınızı biraz çevirmeniz gerekir. Bu, basılı " "fotoğrafları da durdurur." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Hiç denetim yok. Yalnızca bir kamerayı denemek için." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -619,21 +631,21 @@ msgstr "" "Telefon, tablet ya da parlak kâğıttaki fotoğrafları durdurur. Göz kırpmanız " "gerekmez. Mat basılı bir fotoğraf geçebilir." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Daha az yanlış eşleşme, ama gözlükle ya da kötü ışıkta sizi tanımayabilir." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "Sizi daha kolay tanır, ama size çok benzeyen birini de." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "Varsayılan. Çoğu kişi için uygun." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -641,7 +653,7 @@ msgstr "" "Gözleriniz açık ve ekrana dönük olmalı. Böylece başka yere bakarken ya da " "uyurken kilit açılmaz." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -650,11 +662,11 @@ msgstr "" "kurun. Kızılötesi kameranın ışığının açık olması gerekir (linux-enable-ir-" "emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Kameranın vazgeçmeden önce yüzünüzü ne kadar aradığı." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -662,109 +674,113 @@ msgstr "" "Kesin bir eşleşmeden sonra şu anki görünüşünüzü hatırlar. Böylece yeni saç " "kesimi ya da gözlük yeniden kurulum gerektirmez." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." msgstr "Dizüstü kapalıyken tarama yok, örneğin harici ekranlı bir masada." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "Ekranın üstündeki baloncuk kameranın ne yaptığını gösterir." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Açılan bir kilidi olan küçük bir hap." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "" "Etrafına bakan bir yüzü olan bir ada, ardından halkalar ve bir onay işareti." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "Baloncuğun ne kadar hızlı hareket ettiği." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "sudo ya da bir yönetici istemi yüzünüzü taradığında da baloncuğu gösterir." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "otomatik (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(kızılötesi)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(bağlı değil)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "masaüstüyle aynı" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "yok" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Resim ya da klasör:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Bulunamadı: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Ayarlar" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ seç ←→ ya da Boşluk: değiştir q: geri" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "tüm kullanıcılar için, parolanızı sorar" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Yukarı/Aşağı: seç, Boşluk: aç/kapat, r: yeniden adlandır, d: sil, a: ekle, " "q: geri" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Henüz hiç yüz kurulmadı. Eklemek için a tuşuna basın." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Yeni ad:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "\"%s\" silinsin mi?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Yüzle kilit açmayı aç ya da kapat" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Dene" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Bir polkit aracısı kur" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Çık" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -782,25 +798,25 @@ msgstr "PAM modülü şu konumda kurulu değil: %s" msgid "There is no PAM configuration for %s on this system." msgstr "Bu sistemde %s için PAM yapılandırması yok." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "Bunun için root gerekli, ama ne sudo ne run0 ne de doas kurulu." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Bu komut root olarak çalışmalı." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Geçerli bir ayar değil: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Bunun için kullanılamaz: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" @@ -808,32 +824,58 @@ msgstr "" "Hyprland kilit ekranı aracısını kendiliğinden başlatmaz. Bunu %s dosyasına " "ekleyin:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland polkit aracısını kendiliğinden başlatmaz. Bunu %s dosyasına ekleyin:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Bir polkit aracısı kurmak için paket yöneticisi bulunamadı." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Bir polkit aracısı kuruluyor. Bunun için parolanız gerekiyor." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Bir polkit aracısı kurulamadı." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "polkit aracısı başlamadı. Bakın: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "polkit aracısı çalışıyor. Parola pencereleri artık açılıyor." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "" "Onunla kilitlemek için bunu %s dosyasına ekleyin ve %s ayarını %s içine " "yazın:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Onunla kilitlemek için bunu %s içindeki binds'a ekleyin ve swayidle'da %s " "kullanın:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Onunla kilitlemek için kilit ekranınızın şu an başlatıldığı yerde %s " "çalıştırın." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Artık face-unlock'un kilit ekranıyla kilitliyorsunuz." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -841,12 +883,12 @@ msgstr "" "Bir sonraki kilitlemeden itibaren hyprlock, face unlock'un ne yaptığını " "üstte gösterir." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Satır %s dosyasına eklenemedi." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -854,7 +896,7 @@ msgstr "" "Kilit ekranınız olduğu gibi kalır. Taramak için boş parola alanında Enter'a " "basın." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock'un %s dosyası yok, bu yüzden metni gösteremez." @@ -1015,27 +1057,27 @@ msgstr "Yüzle kilit açma kuruldu." msgid "A face can only be added with your password." msgstr "Bir yüz yalnızca parolanızla eklenebilir." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "Kamera kullanılamadı: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "Yüz tanıma modelleri eksik. Paketi yeniden kurun." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Çok uzun sürdü. İyi bir ışıkta yeniden deneyin." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "Yüzle kilit açma hizmeti çalışmıyor. Önce yüzle kilit açmayı açın." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "Kamera başka bir taramayla meşgul. Birazdan yeniden deneyin." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Yüz eklenemedi (%1)." diff --git a/po/uk.po b/po/uk.po index 41a1198..5fbe781 100644 --- a/po/uk.po +++ b/po/uk.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Ukrainian\n" @@ -59,9 +59,9 @@ msgstr "Обличчя не додано." msgid "First, set up your face." msgstr "Спершу налаштуйте своє обличчя." -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "Не вдалося зберегти налаштування." @@ -121,16 +121,16 @@ msgstr "" msgid "No face is set up yet." msgstr "Ще не налаштовано жодного обличчя." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "увімк." #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "вимк." -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "зразків: %s, вивчено: %s" @@ -160,7 +160,7 @@ msgstr "Увімкнути розблокування обличчям" msgid "Turn it off (faces are kept)" msgstr "Вимкнути його (обличчя зберігаються)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "Додати обличчя" @@ -204,7 +204,7 @@ msgstr "" "Запускайте це від свого користувача, не від root. Пароль буде запитано, коли " "він знадобиться." -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Невідома команда: %s" @@ -279,7 +279,7 @@ msgstr "" msgid "The camera could not be used." msgstr "Не вдалося використати камеру." -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Немає моделей розпізнавання. Перевстановіть пакунок." @@ -295,82 +295,87 @@ msgstr "Камера зайнята іншим скануванням." msgid "The face unlock service is not running." msgstr "Служба розблокування обличчям не запущена." -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "Немає доступу." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "" +"Немає вікна для пароля? Запустіть агент polkit, наприклад hyprpolkitagent." + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Щось пішло не так (%s)." -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Подивіться в камеру. Кліпніть один раз або трохи поверніть голову." -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "Обличчя знайдено." -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Розпізнано. Тепер кліпніть один раз або трохи поверніть голову." -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "Подивіться на екран." -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "Підсуньтеся ближче до камери." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "Надто темно, щоб побачити ваше обличчя." -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "схожість" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "поворот" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "очі" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "глибина" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "кліпання" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "відблиск" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "край" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "поворот голови" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Розпізнано як %s (схожість %s) за %s мс." -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "Ознака життя: %s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -383,11 +388,11 @@ msgstr "" msgid "[y/N]" msgstr "[т/Н]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "УВІМК" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "ВИМК" @@ -428,7 +433,7 @@ msgstr "повільна" msgid "%s seconds" msgstr "%s с" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "автоматично" @@ -440,81 +445,87 @@ msgstr "face-unlock" msgid "yours" msgstr "ваш" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "Агент polkit не запущено, тому вікно для пароля не може відкритися. Він потрібен, щоб додати обличчя, і для запитів адміністратора." + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "Розблокування обличчям" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "Служба" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "не запущена" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "Повторне ввімкнення розблокування обличчям запустить її." -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "Обличчя" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "ще не налаштовано" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "усі вимкнено" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "не знайдено" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "Камера" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "Екран блокування" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "Запити адміністратора" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "Екрани блокування" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "Перевірка на фото" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "Призупинено" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "ще %d хв або до введення пароля" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "Останнє розблокування" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "Агент екрана блокування не запущено." -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." @@ -522,7 +533,7 @@ msgstr "" "У GNOME бульбашку показує невелике розширення GNOME. Воно вмикається разом " "із розблокуванням обличчям." -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -532,7 +543,7 @@ msgstr "" "блокування face-unlock (`face-unlock lock`, з бульбашкою), і відкриває їх. " "Інші екрани блокування сканують за Enter." -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." @@ -540,7 +551,7 @@ msgstr "" "Розблоковує екран блокування, коли бачить ваше обличчя. Вимк.: там працює " "лише пароль." -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." @@ -548,7 +559,7 @@ msgstr "" "Сканує, коли ви натискаєте клавішу або рухаєте мишею на екрані блокування, і " "коли комп'ютер прокидається." -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." @@ -556,7 +567,7 @@ msgstr "" "Сканує одразу після блокування екрана. Типово вимк.: якщо ви блокуєте самі, " "він одразу б розблокувався." -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." @@ -564,7 +575,7 @@ msgstr "" "sudo приймає ваше обличчя замість пароля. Не збіглося: ви вводите пароль як " "зазвичай." -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -574,7 +585,7 @@ msgstr "" "командою `face-unlock lock`. Або залиште свій: тоді hyprlock покаже вгорі " "рядок тексту. Enter відкриває вибір." -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -584,11 +595,11 @@ msgstr "" "те, що на робочому столі. Або файл, тека, з якої береться випадкове, або " "`none`. Натисніть Enter, щоб ввести." -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "Розмиває зображення за екраном блокування face-unlock." -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -597,7 +608,7 @@ msgstr "" "Екран блокування приймає ваше обличчя під час перевірки пароля. Натисніть " "Enter у порожньому полі, щоб сканувати. Знайдено тут: %s." -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." @@ -605,17 +616,17 @@ msgstr "" "Вікна введення пароля робочого столу і програм, наприклад під час " "встановлення програм. Не збіглося: ви вводите пароль." -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "" "Треба кліпнути або трохи повернути голову. Це також зупиняє надруковані фото." -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "Жодної перевірки. Лише щоб випробувати камеру." -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." @@ -623,22 +634,22 @@ msgstr "" "Зупиняє фото на телефоні, планшеті чи глянцевому папері. Кліпати не треба. " "Матове надруковане фото може пройти." -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "" "Менше хибних збігів, але може не впізнати вас в окулярах або при поганому " "світлі." -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "Впізнає вас легше, але й того, хто дуже на вас схожий." -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "Типове значення. Підходить більшості." -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." @@ -646,7 +657,7 @@ msgstr "" "Ваші очі мають бути розплющені й дивитися на екран. Так він не " "розблокується, коли ви дивитеся вбік або спите." -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -655,11 +666,11 @@ msgstr "" "знову. Інфрачервоній камері потрібне ввімкнене підсвічування (linux-enable-" "ir-emitter)." -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "Як довго камера шукає ваше обличчя, перш ніж здатися." -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." @@ -667,7 +678,7 @@ msgstr "" "Після впевненого збігу запам'ятовує, як ви виглядаєте зараз. Нова зачіска чи " "окуляри не потребують нового налаштування." -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." @@ -675,103 +686,107 @@ msgstr "" "Без сканування, коли ноутбук закрито, наприклад за столом із зовнішнім " "монітором." -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "Бульбашка вгорі екрана показує, що робить камера." -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "Маленька пігулка із замком, що відкривається." -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "Острів з обличчям, яке озирається, потім кільця і галочка." -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "Як швидко рухається бульбашка." -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "" "Показує бульбашку й тоді, коли sudo або запит адміністратора сканує ваше " "обличчя." -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "автоматично (%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(інфрачервона)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(не під'єднана)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "як на робочому столі" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "немає" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "Зображення або тека:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "Не знайдено: %s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "Налаштування" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ вибір ←→ або Пробіл: змінити q: назад" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "для всіх користувачів, запитує пароль" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Вгору/Вниз: вибір, Пробіл: увімк./вимк., r: перейменувати, d: видалити, a: " "додати, q: назад" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "Ще не налаштовано жодного обличчя. Натисніть a, щоб додати." -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "Нова назва:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Видалити «%s»?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "Увімкнути або вимкнути розблокування обличчям" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "Спробувати" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "Встановити агент polkit" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "Вийти" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -789,64 +804,90 @@ msgstr "Модуль PAM не встановлено в %s." msgid "There is no PAM configuration for %s on this system." msgstr "У цій системі немає налаштування PAM для %s." -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "Для цього потрібен root, але не встановлено ні sudo, ні run0, ні doas." -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "Цю команду треба запускати від root." -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "Неприпустиме налаштування: %s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "Для цієї служби використати не можна: %s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" msgstr "Hyprland сам не запускає агент екрана блокування. Додайте це до %s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland сам не запускає агент polkit. Додайте це до %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "Не знайдено менеджера пакетів, щоб встановити агент polkit." + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "Встановлюється агент polkit. Для цього потрібен ваш пароль." + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "Не вдалося встановити агент polkit." + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "Агент polkit не запустився. Дивіться: systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "Агент polkit запущено. Тепер вікна для пароля відкриваються." + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "Щоб блокувати ним, додайте це до %s і вкажіть %s у %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "" "Щоб блокувати ним, додайте це до binds у %s і використовуйте %s у swayidle:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Щоб блокувати ним, запускайте %s там, де зараз запускається ваш екран " "блокування." -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "Тепер ви блокуєте екраном блокування face-unlock." -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "hyprlock покаже вгорі, що робить face unlock, з наступного блокування." -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Не вдалося додати рядок до %s." -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -854,7 +895,7 @@ msgstr "" "Ваш екран блокування залишається як є. Натисніть Enter у порожньому полі " "пароля, щоб сканувати." -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "У hyprlock немає %s, тому він не може показати текст." @@ -1015,29 +1056,29 @@ msgstr "Розблокування обличчям налаштовано." msgid "A face can only be added with your password." msgstr "Обличчя можна додати лише з вашим паролем." -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "Не вдалося використати камеру: %1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "Немає моделей розпізнавання облич. Перевстановіть пакунок." -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "Це тривало надто довго. Спробуйте ще раз при доброму світлі." -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "" "Служба розблокування обличчям не запущена. Спершу увімкніть розблокування " "обличчям." -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "Камера зайнята іншим скануванням. Спробуйте трохи згодом." -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "Не вдалося додати обличчя (%1)." diff --git a/po/zh_CN.po b/po/zh_CN.po index 3b060f0..046ae7c 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: face-unlock 1.0.1\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 19:36+0200\n" +"POT-Creation-Date: 2026-09-26 20:28+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n" "Last-Translator: Felitendo\n" "Language-Team: Chinese (simplified)\n" @@ -53,9 +53,9 @@ msgstr "没有添加人脸。" msgid "First, set up your face." msgstr "请先设置你的人脸。" -#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517 -#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529 -#: src/lib/system.sh:290 src/lib/system.sh:296 +#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527 +#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539 +#: src/lib/system.sh:399 src/lib/system.sh:405 msgid "Could not save the setting." msgstr "无法保存设置。" @@ -107,16 +107,16 @@ msgstr "人脸解锁已关闭。你的人脸会保留;可在“人脸”中删 msgid "No face is set up yet." msgstr "尚未设置任何人脸。" -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685 +#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 msgid "on" msgstr "开" #: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:686 +#: src/lib/menu.sh:696 msgid "off" msgstr "关" -#: src/face-unlock:176 src/lib/menu.sh:703 +#: src/face-unlock:176 src/lib/menu.sh:713 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s 个样本,已学习 %s 个" @@ -146,7 +146,7 @@ msgstr "开启人脸解锁" msgid "Turn it off (faces are kept)" msgstr "关闭(保留人脸)" -#: src/face-unlock:202 src/lib/menu.sh:769 +#: src/face-unlock:202 src/lib/menu.sh:779 msgid "Add a face" msgstr "添加人脸" @@ -188,7 +188,7 @@ msgid "" "needs to." msgstr "请以你自己的用户运行,不要用 root。需要时会询问你的密码。" -#: src/face-unlock:253 src/lib/system.sh:101 +#: src/face-unlock:253 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "未知命令:%s" @@ -261,7 +261,7 @@ msgstr "尝试次数过多,人脸解锁已暂停。请用密码解锁一次。 msgid "The camera could not be used." msgstr "无法使用摄像头。" -#: src/lib/daemon.sh:111 src/lib/menu.sh:267 +#: src/lib/daemon.sh:111 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "缺少识别模型。请重新安装软件包。" @@ -277,82 +277,86 @@ msgstr "摄像头正忙于另一次扫描。" msgid "The face unlock service is not running." msgstr "人脸解锁服务未运行。" -#: src/lib/daemon.sh:115 +#: src/lib/daemon.sh:116 msgid "Not allowed." msgstr "不允许。" -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:120 +msgid "No password window? Start a polkit agent, for example hyprpolkitagent." +msgstr "没有出现密码窗口?请启动一个 polkit 代理,例如 hyprpolkitagent。" + +#: src/lib/daemon.sh:123 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "出错了(%s)。" -#: src/lib/daemon.sh:127 +#: src/lib/daemon.sh:134 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "看着摄像头。眨一下眼,或稍微转一下头。" -#: src/lib/daemon.sh:137 +#: src/lib/daemon.sh:144 msgid "Face found." msgstr "找到人脸。" -#: src/lib/daemon.sh:141 +#: src/lib/daemon.sh:148 msgid "Recognised. Now blink once, or turn your head a little." msgstr "已识别。现在眨一下眼,或稍微转一下头。" -#: src/lib/daemon.sh:142 +#: src/lib/daemon.sh:149 msgid "Look at the screen." msgstr "请看屏幕。" -#: src/lib/daemon.sh:143 +#: src/lib/daemon.sh:150 msgid "Move closer to the camera." msgstr "请靠近摄像头。" -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:151 msgid "It is too dark to see your face." msgstr "太暗了,看不清你的脸。" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "match" msgstr "匹配度" -#: src/lib/daemon.sh:153 +#: src/lib/daemon.sh:160 msgid "turn" msgstr "转动" -#: src/lib/daemon.sh:154 +#: src/lib/daemon.sh:161 msgid "eyes" msgstr "眼睛" -#: src/lib/daemon.sh:155 +#: src/lib/daemon.sh:162 msgid "depth" msgstr "深度" -#: src/lib/daemon.sh:155 src/lib/daemon.sh:164 +#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 msgid "blink" msgstr "眨眼" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "glare" msgstr "反光" -#: src/lib/daemon.sh:156 +#: src/lib/daemon.sh:163 msgid "edge" msgstr "边缘" -#: src/lib/daemon.sh:165 +#: src/lib/daemon.sh:172 msgid "head turn" msgstr "转头" -#: src/lib/daemon.sh:167 +#: src/lib/daemon.sh:174 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "识别为 %s(匹配度 %s),用时 %s 毫秒。" -#: src/lib/daemon.sh:168 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Sign of life: %s" msgstr "活体迹象:%s" -#: src/lib/daemon.sh:173 +#: src/lib/daemon.sh:180 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -363,11 +367,11 @@ msgstr "尝试次数过多。人脸解锁已暂停,直到你用密码解锁。 msgid "[y/N]" msgstr "[y/N]" -#: src/lib/menu.sh:172 src/lib/menu.sh:583 +#: src/lib/menu.sh:172 src/lib/menu.sh:593 msgid "ON" msgstr "开启" -#: src/lib/menu.sh:174 src/lib/menu.sh:584 +#: src/lib/menu.sh:174 src/lib/menu.sh:594 msgid "OFF" msgstr "关闭" @@ -408,7 +412,7 @@ msgstr "慢" msgid "%s seconds" msgstr "%s 秒" -#: src/lib/menu.sh:202 src/lib/menu.sh:452 +#: src/lib/menu.sh:202 src/lib/menu.sh:462 msgid "automatic" msgstr "自动" @@ -420,88 +424,94 @@ msgstr "face-unlock 的" msgid "yours" msgstr "你自己的" -#: src/lib/menu.sh:221 +#: src/lib/menu.sh:215 +msgid "" +"No polkit agent is running, so no password window can open. Adding a face " +"and the admin prompts need one." +msgstr "没有运行 polkit 代理,所以无法打开密码窗口。添加人脸和管理员授权都需要它。" + +#: src/lib/menu.sh:226 msgid "Face unlock" msgstr "人脸解锁" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "Service" msgstr "服务" -#: src/lib/menu.sh:225 +#: src/lib/menu.sh:230 msgid "not running" msgstr "未运行" -#: src/lib/menu.sh:227 +#: src/lib/menu.sh:232 msgid "Turning face unlock on again starts it." msgstr "重新开启人脸解锁即可启动它。" -#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681 -#: src/lib/menu.sh:770 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 +#: src/lib/menu.sh:780 msgid "Faces" msgstr "人脸" -#: src/lib/menu.sh:238 +#: src/lib/menu.sh:244 msgid "none set up yet" msgstr "尚未设置" -#: src/lib/menu.sh:240 +#: src/lib/menu.sh:246 msgid "all turned off" msgstr "全部关闭" -#: src/lib/menu.sh:246 +#: src/lib/menu.sh:252 msgid "none found" msgstr "未找到" -#: src/lib/menu.sh:248 src/lib/menu.sh +#: src/lib/menu.sh:254 src/lib/menu.sh msgid "Camera" msgstr "摄像头" -#: src/lib/menu.sh:250 src/lib/menu.sh +#: src/lib/menu.sh:256 src/lib/menu.sh msgid "Lock screen" msgstr "锁屏" -#: src/lib/menu.sh:254 +#: src/lib/menu.sh:260 msgid "sudo" msgstr "sudo" -#: src/lib/menu.sh:255 src/lib/menu.sh +#: src/lib/menu.sh:261 src/lib/menu.sh msgid "Admin prompts" msgstr "管理员授权" -#: src/lib/menu.sh:257 src/lib/menu.sh +#: src/lib/menu.sh:263 src/lib/menu.sh msgid "Lock screens" msgstr "锁屏" -#: src/lib/menu.sh:259 src/lib/menu.sh +#: src/lib/menu.sh:265 src/lib/menu.sh msgid "Photo check" msgstr "照片检测" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 msgid "Paused" msgstr "已暂停" -#: src/lib/menu.sh:262 +#: src/lib/menu.sh:268 #, sh-printf-format msgid "for %d more minutes, or until the password is used" msgstr "还有 %d 分钟,或直到使用密码" -#: src/lib/menu.sh:264 +#: src/lib/menu.sh:270 msgid "Last unlock" msgstr "上次解锁" -#: src/lib/menu.sh:270 +#: src/lib/menu.sh:276 msgid "The lock screen agent is not running." msgstr "锁屏代理没有运行。" -#: src/lib/menu.sh:322 +#: src/lib/menu.sh:332 msgid "" "On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "switches it on." msgstr "" "在 GNOME 上,由一个小的 GNOME 扩展显示气泡。开启人脸解锁时会一并开启它。" -#: src/lib/menu.sh:326 +#: src/lib/menu.sh:336 msgid "" "Scans when you come back to hyprlock, swaylock or face-unlock's own lock " "screen (`face-unlock lock`, with the bubble), and opens them. Other lock " @@ -510,31 +520,31 @@ msgstr "" "回到 hyprlock、swaylock 或 face-unlock 自带的锁屏(`face-unlock lock`,带气" "泡)时扫描并打开它们。其他锁屏按 Enter 扫描。" -#: src/lib/menu.sh:331 +#: src/lib/menu.sh:341 msgid "" "Unlocks the lock screen when it sees your face. Off: only your password " "works there." msgstr "看到你的脸时解锁锁屏。关闭:锁屏只能用密码。" -#: src/lib/menu.sh:332 +#: src/lib/menu.sh:342 msgid "" "Scans when you press a key or move the mouse on the lock screen, and when " "the computer wakes up." msgstr "在锁屏上按键或移动鼠标时,以及电脑唤醒时扫描。" -#: src/lib/menu.sh:333 +#: src/lib/menu.sh:343 msgid "" "Scans as soon as the screen locks. Off by default: if you lock it yourself, " "it would unlock again right away." msgstr "屏幕一锁定就扫描。默认关闭:如果是你自己锁的屏,它会马上又解锁。" -#: src/lib/menu.sh:334 +#: src/lib/menu.sh:344 msgid "" "sudo takes your face instead of the password. No match: you type the " "password as usual." msgstr "sudo 用你的脸代替密码。不匹配时,照常输入密码。" -#: src/lib/menu.sh:335 +#: src/lib/menu.sh:345 msgid "" "face-unlock's lock screen shows the bubble, and you lock with `face-unlock " "lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter " @@ -543,7 +553,7 @@ msgstr "" "face-unlock 的锁屏会显示气泡,用 `face-unlock lock` 锁屏。也可以保留你自己" "的:hyprlock 会在顶部显示一行文字。按 Enter 打开选择。" -#: src/lib/menu.sh:336 +#: src/lib/menu.sh:346 msgid "" "The picture behind face-unlock's own lock screen (`face-unlock lock`). " "Empty: the one on your desktop. Or a file, a folder to take one from at " @@ -552,11 +562,11 @@ msgstr "" "face-unlock 锁屏(`face-unlock lock`)背后的图片。留空:用桌面的图片。或者一" "个文件、从中随机挑选的文件夹,或 `none`。按 Enter 输入。" -#: src/lib/menu.sh:337 +#: src/lib/menu.sh:347 msgid "Blurs the picture behind face-unlock's own lock screen." msgstr "模糊 face-unlock 锁屏背后的图片。" -#: src/lib/menu.sh:338 +#: src/lib/menu.sh:348 #, sh-printf-format msgid "" "The lock screen takes your face in its password check. Press Enter on the " @@ -564,47 +574,47 @@ msgid "" msgstr "" "锁屏在检查密码时也接受你的人脸。在空白框中按 Enter 即可扫描。此处找到:%s。" -#: src/lib/menu.sh:339 +#: src/lib/menu.sh:349 msgid "" "The password windows of your desktop and apps, for example when you install " "software. No match: you type the password." msgstr "桌面和应用的密码窗口,例如安装软件时。不匹配时,输入密码即可。" -#: src/lib/menu.sh:340 +#: src/lib/menu.sh:350 msgid "" "You have to blink or turn your head a little. This also stops printed photos." msgstr "你需要眨眼或稍微转头。这也能挡住打印的照片。" -#: src/lib/menu.sh:341 +#: src/lib/menu.sh:351 msgid "No check at all. Only for trying out a camera." msgstr "完全不检测。仅用于试用摄像头。" -#: src/lib/menu.sh:342 +#: src/lib/menu.sh:352 msgid "" "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "A matte printed photo can get through." msgstr "挡住手机、平板或光面纸上的照片。无需眨眼。哑光纸打印的照片可能会通过。" -#: src/lib/menu.sh:343 +#: src/lib/menu.sh:353 msgid "" "Fewer wrong matches, but it may not know you with glasses or in bad light." msgstr "误认更少,但戴眼镜或光线不好时可能认不出你。" -#: src/lib/menu.sh:344 +#: src/lib/menu.sh:354 msgid "Knows you more easily, but also somebody who looks a lot like you." msgstr "更容易认出你,但也更容易认出和你长得很像的人。" -#: src/lib/menu.sh:345 +#: src/lib/menu.sh:355 msgid "The default. Right for most people." msgstr "默认值。适合大多数人。" -#: src/lib/menu.sh:346 +#: src/lib/menu.sh:356 msgid "" "Your eyes have to be open and on the screen. So it does not unlock while you " "look away or sleep." msgstr "你的眼睛必须睁开并看着屏幕。这样你看向别处或睡着时不会解锁。" -#: src/lib/menu.sh:347 +#: src/lib/menu.sh:357 msgid "" "Automatic takes the first normal camera. After a change, set up your face " "again. An infrared camera needs its light on (linux-enable-ir-emitter)." @@ -612,115 +622,119 @@ msgstr "" "“自动”会使用第一个普通摄像头。更换后请重新设置人脸。红外摄像头需要打开它的补" "光灯(linux-enable-ir-emitter)。" -#: src/lib/menu.sh:348 +#: src/lib/menu.sh:358 msgid "How long the camera looks for your face before it gives up." msgstr "摄像头寻找你的脸多久后放弃。" -#: src/lib/menu.sh:349 +#: src/lib/menu.sh:359 msgid "" "After a sure match it keeps how you look now. So a new haircut or glasses " "need no new setup." msgstr "确定匹配后,会记住你现在的样子。所以换了发型或戴上眼镜也无需重新设置。" -#: src/lib/menu.sh:350 +#: src/lib/menu.sh:360 msgid "" "No scan while the laptop is closed, for example at a desk with an external " "screen." msgstr "笔记本合上时不扫描,例如在接了外接显示器的桌前。" -#: src/lib/menu.sh:351 +#: src/lib/menu.sh:361 msgid "The bubble at the top of the screen shows what the camera is doing." msgstr "屏幕顶部的气泡显示摄像头正在做什么。" -#: src/lib/menu.sh:352 +#: src/lib/menu.sh:362 msgid "A small pill with a lock that opens." msgstr "一个带锁的小药丸,锁会打开。" -#: src/lib/menu.sh:353 +#: src/lib/menu.sh:363 msgid "An island with a face that looks around, then rings and a tick." msgstr "一个岛,里面有一张四处张望的脸,然后是圆环和一个对勾。" -#: src/lib/menu.sh:354 +#: src/lib/menu.sh:364 msgid "How fast the bubble moves." msgstr "气泡移动的速度。" -#: src/lib/menu.sh:355 +#: src/lib/menu.sh:365 msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgstr "sudo 或管理员授权扫描你的脸时也显示气泡。" -#: src/lib/menu.sh:448 +#: src/lib/menu.sh:458 #, sh-printf-format msgid "automatic (%s)" msgstr "自动(%s)" -#: src/lib/menu.sh:458 +#: src/lib/menu.sh:468 msgid "(infrared)" msgstr "(红外)" -#: src/lib/menu.sh:462 +#: src/lib/menu.sh:472 msgid "(not connected)" msgstr "(未连接)" -#: src/lib/menu.sh:471 +#: src/lib/menu.sh:481 msgid "same as desktop" msgstr "与桌面相同" -#: src/lib/menu.sh:475 +#: src/lib/menu.sh:485 msgid "none" msgstr "无" -#: src/lib/menu.sh:504 +#: src/lib/menu.sh:514 msgid "Picture or folder:" msgstr "图片或文件夹:" -#: src/lib/menu.sh:509 +#: src/lib/menu.sh:519 #, sh-printf-format msgid "Not found: %s" msgstr "未找到:%s" -#: src/lib/menu.sh:580 src/lib/menu.sh:771 +#: src/lib/menu.sh:590 src/lib/menu.sh:781 msgid "Settings" msgstr "设置" -#: src/lib/menu.sh:581 +#: src/lib/menu.sh:591 msgid "↑↓ select ←→ or Space: change q: back" msgstr "↑↓ 选择 ←→ 或空格:更改 q:返回" -#: src/lib/menu.sh:582 +#: src/lib/menu.sh:592 msgid "for all users, asks for your password" msgstr "对所有用户生效,需要你的密码" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:683 +#: src/lib/menu.sh:693 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "上/下:选择,空格:开/关,r:重命名,d:删除,a:添加,q:返回" -#: src/lib/menu.sh:684 +#: src/lib/menu.sh:694 msgid "No face is set up yet. Press a to add one." msgstr "尚未设置任何人脸。按 a 添加。" -#: src/lib/menu.sh:730 +#: src/lib/menu.sh:740 msgid "New name:" msgstr "新名称:" -#: src/lib/menu.sh:737 +#: src/lib/menu.sh:747 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "删除“%s”?" -#: src/lib/menu.sh:768 +#: src/lib/menu.sh:778 msgid "Turn face unlock on or off" msgstr "开启或关闭人脸解锁" -#: src/lib/menu.sh:772 +#: src/lib/menu.sh:782 msgid "Try it" msgstr "试一试" -#: src/lib/menu.sh:773 +#: src/lib/menu.sh:784 +msgid "Install a polkit agent" +msgstr "安装 polkit 代理" + +#: src/lib/menu.sh:786 msgid "Quit" msgstr "退出" -#: src/lib/migrate.sh:119 +#: src/lib/migrate.sh:127 msgid "" "Moving your faces and settings over from plasma-face-unlock. That needs your " "password." @@ -736,67 +750,93 @@ msgstr "PAM 模块未安装在 %s。" msgid "There is no PAM configuration for %s on this system." msgstr "此系统上没有 %s 的 PAM 配置。" -#: src/lib/system.sh:48 +#: src/lib/system.sh:49 msgid "This needs root, and neither sudo, run0 nor doas is installed." msgstr "这需要 root 权限,但 sudo、run0 和 doas 都没有安装。" -#: src/lib/system.sh:57 +#: src/lib/system.sh:58 msgid "This command has to run as root." msgstr "此命令必须以 root 运行。" -#: src/lib/system.sh:65 +#: src/lib/system.sh:66 #, sh-printf-format msgid "Not a valid setting: %s=%s" msgstr "无效的设置:%s=%s" -#: src/lib/system.sh:81 +#: src/lib/system.sh:82 #, sh-printf-format msgid "Not a service this can be used for: %s" msgstr "不能用于此服务:%s" -#: src/lib/system.sh:146 src/lib/system.sh:151 +#: src/lib/system.sh:154 #, sh-printf-format msgid "" "Hyprland does not start the lock screen agent by itself. Add this to %s:" msgstr "Hyprland 不会自动启动锁屏代理。请把以下内容加入 %s:" -#: src/lib/system.sh:267 src/lib/system.sh:270 +#: src/lib/system.sh:156 +#, sh-printf-format +msgid "Hyprland does not start the polkit agent by itself. Add this to %s:" +msgstr "Hyprland 不会自动启动 polkit 代理。请把以下内容加入 %s:" + +#: src/lib/system.sh:214 +msgid "No package manager found to install a polkit agent with." +msgstr "找不到可用来安装 polkit 代理的软件包管理器。" + +#: src/lib/system.sh:238 +msgid "Installing a polkit agent. That needs your password." +msgstr "正在安装 polkit 代理。这需要你的密码。" + +#: src/lib/system.sh:239 src/lib/system.sh:241 +msgid "Could not install a polkit agent." +msgstr "无法安装 polkit 代理。" + +#: src/lib/system.sh:257 +#, sh-printf-format +msgid "The polkit agent did not start. See: systemctl --user status %s" +msgstr "polkit 代理没有启动。请查看:systemctl --user status %s" + +#: src/lib/system.sh:261 +msgid "The polkit agent is running. Password windows open now." +msgstr "polkit 代理正在运行。现在可以打开密码窗口了。" + +#: src/lib/system.sh:376 src/lib/system.sh:379 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "要用它锁屏,请把这行加入 %s,并把 %s 写进 %s:" -#: src/lib/system.sh:275 +#: src/lib/system.sh:384 #, sh-printf-format msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:" msgstr "要用它锁屏,请把这行加入 %s 的 binds,并在 swayidle 中使用 %s:" -#: src/lib/system.sh:279 +#: src/lib/system.sh:388 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "要用它锁屏,请在现在启动锁屏的地方运行 %s。" -#: src/lib/system.sh:292 +#: src/lib/system.sh:401 msgid "You lock with face-unlock's lock screen now." msgstr "现在用 face-unlock 的锁屏锁定。" -#: src/lib/system.sh:299 +#: src/lib/system.sh:408 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "从下次锁屏起,hyprlock 会在顶部显示 face unlock 正在做什么。" -#: src/lib/system.sh:300 +#: src/lib/system.sh:409 #, sh-printf-format msgid "Could not add the line to %s." msgstr "无法把这行加入 %s。" -#: src/lib/system.sh:301 +#: src/lib/system.sh:410 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "你的锁屏保持不变。在空密码框中按 Enter 即可扫描。" -#: src/lib/system.sh:302 +#: src/lib/system.sh:411 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock 没有 %s,所以无法显示文字。" @@ -957,27 +997,27 @@ msgstr "人脸解锁已设置好。" msgid "A face can only be added with your password." msgstr "只有输入密码才能添加人脸。" -#: src/agent/enrollcontroller.cpp:195 +#: src/agent/enrollcontroller.cpp:200 msgid "The camera could not be used: %1" msgstr "无法使用摄像头:%1" -#: src/agent/enrollcontroller.cpp:197 +#: src/agent/enrollcontroller.cpp:202 msgid "The face recognition models are missing. Reinstall the package." msgstr "缺少人脸识别模型。请重新安装软件包。" -#: src/agent/enrollcontroller.cpp:199 +#: src/agent/enrollcontroller.cpp:204 msgid "That took too long. Try again, in good light." msgstr "用时太长。请在光线好的地方重试。" -#: src/agent/enrollcontroller.cpp:201 +#: src/agent/enrollcontroller.cpp:206 msgid "The face unlock service is not running. Turn face unlock on first." msgstr "人脸解锁服务未运行。请先开启人脸解锁。" -#: src/agent/enrollcontroller.cpp:203 +#: src/agent/enrollcontroller.cpp:208 msgid "The camera is busy with another scan. Try again in a moment." msgstr "摄像头正忙于另一次扫描。请稍后重试。" -#: src/agent/enrollcontroller.cpp:205 +#: src/agent/enrollcontroller.cpp:210 msgid "The face could not be added (%1)." msgstr "无法添加人脸(%1)。" diff --git a/src/agent/enrollcontroller.cpp b/src/agent/enrollcontroller.cpp index 8f10b3e..b0747dc 100644 --- a/src/agent/enrollcontroller.cpp +++ b/src/agent/enrollcontroller.cpp @@ -191,6 +191,11 @@ void EnrollController::onFinished(const QJsonObject &result) } if (reason == u"denied") { m_error = i18n("A face can only be added with your password."); + // Hyprland, Niri and the like bring no polkit agent, so no password window shows. + const QStringList desktops = qEnvironmentVariable("XDG_CURRENT_DESKTOP").split(u':'); + if (!desktops.contains(u"KDE") && !desktops.contains(u"GNOME")) { + m_error += u' ' + i18n("No password window? Start a polkit agent, for example hyprpolkitagent."); + } } else if (reason == u"camera") { m_error = i18n("The camera could not be used: %1", result.value(u"message").toString()); } else if (reason == u"models") { diff --git a/src/lib/daemon.sh b/src/lib/daemon.sh index 36270aa..bdc824f 100644 --- a/src/lib/daemon.sh +++ b/src/lib/daemon.sh @@ -112,7 +112,14 @@ fu_reason_text() { lid-closed) fu_msg "The lid is closed." ;; busy) fu_msg "The camera is busy with another scan." ;; unreachable) fu_msg "The face unlock service is not running." ;; - denied) fu_msg "Not allowed." ;; + denied) + fu_msg "Not allowed." + # Hyprland, Niri and the like bring no polkit agent, so no password window shows. + if [[ $FU_DESKTOP != plasma && $FU_DESKTOP != gnome ]]; then + printf ' ' + fu_msg "No password window? Start a polkit agent, for example hyprpolkitagent." + fi + ;; *) fu_msg "Something went wrong (%s)." "$1" ;; esac printf '\n' diff --git a/src/lib/menu.sh b/src/lib/menu.sh index fcc034a..a691a67 100644 --- a/src/lib/menu.sh +++ b/src/lib/menu.sh @@ -210,6 +210,11 @@ fu_value_label() { # Status # --------------------------------------------------------------------------- +_fu_polkit_warning() { + fu_polkit_agent_missing || return 0 + printf '\n %s%s%s\n' "$FU_C_YELLOW" "$(fu_msg "No polkit agent is running, so no password window can open. Adding a face and the admin prompts need one.")" "$FU_C_RESET" +} + # fu_ui_status # Shared by the `status` subcommand and the menu header. fu_ui_status() { @@ -226,6 +231,7 @@ fu_ui_status() { if [[ $CFG_ENABLED == yes ]]; then printf '\n %s%s%s\n' "$FU_C_DIM" "$(fu_msg "Turning face unlock on again starts it.")" "$FU_C_RESET" fi + _fu_polkit_warning return 0 fi @@ -268,8 +274,12 @@ fu_ui_status() { fi if [[ $agent == no ]]; then printf '\n %s%s%s\n' "$FU_C_YELLOW" "$(fu_msg "The lock screen agent is not running.")" "$FU_C_RESET" + # Printed here already, so not again under the menu. + local -a notices=("${FU_UI_NOTICES[@]}") fu_agent_autostarts || fu_agent_hint + FU_UI_NOTICES=("${notices[@]}") fi + _fu_polkit_warning } # --------------------------------------------------------------------------- @@ -770,6 +780,9 @@ fu_ui_menu() { printf ' [3] %s\n' "$(fu_msg "Faces")" printf ' [4] %s\n' "$(fu_msg "Settings")" printf ' [5] %s\n' "$(fu_msg "Try it")" + if fu_polkit_agent_missing; then + printf ' %s[p] %s%s\n' "$FU_C_YELLOW" "$(fu_msg "Install a polkit agent")" "$FU_C_RESET" + fi printf ' [q] %s\n' "$(fu_msg "Quit")" _fu_ui_take_notices printf '%s' "$FU_UI_NOTICE_TEXT" @@ -802,6 +815,7 @@ fu_ui_menu() { FU_UI_NOTICES=() keep=1 ;; + p|P) fu_polkit_agent_missing && fu_ui_cooked fu_polkit_agent_fix ;; q|Q) fu_ui_term_restore; trap - EXIT INT TERM; return 0 ;; # Anything else (Enter, arrow keys, stray characters) just # redraws. Escape is deliberately not a quit key, so a mistyped diff --git a/src/lib/system.sh b/src/lib/system.sh index 0d6e5aa..9845015 100644 --- a/src/lib/system.sh +++ b/src/lib/system.sh @@ -14,6 +14,7 @@ # --root socket-enable start the daemon's socket, and at boot # --root socket-disable # --root migrate move over from plasma-face-unlock, see migrate.sh +# --root polkit-agent-install install a polkit agent, see fu_polkit_agent_install FU_SELF="${FU_SELF:-$(readlink -f "${BASH_SOURCE[1]:-$0}")}" @@ -97,6 +98,9 @@ fu_root_verb() { migrate) fu_migrate_system ;; + polkit-agent-install) + fu_polkit_agent_install + ;; *) fu_bad "$(fu_msg "Unknown command: %s" "$verb")" return 1 @@ -137,20 +141,125 @@ fu_agent_autostarts() { [[ $FU_DESKTOP != hyprland ]] || systemctl --user is-active --quiet graphical-session.target } -# fu_agent_hint -# What to add to Hyprland's config, in the Lua it has since 0.56 or in the -# older format. +# fu_agent_hint [unit] +# What to add to Hyprland's config so it starts the lock screen agent, or the +# polkit agent's unit, in the Lua it has since 0.56 or in the older format. fu_agent_hint() { + local unit="${1:-$FU_UNIT_AGENT}" # shellcheck disable=SC2088 # shown to the user, not a path to open - if [[ -f $FU_XDG_CONFIG/hypr/hyprland.lua ]]; then - fu_note "$(fu_msg "Hyprland does not start the lock screen agent by itself. Add this to %s:" "~/.config/hypr/hyprland.lua")" - fu_say " hl.on(\"hyprland.start\", function ()" - fu_say " hl.exec_cmd(\"systemctl --user start $FU_UNIT_AGENT\")" - fu_say " end)" + local conf="~/.config/hypr/hyprland.conf" + # shellcheck disable=SC2088 + [[ -f $FU_XDG_CONFIG/hypr/hyprland.lua ]] && conf="~/.config/hypr/hyprland.lua" + if [[ $unit == "$FU_UNIT_AGENT" ]]; then + fu_note "$(fu_msg "Hyprland does not start the lock screen agent by itself. Add this to %s:" "$conf")" else - fu_note "$(fu_msg "Hyprland does not start the lock screen agent by itself. Add this to %s:" "~/.config/hypr/hyprland.conf")" - fu_say " exec-once = systemctl --user start $FU_UNIT_AGENT" + fu_note "$(fu_msg "Hyprland does not start the polkit agent by itself. Add this to %s:" "$conf")" fi + if [[ $conf == *.lua ]]; then + fu_code "hl.on(\"hyprland.start\", function ()" + fu_code " hl.exec_cmd(\"systemctl --user start $unit\")" + fu_code "end)" + else + fu_code "exec-once = systemctl --user start $unit" + fi +} + +# --------------------------------------------------------------------------- +# The polkit agent +# --------------------------------------------------------------------------- +# polkit asks for the password in a window of the session's polkit agent: to +# add a face, and in the admin prompts. Plasma and GNOME bring one, Hyprland +# and Niri do not. Without one no window opens, and polkit just says no. + +FU_POLKIT_AGENT_MISSING='' + +# fu_polkit_agent_missing +# Whether no polkit agent runs in this session. polkit has no call to ask +# that, so this tries to register an agent of its own: polkit refuses it when +# there is one. When it is let in, busctl ends at once, and polkit drops it +# again. Any other answer counts as not missing, so nobody is warned wrongly. +# Asked once per run. +fu_polkit_agent_missing() { + local session + if [[ -z $FU_POLKIT_AGENT_MISSING ]]; then + FU_POLKIT_AGENT_MISSING=no + if [[ $FU_DESKTOP != plasma && $FU_DESKTOP != gnome && -n ${WAYLAND_DISPLAY:-} ]] && fu_have busctl; then + session="${XDG_SESSION_ID:-$(loginctl show-user "$UID" -p Display --value 2> /dev/null)}" + if [[ -n $session ]] && busctl call --system org.freedesktop.PolicyKit1 \ + /org/freedesktop/PolicyKit1/Authority org.freedesktop.PolicyKit1.Authority \ + RegisterAuthenticationAgent '(sa{sv})ss' unix-session 1 session-id s "$session" \ + C /io/github/loonixtools/FaceUnlock/Probe > /dev/null 2>&1; then + FU_POLKIT_AGENT_MISSING=yes + fi + fi + fi + [[ $FU_POLKIT_AGENT_MISSING == yes ]] +} + +# fu_polkit_agent_install +# Root side. hyprpolkitagent where the distribution has it, else KDE's agent, +# which runs anywhere and which niri suggests. The package manager shows what +# it installs and asks. +fu_polkit_agent_install() { + if fu_have pacman; then + pacman -Si hyprpolkitagent > /dev/null 2>&1 && { pacman -S --needed hyprpolkitagent; return; } + pacman -S --needed polkit-kde-agent + elif fu_have dnf; then + dnf -q info hyprpolkitagent > /dev/null 2>&1 && { dnf install hyprpolkitagent; return; } + dnf install polkit-kde + elif fu_have apt-get; then + apt-cache show hyprpolkitagent > /dev/null 2>&1 && { apt-get install hyprpolkitagent; return; } + apt-get install polkit-kde-agent-1 + else + fu_bad "$(fu_msg "No package manager found to install a polkit agent with.")" + return 1 + fi +} + +# _fu_polkit_agent_unit +# The user service of the polkit agent that is installed, if any. +_fu_polkit_agent_unit() { + local unit + for unit in hyprpolkitagent.service plasma-polkit-agent.service; do + if systemctl --user list-unit-files --quiet "$unit" > /dev/null 2>&1; then + printf '%s\n' "$unit" + return 0 + fi + done + return 1 +} + +# fu_polkit_agent_fix +# Installs a polkit agent if there is none, and starts it now and with the +# session. +fu_polkit_agent_fix() { + local unit + if ! unit="$(_fu_polkit_agent_unit)"; then + fu_say " $(fu_msg "Installing a polkit agent. That needs your password.")" + fu_root polkit-agent-install || { fu_bad "$(fu_msg "Could not install a polkit agent.")"; return 1; } + systemctl --user daemon-reload > /dev/null 2>&1 || true + unit="$(_fu_polkit_agent_unit)" || { fu_bad "$(fu_msg "Could not install a polkit agent.")"; return 1; } + fi + + if [[ $unit == plasma-polkit-agent.service ]]; then + # KDE's has no [Install] section, and outside Plasma nothing makes it + # wait for the desktop: it would start before there is one. + local dropin="$FU_XDG_CONFIG/systemd/user/$unit.d" + mkdir -p "$dropin" && printf '# Written by %s.\n[Unit]\nAfter=graphical-session.target\n' "$FU_NAME" > "$dropin/$FU_NAME.conf" + systemctl --user daemon-reload > /dev/null 2>&1 || true + systemctl --user add-wants graphical-session.target "$unit" > /dev/null 2>&1 + systemctl --user start "$unit" > /dev/null 2>&1 + else + systemctl --user enable --now "$unit" > /dev/null 2>&1 + fi + + if ! systemctl --user is-active --quiet "$unit"; then + fu_bad "$(fu_msg "The polkit agent did not start. See: systemctl --user status %s" "$unit")" + return 1 + fi + FU_POLKIT_AGENT_MISSING=no + fu_ok "$(fu_msg "The polkit agent is running. Password windows open now.")" + fu_agent_autostarts || fu_agent_hint "$unit" } # ---------------------------------------------------------------------------