diff --git a/CMakeLists.txt b/CMakeLists.txt index 233252f..90e87c5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -178,7 +178,7 @@ if(FU_BUILD_AGENT) # see each other (and the Theme singleton) without importing anything. # Under /qt/qml, which the engine searches, or an installed agent finds no # types (the build directory only works by its FaceUnlock/qmldir). - set(FU_QML_FILES Theme FaceGlyph LockGlyph Checkmark Bubble TickRing Enroll PillButton LockScreen LockChoice LockPreview) + set(FU_QML_FILES Theme FaceGlyph LockGlyph CameraGlyph Checkmark Bubble TickRing Enroll PillButton LockScreen LockChoice LockPreview) foreach(f ${FU_QML_FILES}) set_source_files_properties(src/agent/qml/${f}.qml PROPERTIES QT_RESOURCE_ALIAS ${f}.qml) endforeach() @@ -195,6 +195,7 @@ if(FU_BUILD_AGENT) src/agent/qml/Theme.qml src/agent/qml/FaceGlyph.qml src/agent/qml/LockGlyph.qml + src/agent/qml/CameraGlyph.qml src/agent/qml/Checkmark.qml src/agent/qml/Bubble.qml src/agent/qml/TickRing.qml diff --git a/doc/face-unlock.1.scd b/doc/face-unlock.1.scd index 29d1d43..6cfc79d 100644 --- a/doc/face-unlock.1.scd +++ b/doc/face-unlock.1.scd @@ -318,6 +318,10 @@ easier. A face set up with one camera should be set up again for another. A laptop with its lid shut is not scanned (*Not when the lid is closed*). +A camera that another app uses, in a video call for example, is not scanned +either. The password is asked for at once, and the bubble shows a camera with +a line through it. + # FILES _~/.config/face-unlock/config_ diff --git a/po/de.po b/po/de.po index f78cf8e..2d5392f 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Einstellung konnte nicht gespeichert werden." @@ -85,16 +85,16 @@ msgstr "" msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "Melde dich einmal ab und wieder an: dann zeigt GNOME die Bubble auch." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Wähle deinen Sperrbildschirm im Fenster." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "" "Kein Sperrbildschirm gewählt. Das geht später auch unter Einstellungen." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -103,102 +103,102 @@ msgstr "" "Der Sperrbildschirm (%s) nimmt dein Gesicht auch. Scannt er nicht, wenn du " "zurückkommst, drück Enter im leeren Passwortfeld." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "Die Gesichtsentsperrung ist an. Sperre den Bildschirm und schau ihn an, um " "es auszuprobieren." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "Sie kann auch sudo und Admin-Abfragen übernehmen. Siehe Einstellungen." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Die Gesichtsentsperrung ist aus. Deine Gesichter bleiben erhalten; löschen " "kannst du sie unter Gesichter." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "an" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "aus" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s Aufnahmen, %s dazugelernt" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Welches Gesicht? Die IDs zeigt `%s faces`." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Gelöscht." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Aufruf: face-unlock [Befehl]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Befehle:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Gesichtsentsperrung einschalten" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Ausschalten (Gesichter bleiben erhalten)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Gesicht hinzufügen" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Gesichter auflisten" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Ein Gesicht löschen" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "In die Kamera schauen und sehen, was sie sieht" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Bildschirm sperren" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Anzeigen, was eingeschaltet ist" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Diese Hilfe anzeigen" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Die Version anzeigen" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Ohne Befehl wird ein interaktives Menü angezeigt." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Unbekannter Befehl: %s" @@ -281,104 +281,108 @@ msgstr "" msgid "The camera could not be used." msgstr "Die Kamera konnte nicht benutzt werden." -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Eine andere App benutzt gerade die Kamera." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Die Erkennungsmodelle fehlen. Installiere das Paket neu." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "Der Deckel ist zu." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "Die Kamera ist gerade mit einem anderen Scan beschäftigt." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "Der Dienst für die Gesichtsentsperrung läuft nicht." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Nicht erlaubt." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Etwas ist schiefgelaufen (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Gesicht gefunden." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Schau auf den Bildschirm." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Geh näher an die Kamera." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Es ist zu dunkel, um dein Gesicht zu sehen." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "Treffer" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "Drehung" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "Augen" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "Tiefe" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "Blinzeln" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "Spiegelung" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "Rand" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "Kopfdrehung" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Lebenszeichen: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -452,7 +456,9 @@ msgstr "deiner" 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." +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" @@ -470,8 +476,8 @@ msgstr "läuft nicht" msgid "Turning face unlock on again starts it." msgstr "Die Gesichtsentsperrung erneut einzuschalten startet ihn." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Gesichter" @@ -742,7 +748,7 @@ msgstr "Bild oder Ordner:" msgid "Not found: %s" msgstr "Nicht gefunden: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Einstellungen" @@ -755,38 +761,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Neuer Name:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "„%s“ löschen?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Gesichtsentsperrung ein- oder ausschalten" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Ausprobieren" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "polkit-Agent installieren" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Beenden" @@ -838,7 +844,8 @@ msgstr "" #: 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:" +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." @@ -855,47 +862,48 @@ 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" +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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "Du sperrst jetzt mit dem Sperrbildschirm von face-unlock." -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Konnte die Zeile nicht in %s eintragen." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -903,7 +911,7 @@ msgstr "" "Dein Sperrbildschirm bleibt, wie er ist. Drück Enter im leeren Passwortfeld, " "um zu scannen." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, 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." @@ -1000,19 +1008,23 @@ msgstr "Näher kommen" msgid "Too dark" msgstr "Zu dunkel" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Kamera belegt" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Nutze dein Passwort" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Nicht erkannt" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Nochmal, und blinzeln" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Kamera nicht verfügbar" @@ -1106,31 +1118,31 @@ msgstr "Falsches Passwort" msgid "Face recognized" msgstr "Gesicht erkannt" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "Gesichtsentsperrung für Sperrbildschirm, sudo und Admin-Abfragen" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Ein Gesicht einrichten." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Wie das neue Gesicht heißen soll." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Den Bildschirm sperren." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Die Animationen der Bubble einmal abspielen." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Bubble-Stil für die Demo: full oder minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Fragt, welcher Sperrbildschirm genutzt wird, und gibt die Antwort aus." @@ -1275,3 +1287,26 @@ msgstr "Schau in die Kamera oder tippe dein Passwort" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Tippe dein Passwort" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo in einer SSH-Sitzung nimmt auch dein Gesicht, wenn du an diesem " +#~ "Computer sitzt. Normalerweise aus: Wer vor der Kamera sitzt, muss nicht " +#~ "der sein, der tippt." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Benutzt eine andere App die Kamera, zum Beispiel in einem Videoanruf, " +#~ "kommt keine Bubble und du tippst wie gewohnt dein Passwort. Aus: Die " +#~ "Bubble zeigt eine durchgestrichene Kamera." + +#~ msgid "In SSH sessions" +#~ msgstr "In SSH-Sitzungen" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Keine Bubble bei belegter Kamera" diff --git a/po/es.po b/po/es.po index 0a6ff85..b809ee6 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "No se pudo guardar el ajuste." @@ -84,16 +84,16 @@ msgstr "" "Cierra la sesión y vuelve a entrar una vez: entonces GNOME también muestra " "la burbuja." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Elige tu pantalla de bloqueo en la ventana." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "" "No se eligió ninguna pantalla de bloqueo. Puedes hacerlo luego en Ajustes." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -102,104 +102,104 @@ msgstr "" "La pantalla de bloqueo (%s) también acepta tu cara. Si no escanea cuando " "vuelves, pulsa Intro en el campo de contraseña vacío." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "El desbloqueo facial está activado. Bloquea la pantalla y mírala para " "probarlo." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "" "También funciona con sudo y las solicitudes de administrador. Consulta " "Ajustes." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "El desbloqueo facial está desactivado. Tus caras se conservan; bórralas en " "Caras." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "activado" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "desactivado" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s muestras, %s aprendidas" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "¿Qué cara? Consulta `%s faces` para ver los ID." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Borrado." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Uso: face-unlock [comando]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Comandos:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Activar el desbloqueo facial" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Desactivarlo (las caras se conservan)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Añadir una cara" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Listar las caras" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Borrar una cara" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Mirar a la cámara y ver lo que ve" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Bloquear la pantalla" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Mostrar qué está activado" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Mostrar esta ayuda" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Mostrar la versión" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Sin comando se muestra un menú interactivo." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Comando desconocido: %s" @@ -282,104 +282,108 @@ 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:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Otra aplicación está usando la cámara." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Faltan los modelos de reconocimiento. Reinstala el paquete." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "La tapa está cerrada." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "La cámara está ocupada con otro escaneo." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "El servicio de desbloqueo facial no está en marcha." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "No permitido." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Algo salió mal (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Cara encontrada." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Mira a la pantalla." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Acércate a la cámara." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Está demasiado oscuro para ver tu cara." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "similitud" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "giro" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "ojos" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "profundidad" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "parpadeo" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "reflejo" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "borde" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "giro de cabeza" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Señal de vida: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -453,7 +457,10 @@ msgstr "la tuya" 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." +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" @@ -471,8 +478,8 @@ msgstr "detenido" msgid "Turning face unlock on again starts it." msgstr "Al volver a activar el desbloqueo facial, se inicia." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Caras" @@ -748,7 +755,7 @@ msgstr "Imagen o carpeta:" msgid "Not found: %s" msgstr "No encontrado: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Ajustes" @@ -761,38 +768,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Nuevo nombre:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "¿Borrar «%s»?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Activar o desactivar el desbloqueo facial" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Probarlo" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Instalar un agente de polkit" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Salir" @@ -847,7 +854,8 @@ 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." +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." @@ -864,31 +872,33 @@ 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." +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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 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:408 +#: src/lib/system.sh:418 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -896,12 +906,12 @@ msgstr "" "hyprlock muestra arriba lo que hace face unlock, a partir del próximo " "bloqueo." -#: src/lib/system.sh:409 +#: src/lib/system.sh:419 #, 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:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -909,7 +919,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:411 +#: src/lib/system.sh:421 #, 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." @@ -1006,19 +1016,23 @@ msgstr "Acércate" msgid "Too dark" msgstr "Demasiado oscuro" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Cámara en uso" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Usa tu contraseña" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "No reconocido" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Reintenta y parpadea" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Cámara no disponible" @@ -1110,33 +1124,33 @@ msgstr "Contraseña incorrecta" msgid "Face recognized" msgstr "Cara reconocida" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" "Desbloqueo facial para la pantalla de bloqueo, sudo y las solicitudes de " "administrador" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Configurar una cara." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Cómo llamar a la nueva cara." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Bloquear la pantalla." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Reproducir una vez las animaciones de la burbuja." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Estilo de burbuja para la demo: full o minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Pregunta qué pantalla de bloqueo usar e imprime la respuesta." @@ -1281,3 +1295,26 @@ msgstr "Mira a la cámara o escribe tu contraseña" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Escribe tu contraseña" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo en una sesión SSH también usa tu cara, si estás frente a este " +#~ "ordenador. Desactivado por defecto: quien está ante la cámara puede no " +#~ "ser quien escribe." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Cuando otra aplicación usa la cámara, por ejemplo en una videollamada, no " +#~ "aparece la burbuja y escribes la contraseña como siempre. Desactivado: la " +#~ "burbuja muestra una cámara tachada." + +#~ msgid "In SSH sessions" +#~ msgstr "En sesiones SSH" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Sin burbuja si la cámara está en uso" diff --git a/po/face-unlock.pot b/po/face-unlock.pot index ae3330b..443da7f 100644 --- a/po/face-unlock.pot +++ b/po/face-unlock.pot @@ -5,9 +5,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: face-unlock 1.0.1\n" +"Project-Id-Version: face-unlock 2.0.0\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" -"POT-Creation-Date: 2026-09-26 20:29+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "" @@ -76,119 +76,119 @@ msgstr "" msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "" -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "" -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "" -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " "back, press Enter on the empty password field." msgstr "" -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "" -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 msgid "No face is set up yet." msgstr "" -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "" -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "" -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "" -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." msgstr "" -#: src/face-unlock:253 src/lib/system.sh:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "" @@ -261,102 +261,106 @@ msgstr "" msgid "The camera could not be used." msgstr "" -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "" + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "" -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "" -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "" -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "" -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "" -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 msgid "No password window? Start a polkit agent, for example hyprpolkitagent." msgstr "" -#: src/lib/daemon.sh:123 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "" -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "" -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "" -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 msgid "Recognised. Now blink once, or turn your head a little." msgstr "" -#: src/lib/daemon.sh:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "" -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "" -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "" -#: src/lib/daemon.sh:174 -#, sh-printf-format -msgid "Recognised as %s (match %s) in %s ms." -msgstr "" - #: src/lib/daemon.sh:175 #, sh-printf-format +msgid "Recognised as %s (match %s) in %s ms." +msgstr "" + +#: src/lib/daemon.sh:176 +#, sh-printf-format msgid "Sign of life: %s" msgstr "" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -446,8 +450,8 @@ msgstr "" msgid "Turning face unlock on again starts it." msgstr "" -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "" @@ -678,7 +682,7 @@ msgstr "" msgid "Not found: %s" msgstr "" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "" @@ -691,36 +695,36 @@ msgid "for all users, asks for your password" msgstr "" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:693 +#: src/lib/menu.sh:699 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" -#: src/lib/menu.sh:694 +#: src/lib/menu.sh:700 msgid "No face is set up yet. Press a to add one." msgstr "" -#: src/lib/menu.sh:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "" @@ -790,43 +794,43 @@ msgstr "" msgid "The polkit agent is running. Password windows open now." msgstr "" -#: src/lib/system.sh:376 src/lib/system.sh:379 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, sh-printf-format msgid "To lock with it, add this to %s, and set %s in %s:" msgstr "" -#: src/lib/system.sh:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" -#: src/lib/system.sh:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "" -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." msgstr "" -#: src/lib/system.sh:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "" -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "" -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "" @@ -923,19 +927,23 @@ msgstr "" msgid "Too dark" msgstr "" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "" @@ -1024,31 +1032,31 @@ msgstr "" msgid "Face recognized" msgstr "" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "" -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "" -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "" -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "" -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "" -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "" diff --git a/po/fr.po b/po/fr.po index 07385a4..f553014 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Impossible d'enregistrer le réglage." @@ -86,17 +86,17 @@ msgstr "" "Déconnectez-vous puis reconnectez-vous une fois : GNOME affichera alors " "aussi la bulle." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Choisissez votre écran de verrouillage dans la fenêtre." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "" "Aucun écran de verrouillage choisi. Vous pouvez le faire plus tard dans " "Réglages." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -105,104 +105,104 @@ msgstr "" "L'écran de verrouillage (%s) accepte aussi votre visage. S'il ne scanne pas " "à votre retour, appuyez sur Entrée dans le champ du mot de passe vide." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "Le déverrouillage facial est activé. Verrouillez l'écran et regardez-le pour " "essayer." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "" "Il fonctionne aussi pour sudo et les demandes d'administration. Voir " "Réglages." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Le déverrouillage facial est désactivé. Vos visages sont conservés ; " "supprimez-les dans Visages." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "activé" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "désactivé" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s échantillons, %s appris" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Quel visage ? Voir `%s faces` pour les identifiants." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Supprimé." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Utilisation : face-unlock [commande]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Commandes :" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Activer le déverrouillage facial" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Le désactiver (les visages sont conservés)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Ajouter un visage" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Lister les visages" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Supprimer un visage" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Regarder la caméra et voir ce qu'elle voit" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Verrouiller l'écran" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Afficher ce qui est activé" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Afficher cette aide" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Afficher la version" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Sans commande, un menu interactif s'affiche." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Commande inconnue : %s" @@ -285,106 +285,110 @@ 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:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Une autre application utilise la caméra." + +#: src/lib/daemon.sh:112 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." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "L'ordinateur portable est fermé." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "La caméra est occupée par un autre scan." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "Le service de déverrouillage facial n'est pas lancé." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Non autorisé." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Une erreur s'est produite (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Visage trouvé." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Regardez l'écran." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Rapprochez-vous de la caméra." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Il fait trop sombre pour voir votre visage." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "score" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "rotation" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "yeux" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "profondeur" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "clignement" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "reflet" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "bord" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "rotation de la tête" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Signe de vie : %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -458,7 +462,9 @@ msgstr "le vôtre" 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." +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" @@ -476,8 +482,8 @@ msgstr "arrêté" msgid "Turning face unlock on again starts it." msgstr "Réactiver le déverrouillage facial le démarre." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Visages" @@ -753,7 +759,7 @@ msgstr "Image ou dossier :" msgid "Not found: %s" msgstr "Introuvable : %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Réglages" @@ -766,38 +772,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Nouveau nom :" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Supprimer « %s » ?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Activer ou désactiver le déverrouillage facial" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Essayer" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Installer un agent polkit" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Quitter" @@ -870,33 +876,34 @@ 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." +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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 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:408 +#: src/lib/system.sh:418 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -904,12 +911,12 @@ msgstr "" "hyprlock affiche en haut ce que fait face unlock, dès le prochain " "verrouillage." -#: src/lib/system.sh:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Impossible d'ajouter la ligne à %s." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -917,7 +924,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:411 +#: src/lib/system.sh:421 #, 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." @@ -1014,19 +1021,23 @@ msgstr "Rapprochez-vous" msgid "Too dark" msgstr "Trop sombre" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Caméra occupée" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Utilisez votre mot de passe" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Non reconnu" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Réessayez et clignez" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Caméra indisponible" @@ -1118,33 +1129,33 @@ msgstr "Mot de passe incorrect" msgid "Face recognized" msgstr "Visage reconnu" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" "Déverrouillage facial pour l'écran de verrouillage, sudo et les demandes " "d'administration" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Configurer un visage." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Le nom du nouveau visage." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Verrouiller l'écran." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Jouer une fois les animations de la bulle." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Style de bulle pour la démo : full ou minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Demande quel écran de verrouillage utiliser et affiche la réponse." @@ -1291,3 +1302,26 @@ msgstr "Regardez la caméra ou tapez votre mot de passe" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Tapez votre mot de passe" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo dans une session SSH prend aussi votre visage, si vous êtes devant " +#~ "cet ordinateur. Désactivé par défaut : la personne devant la caméra n'est " +#~ "peut-être pas celle qui tape." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Quand une autre application utilise la caméra, par exemple en appel " +#~ "vidéo, aucune bulle n'apparaît et vous tapez le mot de passe comme " +#~ "d'habitude. Désactivé : la bulle montre une caméra barrée." + +#~ msgid "In SSH sessions" +#~ msgstr "Dans les sessions SSH" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Pas de bulle si la caméra est occupée" diff --git a/po/it.po b/po/it.po index c05f5c5..3843453 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Impossibile salvare l'impostazione." @@ -82,16 +82,16 @@ msgstr "Impossibile attivare l'estensione di GNOME che mostra la bolla." msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "Esci e rientra una volta: poi GNOME mostra anche la bolla." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Scegli la tua schermata di blocco nella finestra." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "" "Nessuna schermata di blocco scelta. Puoi farlo più tardi in Impostazioni." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -100,102 +100,102 @@ msgstr "" "Anche la schermata di blocco (%s) accetta il tuo volto. Se non scansiona " "quando torni, premi Invio nel campo password vuoto." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "Lo sblocco con il volto è attivo. Blocca lo schermo e guardalo per provarlo." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "" "Funziona anche con sudo e le richieste di amministratore. Vedi Impostazioni." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Lo sblocco con il volto è disattivato. I tuoi volti restano salvati; " "eliminali in Volti." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "attivo" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "disattivo" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s campioni, %s appresi" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Quale volto? Vedi `%s faces` per gli ID." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Eliminato." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Uso: face-unlock [comando]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Comandi:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Attiva lo sblocco con il volto" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Disattivalo (i volti restano salvati)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Aggiungi un volto" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Elenca i volti" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Elimina un volto" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Guarda la fotocamera e vedi cosa vede" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Blocca lo schermo" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Mostra cosa è attivo" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Mostra questo aiuto" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Mostra la versione" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Senza comando viene mostrato un menu interattivo." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Comando sconosciuto: %s" @@ -278,105 +278,109 @@ msgstr "" msgid "The camera could not be used." msgstr "Impossibile usare la fotocamera." -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Un'altra app sta usando la fotocamera." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Mancano i modelli di riconoscimento. Reinstalla il pacchetto." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "Il coperchio è chiuso." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "La fotocamera è occupata con un'altra scansione." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "Il servizio di sblocco con il volto non è in esecuzione." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Non consentito." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Qualcosa è andato storto (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Volto trovato." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Guarda lo schermo." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Avvicinati alla fotocamera." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "È troppo buio per vedere il tuo volto." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "somiglianza" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "rotazione" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "occhi" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "profondità" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "battito" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "riflesso" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "bordo" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "rotazione della testa" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Segno di vita: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -450,7 +454,10 @@ msgstr "la tua" 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." +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" @@ -468,8 +475,8 @@ msgstr "non in esecuzione" msgid "Turning face unlock on again starts it." msgstr "Riattivare lo sblocco con il volto lo avvia." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Volti" @@ -741,7 +748,7 @@ msgstr "Immagine o cartella:" msgid "Not found: %s" msgstr "Non trovato: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Impostazioni" @@ -754,38 +761,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Nuovo nome:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Eliminare «%s»?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Attiva o disattiva lo sblocco con il volto" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Provalo" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Installa un agente polkit" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Esci" @@ -858,42 +865,43 @@ 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." +msgstr "" +"L'agente polkit è in esecuzione. Ora le finestre per la password si aprono." -#: src/lib/system.sh:376 src/lib/system.sh:379 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 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:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Impossibile aggiungere la riga a %s." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -901,7 +909,7 @@ msgstr "" "La tua schermata di blocco resta com'è. Premi Invio nel campo password vuoto " "per la scansione." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, 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." @@ -998,19 +1006,23 @@ msgstr "Avvicinati" msgid "Too dark" msgstr "Troppo buio" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Fotocamera in uso" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Usa la password" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Non riconosciuto" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Riprova e sbatti le palpebre" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Fotocamera non disponibile" @@ -1102,33 +1114,33 @@ msgstr "Password errata" msgid "Face recognized" msgstr "Volto riconosciuto" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" "Sblocco con il volto per la schermata di blocco, sudo e le richieste di " "amministratore" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Configura un volto." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Come chiamare il nuovo volto." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Blocca lo schermo." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Riproduci una volta le animazioni della bolla." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Stile della bolla per la demo: full o minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Chiede quale schermata di blocco usare e stampa la risposta." @@ -1274,3 +1286,26 @@ msgstr "Guarda la fotocamera o digita la password" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Digita la password" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo in una sessione SSH usa anche il tuo volto, se sei davanti a questo " +#~ "computer. Disattivo di norma: chi è davanti alla fotocamera potrebbe non " +#~ "essere chi digita." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Quando un'altra app usa la fotocamera, per esempio in una videochiamata, " +#~ "la bolla non appare e digiti la password come al solito. Disattivo: la " +#~ "bolla mostra una fotocamera barrata." + +#~ msgid "In SSH sessions" +#~ msgstr "Nelle sessioni SSH" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Nessuna bolla se la fotocamera è in uso" diff --git a/po/ja.po b/po/ja.po index 3a373f6..28d87f8 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "設定を保存できませんでした。" @@ -82,15 +82,15 @@ msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "" "一度ログアウトしてログインし直してください。GNOME でもバブルが表示されます。" -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "ウィンドウでロック画面を選んでください。" -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "ロック画面が選ばれていません。あとで設定から選べます。" -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -99,98 +99,98 @@ msgstr "" "ロック画面(%s)でも顔が使えます。戻ってきたときにスキャンしない場合は、空の" "パスワード欄で Enter を押してください。" -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "顔認証はオンです。画面をロックして、画面を見て試してください。" -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "sudo や管理者の認証にも使えます。「設定」を参照してください。" -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "顔認証はオフです。顔データは残っています。「顔」から削除できます。" -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 msgid "No face is set up yet." msgstr "まだ顔が登録されていません。" -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "オン" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "オフ" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "サンプル %s 件、学習 %s 件" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "どの顔ですか? ID は `%s faces` で確認できます。" -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "削除しました。" -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "使い方: face-unlock [コマンド]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "コマンド:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "顔認証をオンにする" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "オフにする(顔データは残ります)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "顔を追加" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "顔の一覧" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "顔を削除" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "カメラを見て、カメラに映るものを確認する" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "画面をロック" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "オンになっている機能を表示" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "このヘルプを表示" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "バージョンを表示" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "コマンドなしで起動すると、対話式メニューが表示されます。" -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -198,7 +198,7 @@ msgstr "" "root ではなく、自分のユーザーで実行してください。必要なときはパスワードを尋ね" "ます。" -#: src/face-unlock:253 src/lib/system.sh:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "不明なコマンド: %s" @@ -273,104 +273,108 @@ msgstr "" msgid "The camera could not be used." msgstr "カメラを使用できませんでした。" -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "別のアプリがカメラを使用しています。" + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "認識モデルがありません。パッケージを再インストールしてください。" -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "ノートパソコンの蓋が閉じています。" -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "カメラは別のスキャン中です。" -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "顔認証サービスが動作していません。" -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "許可されていません。" -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 msgid "No password window? Start a polkit agent, for example hyprpolkitagent." msgstr "" "パスワードの画面が出ませんか? polkit エージェント(例: hyprpolkitagent)を起" "動してください。" -#: src/lib/daemon.sh:123 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "問題が発生しました(%s)。" -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "カメラを見てください。一度まばたきするか、少し顔を動かしてください。" -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "顔が見つかりました。" -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 msgid "Recognised. Now blink once, or turn your head a little." msgstr "認識しました。一度まばたきするか、少し顔を動かしてください。" -#: src/lib/daemon.sh:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "画面を見てください。" -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "カメラに近づいてください。" -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "暗すぎて顔が見えません。" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "一致度" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "回転" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "目" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "奥行き" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "まばたき" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "反射" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "縁" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "顔の向き" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "%s として認識しました(一致度 %s、%s ミリ秒)。" -#: src/lib/daemon.sh:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "生体反応: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -444,7 +448,9 @@ msgstr "今のもの" msgid "" "No polkit agent is running, so no password window can open. Adding a face " "and the admin prompts need one." -msgstr "polkit エージェントが動いていないため、パスワードの画面を開けません。顔の追加と管理者の認証にはエージェントが必要です。" +msgstr "" +"polkit エージェントが動いていないため、パスワードの画面を開けません。顔の追加" +"と管理者の認証にはエージェントが必要です。" #: src/lib/menu.sh:226 msgid "Face unlock" @@ -462,8 +468,8 @@ msgstr "停止中" msgid "Turning face unlock on again starts it." msgstr "顔認証をもう一度オンにすると起動します。" -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "顔" @@ -728,7 +734,7 @@ msgstr "画像またはフォルダー:" msgid "Not found: %s" msgstr "見つかりません: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "設定" @@ -741,37 +747,37 @@ msgid "for all users, asks for your password" msgstr "全ユーザー共通、パスワードが必要" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:693 +#: src/lib/menu.sh:699 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "上/下: 選択、スペース: オン/オフ、r: 名前を変更、d: 削除、a: 追加、q: 戻る" -#: src/lib/menu.sh:694 +#: src/lib/menu.sh:700 msgid "No face is set up yet. Press a to add one." msgstr "まだ顔が登録されていません。a を押して追加してください。" -#: src/lib/menu.sh:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "新しい名前:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "「%s」を削除しますか?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "顔認証のオン/オフ" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "試す" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "polkit エージェントをインストール" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "終了" @@ -821,11 +827,15 @@ msgstr "" #: 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 に次を追加してください:" +msgstr "" +"Hyprland は polkit エージェントを自動では起動しません。%s に次を追加してくだ" +"さい:" #: src/lib/system.sh:214 msgid "No package manager found to install a polkit agent with." -msgstr "polkit エージェントをインストールするためのパッケージマネージャーが見つかりません。" +msgstr "" +"polkit エージェントをインストールするためのパッケージマネージャーが見つかりま" +"せん。" #: src/lib/system.sh:238 msgid "Installing a polkit agent. That needs your password." @@ -838,54 +848,55 @@ 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" +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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "これでロックするには、今ロック画面を起動している場所で %s を実行してくださ" "い。" -#: src/lib/system.sh:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "これから face-unlock のロック画面でロックします。" -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "%s に行を追加できませんでした。" -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "" "ロック画面はそのままです。空のパスワード欄で Enter を押すとスキャンします。" -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock に %s がないため、テキストを表示できません。" @@ -982,19 +993,23 @@ msgstr "近づいてください" msgid "Too dark" msgstr "暗すぎます" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "カメラ使用中" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "パスワードを使用" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "認識できません" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "まばたきしてもう一度" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "カメラを使用できません" @@ -1083,31 +1098,31 @@ msgstr "パスワードが違います" msgid "Face recognized" msgstr "顔を認識しました" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "ロック画面、sudo、管理者の認証のための顔認証" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "顔を登録します。" -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "新しい顔の名前。" -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "画面をロックします。" -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "バブルのアニメーションを一度再生します。" -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "デモのバブルスタイル: full または minimal。" -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "使うロック画面を尋ね、答えを出力します。" @@ -1252,3 +1267,25 @@ msgstr "カメラを見るか、パスワードを入力してください" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "パスワードを入力してください" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "このコンピューターの前にいれば、SSH セッションの sudo でも顔を使います。既" +#~ "定はオフ: カメラの前の人が入力している人とは限らないためです。" + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "ビデオ通話などで別のアプリがカメラを使っているときは、バブルを表示せず、い" +#~ "つも通りパスワードを入力します。オフ: バブルに斜線の入ったカメラを表示しま" +#~ "す。" + +#~ msgid "In SSH sessions" +#~ msgstr "SSH セッションでも" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "カメラ使用中は表示しない" diff --git a/po/ko.po b/po/ko.po index 6f77ff6..0e294b7 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "설정을 저장하지 못했습니다." @@ -80,15 +80,15 @@ msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "" "한 번 로그아웃했다가 다시 로그인하세요. 그러면 GNOME에서도 버블이 보입니다." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "창에서 잠금 화면을 고르세요." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "잠금 화면을 고르지 않았습니다. 나중에 설정에서 고를 수 있습니다." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -97,107 +97,107 @@ msgstr "" "잠금 화면(%s)에서도 얼굴을 쓸 수 있습니다. 돌아왔을 때 스캔하지 않으면 빈 비" "밀번호 칸에서 Enter를 누르세요." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "얼굴 잠금 해제가 켜졌습니다. 화면을 잠그고 화면을 바라보며 사용해 보세요." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "sudo와 관리자 인증 창에서도 쓸 수 있습니다. 설정을 참고하세요." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "얼굴 잠금 해제가 꺼졌습니다. 얼굴 데이터는 남아 있으며, 얼굴 메뉴에서 삭제할 " "수 있습니다." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 msgid "No face is set up yet." msgstr "아직 등록된 얼굴이 없습니다." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "켜짐" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "꺼짐" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "샘플 %s개, 학습 %s개" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "어떤 얼굴인가요? ID는 `%s faces`에서 확인하세요." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "삭제했습니다." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "사용법: face-unlock [명령]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "명령:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "얼굴 잠금 해제 켜기" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "끄기 (얼굴 데이터는 유지)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "얼굴 추가" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "얼굴 목록" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "얼굴 삭제" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "카메라를 보고 카메라에 보이는 것을 확인" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "화면 잠그기" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "켜져 있는 기능 보기" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "이 도움말 보기" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "버전 보기" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "명령 없이 실행하면 대화형 메뉴가 나옵니다." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." msgstr "root가 아닌 본인 사용자로 실행하세요. 필요하면 비밀번호를 묻습니다." -#: src/face-unlock:253 src/lib/system.sh:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "알 수 없는 명령: %s" @@ -272,104 +272,108 @@ msgstr "" msgid "The camera could not be used." msgstr "카메라를 사용할 수 없었습니다." -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "다른 앱이 카메라를 사용하고 있습니다." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "인식 모델이 없습니다. 패키지를 다시 설치하세요." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "노트북 덮개가 닫혀 있습니다." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "카메라가 다른 스캔으로 사용 중입니다." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "얼굴 잠금 해제 서비스가 실행 중이 아닙니다." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "허용되지 않습니다." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 msgid "No password window? Start a polkit agent, for example hyprpolkitagent." msgstr "" "비밀번호 창이 나타나지 않나요? polkit 에이전트(예: hyprpolkitagent)를 실행하" "세요." -#: src/lib/daemon.sh:123 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "문제가 발생했습니다 (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "카메라를 보세요. 눈을 한 번 깜빡이거나 고개를 살짝 돌리세요." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "얼굴을 찾았습니다." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 msgid "Recognised. Now blink once, or turn your head a little." msgstr "인식했습니다. 이제 눈을 한 번 깜빡이거나 고개를 살짝 돌리세요." -#: src/lib/daemon.sh:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "화면을 보세요." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "카메라에 더 가까이 오세요." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "너무 어두워서 얼굴이 보이지 않습니다." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "일치도" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "회전" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "눈" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "깊이" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "깜빡임" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "반사" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "가장자리" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "고개 돌림" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "인식됨: %s (일치도 %s), %s ms." -#: src/lib/daemon.sh:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "생체 신호: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -443,7 +447,9 @@ msgstr "지금 쓰는 것" msgid "" "No polkit agent is running, so no password window can open. Adding a face " "and the admin prompts need one." -msgstr "polkit 에이전트가 실행 중이 아니어서 비밀번호 창을 열 수 없습니다. 얼굴 추가와 관리자 인증 창에 필요합니다." +msgstr "" +"polkit 에이전트가 실행 중이 아니어서 비밀번호 창을 열 수 없습니다. 얼굴 추가" +"와 관리자 인증 창에 필요합니다." #: src/lib/menu.sh:226 msgid "Face unlock" @@ -461,8 +467,8 @@ msgstr "실행 중 아님" msgid "Turning face unlock on again starts it." msgstr "얼굴 잠금 해제를 다시 켜면 시작됩니다." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "얼굴" @@ -725,7 +731,7 @@ msgstr "그림 또는 폴더:" msgid "Not found: %s" msgstr "찾을 수 없음: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "설정" @@ -738,37 +744,37 @@ msgid "for all users, asks for your password" msgstr "모든 사용자에게 적용, 비밀번호 필요" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:693 +#: src/lib/menu.sh:699 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "위/아래: 선택, 스페이스: 켜기/끄기, r: 이름 바꾸기, d: 삭제, a: 추가, q: 뒤로" -#: src/lib/menu.sh:694 +#: src/lib/menu.sh:700 msgid "No face is set up yet. Press a to add one." msgstr "아직 등록된 얼굴이 없습니다. a를 눌러 추가하세요." -#: src/lib/menu.sh:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "새 이름:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "\"%s\" 항목을 삭제할까요?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "얼굴 잠금 해제 켜기/끄기" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "사용해 보기" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "polkit 에이전트 설치" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "끝내기" @@ -819,7 +825,9 @@ msgstr "" #: 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에 다음을 추가하세요:" +msgstr "" +"Hyprland는 polkit 에이전트를 스스로 시작하지 않습니다. %s에 다음을 추가하세" +"요:" #: src/lib/system.sh:214 msgid "No package manager found to install a polkit agent with." @@ -836,52 +844,53 @@ 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" +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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "이것으로 잠그려면 지금 잠금 화면을 시작하는 곳에서 %s을(를) 실행하세요." -#: src/lib/system.sh:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "이제 face-unlock 잠금 화면으로 잠급니다." -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "%s에 줄을 추가할 수 없습니다." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "" "잠금 화면은 그대로입니다. 빈 비밀번호 칸에서 Enter를 누르면 스캔합니다." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock에 %s이(가) 없어 글을 보여 줄 수 없습니다." @@ -978,19 +987,23 @@ msgstr "더 가까이" msgid "Too dark" msgstr "너무 어두움" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "카메라 사용 중" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "비밀번호를 사용하세요" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "인식되지 않음" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "깜빡이며 다시 시도" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "카메라 사용 불가" @@ -1080,31 +1093,31 @@ msgstr "비밀번호가 틀렸습니다" msgid "Face recognized" msgstr "얼굴 인식됨" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "잠금 화면, sudo, 관리자 인증 창을 위한 얼굴 잠금 해제" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "얼굴을 등록합니다." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "새 얼굴의 이름." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "화면을 잠급니다." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "버블 애니메이션을 한 번 재생합니다." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "데모용 버블 스타일: full 또는 minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "사용할 잠금 화면을 묻고 답을 출력합니다." @@ -1247,3 +1260,24 @@ msgstr "카메라를 보거나 비밀번호를 입력하세요" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "비밀번호를 입력하세요" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "이 컴퓨터 앞에 앉아 있으면 SSH 세션의 sudo도 얼굴을 사용합니다. 기본값은 " +#~ "꺼짐: 카메라 앞의 사람이 입력하는 사람이 아닐 수 있기 때문입니다." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "화상 통화 등으로 다른 앱이 카메라를 사용하면 버블이 나타나지 않고 평소처" +#~ "럼 비밀번호를 입력합니다. 꺼짐: 버블에 줄이 그어진 카메라가 표시됩니다." + +#~ msgid "In SSH sessions" +#~ msgstr "SSH 세션에서도" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "카메라 사용 중에는 표시 안 함" diff --git a/po/nl.po b/po/nl.po index de7b1c1..c81b2ee 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Kon de instelling niet opslaan." @@ -82,15 +82,15 @@ msgstr "Kon de GNOME-extensie die de bubbel toont niet inschakelen." msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "Meld je één keer af en weer aan: dan toont GNOME de bubbel ook." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Kies je vergrendelscherm in het venster." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "Geen vergrendelscherm gekozen. Dat kan later ook onder Instellingen." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -99,102 +99,102 @@ msgstr "" "Het vergrendelscherm (%s) neemt je gezicht ook. Scant het niet als je " "terugkomt, druk dan op Enter in het lege wachtwoordveld." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "Gezichtsontgrendeling staat aan. Vergrendel het scherm en kijk ernaar om het " "te proberen." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "Het werkt ook voor sudo en beheerdersvragen. Zie Instellingen." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Gezichtsontgrendeling staat uit. Je gezichten blijven bewaard; verwijder ze " "onder Gezichten." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "aan" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "uit" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s opnames, %s bijgeleerd" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Welk gezicht? Zie `%s faces` voor de ID's." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Verwijderd." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Gebruik: face-unlock [opdracht]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Opdrachten:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Gezichtsontgrendeling aanzetten" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Uitzetten (gezichten blijven bewaard)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Een gezicht toevoegen" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "De gezichten tonen" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Een gezicht verwijderen" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "In de camera kijken en zien wat hij ziet" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Scherm vergrendelen" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Tonen wat er aan staat" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Deze hulp tonen" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "De versie tonen" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Zonder opdracht verschijnt een interactief menu." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Onbekende opdracht: %s" @@ -277,103 +277,107 @@ msgstr "" msgid "The camera could not be used." msgstr "De camera kon niet worden gebruikt." -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Een andere app gebruikt de camera." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "De herkenningsmodellen ontbreken. Installeer het pakket opnieuw." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "Het deksel is dicht." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "De camera is bezig met een andere scan." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "De dienst voor gezichtsontgrendeling draait niet." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Niet toegestaan." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Er ging iets mis (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Gezicht gevonden." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Kijk naar het scherm." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Kom dichter bij de camera." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Het is te donker om je gezicht te zien." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "match" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "draai" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "ogen" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "diepte" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "knipperen" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "schittering" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "rand" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "hoofddraai" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Teken van leven: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -447,7 +451,9 @@ msgstr "de jouwe" 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." +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" @@ -465,8 +471,8 @@ msgstr "draait niet" msgid "Turning face unlock on again starts it." msgstr "Gezichtsontgrendeling opnieuw aanzetten start hem." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Gezichten" @@ -735,7 +741,7 @@ msgstr "Afbeelding of map:" msgid "Not found: %s" msgstr "Niet gevonden: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Instellingen" @@ -748,38 +754,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Nieuwe naam:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "“%s” verwijderen?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Gezichtsontgrendeling aan- of uitzetten" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Uitproberen" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Een polkit-agent installeren" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Afsluiten" @@ -855,29 +861,29 @@ msgstr "De polkit-agent is niet gestart. Zie: systemctl --user status %s" 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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "Je vergrendelt nu met het vergrendelscherm van face-unlock." -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -885,12 +891,12 @@ msgstr "" "hyprlock toont bovenaan wat face unlock doet, vanaf de volgende keer " "vergrendelen." -#: src/lib/system.sh:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Kon de regel niet aan %s toevoegen." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -898,7 +904,7 @@ msgstr "" "Je vergrendelscherm blijft zoals het is. Druk op Enter in het lege " "wachtwoordveld om te scannen." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, 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." @@ -995,19 +1001,23 @@ msgstr "Kom dichterbij" msgid "Too dark" msgstr "Te donker" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Camera in gebruik" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Gebruik je wachtwoord" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Niet herkend" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Opnieuw, en knipper" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Camera niet beschikbaar" @@ -1099,32 +1109,32 @@ msgstr "Verkeerd wachtwoord" msgid "Face recognized" msgstr "Gezicht herkend" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" "Gezichtsontgrendeling voor het vergrendelscherm, sudo en beheerdersvragen" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Een gezicht instellen." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Hoe het nieuwe gezicht moet heten." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Het scherm vergrendelen." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "De animaties van de bubbel één keer afspelen." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Bubbelstijl voor de demo: full of minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Vraagt welk vergrendelscherm te gebruiken en print het antwoord." @@ -1270,3 +1280,25 @@ msgstr "Kijk naar de camera of typ je wachtwoord" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Typ je wachtwoord" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo in een SSH-sessie neemt ook je gezicht, als je aan deze computer " +#~ "zit. Standaard uit: wie voor de camera zit, is misschien niet wie typt." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Als een andere app de camera gebruikt, bijvoorbeeld in een videogesprek, " +#~ "verschijnt er geen bubbel en typ je zoals gewoonlijk je wachtwoord. Uit: " +#~ "de bubbel toont een doorgestreepte camera." + +#~ msgid "In SSH sessions" +#~ msgstr "In SSH-sessies" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Geen bubbel als de camera in gebruik is" diff --git a/po/pl.po b/po/pl.po index 3ba217c..8359e27 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Nie udało się zapisać ustawienia." @@ -83,15 +83,15 @@ msgstr "Nie udało się włączyć rozszerzenia GNOME, które pokazuje dymek." msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "Wyloguj się i zaloguj ponownie raz: wtedy GNOME też pokaże dymek." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Wybierz ekran blokady w oknie." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "Nie wybrano ekranu blokady. Możesz to zrobić później w Ustawieniach." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -100,102 +100,102 @@ msgstr "" "Ekran blokady (%s) też przyjmuje twarz. Jeśli nie skanuje, gdy wracasz, " "naciśnij Enter w pustym polu hasła." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "Odblokowywanie twarzą jest włączone. Zablokuj ekran i spójrz na niego, aby " "wypróbować." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "Działa też dla sudo i okien administratora. Zobacz Ustawienia." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Odblokowywanie twarzą jest wyłączone. Twoje twarze zostają zachowane; " "usuniesz je w Twarzach." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "wł." -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "wył." -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "próbki: %s, wyuczone: %s" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Która twarz? Identyfikatory pokazuje `%s faces`." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Usunięto." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Użycie: face-unlock [polecenie]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Polecenia:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Włącz odblokowywanie twarzą" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Wyłącz je (twarze zostają zachowane)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Dodaj twarz" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Pokaż listę twarzy" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Usuń twarz" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Spójrz w kamerę i zobacz, co widzi" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Zablokuj ekran" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Pokaż, co jest włączone" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Pokaż tę pomoc" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Pokaż wersję" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Bez polecenia wyświetla się interaktywne menu." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Nieznane polecenie: %s" @@ -278,102 +278,106 @@ 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:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Inna aplikacja używa kamery." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Brakuje modeli rozpoznawania. Zainstaluj pakiet ponownie." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "Pokrywa jest zamknięta." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "Kamera jest zajęta innym skanowaniem." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "Usługa odblokowywania twarzą nie działa." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Brak uprawnień." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Coś poszło nie tak (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Znaleziono twarz." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Spójrz na ekran." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Podejdź bliżej kamery." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Jest za ciemno, aby zobaczyć twoją twarz." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "zgodność" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "obrót" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "oczy" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "głębia" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "mrugnięcie" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "odblask" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "krawędź" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "obrót głowy" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Oznaka życia: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -447,7 +451,9 @@ msgstr "twój" 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ą." +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" @@ -465,8 +471,8 @@ msgstr "nie działa" msgid "Turning face unlock on again starts it." msgstr "Ponowne włączenie odblokowywania twarzą ją uruchomi." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Twarze" @@ -736,7 +742,7 @@ msgstr "Obraz lub folder:" msgid "Not found: %s" msgstr "Nie znaleziono: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Ustawienia" @@ -749,38 +755,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Nowa nazwa:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Usunąć „%s”?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Włącz lub wyłącz odblokowywanie twarzą" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Wypróbuj" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Zainstaluj agenta polkit" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Zakończ" @@ -832,7 +838,8 @@ 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." +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." @@ -851,38 +858,38 @@ msgstr "Agent polkit się nie uruchomił. Zobacz: systemctl --user status %s" 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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "Teraz blokujesz ekranem blokady face-unlock." -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Nie udało się dodać linii do %s." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -890,7 +897,7 @@ msgstr "" "Twój ekran blokady zostaje bez zmian. Naciśnij Enter w pustym polu hasła, " "aby skanować." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, 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." @@ -987,19 +994,23 @@ msgstr "Podejdź bliżej" msgid "Too dark" msgstr "Za ciemno" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Kamera w użyciu" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Użyj hasła" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Nie rozpoznano" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Spróbuj ponownie i mrugnij" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Kamera niedostępna" @@ -1090,31 +1101,31 @@ msgstr "Złe hasło" msgid "Face recognized" msgstr "Rozpoznano twarz" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "Odblokowywanie twarzą dla ekranu blokady, sudo i okien administratora" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Skonfiguruj twarz." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Jak nazwać nową twarz." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Zablokuj ekran." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Odtwórz raz animacje dymka." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Styl dymka w demo: full lub minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Pyta, którego ekranu blokady użyć, i wypisuje odpowiedź." @@ -1257,3 +1268,26 @@ msgstr "Spójrz w kamerę albo wpisz hasło" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Wpisz hasło" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo w sesji SSH także przyjmuje twarz, jeśli siedzisz przy tym " +#~ "komputerze. Domyślnie wyłączone: osoba przed kamerą może nie być tą, " +#~ "która pisze." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Gdy inna aplikacja używa kamery, na przykład podczas rozmowy wideo, dymek " +#~ "się nie pojawia i wpisujesz hasło jak zwykle. Wyłączone: dymek pokazuje " +#~ "przekreśloną kamerę." + +#~ msgid "In SSH sessions" +#~ msgstr "W sesjach SSH" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Bez dymka, gdy kamera jest w użyciu" diff --git a/po/pt_BR.po b/po/pt_BR.po index aedcad9..81066d9 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Não foi possível salvar a configuração." @@ -82,17 +82,17 @@ msgstr "Não foi possível ativar a extensão do GNOME que mostra a bolha." msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "Saia e entre de novo uma vez: aí o GNOME também mostra a bolha." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Escolha sua tela de bloqueio na janela." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "" "Nenhuma tela de bloqueio escolhida. Você pode fazer isso depois em " "Configurações." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -101,103 +101,103 @@ msgstr "" "A tela de bloqueio (%s) também aceita seu rosto. Se ela não escanear quando " "você voltar, pressione Enter no campo de senha vazio." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "O desbloqueio facial está ativado. Bloqueie a tela e olhe para ela para " "testar." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "" "Ele também funciona com sudo e pedidos de administrador. Veja Configurações." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "O desbloqueio facial está desativado. Seus rostos são mantidos; apague-os em " "Rostos." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "ativado" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "desativado" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s amostras, %s aprendidas" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Qual rosto? Veja `%s faces` para os IDs." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Apagado." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Uso: face-unlock [comando]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Comandos:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Ativar o desbloqueio facial" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Desativar (os rostos são mantidos)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Adicionar um rosto" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Listar os rostos" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Apagar um rosto" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Olhar para a câmera e ver o que ela vê" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Bloquear a tela" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Mostrar o que está ativado" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Mostrar esta ajuda" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Mostrar a versão" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Sem comando, um menu interativo é exibido." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Comando desconhecido: %s" @@ -280,104 +280,108 @@ 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:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Outro aplicativo está usando a câmera." + +#: src/lib/daemon.sh:112 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." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "A tampa está fechada." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "A câmera está ocupada com outra leitura." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 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:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Não permitido." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Algo deu errado (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Rosto encontrado." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Olhe para a tela." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Aproxime-se da câmera." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Está escuro demais para ver o seu rosto." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "semelhança" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "giro" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "olhos" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "profundidade" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "piscada" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "reflexo" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "borda" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "giro da cabeça" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Sinal de vida: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -451,7 +455,9 @@ msgstr "a sua" 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." +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" @@ -469,8 +475,8 @@ msgstr "parado" msgid "Turning face unlock on again starts it." msgstr "Ativar o desbloqueio facial de novo o inicia." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Rostos" @@ -742,7 +748,7 @@ msgstr "Imagem ou pasta:" msgid "Not found: %s" msgstr "Não encontrado: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Configurações" @@ -755,38 +761,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Novo nome:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Apagar \"%s\"?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Ativar ou desativar o desbloqueio facial" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Testar" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Instalar um agente do polkit" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Sair" @@ -841,7 +847,8 @@ 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." +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." @@ -860,28 +867,28 @@ msgstr "O agente do polkit não iniciou. Veja: systemctl --user status %s" 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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 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:408 +#: src/lib/system.sh:418 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -889,12 +896,12 @@ msgstr "" "O hyprlock mostra no topo o que o face unlock está fazendo, a partir do " "próximo bloqueio." -#: src/lib/system.sh:409 +#: src/lib/system.sh:419 #, 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:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -902,7 +909,7 @@ msgstr "" "Sua tela de bloqueio fica como está. Pressione Enter no campo de senha vazio " "para escanear." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, 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." @@ -999,19 +1006,23 @@ msgstr "Chegue mais perto" msgid "Too dark" msgstr "Escuro demais" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Câmera em uso" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Use a sua senha" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Não reconhecido" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Tente de novo e pisque" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Câmera indisponível" @@ -1103,33 +1114,33 @@ msgstr "Senha incorreta" msgid "Face recognized" msgstr "Rosto reconhecido" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" "Desbloqueio facial para a tela de bloqueio, o sudo e os pedidos de " "administrador" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Configurar um rosto." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Como chamar o novo rosto." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Bloquear a tela." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Reproduzir as animações da bolha uma vez." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Estilo da bolha para a demonstração: full ou minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Pergunta qual tela de bloqueio usar e imprime a resposta." @@ -1273,3 +1284,26 @@ msgstr "Olhe para a câmera ou digite sua senha" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Digite sua senha" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "O sudo numa sessão SSH também usa o seu rosto, se você estiver diante " +#~ "deste computador. Desativado por padrão: quem está diante da câmera pode " +#~ "não ser quem digita." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Quando outro aplicativo usa a câmera, por exemplo numa chamada de vídeo, " +#~ "a bolha não aparece e você digita a senha como sempre. Desativado: a " +#~ "bolha mostra uma câmera riscada." + +#~ msgid "In SSH sessions" +#~ msgstr "Em sessões SSH" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Sem bolha quando a câmera está em uso" diff --git a/po/ru.po b/po/ru.po index 24eee22..3c2bda3 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Не удалось сохранить настройку." @@ -83,15 +83,15 @@ msgstr "Не удалось включить расширение GNOME, кот msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "Выйдите и войдите снова один раз: тогда GNOME тоже покажет пузырь." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Выберите экран блокировки в окне." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "Экран блокировки не выбран. Это можно сделать позже в Настройках." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -100,102 +100,102 @@ msgstr "" "Экран блокировки (%s) тоже принимает ваше лицо. Если он не сканирует, когда " "вы возвращаетесь, нажмите Enter в пустом поле пароля." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "Разблокировка по лицу включена. Заблокируйте экран и посмотрите на него, " "чтобы попробовать." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "Она работает и для sudo, и для запросов администратора. См. Настройки." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Разблокировка по лицу выключена. Ваши лица сохранены; удалить их можно в " "разделе Лица." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 msgid "No face is set up yet." msgstr "Ещё не настроено ни одного лица." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "вкл." -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "выкл." -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "образцов: %s, выучено: %s" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Какое лицо? Номера показывает `%s faces`." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Удалено." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Использование: face-unlock [команда]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Команды:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Включить разблокировку по лицу" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Выключить её (лица сохраняются)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Добавить лицо" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Показать список лиц" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Удалить лицо" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Посмотреть в камеру и увидеть, что она видит" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Заблокировать экран" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Показать, что включено" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Показать эту справку" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Показать версию" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Без команды открывается интерактивное меню." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -203,7 +203,7 @@ msgstr "" "Запускайте это от своего пользователя, не от root. Пароль будет запрошен, " "когда он понадобится." -#: src/face-unlock:253 src/lib/system.sh:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Неизвестная команда: %s" @@ -278,102 +278,106 @@ msgstr "" msgid "The camera could not be used." msgstr "Не удалось использовать камеру." -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Камеру использует другое приложение." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Нет моделей распознавания. Переустановите пакет." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "Крышка закрыта." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "Камера занята другим сканированием." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "Служба разблокировки по лицу не запущена." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Нет доступа." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 msgid "No password window? Start a polkit agent, for example hyprpolkitagent." msgstr "Нет окна для пароля? Запустите агент polkit, например hyprpolkitagent." -#: src/lib/daemon.sh:123 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Что-то пошло не так (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Посмотрите в камеру. Моргните один раз или слегка поверните голову." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Лицо найдено." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Распознано. Теперь моргните один раз или слегка поверните голову." -#: src/lib/daemon.sh:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Посмотрите на экран." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Подвиньтесь ближе к камере." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Слишком темно, чтобы увидеть ваше лицо." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "сходство" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "поворот" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "глаза" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "глубина" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "моргание" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "блик" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "край" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "поворот головы" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Распознано как %s (сходство %s) за %s мс." -#: src/lib/daemon.sh:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Признак жизни: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -447,7 +451,9 @@ msgstr "ваш" msgid "" "No polkit agent is running, so no password window can open. Adding a face " "and the admin prompts need one." -msgstr "Агент polkit не запущен, поэтому окно для пароля не может открыться. Он нужен для добавления лица и запросов администратора." +msgstr "" +"Агент polkit не запущен, поэтому окно для пароля не может открыться. Он " +"нужен для добавления лица и запросов администратора." #: src/lib/menu.sh:226 msgid "Face unlock" @@ -465,8 +471,8 @@ msgstr "не запущена" msgid "Turning face unlock on again starts it." msgstr "Повторное включение разблокировки по лицу запустит её." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Лица" @@ -737,7 +743,7 @@ msgstr "Картинка или папка:" msgid "Not found: %s" msgstr "Не найдено: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Настройки" @@ -750,38 +756,38 @@ msgid "for all users, asks for your password" msgstr "для всех пользователей, запрашивает пароль" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:693 +#: src/lib/menu.sh:699 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Вверх/Вниз: выбор, Пробел: вкл./выкл., r: переименовать, d: удалить, a: " "добавить, q: назад" -#: src/lib/menu.sh:694 +#: src/lib/menu.sh:700 msgid "No face is set up yet. Press a to add one." msgstr "Ещё не настроено ни одного лица. Нажмите a, чтобы добавить." -#: src/lib/menu.sh:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Новое имя:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Удалить «%s»?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Включить или выключить разблокировку по лицу" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Попробовать" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Установить агент polkit" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Выход" @@ -853,41 +859,41 @@ msgstr "Агент polkit не запустился. Смотрите: systemctl msgid "The polkit agent is running. Password windows open now." msgstr "Агент polkit запущен. Теперь окна для пароля открываются." -#: src/lib/system.sh:376 src/lib/system.sh:379 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Чтобы блокировать им, запускайте %s там, где сейчас запускается ваш экран " "блокировки." -#: src/lib/system.sh:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "Теперь вы блокируете экраном блокировки face-unlock." -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Не удалось добавить строку в %s." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -895,7 +901,7 @@ msgstr "" "Ваш экран блокировки остаётся как есть. Нажмите Enter в пустом поле пароля, " "чтобы сканировать." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "У hyprlock нет %s, поэтому он не может показать текст." @@ -992,19 +998,23 @@ msgstr "Подвиньтесь ближе" msgid "Too dark" msgstr "Слишком темно" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Камера занята" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Введите пароль" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Не распознано" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Ещё раз, и моргните" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Камера недоступна" @@ -1096,32 +1106,32 @@ msgstr "Неверный пароль" msgid "Face recognized" msgstr "Лицо распознано" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" "Разблокировка по лицу для экрана блокировки, sudo и запросов администратора" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Настроить лицо." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Как назвать новое лицо." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Заблокировать экран." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Один раз проиграть анимации пузыря." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Стиль пузыря для демо: full или minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Спрашивает, какой экран блокировки использовать, и выводит ответ." @@ -1268,3 +1278,26 @@ msgstr "Посмотрите в камеру или введите пароль" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Введите пароль" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo в сеансе SSH тоже принимает ваше лицо, если вы сидите за этим " +#~ "компьютером. По умолчанию выкл.: человек перед камерой может быть не тем, " +#~ "кто печатает." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Когда камеру использует другое приложение, например во время видеозвонка, " +#~ "пузырь не появляется, и вы вводите пароль как обычно. Выкл.: пузырь " +#~ "показывает перечёркнутую камеру." + +#~ msgid "In SSH sessions" +#~ msgstr "В сеансах SSH" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Не показывать, когда камера занята" diff --git a/po/tr.po b/po/tr.po index 9ad6c64..a8bb716 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Ayar kaydedilemedi." @@ -81,15 +81,15 @@ msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "" "Bir kez oturumu kapatıp yeniden açın: o zaman GNOME de baloncuğu gösterir." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Pencerede kilit ekranınızı seçin." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "Kilit ekranı seçilmedi. Bunu daha sonra Ayarlar'dan yapabilirsiniz." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -98,100 +98,100 @@ msgstr "" "Kilit ekranı (%s) da yüzünüzü kabul eder. Döndüğünüzde taramazsa boş parola " "alanında Enter'a basın." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "Yüzle kilit açma açık. Denemek için ekranı kilitleyin ve ona bakın." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "sudo ve yönetici istemlerinde de çalışabilir. Ayarlar'a bakın." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Yüzle kilit açma kapalı. Yüzleriniz saklanıyor; Yüzler bölümünden " "silebilirsiniz." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 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:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "açık" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "kapalı" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s örnek, %s öğrenilen" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Hangi yüz? Kimlikler için `%s faces` komutuna bakın." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Silindi." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Kullanım: face-unlock [komut]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Komutlar:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Yüzle kilit açmayı aç" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Kapat (yüzler saklanır)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Yüz ekle" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Yüzleri listele" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Bir yüzü sil" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Kameraya bak ve onun ne gördüğünü gör" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Ekranı kilitle" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Neyin açık olduğunu göster" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Bu yardımı göster" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Sürümü göster" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Komut verilmezse etkileşimli bir menü gösterilir." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -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:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Bilinmeyen komut: %s" @@ -274,104 +274,108 @@ msgstr "" msgid "The camera could not be used." msgstr "Kamera kullanılamadı." -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Kamerayı başka bir uygulama kullanıyor." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Tanıma modelleri eksik. Paketi yeniden kurun." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "Kapak kapalı." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "Kamera başka bir taramayla meşgul." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "Yüzle kilit açma hizmeti çalışmıyor." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "İzin verilmiyor." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 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 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Bir şeyler ters gitti (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 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:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Yüz bulundu." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 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:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Ekrana bakın." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Kameraya yaklaşın." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 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:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "benzerlik" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "dönüş" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "gözler" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "derinlik" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "göz kırpma" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "parlama" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "kenar" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "baş çevirme" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, 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:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Canlılık işareti: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -445,7 +449,9 @@ msgstr "sizinki" 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." +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" @@ -463,8 +469,8 @@ msgstr "çalışmıyor" 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:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Yüzler" @@ -732,7 +738,7 @@ msgstr "Resim ya da klasör:" msgid "Not found: %s" msgstr "Bulunamadı: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Ayarlar" @@ -745,38 +751,38 @@ 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:693 +#: src/lib/menu.sh:699 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:694 +#: src/lib/menu.sh:700 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:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Yeni ad:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "\"%s\" silinsin mi?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Yüzle kilit açmayı aç ya da kapat" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Dene" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Bir polkit aracısı kur" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Çık" @@ -827,7 +833,8 @@ msgstr "" #: 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:" +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." @@ -850,32 +857,32 @@ msgstr "polkit aracısı başlamadı. Bakın: systemctl --user status %s" 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 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, 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:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "Artık face-unlock'un kilit ekranıyla kilitliyorsunuz." -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 msgid "" "hyprlock shows what face unlock is doing at the top, from the next time it " "locks." @@ -883,12 +890,12 @@ msgstr "" "Bir sonraki kilitlemeden itibaren hyprlock, face unlock'un ne yaptığını " "üstte gösterir." -#: src/lib/system.sh:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Satır %s dosyasına eklenemedi." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -896,7 +903,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:411 +#: src/lib/system.sh:421 #, 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." @@ -993,19 +1000,23 @@ msgstr "Yaklaşın" msgid "Too dark" msgstr "Çok karanlık" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Kamera kullanımda" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Parolanızı kullanın" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Tanınmadı" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Tekrar deneyin ve göz kırpın" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Kamera kullanılamıyor" @@ -1094,31 +1105,31 @@ msgstr "Yanlış parola" msgid "Face recognized" msgstr "Yüz tanındı" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "Kilit ekranı, sudo ve yönetici istemleri için yüzle kilit açma" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Bir yüz kur." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Yeni yüzün adı." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Ekranı kilitle." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Baloncuğun animasyonlarını bir kez oynat." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Demo için baloncuk stili: full ya da minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Hangi kilit ekranının kullanılacağını sorar ve cevabı yazdırır." @@ -1263,3 +1274,25 @@ msgstr "Kameraya bakın ya da parolanızı yazın" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Parolanızı yazın" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "Bu bilgisayarın başındaysanız SSH oturumundaki sudo da yüzünüzü kullanır. " +#~ "Varsayılan olarak kapalı: kameranın önündeki kişi yazan kişi olmayabilir." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Kamerayı başka bir uygulama kullanırken, örneğin bir görüntülü aramada, " +#~ "baloncuk görünmez ve parolanızı her zamanki gibi yazarsınız. Kapalı: " +#~ "baloncuk üstü çizili bir kamera gösterir." + +#~ msgid "In SSH sessions" +#~ msgstr "SSH oturumlarında" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Kamera kullanımdayken gösterme" diff --git a/po/uk.po b/po/uk.po index 5fbe781..9dc097c 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "Не вдалося зберегти налаштування." @@ -83,15 +83,15 @@ msgstr "Не вдалося увімкнути розширення GNOME, як msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "Вийдіть і увійдіть знову один раз: тоді GNOME теж покаже бульбашку." -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "Виберіть екран блокування у вікні." -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "Екран блокування не вибрано. Це можна зробити пізніше в Налаштуваннях." -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -100,103 +100,103 @@ msgstr "" "Екран блокування (%s) теж приймає ваше обличчя. Якщо він не сканує, коли ви " "повертаєтеся, натисніть Enter у порожньому полі пароля." -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "" "Розблокування обличчям увімкнено. Заблокуйте екран і подивіться на нього, " "щоб спробувати." -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "" "Воно працює і для sudo, і для запитів адміністратора. Див. Налаштування." -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "" "Розблокування обличчям вимкнено. Ваші обличчя збережено; видалити їх можна в " "розділі Обличчя." -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 msgid "No face is set up yet." msgstr "Ще не налаштовано жодного обличчя." -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "увімк." -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "вимк." -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "зразків: %s, вивчено: %s" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "Яке обличчя? Номери показує `%s faces`." -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "Видалено." -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "Використання: face-unlock [команда]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "Команди:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "Увімкнути розблокування обличчям" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "Вимкнути його (обличчя зберігаються)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "Додати обличчя" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "Показати список облич" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "Видалити обличчя" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "Подивитися в камеру і побачити, що вона бачить" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "Заблокувати екран" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "Показати, що увімкнено" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "Показати цю довідку" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "Показати версію" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "Без команди відкривається інтерактивне меню." -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." @@ -204,7 +204,7 @@ msgstr "" "Запускайте це від свого користувача, не від root. Пароль буде запитано, коли " "він знадобиться." -#: src/face-unlock:253 src/lib/system.sh:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "Невідома команда: %s" @@ -279,103 +279,107 @@ msgstr "" msgid "The camera could not be used." msgstr "Не вдалося використати камеру." -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "Камеру використовує інша програма." + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "Немає моделей розпізнавання. Перевстановіть пакунок." -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "Кришку закрито." -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "Камера зайнята іншим скануванням." -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "Служба розблокування обличчям не запущена." -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "Немає доступу." -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 msgid "No password window? Start a polkit agent, for example hyprpolkitagent." msgstr "" "Немає вікна для пароля? Запустіть агент polkit, наприклад hyprpolkitagent." -#: src/lib/daemon.sh:123 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "Щось пішло не так (%s)." -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "Подивіться в камеру. Кліпніть один раз або трохи поверніть голову." -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "Обличчя знайдено." -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 msgid "Recognised. Now blink once, or turn your head a little." msgstr "Розпізнано. Тепер кліпніть один раз або трохи поверніть голову." -#: src/lib/daemon.sh:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "Подивіться на екран." -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "Підсуньтеся ближче до камери." -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "Надто темно, щоб побачити ваше обличчя." -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "схожість" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "поворот" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "очі" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "глибина" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "кліпання" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "відблиск" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "край" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "поворот голови" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "Розпізнано як %s (схожість %s) за %s мс." -#: src/lib/daemon.sh:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "Ознака життя: %s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -449,7 +453,9 @@ msgstr "ваш" msgid "" "No polkit agent is running, so no password window can open. Adding a face " "and the admin prompts need one." -msgstr "Агент polkit не запущено, тому вікно для пароля не може відкритися. Він потрібен, щоб додати обличчя, і для запитів адміністратора." +msgstr "" +"Агент polkit не запущено, тому вікно для пароля не може відкритися. Він " +"потрібен, щоб додати обличчя, і для запитів адміністратора." #: src/lib/menu.sh:226 msgid "Face unlock" @@ -467,8 +473,8 @@ msgstr "не запущена" msgid "Turning face unlock on again starts it." msgstr "Повторне ввімкнення розблокування обличчям запустить її." -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "Обличчя" @@ -738,7 +744,7 @@ msgstr "Зображення або тека:" msgid "Not found: %s" msgstr "Не знайдено: %s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "Налаштування" @@ -751,38 +757,38 @@ msgid "for all users, asks for your password" msgstr "для всіх користувачів, запитує пароль" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:693 +#: src/lib/menu.sh:699 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "" "Вгору/Вниз: вибір, Пробіл: увімк./вимк., r: перейменувати, d: видалити, a: " "додати, q: назад" -#: src/lib/menu.sh:694 +#: src/lib/menu.sh:700 msgid "No face is set up yet. Press a to add one." msgstr "Ще не налаштовано жодного обличчя. Натисніть a, щоб додати." -#: src/lib/menu.sh:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "Нова назва:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "Видалити «%s»?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "Увімкнути або вимкнути розблокування обличчям" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "Спробувати" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "Встановити агент polkit" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "Вийти" @@ -854,40 +860,40 @@ msgstr "Агент polkit не запустився. Дивіться: systemctl msgid "The polkit agent is running. Password windows open now." msgstr "Агент polkit запущено. Тепер вікна для пароля відкриваються." -#: src/lib/system.sh:376 src/lib/system.sh:379 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "" "Щоб блокувати ним, запускайте %s там, де зараз запускається ваш екран " "блокування." -#: src/lib/system.sh:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "Тепер ви блокуєте екраном блокування face-unlock." -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "Не вдалося додати рядок до %s." -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." @@ -895,7 +901,7 @@ msgstr "" "Ваш екран блокування залишається як є. Натисніть Enter у порожньому полі " "пароля, щоб сканувати." -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "У hyprlock немає %s, тому він не може показати текст." @@ -992,19 +998,23 @@ msgstr "Підсуньтеся ближче" msgid "Too dark" msgstr "Надто темно" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "Камера зайнята" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "Введіть пароль" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "Не розпізнано" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "Ще раз, і кліпніть" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "Камера недоступна" @@ -1095,32 +1105,32 @@ msgstr "Неправильний пароль" msgid "Face recognized" msgstr "Обличчя розпізнано" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "" "Розблокування обличчям для екрана блокування, sudo і запитів адміністратора" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "Налаштувати обличчя." -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "Як назвати нове обличчя." -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "Заблокувати екран." -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "Один раз програти анімації бульбашки." -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "Стиль бульбашки для демо: full або minimal." -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "Питає, який екран блокування використовувати, і виводить відповідь." @@ -1266,3 +1276,26 @@ msgstr "Подивіться в камеру або введіть пароль" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "Введіть пароль" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "sudo в сеансі SSH теж приймає ваше обличчя, якщо ви сидите за цим " +#~ "комп'ютером. Типово вимк.: людина перед камерою може бути не тією, хто " +#~ "друкує." + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "Коли камеру використовує інша програма, наприклад під час відеодзвінка, " +#~ "бульбашка не з'являється, і ви вводите пароль як зазвичай. Вимк.: " +#~ "бульбашка показує перекреслену камеру." + +#~ msgid "In SSH sessions" +#~ msgstr "У сеансах SSH" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "Не показувати, коли камера зайнята" diff --git a/po/zh_CN.po b/po/zh_CN.po index 046ae7c..c7181d8 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 20:28+0200\n" +"POT-Creation-Date: 2026-09-28 14:32+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:527 +#: src/face-unlock:100 src/face-unlock:150 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 +#: src/lib/system.sh:409 src/lib/system.sh:415 msgid "Could not save the setting." msgstr "无法保存设置。" @@ -75,15 +75,15 @@ msgstr "无法启用显示气泡的 GNOME 扩展。" msgid "Log out and back in once: then GNOME shows the bubble too." msgstr "请注销并重新登录一次:之后 GNOME 也会显示气泡。" -#: src/face-unlock:131 +#: src/face-unlock:135 msgid "Pick your lock screen in the window." msgstr "请在窗口中选择锁屏。" -#: src/face-unlock:132 +#: src/face-unlock:136 msgid "No lock screen picked. You can do it later under Settings." msgstr "未选择锁屏。之后可以在设置中选择。" -#: src/face-unlock:135 +#: src/face-unlock:140 #, sh-printf-format msgid "" "The lock screen (%s) takes your face too. If it does not scan when you come " @@ -91,104 +91,104 @@ msgid "" msgstr "" "锁屏(%s)也接受你的人脸。如果你回来时它没有扫描,请在空的密码框中按 Enter。" -#: src/face-unlock:138 +#: src/face-unlock:143 msgid "Face unlock is on. Lock the screen and look at it to try." msgstr "人脸解锁已开启。锁定屏幕并看着它来试试。" -#: src/face-unlock:140 +#: src/face-unlock:145 msgid "It can do sudo and admin prompts too. See Settings." msgstr "它也可以用于 sudo 和管理员授权。见“设置”。" -#: src/face-unlock:156 +#: src/face-unlock:161 msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgstr "人脸解锁已关闭。你的人脸会保留;可在“人脸”中删除。" -#: src/face-unlock:170 src/lib/daemon.sh:109 +#: src/face-unlock:175 src/lib/daemon.sh:109 msgid "No face is set up yet." msgstr "尚未设置任何人脸。" -#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695 +#: src/face-unlock:179 src/lib/menu.sh:180 src/lib/menu.sh:701 msgid "on" msgstr "开" -#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192 -#: src/lib/menu.sh:696 +#: src/face-unlock:179 src/lib/menu.sh:182 src/lib/menu.sh:192 +#: src/lib/menu.sh:702 msgid "off" msgstr "关" -#: src/face-unlock:176 src/lib/menu.sh:713 +#: src/face-unlock:181 src/lib/menu.sh:719 #, sh-printf-format msgid "%s samples, %s learned" msgstr "%s 个样本,已学习 %s 个" -#: src/face-unlock:182 +#: src/face-unlock:187 #, sh-printf-format msgid "Which face? See `%s faces` for the ids." msgstr "哪张人脸?用 `%s faces` 查看 ID。" -#: src/face-unlock:186 +#: src/face-unlock:191 msgid "Deleted." msgstr "已删除。" -#: src/face-unlock:197 +#: src/face-unlock:202 msgid "Usage: face-unlock [command]" msgstr "用法:face-unlock [命令]" -#: src/face-unlock:199 +#: src/face-unlock:204 msgid "Commands:" msgstr "命令:" -#: src/face-unlock:200 +#: src/face-unlock:205 msgid "Turn face unlock on" msgstr "开启人脸解锁" -#: src/face-unlock:201 +#: src/face-unlock:206 msgid "Turn it off (faces are kept)" msgstr "关闭(保留人脸)" -#: src/face-unlock:202 src/lib/menu.sh:779 +#: src/face-unlock:207 src/lib/menu.sh:787 msgid "Add a face" msgstr "添加人脸" -#: src/face-unlock:203 +#: src/face-unlock:208 msgid "List the faces" msgstr "列出人脸" -#: src/face-unlock:204 +#: src/face-unlock:209 msgid "Delete a face" msgstr "删除人脸" -#: src/face-unlock:205 +#: src/face-unlock:210 msgid "Look at the camera and see what it sees" msgstr "看着摄像头,查看它看到的画面" -#: src/face-unlock:206 +#: src/face-unlock:211 msgid "Lock the screen" msgstr "锁定屏幕" -#: src/face-unlock:207 +#: src/face-unlock:212 msgid "Show what is on" msgstr "显示已开启的功能" -#: src/face-unlock:208 +#: src/face-unlock:213 msgid "Show this help" msgstr "显示此帮助" -#: src/face-unlock:209 +#: src/face-unlock:214 msgid "Show the version" msgstr "显示版本" -#: src/face-unlock:211 +#: src/face-unlock:216 msgid "Without a command an interactive menu is shown." msgstr "不带命令时显示交互式菜单。" -#: src/face-unlock:230 +#: src/face-unlock:235 msgid "" "Run this as your own user, not as root. It asks for your password when it " "needs to." msgstr "请以你自己的用户运行,不要用 root。需要时会询问你的密码。" -#: src/face-unlock:253 src/lib/system.sh:105 +#: src/face-unlock:258 src/lib/system.sh:105 #, sh-printf-format msgid "Unknown command: %s" msgstr "未知命令:%s" @@ -261,102 +261,106 @@ msgstr "尝试次数过多,人脸解锁已暂停。请用密码解锁一次。 msgid "The camera could not be used." msgstr "无法使用摄像头。" -#: src/lib/daemon.sh:111 src/lib/menu.sh:273 +#: src/lib/daemon.sh:111 +msgid "Another app is using the camera." +msgstr "另一个应用正在使用摄像头。" + +#: src/lib/daemon.sh:112 src/lib/menu.sh:273 msgid "The recognition models are missing. Reinstall the package." msgstr "缺少识别模型。请重新安装软件包。" -#: src/lib/daemon.sh:112 +#: src/lib/daemon.sh:113 msgid "The lid is closed." msgstr "笔记本盖子已合上。" -#: src/lib/daemon.sh:113 +#: src/lib/daemon.sh:114 msgid "The camera is busy with another scan." msgstr "摄像头正忙于另一次扫描。" -#: src/lib/daemon.sh:114 +#: src/lib/daemon.sh:115 msgid "The face unlock service is not running." msgstr "人脸解锁服务未运行。" -#: src/lib/daemon.sh:116 +#: src/lib/daemon.sh:117 msgid "Not allowed." msgstr "不允许。" -#: src/lib/daemon.sh:120 +#: src/lib/daemon.sh:121 msgid "No password window? Start a polkit agent, for example hyprpolkitagent." msgstr "没有出现密码窗口?请启动一个 polkit 代理,例如 hyprpolkitagent。" -#: src/lib/daemon.sh:123 +#: src/lib/daemon.sh:124 #, sh-printf-format msgid "Something went wrong (%s)." msgstr "出错了(%s)。" -#: src/lib/daemon.sh:134 +#: src/lib/daemon.sh:135 msgid "Look at the camera. Blink once, or turn your head a little." msgstr "看着摄像头。眨一下眼,或稍微转一下头。" -#: src/lib/daemon.sh:144 +#: src/lib/daemon.sh:145 msgid "Face found." msgstr "找到人脸。" -#: src/lib/daemon.sh:148 +#: src/lib/daemon.sh:149 msgid "Recognised. Now blink once, or turn your head a little." msgstr "已识别。现在眨一下眼,或稍微转一下头。" -#: src/lib/daemon.sh:149 +#: src/lib/daemon.sh:150 msgid "Look at the screen." msgstr "请看屏幕。" -#: src/lib/daemon.sh:150 +#: src/lib/daemon.sh:151 msgid "Move closer to the camera." msgstr "请靠近摄像头。" -#: src/lib/daemon.sh:151 +#: src/lib/daemon.sh:152 msgid "It is too dark to see your face." msgstr "太暗了,看不清你的脸。" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "match" msgstr "匹配度" -#: src/lib/daemon.sh:160 +#: src/lib/daemon.sh:161 msgid "turn" msgstr "转动" -#: src/lib/daemon.sh:161 +#: src/lib/daemon.sh:162 msgid "eyes" msgstr "眼睛" -#: src/lib/daemon.sh:162 +#: src/lib/daemon.sh:163 msgid "depth" msgstr "深度" -#: src/lib/daemon.sh:162 src/lib/daemon.sh:171 +#: src/lib/daemon.sh:163 src/lib/daemon.sh:172 msgid "blink" msgstr "眨眼" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "glare" msgstr "反光" -#: src/lib/daemon.sh:163 +#: src/lib/daemon.sh:164 msgid "edge" msgstr "边缘" -#: src/lib/daemon.sh:172 +#: src/lib/daemon.sh:173 msgid "head turn" msgstr "转头" -#: src/lib/daemon.sh:174 +#: src/lib/daemon.sh:175 #, sh-printf-format msgid "Recognised as %s (match %s) in %s ms." msgstr "识别为 %s(匹配度 %s),用时 %s 毫秒。" -#: src/lib/daemon.sh:175 +#: src/lib/daemon.sh:176 #, sh-printf-format msgid "Sign of life: %s" msgstr "活体迹象:%s" -#: src/lib/daemon.sh:180 +#: src/lib/daemon.sh:181 msgid "" "That was too many tries. Face unlock is paused until you unlock with your " "password." @@ -428,7 +432,8 @@ msgstr "你自己的" msgid "" "No polkit agent is running, so no password window can open. Adding a face " "and the admin prompts need one." -msgstr "没有运行 polkit 代理,所以无法打开密码窗口。添加人脸和管理员授权都需要它。" +msgstr "" +"没有运行 polkit 代理,所以无法打开密码窗口。添加人脸和管理员授权都需要它。" #: src/lib/menu.sh:226 msgid "Face unlock" @@ -446,8 +451,8 @@ msgstr "未运行" msgid "Turning face unlock on again starts it." msgstr "重新开启人脸解锁即可启动它。" -#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691 -#: src/lib/menu.sh:780 +#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:697 +#: src/lib/menu.sh:788 msgid "Faces" msgstr "人脸" @@ -688,7 +693,7 @@ msgstr "图片或文件夹:" msgid "Not found: %s" msgstr "未找到:%s" -#: src/lib/menu.sh:590 src/lib/menu.sh:781 +#: src/lib/menu.sh:590 src/lib/menu.sh:789 msgid "Settings" msgstr "设置" @@ -701,36 +706,36 @@ msgid "for all users, asks for your password" msgstr "对所有用户生效,需要你的密码" #. TRANSLATORS: keep the letters, they are the keys. -#: src/lib/menu.sh:693 +#: src/lib/menu.sh:699 msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgstr "上/下:选择,空格:开/关,r:重命名,d:删除,a:添加,q:返回" -#: src/lib/menu.sh:694 +#: src/lib/menu.sh:700 msgid "No face is set up yet. Press a to add one." msgstr "尚未设置任何人脸。按 a 添加。" -#: src/lib/menu.sh:740 +#: src/lib/menu.sh:748 msgid "New name:" msgstr "新名称:" -#: src/lib/menu.sh:747 +#: src/lib/menu.sh:755 #, sh-printf-format msgid "Delete \"%s\"?" msgstr "删除“%s”?" -#: src/lib/menu.sh:778 +#: src/lib/menu.sh:786 msgid "Turn face unlock on or off" msgstr "开启或关闭人脸解锁" -#: src/lib/menu.sh:782 +#: src/lib/menu.sh:790 msgid "Try it" msgstr "试一试" -#: src/lib/menu.sh:784 +#: src/lib/menu.sh:792 msgid "Install a polkit agent" msgstr "安装 polkit 代理" -#: src/lib/menu.sh:786 +#: src/lib/menu.sh:794 msgid "Quit" msgstr "退出" @@ -800,43 +805,43 @@ msgstr "polkit 代理没有启动。请查看:systemctl --user status %s" msgid "The polkit agent is running. Password windows open now." msgstr "polkit 代理正在运行。现在可以打开密码窗口了。" -#: src/lib/system.sh:376 src/lib/system.sh:379 +#: src/lib/system.sh:386 src/lib/system.sh:389 #, 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:384 +#: src/lib/system.sh:394 #, 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:388 +#: src/lib/system.sh:398 #, sh-printf-format msgid "To lock with it, run %s where your lock screen is started now." msgstr "要用它锁屏,请在现在启动锁屏的地方运行 %s。" -#: src/lib/system.sh:401 +#: src/lib/system.sh:411 msgid "You lock with face-unlock's lock screen now." msgstr "现在用 face-unlock 的锁屏锁定。" -#: src/lib/system.sh:408 +#: src/lib/system.sh:418 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:409 +#: src/lib/system.sh:419 #, sh-printf-format msgid "Could not add the line to %s." msgstr "无法把这行加入 %s。" -#: src/lib/system.sh:410 +#: src/lib/system.sh:420 msgid "" "Your lock screen stays as it is. Press Enter on the empty password field to " "scan." msgstr "你的锁屏保持不变。在空密码框中按 Enter 即可扫描。" -#: src/lib/system.sh:411 +#: src/lib/system.sh:421 #, sh-printf-format msgid "hyprlock has no %s, so it cannot show the text." msgstr "hyprlock 没有 %s,所以无法显示文字。" @@ -933,19 +938,23 @@ msgstr "靠近一点" msgid "Too dark" msgstr "太暗了" -#: src/agent/bubblecontroller.cpp:124 +#: src/agent/bubblecontroller.cpp:127 +msgid "Camera in use" +msgstr "摄像头被占用" + +#: src/agent/bubblecontroller.cpp:136 msgid "Use your password" msgstr "请使用密码" -#: src/agent/bubblecontroller.cpp:130 +#: src/agent/bubblecontroller.cpp:142 msgid "Not recognized" msgstr "未识别" -#: src/agent/bubblecontroller.cpp:132 +#: src/agent/bubblecontroller.cpp:144 msgid "Try again and blink" msgstr "再试一次并眨眼" -#: src/agent/bubblecontroller.cpp:134 +#: src/agent/bubblecontroller.cpp:146 msgid "Camera unavailable" msgstr "摄像头不可用" @@ -1034,31 +1043,31 @@ msgstr "密码错误" msgid "Face recognized" msgstr "已识别面容" -#: src/agent/main.cpp:244 +#: src/agent/main.cpp:250 msgid "Face unlock for the lock screen, sudo and admin prompts" msgstr "用于锁屏、sudo 和管理员授权的人脸解锁" -#: src/agent/main.cpp:247 +#: src/agent/main.cpp:253 msgid "Set up a face." msgstr "设置一张人脸。" -#: src/agent/main.cpp:248 +#: src/agent/main.cpp:254 msgid "What to call the new face." msgstr "新人脸的名称。" -#: src/agent/main.cpp:249 +#: src/agent/main.cpp:255 msgid "Lock the screen." msgstr "锁定屏幕。" -#: src/agent/main.cpp:250 +#: src/agent/main.cpp:256 msgid "Play the bubble's animations once." msgstr "播放一次气泡动画。" -#: src/agent/main.cpp:252 +#: src/agent/main.cpp:258 msgid "Bubble style for the demo: full or minimal." msgstr "演示用的气泡样式:full 或 minimal。" -#: src/agent/main.cpp:253 +#: src/agent/main.cpp:259 msgid "Ask which lock screen to use, and print the answer." msgstr "询问使用哪个锁屏,并输出答案。" @@ -1197,3 +1206,24 @@ msgstr "看向摄像头或输入密码" #: src/agent/qml/LockScreen.qml:195 msgid "Type your password" msgstr "输入密码" + +#~ msgid "" +#~ "sudo in an SSH session takes your face too, if you sit at this computer. " +#~ "Off by default: the person at the camera may not be the one typing." +#~ msgstr "" +#~ "如果你坐在这台电脑前,SSH 会话中的 sudo 也用你的脸。默认关闭:摄像头前的人" +#~ "不一定是正在输入的人。" + +#~ msgid "" +#~ "When another app uses the camera, for example in a video call, no bubble " +#~ "shows and you type your password as usual. Off: the bubble shows a camera " +#~ "with a line through it." +#~ msgstr "" +#~ "其他应用正在使用摄像头时(例如视频通话),不显示气泡,你照常输入密码。关" +#~ "闭:气泡显示一个被划掉的摄像头。" + +#~ msgid "In SSH sessions" +#~ msgstr "SSH 会话中也可用" + +#~ msgid "Quiet while the camera is in use" +#~ msgstr "摄像头被占用时不显示" diff --git a/res/gnome-shell/face-unlock@loonixtools.github.io/extension.js b/res/gnome-shell/face-unlock@loonixtools.github.io/extension.js index 44aae8b..84829e4 100644 --- a/res/gnome-shell/face-unlock@loonixtools.github.io/extension.js +++ b/res/gnome-shell/face-unlock@loonixtools.github.io/extension.js @@ -6,7 +6,8 @@ // lock screen. An extension runs inside GNOME Shell and may. This one draws // the bubble the agent draws everywhere else, with the same shapes and the // same timing: a port of src/agent/qml (Bubble, FaceGlyph, LockGlyph, -// Checkmark). What to show comes from the agent over the session bus. +// CameraGlyph, Checkmark). What to show comes from the agent over the session +// bus. import Clutter from 'gi://Clutter'; import Gio from 'gi://Gio'; @@ -246,6 +247,68 @@ class LockGlyph { } } +// CameraGlyph.qml: a video camera with a line through it, for a camera +// another program has. +class CameraGlyph { + constructor() { + this._start = null; + this.pace = 1; + } + + setShown(shown, at) { + this._start = shown ? at : null; + } + + _strike(at) { + if (this._start === null) + return 0; + const p = (at - this._start - 120 * this.pace) / (320 * this.pace); + return Ease.outCubic(Math.max(0, Math.min(1, p))); + } + + busy(at) { + return this._start !== null && at - this._start < 440 * this.pace; + } + + draw(cr, x, y, size, color, at) { + const u = size / 100; + const strike = this._strike(at); + cr.save(); + cr.translate(x, y); + rgba(cr, color); + roundedRect(cr, 4 * u, 24 * u, 62 * u, 52 * u, 12 * u); + cr.fill(); + + cr.setLineWidth(6 * u); + cr.setLineJoin(1 /* round */); + cr.moveTo(72 * u, 42 * u); + cr.lineTo(94 * u, 29 * u); + cr.lineTo(94 * u, 71 * u); + cr.lineTo(72 * u, 58 * u); + cr.closePath(); + cr.fillPreserve(); + cr.stroke(); + + // The line, with a gap round it so it reads on the filled camera. + if (strike > 0.01) { + const line = () => { + cr.moveTo(12 * u, 10 * u); + cr.lineTo((12 + 76 * strike) * u, (10 + 80 * strike) * u); + }; + cr.setLineCap(1 /* round */); + rgba(cr, Theme.panel); + cr.setLineWidth(24 * u); + line(); + cr.stroke(); + rgba(cr, color); + cr.setLineWidth(9 * u); + line(); + cr.stroke(); + } + cr.restore(); + } +} + // FaceGlyph.qml: brackets round a face that looks around, then the rings and // a tick, or a red shake of the head. class FaceGlyph { @@ -265,6 +328,9 @@ class FaceGlyph { this._lockOpacity = new Tween(0); this._lockScale = new Tween(0.7); this._lock = new LockGlyph(); + this._cameraOpacity = new Tween(0); + this._cameraScale = new Tween(0.7); + this._camera = new CameraGlyph(); this._successStart = null; this._shakeStart = null; this._settle = 0; @@ -304,9 +370,13 @@ class FaceGlyph { this._smile.set(mode === 'failure' ? 0 : 1, 220 * pace, Ease.outQuad, at); this._bracket.set(mode === 'tracking' ? 0.9 : 1, 260 * pace, OUT_BACK, at); this._bracketColor.set(this._colorFor(mode), 220 * pace, Ease.linear, at); - this._shown.set(mode === 'lockout' ? 0 : 1, 180 * pace, Ease.linear, at); + this._shown.set(mode === 'lockout' || mode === 'busy' ? 0 : 1, 180 * pace, Ease.linear, at); this._lockOpacity.set(mode === 'lockout' ? 1 : 0, 200 * pace, Ease.linear, at); this._lockScale.set(mode === 'lockout' ? 1 : 0.7, 260 * pace, OUT_BACK, at); + this._cameraOpacity.set(mode === 'busy' ? 1 : 0, 200 * pace, Ease.linear, at); + this._cameraScale.set(mode === 'busy' ? 1 : 0.7, 260 * pace, OUT_BACK, at); + this._camera.pace = pace; + this._camera.setShown(mode === 'busy', at); this._successStart = null; if (this._settle) { @@ -344,6 +414,7 @@ class FaceGlyph { return this._looking() || this._lookAmount.busy(at) || this._smile.busy(at) || this._bracket.busy(at) || this._bracketColor.busy(at) || this._shown.busy(at) || this._lockOpacity.busy(at) || this._lockScale.busy(at) || + this._cameraOpacity.busy(at) || this._cameraScale.busy(at) || this._camera.busy(at) || (this._successStart !== null && at - this._successStart < 900 * this.pace) || sequence(FaceGlyph.SHAKE, this._shakeStart, at, this.pace)[1]; } @@ -484,6 +555,12 @@ class FaceGlyph { this._lock.draw(cr, c - lockSize / 2, c - lockSize / 2, lockSize, this.color, at); }); + // A camera with a line through it, while another program has it + const cameraSize = size * 0.5; + layer(cr, this._cameraOpacity.get(at), this._cameraScale.get(at), c, c, () => { + this._camera.draw(cr, c - cameraSize / 2, c - cameraSize / 2, cameraSize, this.color, at); + }); + cr.restore(); } @@ -842,8 +919,8 @@ class Bubble { layout.set_alignment(Pango.Alignment.CENTER); layout.set_text(this.message, -1); const [, logical] = layout.get_pixel_extents(); - const failed = this._shownPhase === 'failure' || this._shownPhase === 'lockout'; - rgba(cr, failed ? Theme.textDetail : Theme.textSecondary, opacity); + const detail = ['failure', 'lockout', 'busy'].includes(this._shownPhase); + rgba(cr, detail ? Theme.textDetail : Theme.textSecondary, opacity); cr.moveTo(ox + 16, oy + Theme.openHeight - 20 - logical.height); PangoCairo.show_layout(cr, layout); } diff --git a/src/agent/bubblecontroller.cpp b/src/agent/bubblecontroller.cpp index cc6e4e1..4738bf2 100644 --- a/src/agent/bubblecontroller.cpp +++ b/src/agent/bubblecontroller.cpp @@ -117,6 +117,18 @@ void BubbleController::succeeded() void BubbleController::failed(const QString &reason, qint64 lockout) { + if (reason == u"camera-busy") { + // A video call, most likely. The daemon starts no scan then, so this + // may come with nothing on screen yet. + if (!enabled()) { + dismiss(); + return; + } + setMessage(i18n("Camera in use")); + setPhase(QStringLiteral("busy")); + m_hide.start(int(FailureHoldMs * pace())); + return; + } if (m_phase == u"hidden") { return; } diff --git a/src/agent/bubblecontroller.h b/src/agent/bubblecontroller.h index b9e8d10..026a9ca 100644 --- a/src/agent/bubblecontroller.h +++ b/src/agent/bubblecontroller.h @@ -17,7 +17,8 @@ class UserConfig; class BubbleController : public QObject { Q_OBJECT - // hidden, scanning, success, failure, lockout + // hidden, scanning, success, failure, lockout, busy (another program has + // the camera) Q_PROPERTY(QString phase READ phase NOTIFY phaseChanged) // A short line under the face in the full style: a hint while // scanning, the reason after a failure. diff --git a/src/agent/locktext.cpp b/src/agent/locktext.cpp index 8f83e41..7af8523 100644 --- a/src/agent/locktext.cpp +++ b/src/agent/locktext.cpp @@ -47,7 +47,7 @@ QString LockText::text(const QString &phase, const QString &message) if (phase == u"success") { return i18n("Face recognized"); } - // failure and lockout say why; hidden says nothing. + // failure, lockout and busy say why; hidden says nothing. return phase == u"hidden" ? QString() : message; } diff --git a/src/agent/main.cpp b/src/agent/main.cpp index 075fe0f..b2acddc 100644 --- a/src/agent/main.cpp +++ b/src/agent/main.cpp @@ -214,7 +214,7 @@ int lockThroughLogind() } // The whole life of a bubble, twice: a face that is recognised after a blink, -// then one that is not. +// then one that is not. Last, a camera another program has. void scheduleDemo(BubbleController *bubble) { const QList>> steps = { @@ -225,7 +225,8 @@ void scheduleDemo(BubbleController *bubble) {5600, [bubble] { bubble->scanStarted(); }}, {6200, [bubble] { bubble->faceFound(); }}, {7800, [bubble] { bubble->failed(QStringLiteral("mismatch")); }}, - {11000, [] { QCoreApplication::quit(); }}, + {11000, [bubble] { bubble->failed(QStringLiteral("camera-busy")); }}, + {14000, [] { QCoreApplication::quit(); }}, }; for (const auto &[at, what] : steps) { QTimer::singleShot(at, bubble, what); diff --git a/src/agent/qml/Bubble.qml b/src/agent/qml/Bubble.qml index 323b95e..15b61e0 100644 --- a/src/agent/qml/Bubble.qml +++ b/src/agent/qml/Bubble.qml @@ -212,7 +212,7 @@ Item { horizontalAlignment: Text.AlignHCenter elide: Text.ElideRight text: root.bubble ? root.bubble.message : "" - color: root.shownPhase === "failure" || root.shownPhase === "lockout" ? Theme.textDetail : Theme.textSecondary + color: root.shownPhase === "failure" || root.shownPhase === "lockout" || root.shownPhase === "busy" ? Theme.textDetail : Theme.textSecondary font.pixelSize: 13 font.weight: Font.Medium opacity: full.hasMessage ? 1 : 0 diff --git a/src/agent/qml/CameraGlyph.qml b/src/agent/qml/CameraGlyph.qml new file mode 100644 index 0000000..f08191e --- /dev/null +++ b/src/agent/qml/CameraGlyph.qml @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: GPL-3.0-or-later +// +// A video camera with a line through it: another program has the camera, a +// video call most likely. The line strikes through once the camera shows. + +import QtQuick +import QtQuick.Shapes + +Item { + id: root + + property color color: Theme.textPrimary + // What the line cuts out of the camera: the island behind it. + property color background: Theme.panel + property bool shown: false + property real pace: 1 + + readonly property real u: width / 100 + + // How far the line has come, 0 to 1. + property real strike: 0 + onShownChanged: { + if (shown) { + striking.restart() + } else { + striking.stop() + strike = 0 + } + } + SequentialAnimation { + id: striking + PropertyAction { target: root; property: "strike"; value: 0 } + PauseAnimation { duration: 120 * root.pace } + NumberAnimation { target: root; property: "strike"; to: 1; duration: 320 * root.pace; easing.type: Easing.OutCubic } + } + + readonly property point lineStart: Qt.point(12 * u, 10 * u) + readonly property point lineEnd: Qt.point((12 + 76 * strike) * u, (10 + 80 * strike) * u) + + // Body + Rectangle { + x: 4 * root.u + y: 24 * root.u + width: 62 * root.u + height: 52 * root.u + radius: 12 * root.u + color: root.color + } + + // Lens, its corners rounded by a stroke of the same colour + Shape { + anchors.fill: parent + preferredRendererType: Shape.CurveRenderer + + ShapePath { + fillColor: root.color + strokeColor: root.color + strokeWidth: 6 * root.u + joinStyle: ShapePath.RoundJoin + startX: 72 * root.u; startY: 42 * root.u + PathLine { x: 94 * root.u; y: 29 * root.u } + PathLine { x: 94 * root.u; y: 71 * root.u } + PathLine { x: 72 * root.u; y: 58 * root.u } + PathLine { x: 72 * root.u; y: 42 * root.u } + } + } + + // The line, with a gap round it so it reads on the filled camera + Shape { + anchors.fill: parent + visible: root.strike > 0.01 + preferredRendererType: Shape.CurveRenderer + + ShapePath { + strokeColor: root.background + strokeWidth: 24 * root.u + fillColor: "transparent" + capStyle: ShapePath.RoundCap + startX: root.lineStart.x; startY: root.lineStart.y + PathLine { x: root.lineEnd.x; y: root.lineEnd.y } + } + ShapePath { + strokeColor: root.color + strokeWidth: 9 * root.u + fillColor: "transparent" + capStyle: ShapePath.RoundCap + startX: root.lineStart.x; startY: root.lineStart.y + PathLine { x: root.lineEnd.x; y: root.lineEnd.y } + } + } +} diff --git a/src/agent/qml/FaceGlyph.qml b/src/agent/qml/FaceGlyph.qml index a6b5369..b5e7052 100644 --- a/src/agent/qml/FaceGlyph.qml +++ b/src/agent/qml/FaceGlyph.qml @@ -11,6 +11,8 @@ // success the rings (below), then a tick in the one that is left // failure it turns red and shakes its head, as on iOS // lockout a lock instead of a face +// busy a camera with a line through it: another program has the +// camera // // The rings are Face ID's in the Dynamic Island: the face gives way to two // crossed rings that tumble in 3D with a soft glow, slow down, and land flat @@ -352,8 +354,8 @@ Item { id: face anchors.fill: parent preferredRendererType: Shape.CurveRenderer - // Gives way to the rings, and to the lock. - property real shown: root.mode === "lockout" ? 0 : 1 + // Gives way to the rings, the lock and the camera. + property real shown: root.mode === "lockout" || root.mode === "busy" ? 0 : 1 Behavior on shown { NumberAnimation { duration: 180 * root.pace } } opacity: shown * (1 - root.faceGone) scale: 1 - 0.2 * root.faceGone @@ -418,5 +420,18 @@ Item { Behavior on opacity { NumberAnimation { duration: 200 * root.pace } } Behavior on scale { NumberAnimation { duration: 260 * root.pace; easing.type: Easing.OutBack } } } + + CameraGlyph { + anchors.centerIn: parent + width: parent.width * 0.5 + height: width + pace: root.pace + color: root.color + shown: root.mode === "busy" + opacity: shown ? 1 : 0 + scale: shown ? 1 : 0.7 + Behavior on opacity { NumberAnimation { duration: 200 * root.pace } } + Behavior on scale { NumberAnimation { duration: 260 * root.pace; easing.type: Easing.OutBack } } + } } } diff --git a/src/core/camera.cpp b/src/core/camera.cpp index b6a1dfa..6579e96 100644 --- a/src/core/camera.cpp +++ b/src/core/camera.cpp @@ -15,6 +15,7 @@ #include #include +#include #include using namespace std::chrono; @@ -105,6 +106,24 @@ bool probe(const QString &path, CameraInfo *info) } return ok; } + +// A program that streams holds the camera's buffers. Asking for none is how +// V4L2 lets a program check without taking them: the driver says EBUSY when +// they belong to somebody else. +bool busy(const QString &path) +{ + const int fd = ::open(QFile::encodeName(path).constData(), O_RDWR | O_NONBLOCK | O_CLOEXEC); + if (fd < 0) { + return errno == EBUSY; + } + v4l2_requestbuffers req{}; + req.count = 0; + req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + req.memory = V4L2_MEMORY_MMAP; + const bool result = ::ioctl(fd, VIDIOC_REQBUFS, &req) != 0 && errno == EBUSY; + ::close(fd); + return result; +} } // namespace Camera::Camera() = default; @@ -142,6 +161,15 @@ QString Camera::autoPath() return cameras.isEmpty() ? QString() : cameras.first().path; } +bool Camera::inUse(const QString &spec) +{ + if (spec.startsWith(u"file:") || spec.startsWith(u"images:")) { + return false; + } + const QString path = spec.isEmpty() || spec == u"auto" ? autoPath() : spec; + return !path.isEmpty() && busy(path); +} + bool Camera::open(const QString &spec, QString *error) { close(); @@ -178,6 +206,10 @@ bool Camera::open(const QString &spec, QString *error) *error = QStringLiteral("%1 is not a camera").arg(path); return false; } + if (busy(path)) { + *error = QStringLiteral("%1 is in use by another program").arg(path); + return false; + } if (!m_capture.open(QFile::encodeName(path).toStdString(), cv::CAP_V4L2) || !m_capture.isOpened()) { *error = QStringLiteral("cannot open %1 (in use by another program?)").arg(path); diff --git a/src/core/camera.h b/src/core/camera.h index 2825731..c4a2417 100644 --- a/src/core/camera.h +++ b/src/core/camera.h @@ -55,6 +55,10 @@ public: // What "auto" means on this machine: the first colour camera, else the // first camera at all. static QString autoPath(); + // Whether another program streams from the camera right now, a video + // call for example. Asked without starting it, so the light stays off. + // Never true for a video file or pictures. + static bool inUse(const QString &spec); private: bool openImages(const QString &dir, QString *error); diff --git a/src/daemon/scanjob.cpp b/src/daemon/scanjob.cpp index 9d3881a..29debe7 100644 --- a/src/daemon/scanjob.cpp +++ b/src/daemon/scanjob.cpp @@ -74,7 +74,10 @@ void ScanJob::run() Camera camera; QString error; if (!camera.open(m_settings.camera, &error)) { - finish(false, QStringLiteral("camera"), {{QStringLiteral("message"), error}}); + // The daemon checks for a busy camera before it starts a scan, but a + // video call can take it in between. + const QString reason = Camera::inUse(m_settings.camera) ? QStringLiteral("camera-busy") : QStringLiteral("camera"); + finish(false, reason, {{QStringLiteral("message"), error}}); return; } Q_EMIT event({{QStringLiteral("event"), QStringLiteral("started")}, {QStringLiteral("camera"), camera.description()}}); diff --git a/src/daemon/server.cpp b/src/daemon/server.cpp index 195a0b3..441067c 100644 --- a/src/daemon/server.cpp +++ b/src/daemon/server.cpp @@ -479,12 +479,26 @@ void Server::handleVerify(Client *client, const QJsonObject &request) return; } - auto *job = new ScanJob(&m_vision, uid, s, faces, purpose, request.value(u"verbose").toBool()); // The lock screen's agent draws its own scans. Everybody else's it has // to be told about. if (purpose != u"unlock") { m_agentLink = new AgentLink(uid, this); } + + // Another program has the camera, a video call most likely. No scan + // starts: the bubble shows a camera with a line through it, and the + // password is asked for at once. + if (Camera::inUse(s.camera)) { + qInfo("scan for %s (%s): the camera is in use", qPrintable(System::nameOf(uid)), qPrintable(purpose)); + broadcast(uid, {{QStringLiteral("event"), QStringLiteral("scan")}, + {QStringLiteral("state"), QStringLiteral("failure")}, + {QStringLiteral("reason"), QStringLiteral("camera-busy")}, + {QStringLiteral("purpose"), purpose}}); + fail(client, QStringLiteral("camera-busy")); + return; + } + + auto *job = new ScanJob(&m_vision, uid, s, faces, purpose, request.value(u"verbose").toBool()); broadcast(uid, {{QStringLiteral("event"), QStringLiteral("scan")}, {QStringLiteral("state"), QStringLiteral("start")}, {QStringLiteral("purpose"), purpose}}); startJob(job, client); } diff --git a/src/lib/daemon.sh b/src/lib/daemon.sh index bdc824f..21da0a7 100644 --- a/src/lib/daemon.sh +++ b/src/lib/daemon.sh @@ -108,6 +108,7 @@ fu_reason_text() { lockout) fu_msg "Face unlock is paused after too many tries. Unlock once with your password." ;; not-enrolled) fu_msg "No face is set up yet." ;; camera) fu_msg "The camera could not be used." ;; + camera-busy) fu_msg "Another app is using the camera." ;; models) fu_msg "The recognition models are missing. Reinstall the package." ;; lid-closed) fu_msg "The lid is closed." ;; busy) fu_msg "The camera is busy with another scan." ;;