feat: take the face in the lock screens of hyprland and niri

This commit is contained in:
Felitendo committed 2026-09-26 19:35:04 +02:00
1 parent 2a9b0d3f91
commit c693ca216c
27 files changed
+1850 -1219

No files matched your search

+11 -5
View File
@@ -74,15 +74,21 @@ desktops, on Wayland:
|---|---|---|---| |---|---|---|---|
| KDE Plasma 6 | ✅ | ✅ | ✅ above the lock screen too | | KDE Plasma 6 | ✅ | ✅ | ✅ above the lock screen too |
| GNOME | ✅ | ✅ | ✅ above the lock screen too | | GNOME | ✅ | ✅ | ✅ above the lock screen too |
| Hyprland | ✅ with hyprlock or swaylock | ✅ | ✅ once the lock screen is gone | | Hyprland | ✅ hyprlock, swaylock, gtklock or waylock | ✅ | ✅ once the lock screen is gone |
| Niri | ✅ with swaylock or hyprlock | ✅ | ✅ once the lock screen is gone | | Niri | ✅ swaylock, hyprlock, gtklock or waylock | ✅ | ✅ once the lock screen is gone |
On GNOME a small GNOME extension draws the bubble. Turning face unlock on On GNOME a small GNOME extension draws the bubble. Turning face unlock on
switches it on; right after installing, log out and back in once. switches it on; right after installing, log out and back in once.
On Hyprland and Niri, admin prompts and setting up a face need a polkit agent On Hyprland and Niri the lock screen is a program of your choice, and only it
(for example hyprpolkitagent). Hyprland without uwsm does not start the lock can open itself. So face-unlock goes into its password check, as with sudo:
screen part by itself: the menu shows what to add to its config. press Enter on the empty password field to scan. hyprlock and swaylock also
scan by themselves when you come back. Those lock screens cover the bubble,
which shows the tick once they are gone.
Admin prompts and setting up a face need a polkit agent there (for example
hyprpolkitagent). Hyprland without uwsm does not start the part that watches
the lock screen by itself: the menu shows what to add to its config.
<details> <details>
<summary>Coming from plasma-face-unlock?</summary> <summary>Coming from plasma-face-unlock?</summary>
+29 -20
View File
@@ -33,8 +33,9 @@ It is a convenience, not a security upgrade. See *HOW SAFE IS THIS*.
*enable* *enable*
Turn face unlock on for this user. Sets up a face first if there is none, Turn face unlock on for this user. Sets up a face first if there is none,
starts the lock screen agent, and turns sudo and admin prompts back on if starts the lock screen agent, and turns sudo and admin prompts back on if
they were on before. On GNOME it switches on the extension that draws the they were on before. On Hyprland and Niri it also puts the face into the
bubble. lock screen's password check (*Lock screens*), unless that was turned
off. On GNOME it switches on the extension that draws the bubble.
*disable* *disable*
Turn it off: the agent stops and sudo and the admin prompts go back to the Turn it off: the agent stops and sudo and the admin prompts go back to the
@@ -195,7 +196,8 @@ does not start a scan with every key.
When the face matches, the agent unlocks the session the way its lock screen When the face matches, the agent unlocks the session the way its lock screen
wants it: through logind, as *loginctl unlock-session* does, on Plasma and wants it: through logind, as *loginctl unlock-session* does, on Plasma and
GNOME, and with SIGUSR1 for hyprlock and swaylock. GNOME, and with SIGUSR1 for hyprlock and swaylock. Any other lock screen
opens itself, through PAM (see *DESKTOPS*).
Unlocked through logind, Plasma's lock screen cuts off its own password prompt Unlocked through logind, Plasma's lock screen cuts off its own password prompt
and counts that as a wrong password. After a face unlock the daemon resets the and counts that as a wrong password. After a face unlock the daemon resets the
@@ -223,29 +225,28 @@ All of them on Wayland. sudo and admin prompts work the same everywhere.
agent says on the session bus. *enable* switches it on; GNOME loads an agent says on the session bus. *enable* switches it on; GNOME loads an
extension that was installed after the login at the next one. extension that was installed after the login at the next one.
*Hyprland* *Hyprland*, *Niri* and other compositors with ext-session-lock
With hyprlock or swaylock. Hyprland does not set logind's *LockedHint*, The lock screen is a program of the user's choice, and nothing but it
so the agent looks for the lock screen among the user's processes once can open it. So the face goes into its password check, the way it goes
a second. The lock screen covers the bubble, which shows the tick once it into sudo's: *Lock screens* under *Settings* puts the PAM module in
is gone. Hyprland only starts the agent's user service when it runs front of the stacks of hyprlock, swaylock, gtklock and waylock, where
under uwsm. Without uwsm, this line in _~/.config/hypr/hyprland.conf_ installed (see *SUDO, ADMIN PROMPTS AND LOCK SCREENS*). Enter on the
starts it: empty password field starts a scan, and a match lets the lock screen
open itself. hyprlock asks PAM the moment it starts; that first time
is skipped, so a screen locked on purpose does not open again at once.
exec-once = systemctl --user start face-unlock-agent.service hyprlock and swaylock can also be opened from outside: the agent finds
them among the user's processes (niri also sets *LockedHint*), scans
when somebody comes back, and opens them with SIGUSR1. Those lock
screens cover the bubble, which shows the tick once they are gone.
*Niri* Hyprland only starts the agent's user service under uwsm. Without it,
With swaylock or hyprlock. niri sets logind's *LockedHint* for any lock *enable* and *status* show what to add to its config.
screen, but only these two can be unlocked by another program. The
bubble works as on Hyprland.
Other lock screens (gtklock, waylock, the ones built into shells) cannot be
unlocked by another program. There face unlock only does sudo and admin
prompts.
Hyprland and Niri come without a polkit agent. One has to run for admin Hyprland and Niri come without a polkit agent. One has to run for admin
prompts and for setting up a face, for example hyprpolkitagent. prompts and for setting up a face, for example hyprpolkitagent.
# SUDO AND ADMIN PROMPTS # SUDO, ADMIN PROMPTS AND LOCK SCREENS
Turned on under *Settings*, one line goes in front of the service's PAM stack: Turned on under *Settings*, one line goes in front of the service's PAM stack:
@@ -253,6 +254,14 @@ Turned on under *Settings*, one line goes in front of the service's PAM stack:
-auth sufficient /usr/lib/security/pam_face_unlock.so -auth sufficient /usr/lib/security/pam_face_unlock.so
``` ```
For a lock screen (hyprlock, swaylock, gtklock, waylock) it ends in
*lockscreen*. The scan then counts as a lock screen's, and a lock screen less
than two seconds old gets none. Enter on the empty password field counts as a
wrong password for *pam_faillock*(8) before the face is tried; a match takes
that back, as a correct password does. A lock screen that checks the password
with *login* or *system-auth* directly is left alone: those also let people
log in.
A match lets the person in; anything else falls through to the password as if A match lets the person in; anything else falls through to the password as if
the line were not there. The dash makes PAM skip it quietly if the module ever the line were not there. The dash makes PAM skip it quietly if the module ever
goes missing, so sudo keeps working even when the package was removed without goes missing, so sudo keeps working even when the package was removed without
+114 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.0\n" "Project-Id-Version: face-unlock 1.0.0\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-23 22:32+0200\n" "PO-Revision-Date: 2026-09-23 22:32+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: German\n" "Language-Team: German\n"
@@ -59,8 +59,8 @@ msgstr "Es wurde kein Gesicht hinzugefügt."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Richte zuerst dein Gesicht ein." msgstr "Richte zuerst dein Gesicht ein."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Einstellung konnte nicht gespeichert werden." msgstr "Einstellung konnte nicht gespeichert werden."
@@ -74,108 +74,117 @@ msgstr ""
"Keine systemd-Benutzersitzung, daher wurde der Sperrbildschirm-Dienst nicht " "Keine systemd-Benutzersitzung, daher wurde der Sperrbildschirm-Dienst nicht "
"gestartet." "gestartet."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "" msgstr ""
"Die GNOME-Erweiterung, die die Bubble zeigt, konnte nicht eingeschaltet " "Die GNOME-Erweiterung, die die Bubble zeigt, konnte nicht eingeschaltet "
"werden." "werden."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." 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." msgstr "Melde dich einmal ab und wieder an: dann zeigt GNOME die Bubble auch."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"Der Sperrbildschirm (%s) nimmt dein Gesicht auch. Scannt er nicht, wenn du "
"zurückkommst, drück Enter im leeren Passwortfeld."
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"Die Gesichtsentsperrung ist an. Sperre den Bildschirm und schau ihn an, um " "Die Gesichtsentsperrung ist an. Sperre den Bildschirm und schau ihn an, um "
"es auszuprobieren." "es auszuprobieren."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "Sie kann auch sudo und Admin-Abfragen übernehmen. Siehe Einstellungen." msgstr "Sie kann auch sudo und Admin-Abfragen übernehmen. Siehe Einstellungen."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Die Gesichtsentsperrung ist aus. Deine Gesichter bleiben erhalten; löschen " "Die Gesichtsentsperrung ist aus. Deine Gesichter bleiben erhalten; löschen "
"kannst du sie unter Gesichter." "kannst du sie unter Gesichter."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Es ist noch kein Gesicht eingerichtet." msgstr "Es ist noch kein Gesicht eingerichtet."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "an" msgstr "an"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "aus" msgstr "aus"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s Aufnahmen, %s dazugelernt" msgstr "%s Aufnahmen, %s dazugelernt"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Welches Gesicht? Die IDs zeigt `%s faces`." msgstr "Welches Gesicht? Die IDs zeigt `%s faces`."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Gelöscht." msgstr "Gelöscht."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Aufruf: face-unlock [Befehl]" msgstr "Aufruf: face-unlock [Befehl]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Befehle:" msgstr "Befehle:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Gesichtsentsperrung einschalten" msgstr "Gesichtsentsperrung einschalten"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Ausschalten (Gesichter bleiben erhalten)" msgstr "Ausschalten (Gesichter bleiben erhalten)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Gesicht hinzufügen" msgstr "Gesicht hinzufügen"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Gesichter auflisten" msgstr "Gesichter auflisten"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Ein Gesicht löschen" msgstr "Ein Gesicht löschen"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "In die Kamera schauen und sehen, was sie sieht" msgstr "In die Kamera schauen und sehen, was sie sieht"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Anzeigen, was eingeschaltet ist" msgstr "Anzeigen, was eingeschaltet ist"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Diese Hilfe anzeigen" msgstr "Diese Hilfe anzeigen"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Die Version anzeigen" msgstr "Die Version anzeigen"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Ohne Befehl wird ein interaktives Menü angezeigt." msgstr "Ohne Befehl wird ein interaktives Menü angezeigt."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -183,7 +192,7 @@ msgstr ""
"Starte das als dein eigener Benutzer, nicht als root. Wenn nötig, wird nach " "Starte das als dein eigener Benutzer, nicht als root. Wenn nötig, wird nach "
"deinem Passwort gefragt." "deinem Passwort gefragt."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Unbekannter Befehl: %s" msgstr "Unbekannter Befehl: %s"
@@ -258,7 +267,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "Die Kamera konnte nicht benutzt werden." msgstr "Die Kamera konnte nicht benutzt werden."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Die Erkennungsmodelle fehlen. Installiere das Paket neu." msgstr "Die Erkennungsmodelle fehlen. Installiere das Paket neu."
@@ -362,11 +371,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[j/N]" msgstr "[j/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "AN" msgstr "AN"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "AUS" msgstr "AUS"
@@ -407,7 +416,7 @@ msgstr "langsam"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s Sekunden" msgstr "%s Sekunden"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "automatisch" msgstr "automatisch"
@@ -427,8 +436,8 @@ msgstr "läuft nicht"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Die Gesichtsentsperrung erneut einzuschalten startet ihn." msgstr "Die Gesichtsentsperrung erneut einzuschalten startet ihn."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Gesichter" msgstr "Gesichter"
@@ -460,28 +469,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Admin-Abfragen" msgstr "Admin-Abfragen"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Sperrbildschirme"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Foto-Prüfung" msgstr "Foto-Prüfung"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "Pausiert" msgstr "Pausiert"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "noch %d Minuten, oder bis das Passwort benutzt wird" msgstr "noch %d Minuten, oder bis das Passwort benutzt wird"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Letzte Entsperrung" msgstr "Letzte Entsperrung"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "Der Sperrbildschirm-Dienst läuft nicht." msgstr "Der Sperrbildschirm-Dienst läuft nicht."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -489,7 +502,16 @@ msgstr ""
"Unter GNOME zeigt eine kleine GNOME-Erweiterung die Bubble. Beim Einschalten " "Unter GNOME zeigt eine kleine GNOME-Erweiterung die Bubble. Beim Einschalten "
"der Gesichtsentsperrung wird sie mit eingeschaltet." "der Gesichtsentsperrung wird sie mit eingeschaltet."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Scannt, wenn du zu hyprlock oder swaylock zurückkommst, und öffnet sie. "
"Jeder andere Sperrbildschirm scannt, wenn du Enter im leeren Passwortfeld "
"drückst."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -497,7 +519,7 @@ msgstr ""
"Entsperrt den Sperrbildschirm, wenn er dein Gesicht sieht. Aus: Dort geht " "Entsperrt den Sperrbildschirm, wenn er dein Gesicht sieht. Aus: Dort geht "
"nur dein Passwort." "nur dein Passwort."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -505,7 +527,7 @@ msgstr ""
"Scannt, wenn du auf dem Sperrbildschirm eine Taste drückst oder die Maus " "Scannt, wenn du auf dem Sperrbildschirm eine Taste drückst oder die Maus "
"bewegst, und wenn der Computer aufwacht." "bewegst, und wenn der Computer aufwacht."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -513,7 +535,7 @@ msgstr ""
"Scannt, sobald der Bildschirm gesperrt wird. Normalerweise aus: Sperrst du " "Scannt, sobald der Bildschirm gesperrt wird. Normalerweise aus: Sperrst du "
"selbst, würde er gleich wieder entsperren." "selbst, würde er gleich wieder entsperren."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -521,7 +543,16 @@ msgstr ""
"sudo nimmt dein Gesicht statt des Passworts. Passt es nicht, tippst du wie " "sudo nimmt dein Gesicht statt des Passworts. Passt es nicht, tippst du wie "
"gewohnt dein Passwort." "gewohnt dein Passwort."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"Der Sperrbildschirm nimmt dein Gesicht in seiner Passwortprüfung. Drück "
"Enter im leeren Feld für einen Scan. Hier gefunden: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -529,18 +560,18 @@ msgstr ""
"Die Passwort-Fenster deines Desktops und von Apps, zum Beispiel beim " "Die Passwort-Fenster deines Desktops und von Apps, zum Beispiel beim "
"Installieren. Passt das Gesicht nicht, tippst du dein Passwort." "Installieren. Passt das Gesicht nicht, tippst du dein Passwort."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Du musst blinzeln oder den Kopf leicht drehen. Das hält auch ausgedruckte " "Du musst blinzeln oder den Kopf leicht drehen. Das hält auch ausgedruckte "
"Fotos auf." "Fotos auf."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Keine Prüfung. Nur zum Ausprobieren einer Kamera." msgstr "Keine Prüfung. Nur zum Ausprobieren einer Kamera."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -548,22 +579,22 @@ msgstr ""
"Hält Fotos auf Handy, Tablet oder Hochglanzpapier auf. Blinzeln ist nicht " "Hält Fotos auf Handy, Tablet oder Hochglanzpapier auf. Blinzeln ist nicht "
"nötig. Ein matter Ausdruck kann durchkommen." "nötig. Ein matter Ausdruck kann durchkommen."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Seltener Verwechslungen, aber mit Brille oder bei schlechtem Licht erkennt " "Seltener Verwechslungen, aber mit Brille oder bei schlechtem Licht erkennt "
"es dich vielleicht nicht." "es dich vielleicht nicht."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "Erkennt dich leichter, aber auch jemanden, der dir sehr ähnlich sieht." msgstr "Erkennt dich leichter, aber auch jemanden, der dir sehr ähnlich sieht."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "Der Standard. Passt für die meisten." msgstr "Der Standard. Passt für die meisten."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -571,7 +602,7 @@ msgstr ""
"Deine Augen müssen offen sein und auf den Bildschirm schauen. So entsperrt " "Deine Augen müssen offen sein und auf den Bildschirm schauen. So entsperrt "
"es nicht, wenn du wegschaust oder schläfst." "es nicht, wenn du wegschaust oder schläfst."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -580,11 +611,11 @@ msgstr ""
"neu einrichten. Eine Infrarot-Kamera braucht ihr Licht (linux-enable-ir-" "neu einrichten. Eine Infrarot-Kamera braucht ihr Licht (linux-enable-ir-"
"emitter)." "emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Wie lange die Kamera nach deinem Gesicht sucht, bevor sie aufgibt." msgstr "Wie lange die Kamera nach deinem Gesicht sucht, bevor sie aufgibt."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -592,7 +623,7 @@ msgstr ""
"Nach einem sicheren Treffer merkt es sich, wie du gerade aussiehst. So musst " "Nach einem sicheren Treffer merkt es sich, wie du gerade aussiehst. So musst "
"du nach neuer Frisur oder Brille nichts neu einrichten." "du nach neuer Frisur oder Brille nichts neu einrichten."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -600,82 +631,82 @@ msgstr ""
"Kein Scan bei zugeklapptem Laptop, zum Beispiel am Schreibtisch mit externem " "Kein Scan bei zugeklapptem Laptop, zum Beispiel am Schreibtisch mit externem "
"Bildschirm." "Bildschirm."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "Die Bubble oben am Bildschirm zeigt, was die Kamera gerade macht." msgstr "Die Bubble oben am Bildschirm zeigt, was die Kamera gerade macht."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Eine kleine Pille mit einem Schloss, das aufgeht." msgstr "Eine kleine Pille mit einem Schloss, das aufgeht."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "" msgstr ""
"Eine Insel mit einem Gesicht, das sich umschaut, danach Ringe und ein Haken." "Eine Insel mit einem Gesicht, das sich umschaut, danach Ringe und ein Haken."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "Wie schnell sich die Bubble bewegt." msgstr "Wie schnell sich die Bubble bewegt."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Zeigt die Bubble auch, wenn sudo oder eine Admin-Abfrage dein Gesicht scannt." "Zeigt die Bubble auch, wenn sudo oder eine Admin-Abfrage dein Gesicht scannt."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "automatisch (%s)" msgstr "automatisch (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(Infrarot)" msgstr "(Infrarot)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(nicht angeschlossen)" msgstr "(nicht angeschlossen)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ auswählen ←→ oder Leertaste: ändern q: zurück" msgstr "↑↓ auswählen ←→ oder Leertaste: ändern q: zurück"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "für alle Nutzer, fragt nach deinem Passwort" msgstr "für alle Nutzer, fragt nach deinem Passwort"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Hoch/Runter: wählen, Leertaste: an/aus, r: umbenennen, d: löschen, a: " "Hoch/Runter: wählen, Leertaste: an/aus, r: umbenennen, d: löschen, a: "
"hinzufügen, q: zurück" "hinzufügen, q: zurück"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." 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." msgstr "Es ist noch kein Gesicht eingerichtet. Drück a, um eins hinzuzufügen."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Neuer Name:" msgstr "Neuer Name:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "„%s“ löschen?" msgstr "„%s“ löschen?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Gesichtsentsperrung ein- oder ausschalten" msgstr "Gesichtsentsperrung ein- oder ausschalten"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Ausprobieren" msgstr "Ausprobieren"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Beenden" msgstr "Beenden"
@@ -687,12 +718,12 @@ msgstr ""
"Deine Gesichter und Einstellungen werden von plasma-face-unlock übernommen. " "Deine Gesichter und Einstellungen werden von plasma-face-unlock übernommen. "
"Dafür ist dein Passwort nötig." "Dafür ist dein Passwort nötig."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "Das PAM-Modul ist nicht unter %s installiert." msgstr "Das PAM-Modul ist nicht unter %s installiert."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "Auf diesem System gibt es keine PAM-Konfiguration für %s." msgstr "Auf diesem System gibt es keine PAM-Konfiguration für %s."
@@ -711,12 +742,12 @@ msgstr "Dieser Befehl muss als root laufen."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Keine gültige Einstellung: %s=%s" msgstr "Keine gültige Einstellung: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Dafür kann es nicht verwendet werden: %s" msgstr "Dafür kann es nicht verwendet werden: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -917,21 +948,21 @@ msgstr "Die Animationen der Bubble einmal abspielen."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Bubble-Stil für die Demo: full oder minimal." msgstr "Bubble-Stil für die Demo: full oder minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Schau zum Entsperren in die Kamera." msgstr "Schau zum Entsperren in die Kamera."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Blinzle oder dreh den Kopf ein wenig." msgstr "Blinzle oder dreh den Kopf ein wenig."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Die Gesichtsentsperrung ist nach zu vielen Versuchen pausiert. Nutze dein " "Die Gesichtsentsperrung ist nach zu vielen Versuchen pausiert. Nutze dein "
"Passwort." "Passwort."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Gesicht nicht erkannt." msgstr "Gesicht nicht erkannt."
+113 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
@@ -58,8 +58,8 @@ msgstr "No se añadió ninguna cara."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Primero, configura tu cara." msgstr "Primero, configura tu cara."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "No se pudo guardar el ajuste." msgstr "No se pudo guardar el ajuste."
@@ -73,110 +73,119 @@ msgstr ""
"No hay sesión de usuario de systemd, así que no se inició el agente de la " "No hay sesión de usuario de systemd, así que no se inició el agente de la "
"pantalla de bloqueo." "pantalla de bloqueo."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "No se pudo activar la extensión de GNOME que muestra la burbuja." msgstr "No se pudo activar la extensión de GNOME que muestra la burbuja."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "" msgstr ""
"Cierra la sesión y vuelve a entrar una vez: entonces GNOME también muestra " "Cierra la sesión y vuelve a entrar una vez: entonces GNOME también muestra "
"la burbuja." "la burbuja."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"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:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"El desbloqueo facial está activado. Bloquea la pantalla y mírala para " "El desbloqueo facial está activado. Bloquea la pantalla y mírala para "
"probarlo." "probarlo."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "" msgstr ""
"También funciona con sudo y las solicitudes de administrador. Consulta " "También funciona con sudo y las solicitudes de administrador. Consulta "
"Ajustes." "Ajustes."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"El desbloqueo facial está desactivado. Tus caras se conservan; bórralas en " "El desbloqueo facial está desactivado. Tus caras se conservan; bórralas en "
"Caras." "Caras."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Todavía no hay ninguna cara configurada." msgstr "Todavía no hay ninguna cara configurada."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "activado" msgstr "activado"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "desactivado" msgstr "desactivado"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s muestras, %s aprendidas" msgstr "%s muestras, %s aprendidas"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "¿Qué cara? Consulta `%s faces` para ver los ID." msgstr "¿Qué cara? Consulta `%s faces` para ver los ID."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Borrado." msgstr "Borrado."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Uso: face-unlock [comando]" msgstr "Uso: face-unlock [comando]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Comandos:" msgstr "Comandos:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Activar el desbloqueo facial" msgstr "Activar el desbloqueo facial"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Desactivarlo (las caras se conservan)" msgstr "Desactivarlo (las caras se conservan)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Añadir una cara" msgstr "Añadir una cara"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Listar las caras" msgstr "Listar las caras"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Borrar una cara" msgstr "Borrar una cara"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Mirar a la cámara y ver lo que ve" msgstr "Mirar a la cámara y ver lo que ve"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Mostrar qué está activado" msgstr "Mostrar qué está activado"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Mostrar esta ayuda" msgstr "Mostrar esta ayuda"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Mostrar la versión" msgstr "Mostrar la versión"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Sin comando se muestra un menú interactivo." msgstr "Sin comando se muestra un menú interactivo."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -184,7 +193,7 @@ msgstr ""
"Ejecuta esto con tu propio usuario, no como root. Pide tu contraseña cuando " "Ejecuta esto con tu propio usuario, no como root. Pide tu contraseña cuando "
"la necesita." "la necesita."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Comando desconocido: %s" msgstr "Comando desconocido: %s"
@@ -259,7 +268,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "No se pudo usar la cámara." msgstr "No se pudo usar la cámara."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Faltan los modelos de reconocimiento. Reinstala el paquete." msgstr "Faltan los modelos de reconocimiento. Reinstala el paquete."
@@ -363,11 +372,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[s/N]" msgstr "[s/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "ACTIVADO" msgstr "ACTIVADO"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "DESACTIVADO" msgstr "DESACTIVADO"
@@ -408,7 +417,7 @@ msgstr "lenta"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s segundos" msgstr "%s segundos"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "automática" msgstr "automática"
@@ -428,8 +437,8 @@ msgstr "detenido"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Al volver a activar el desbloqueo facial, se inicia." msgstr "Al volver a activar el desbloqueo facial, se inicia."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Caras" msgstr "Caras"
@@ -461,28 +470,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Solicitudes de administrador" msgstr "Solicitudes de administrador"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Pantallas de bloqueo"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Detección de fotos" msgstr "Detección de fotos"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "En pausa" msgstr "En pausa"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "%d minutos más, o hasta que se use la contraseña" msgstr "%d minutos más, o hasta que se use la contraseña"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Último desbloqueo" msgstr "Último desbloqueo"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "El agente de la pantalla de bloqueo no se está ejecutando." msgstr "El agente de la pantalla de bloqueo no se está ejecutando."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -490,7 +503,15 @@ msgstr ""
"En GNOME, una pequeña extensión de GNOME muestra la burbuja. Al activar el " "En GNOME, una pequeña extensión de GNOME muestra la burbuja. Al activar el "
"desbloqueo facial se activa también." "desbloqueo facial se activa también."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Escanea cuando vuelves a hyprlock o swaylock y los abre. Cualquier otra "
"pantalla de bloqueo escanea al pulsar Intro en el campo de contraseña vacío."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -498,7 +519,7 @@ msgstr ""
"Desbloquea la pantalla de bloqueo cuando ve tu cara. Desactivado: ahí solo " "Desbloquea la pantalla de bloqueo cuando ve tu cara. Desactivado: ahí solo "
"sirve tu contraseña." "sirve tu contraseña."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -506,7 +527,7 @@ msgstr ""
"Escanea cuando pulsas una tecla o mueves el ratón en la pantalla de bloqueo, " "Escanea cuando pulsas una tecla o mueves el ratón en la pantalla de bloqueo, "
"y cuando el equipo se despierta." "y cuando el equipo se despierta."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -514,7 +535,7 @@ msgstr ""
"Escanea en cuanto se bloquea la pantalla. Desactivado por defecto: si la " "Escanea en cuanto se bloquea la pantalla. Desactivado por defecto: si la "
"bloqueas tú, se desbloquearía enseguida." "bloqueas tú, se desbloquearía enseguida."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -522,7 +543,16 @@ msgstr ""
"sudo usa tu cara en lugar de la contraseña. Si no coincide, escribes la " "sudo usa tu cara en lugar de la contraseña. Si no coincide, escribes la "
"contraseña como siempre." "contraseña como siempre."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"La pantalla de bloqueo acepta tu cara en su comprobación de contraseña. "
"Pulsa Intro en el campo vacío para escanear. Encontradas aquí: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -530,18 +560,18 @@ msgstr ""
"Las ventanas de contraseña de tu escritorio y de las aplicaciones, por " "Las ventanas de contraseña de tu escritorio y de las aplicaciones, por "
"ejemplo al instalar software. Si no coincide, escribes la contraseña." "ejemplo al instalar software. Si no coincide, escribes la contraseña."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Tienes que parpadear o girar un poco la cabeza. Esto también frena las fotos " "Tienes que parpadear o girar un poco la cabeza. Esto también frena las fotos "
"impresas." "impresas."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Sin comprobación. Solo para probar una cámara." msgstr "Sin comprobación. Solo para probar una cámara."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -549,24 +579,24 @@ msgstr ""
"Frena fotos en un móvil, una tableta o papel brillante. No hace falta " "Frena fotos en un móvil, una tableta o papel brillante. No hace falta "
"parpadear. Una foto impresa en papel mate puede pasar." "parpadear. Una foto impresa en papel mate puede pasar."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Menos coincidencias erróneas, pero puede que no te reconozca con gafas o con " "Menos coincidencias erróneas, pero puede que no te reconozca con gafas o con "
"poca luz." "poca luz."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "" msgstr ""
"Te reconoce con más facilidad, pero también a alguien que se parezca mucho a " "Te reconoce con más facilidad, pero también a alguien que se parezca mucho a "
"ti." "ti."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "El valor por defecto. Adecuado para la mayoría." msgstr "El valor por defecto. Adecuado para la mayoría."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -574,7 +604,7 @@ msgstr ""
"Tus ojos tienen que estar abiertos y mirando a la pantalla. Así no se " "Tus ojos tienen que estar abiertos y mirando a la pantalla. Así no se "
"desbloquea mientras miras a otro lado o duermes." "desbloquea mientras miras a otro lado o duermes."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -583,11 +613,11 @@ msgstr ""
"tu cara. Una cámara infrarroja necesita su luz encendida (linux-enable-ir-" "tu cara. Una cámara infrarroja necesita su luz encendida (linux-enable-ir-"
"emitter)." "emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Cuánto tiempo busca la cámara tu cara antes de rendirse." msgstr "Cuánto tiempo busca la cámara tu cara antes de rendirse."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -595,7 +625,7 @@ msgstr ""
"Tras una coincidencia segura, recuerda tu aspecto actual. Así, un corte de " "Tras una coincidencia segura, recuerda tu aspecto actual. Así, un corte de "
"pelo nuevo o unas gafas no piden configurar de nuevo." "pelo nuevo o unas gafas no piden configurar de nuevo."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -603,85 +633,85 @@ msgstr ""
"Sin escaneo mientras el portátil está cerrado, por ejemplo en un escritorio " "Sin escaneo mientras el portátil está cerrado, por ejemplo en un escritorio "
"con una pantalla externa." "con una pantalla externa."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "" msgstr ""
"La burbuja en la parte superior de la pantalla muestra lo que hace la cámara." "La burbuja en la parte superior de la pantalla muestra lo que hace la cámara."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Una pequeña pastilla con un candado que se abre." msgstr "Una pequeña pastilla con un candado que se abre."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "" msgstr ""
"Una isla con una cara que mira alrededor, luego anillos y una marca de " "Una isla con una cara que mira alrededor, luego anillos y una marca de "
"verificación." "verificación."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "La velocidad a la que se mueve la burbuja." msgstr "La velocidad a la que se mueve la burbuja."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Muestra la burbuja también cuando sudo o una solicitud de administrador " "Muestra la burbuja también cuando sudo o una solicitud de administrador "
"escanea tu cara." "escanea tu cara."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "automática (%s)" msgstr "automática (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(infrarroja)" msgstr "(infrarroja)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(no conectada)" msgstr "(no conectada)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Ajustes" msgstr "Ajustes"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ elegir ←→ o Espacio: cambiar q: volver" msgstr "↑↓ elegir ←→ o Espacio: cambiar q: volver"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "para todos los usuarios, pide tu contraseña" msgstr "para todos los usuarios, pide tu contraseña"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Arriba/Abajo: elegir, Espacio: activar/desactivar, r: renombrar, d: borrar, " "Arriba/Abajo: elegir, Espacio: activar/desactivar, r: renombrar, d: borrar, "
"a: añadir, q: volver" "a: añadir, q: volver"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." 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." msgstr "Todavía no hay ninguna cara configurada. Pulsa a para añadir una."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Nuevo nombre:" msgstr "Nuevo nombre:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "¿Borrar «%s»?" msgstr "¿Borrar «%s»?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Activar o desactivar el desbloqueo facial" msgstr "Activar o desactivar el desbloqueo facial"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Probarlo" msgstr "Probarlo"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Salir" msgstr "Salir"
@@ -693,12 +723,12 @@ msgstr ""
"Pasando tus caras y ajustes desde plasma-face-unlock. Para eso hace falta tu " "Pasando tus caras y ajustes desde plasma-face-unlock. Para eso hace falta tu "
"contraseña." "contraseña."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "El módulo PAM no está instalado en %s." msgstr "El módulo PAM no está instalado en %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "No hay configuración PAM para %s en este sistema." msgstr "No hay configuración PAM para %s en este sistema."
@@ -716,12 +746,12 @@ msgstr "Este comando tiene que ejecutarse como root."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Ajuste no válido: %s=%s" msgstr "Ajuste no válido: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "No se puede usar para este servicio: %s" msgstr "No se puede usar para este servicio: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -922,21 +952,21 @@ msgstr "Reproducir una vez las animaciones de la burbuja."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Estilo de burbuja para la demo: full o minimal." msgstr "Estilo de burbuja para la demo: full o minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Mira a la cámara para desbloquear." msgstr "Mira a la cámara para desbloquear."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Parpadea o gira un poco la cabeza." msgstr "Parpadea o gira un poco la cabeza."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"El desbloqueo facial está en pausa tras demasiados intentos. Usa tu " "El desbloqueo facial está en pausa tras demasiados intentos. Usa tu "
"contraseña." "contraseña."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Cara no reconocida." msgstr "Cara no reconocida."
+107 -83
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -54,8 +54,8 @@ msgstr ""
msgid "First, set up your face." msgid "First, set up your face."
msgstr "" msgstr ""
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "" msgstr ""
@@ -67,108 +67,115 @@ msgstr ""
msgid "No systemd user session, so the lock screen agent was not started." msgid "No systemd user session, so the lock screen agent was not started."
msgstr "" msgstr ""
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "" msgstr ""
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "" msgstr ""
#: src/face-unlock:124 #: src/face-unlock:129
#, 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:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "" msgstr ""
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "" msgstr ""
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "" msgstr ""
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "" msgstr ""
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "" msgstr ""
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "" msgstr ""
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "" msgstr ""
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "" msgstr ""
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "" msgstr ""
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "" msgstr ""
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "" msgstr ""
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "" msgstr ""
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "" msgstr ""
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "" msgstr ""
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "" msgstr ""
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "" msgstr ""
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "" msgstr ""
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "" msgstr ""
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "" msgstr ""
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
msgstr "" msgstr ""
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "" msgstr ""
@@ -241,7 +248,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "" msgstr ""
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "" msgstr ""
@@ -343,11 +350,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "" msgstr ""
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "" msgstr ""
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "" msgstr ""
@@ -388,7 +395,7 @@ msgstr ""
msgid "%s seconds" msgid "%s seconds"
msgstr "" msgstr ""
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "" msgstr ""
@@ -408,8 +415,8 @@ msgstr ""
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "" msgstr ""
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "" msgstr ""
@@ -441,191 +448,208 @@ msgstr ""
msgid "Admin prompts" msgid "Admin prompts"
msgstr "" msgstr ""
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr ""
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "" msgstr ""
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "" msgstr ""
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "" msgstr ""
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "" msgstr ""
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "" msgstr ""
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
msgstr "" msgstr ""
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
msgstr "" msgstr ""
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
msgstr "" msgstr ""
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
msgstr "" msgstr ""
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
msgstr "" msgstr ""
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
msgstr "" msgstr ""
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "" msgstr ""
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
msgstr "" msgstr ""
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "" msgstr ""
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "" msgstr ""
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
msgstr "" msgstr ""
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
msgstr "" msgstr ""
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "" msgstr ""
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
msgstr "" msgstr ""
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
msgstr "" msgstr ""
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "" msgstr ""
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "" msgstr ""
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "" msgstr ""
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "" msgstr ""
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "" msgstr ""
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "" msgstr ""
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "" msgstr ""
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "" msgstr ""
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "" msgstr ""
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "" msgstr ""
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "" msgstr ""
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "" msgstr ""
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "" msgstr ""
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "" msgstr ""
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "" msgstr ""
@@ -635,12 +659,12 @@ msgid ""
"password." "password."
msgstr "" msgstr ""
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "" msgstr ""
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "" msgstr ""
@@ -658,12 +682,12 @@ msgstr ""
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "" msgstr ""
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "" msgstr ""
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -857,19 +881,19 @@ msgstr ""
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "" msgstr ""
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "" msgstr ""
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "" msgstr ""
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "" msgstr ""
+114 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: French\n" "Language-Team: French\n"
@@ -60,8 +60,8 @@ msgstr "Aucun visage n'a été ajouté."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Configurez d'abord votre visage." msgstr "Configurez d'abord votre visage."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Impossible d'enregistrer le réglage." msgstr "Impossible d'enregistrer le réglage."
@@ -75,110 +75,119 @@ msgstr ""
"Pas de session utilisateur systemd, l'agent de l'écran de verrouillage n'a " "Pas de session utilisateur systemd, l'agent de l'écran de verrouillage n'a "
"donc pas été démarré." "donc pas été démarré."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Impossible d'activer l'extension GNOME qui affiche la bulle." msgstr "Impossible d'activer l'extension GNOME qui affiche la bulle."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "" msgstr ""
"Déconnectez-vous puis reconnectez-vous une fois : GNOME affichera alors " "Déconnectez-vous puis reconnectez-vous une fois : GNOME affichera alors "
"aussi la bulle." "aussi la bulle."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"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:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"Le déverrouillage facial est activé. Verrouillez l'écran et regardez-le pour " "Le déverrouillage facial est activé. Verrouillez l'écran et regardez-le pour "
"essayer." "essayer."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "" msgstr ""
"Il fonctionne aussi pour sudo et les demandes d'administration. Voir " "Il fonctionne aussi pour sudo et les demandes d'administration. Voir "
"Réglages." "Réglages."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Le déverrouillage facial est désactivé. Vos visages sont conservés ; " "Le déverrouillage facial est désactivé. Vos visages sont conservés ; "
"supprimez-les dans Visages." "supprimez-les dans Visages."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Aucun visage n'est encore configuré." msgstr "Aucun visage n'est encore configuré."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "activé" msgstr "activé"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "désactivé" msgstr "désactivé"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s échantillons, %s appris" msgstr "%s échantillons, %s appris"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Quel visage ? Voir `%s faces` pour les identifiants." msgstr "Quel visage ? Voir `%s faces` pour les identifiants."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Supprimé." msgstr "Supprimé."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Utilisation : face-unlock [commande]" msgstr "Utilisation : face-unlock [commande]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Commandes :" msgstr "Commandes :"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Activer le déverrouillage facial" msgstr "Activer le déverrouillage facial"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Le désactiver (les visages sont conservés)" msgstr "Le désactiver (les visages sont conservés)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Ajouter un visage" msgstr "Ajouter un visage"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Lister les visages" msgstr "Lister les visages"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Supprimer un visage" msgstr "Supprimer un visage"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Regarder la caméra et voir ce qu'elle voit" msgstr "Regarder la caméra et voir ce qu'elle voit"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Afficher ce qui est activé" msgstr "Afficher ce qui est activé"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Afficher cette aide" msgstr "Afficher cette aide"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Afficher la version" msgstr "Afficher la version"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Sans commande, un menu interactif s'affiche." msgstr "Sans commande, un menu interactif s'affiche."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -186,7 +195,7 @@ msgstr ""
"Lancez ceci avec votre propre utilisateur, pas en root. Le mot de passe est " "Lancez ceci avec votre propre utilisateur, pas en root. Le mot de passe est "
"demandé quand il le faut." "demandé quand il le faut."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Commande inconnue : %s" msgstr "Commande inconnue : %s"
@@ -261,7 +270,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "La caméra n'a pas pu être utilisée." msgstr "La caméra n'a pas pu être utilisée."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Les modèles de reconnaissance sont absents. Réinstallez le paquet." msgstr "Les modèles de reconnaissance sont absents. Réinstallez le paquet."
@@ -367,11 +376,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[o/N]" msgstr "[o/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "ACTIVÉ" msgstr "ACTIVÉ"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "DÉSACTIVÉ" msgstr "DÉSACTIVÉ"
@@ -412,7 +421,7 @@ msgstr "lent"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s secondes" msgstr "%s secondes"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "automatique" msgstr "automatique"
@@ -432,8 +441,8 @@ msgstr "arrêté"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Réactiver le déverrouillage facial le démarre." msgstr "Réactiver le déverrouillage facial le démarre."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Visages" msgstr "Visages"
@@ -465,28 +474,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Demandes d'administration" msgstr "Demandes d'administration"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Écrans de verrouillage"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Contrôle anti-photo" msgstr "Contrôle anti-photo"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "En pause" msgstr "En pause"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "encore %d minutes, ou jusqu'à l'utilisation du mot de passe" msgstr "encore %d minutes, ou jusqu'à l'utilisation du mot de passe"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Dernier déverrouillage" msgstr "Dernier déverrouillage"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "L'agent de l'écran de verrouillage ne tourne pas." msgstr "L'agent de l'écran de verrouillage ne tourne pas."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -494,7 +507,16 @@ msgstr ""
"Sous GNOME, une petite extension GNOME affiche la bulle. Activer le " "Sous GNOME, une petite extension GNOME affiche la bulle. Activer le "
"déverrouillage facial l'active aussi." "déverrouillage facial l'active aussi."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Scanne quand vous revenez à hyprlock ou swaylock et les ouvre. Tout autre "
"écran de verrouillage scanne quand vous appuyez sur Entrée dans le champ du "
"mot de passe vide."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -502,7 +524,7 @@ msgstr ""
"Déverrouille l'écran de verrouillage quand il voit votre visage. Désactivé : " "Déverrouille l'écran de verrouillage quand il voit votre visage. Désactivé : "
"seul votre mot de passe fonctionne." "seul votre mot de passe fonctionne."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -510,7 +532,7 @@ msgstr ""
"Scanne quand vous appuyez sur une touche ou bougez la souris sur l'écran de " "Scanne quand vous appuyez sur une touche ou bougez la souris sur l'écran de "
"verrouillage, et au réveil de l'ordinateur." "verrouillage, et au réveil de l'ordinateur."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -518,7 +540,7 @@ msgstr ""
"Scanne dès que l'écran se verrouille. Désactivé par défaut : si vous " "Scanne dès que l'écran se verrouille. Désactivé par défaut : si vous "
"verrouillez vous-même, il se déverrouillerait aussitôt." "verrouillez vous-même, il se déverrouillerait aussitôt."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -526,7 +548,16 @@ msgstr ""
"sudo prend votre visage au lieu du mot de passe. Sinon, vous tapez le mot de " "sudo prend votre visage au lieu du mot de passe. Sinon, vous tapez le mot de "
"passe comme d'habitude." "passe comme d'habitude."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"L'écran de verrouillage accepte votre visage dans sa vérification du mot de "
"passe. Appuyez sur Entrée dans le champ vide pour scanner. Trouvés ici : %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -534,18 +565,18 @@ msgstr ""
"Les fenêtres de mot de passe de votre bureau et des applications, par " "Les fenêtres de mot de passe de votre bureau et des applications, par "
"exemple pour installer un logiciel. Sinon, vous tapez le mot de passe." "exemple pour installer un logiciel. Sinon, vous tapez le mot de passe."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Vous devez cligner des yeux ou tourner un peu la tête. Cela bloque aussi les " "Vous devez cligner des yeux ou tourner un peu la tête. Cela bloque aussi les "
"photos imprimées." "photos imprimées."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Aucun contrôle. Seulement pour essayer une caméra." msgstr "Aucun contrôle. Seulement pour essayer une caméra."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -553,24 +584,24 @@ msgstr ""
"Bloque les photos sur un téléphone, une tablette ou du papier brillant. Pas " "Bloque les photos sur un téléphone, une tablette ou du papier brillant. Pas "
"besoin de cligner des yeux. Une photo imprimée mate peut passer." "besoin de cligner des yeux. Une photo imprimée mate peut passer."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Moins d'erreurs de correspondance, mais il peut ne pas vous reconnaître avec " "Moins d'erreurs de correspondance, mais il peut ne pas vous reconnaître avec "
"des lunettes ou sous une mauvaise lumière." "des lunettes ou sous une mauvaise lumière."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "" msgstr ""
"Vous reconnaît plus facilement, mais aussi quelqu'un qui vous ressemble " "Vous reconnaît plus facilement, mais aussi quelqu'un qui vous ressemble "
"beaucoup." "beaucoup."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "La valeur par défaut. Convient à la plupart des gens." msgstr "La valeur par défaut. Convient à la plupart des gens."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -578,7 +609,7 @@ msgstr ""
"Vos yeux doivent être ouverts et tournés vers l'écran. Ainsi, rien ne se " "Vos yeux doivent être ouverts et tournés vers l'écran. Ainsi, rien ne se "
"déverrouille quand vous regardez ailleurs ou dormez." "déverrouille quand vous regardez ailleurs ou dormez."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -587,11 +618,11 @@ msgstr ""
"reconfigurez votre visage. Une caméra infrarouge doit avoir sa lumière " "reconfigurez votre visage. Une caméra infrarouge doit avoir sa lumière "
"allumée (linux-enable-ir-emitter)." "allumée (linux-enable-ir-emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Combien de temps la caméra cherche votre visage avant d'abandonner." msgstr "Combien de temps la caméra cherche votre visage avant d'abandonner."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -600,7 +631,7 @@ msgstr ""
"nouvelle coupe ou des lunettes ne demandent donc pas de nouvelle " "nouvelle coupe ou des lunettes ne demandent donc pas de nouvelle "
"configuration." "configuration."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -608,84 +639,84 @@ msgstr ""
"Pas de scan quand le portable est fermé, par exemple à un bureau avec un " "Pas de scan quand le portable est fermé, par exemple à un bureau avec un "
"écran externe." "écran externe."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "La bulle en haut de l'écran montre ce que fait la caméra." msgstr "La bulle en haut de l'écran montre ce que fait la caméra."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Une petite pilule avec un cadenas qui s'ouvre." msgstr "Une petite pilule avec un cadenas qui s'ouvre."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "" msgstr ""
"Un îlot avec un visage qui regarde autour de lui, puis des anneaux et une " "Un îlot avec un visage qui regarde autour de lui, puis des anneaux et une "
"coche." "coche."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "La vitesse à laquelle la bulle bouge." msgstr "La vitesse à laquelle la bulle bouge."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Affiche aussi la bulle quand sudo ou une demande d'administration scanne " "Affiche aussi la bulle quand sudo ou une demande d'administration scanne "
"votre visage." "votre visage."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "automatique (%s)" msgstr "automatique (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(infrarouge)" msgstr "(infrarouge)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(non branchée)" msgstr "(non branchée)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Réglages" msgstr "Réglages"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ choisir ←→ ou Espace : changer q : retour" msgstr "↑↓ choisir ←→ ou Espace : changer q : retour"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "pour tous, demande votre mot de passe" msgstr "pour tous, demande votre mot de passe"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Haut/Bas : choisir, Espace : activer/désactiver, r : renommer, d : " "Haut/Bas : choisir, Espace : activer/désactiver, r : renommer, d : "
"supprimer, a : ajouter, q : retour" "supprimer, a : ajouter, q : retour"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." 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." msgstr "Aucun visage n'est encore configuré. Appuyez sur a pour en ajouter un."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Nouveau nom :" msgstr "Nouveau nom :"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "Supprimer « %s » ?" msgstr "Supprimer « %s » ?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Activer ou désactiver le déverrouillage facial" msgstr "Activer ou désactiver le déverrouillage facial"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Essayer" msgstr "Essayer"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Quitter" msgstr "Quitter"
@@ -697,12 +728,12 @@ msgstr ""
"Reprise de vos visages et réglages depuis plasma-face-unlock. Cela demande " "Reprise de vos visages et réglages depuis plasma-face-unlock. Cela demande "
"votre mot de passe." "votre mot de passe."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "Le module PAM n'est pas installé dans %s." msgstr "Le module PAM n'est pas installé dans %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "Il n'y a pas de configuration PAM pour %s sur ce système." msgstr "Il n'y a pas de configuration PAM pour %s sur ce système."
@@ -721,12 +752,12 @@ msgstr "Cette commande doit être lancée en root."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Réglage non valide : %s=%s" msgstr "Réglage non valide : %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Ne peut pas servir pour ce service : %s" msgstr "Ne peut pas servir pour ce service : %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -927,21 +958,21 @@ msgstr "Jouer une fois les animations de la bulle."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Style de bulle pour la démo : full ou minimal." msgstr "Style de bulle pour la démo : full ou minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Regardez la caméra pour déverrouiller." msgstr "Regardez la caméra pour déverrouiller."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Clignez des yeux ou tournez un peu la tête." msgstr "Clignez des yeux ou tournez un peu la tête."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Le déverrouillage facial est en pause après trop d'essais. Utilisez votre " "Le déverrouillage facial est en pause après trop d'essais. Utilisez votre "
"mot de passe." "mot de passe."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Visage non reconnu." msgstr "Visage non reconnu."
+113 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
@@ -58,8 +58,8 @@ msgstr "Nessun volto aggiunto."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Per prima cosa, configura il tuo volto." msgstr "Per prima cosa, configura il tuo volto."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Impossibile salvare l'impostazione." msgstr "Impossibile salvare l'impostazione."
@@ -73,106 +73,115 @@ msgstr ""
"Nessuna sessione utente di systemd, quindi l'agente della schermata di " "Nessuna sessione utente di systemd, quindi l'agente della schermata di "
"blocco non è stato avviato." "blocco non è stato avviato."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Impossibile attivare l'estensione di GNOME che mostra la bolla." msgstr "Impossibile attivare l'estensione di GNOME che mostra la bolla."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." 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." msgstr "Esci e rientra una volta: poi GNOME mostra anche la bolla."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"Anche la schermata di blocco (%s) accetta il tuo volto. Se non scansiona "
"quando torni, premi Invio nel campo password vuoto."
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"Lo sblocco con il volto è attivo. Blocca lo schermo e guardalo per provarlo." "Lo sblocco con il volto è attivo. Blocca lo schermo e guardalo per provarlo."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "" msgstr ""
"Funziona anche con sudo e le richieste di amministratore. Vedi Impostazioni." "Funziona anche con sudo e le richieste di amministratore. Vedi Impostazioni."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Lo sblocco con il volto è disattivato. I tuoi volti restano salvati; " "Lo sblocco con il volto è disattivato. I tuoi volti restano salvati; "
"eliminali in Volti." "eliminali in Volti."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Nessun volto ancora configurato." msgstr "Nessun volto ancora configurato."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "attivo" msgstr "attivo"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "disattivo" msgstr "disattivo"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s campioni, %s appresi" msgstr "%s campioni, %s appresi"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Quale volto? Vedi `%s faces` per gli ID." msgstr "Quale volto? Vedi `%s faces` per gli ID."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Eliminato." msgstr "Eliminato."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Uso: face-unlock [comando]" msgstr "Uso: face-unlock [comando]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Comandi:" msgstr "Comandi:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Attiva lo sblocco con il volto" msgstr "Attiva lo sblocco con il volto"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Disattivalo (i volti restano salvati)" msgstr "Disattivalo (i volti restano salvati)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Aggiungi un volto" msgstr "Aggiungi un volto"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Elenca i volti" msgstr "Elenca i volti"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Elimina un volto" msgstr "Elimina un volto"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Guarda la fotocamera e vedi cosa vede" msgstr "Guarda la fotocamera e vedi cosa vede"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Mostra cosa è attivo" msgstr "Mostra cosa è attivo"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Mostra questo aiuto" msgstr "Mostra questo aiuto"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Mostra la versione" msgstr "Mostra la versione"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Senza comando viene mostrato un menu interattivo." msgstr "Senza comando viene mostrato un menu interattivo."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -180,7 +189,7 @@ msgstr ""
"Esegui questo con il tuo utente, non come root. Chiede la password quando " "Esegui questo con il tuo utente, non come root. Chiede la password quando "
"serve." "serve."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Comando sconosciuto: %s" msgstr "Comando sconosciuto: %s"
@@ -255,7 +264,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "Impossibile usare la fotocamera." msgstr "Impossibile usare la fotocamera."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Mancano i modelli di riconoscimento. Reinstalla il pacchetto." msgstr "Mancano i modelli di riconoscimento. Reinstalla il pacchetto."
@@ -360,11 +369,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[s/N]" msgstr "[s/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "ATTIVO" msgstr "ATTIVO"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "DISATTIVO" msgstr "DISATTIVO"
@@ -405,7 +414,7 @@ msgstr "lenta"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s secondi" msgstr "%s secondi"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "automatica" msgstr "automatica"
@@ -425,8 +434,8 @@ msgstr "non in esecuzione"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Riattivare lo sblocco con il volto lo avvia." msgstr "Riattivare lo sblocco con il volto lo avvia."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Volti" msgstr "Volti"
@@ -458,28 +467,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Richieste di amministratore" msgstr "Richieste di amministratore"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Schermate di blocco"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Controllo foto" msgstr "Controllo foto"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "In pausa" msgstr "In pausa"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "ancora per %d minuti, o finché non si usa la password" msgstr "ancora per %d minuti, o finché non si usa la password"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Ultimo sblocco" msgstr "Ultimo sblocco"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "L'agente della schermata di blocco non è in esecuzione." msgstr "L'agente della schermata di blocco non è in esecuzione."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -487,7 +500,15 @@ msgstr ""
"Su GNOME una piccola estensione di GNOME mostra la bolla. Attivando lo " "Su GNOME una piccola estensione di GNOME mostra la bolla. Attivando lo "
"sblocco con il volto si attiva anche lei." "sblocco con il volto si attiva anche lei."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Scansiona quando torni a hyprlock o swaylock e li apre. Ogni altra schermata "
"di blocco scansiona quando premi Invio nel campo password vuoto."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -495,7 +516,7 @@ msgstr ""
"Sblocca la schermata di blocco quando vede il tuo volto. Disattivo: lì " "Sblocca la schermata di blocco quando vede il tuo volto. Disattivo: lì "
"funziona solo la password." "funziona solo la password."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -503,7 +524,7 @@ msgstr ""
"Esegue la scansione quando premi un tasto o muovi il mouse sulla schermata " "Esegue la scansione quando premi un tasto o muovi il mouse sulla schermata "
"di blocco, e quando il computer si riattiva." "di blocco, e quando il computer si riattiva."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -511,7 +532,7 @@ msgstr ""
"Esegue la scansione appena lo schermo si blocca. Disattivo di norma: se lo " "Esegue la scansione appena lo schermo si blocca. Disattivo di norma: se lo "
"blocchi tu, si sbloccherebbe subito." "blocchi tu, si sbloccherebbe subito."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -519,7 +540,16 @@ msgstr ""
"sudo usa il tuo volto al posto della password. Se non corrisponde, digiti la " "sudo usa il tuo volto al posto della password. Se non corrisponde, digiti la "
"password come al solito." "password come al solito."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"La schermata di blocco accetta il tuo volto nel controllo della password. "
"Premi Invio nel campo vuoto per scansionare. Trovate qui: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -527,18 +557,18 @@ msgstr ""
"Le finestre della password del tuo desktop e delle app, per esempio quando " "Le finestre della password del tuo desktop e delle app, per esempio quando "
"installi software. Se non corrisponde, digiti la password." "installi software. Se non corrisponde, digiti la password."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Devi sbattere le palpebre o girare un po' la testa. Questo ferma anche le " "Devi sbattere le palpebre o girare un po' la testa. Questo ferma anche le "
"foto stampate." "foto stampate."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Nessun controllo. Solo per provare una fotocamera." msgstr "Nessun controllo. Solo per provare una fotocamera."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -546,22 +576,22 @@ msgstr ""
"Ferma le foto su un telefono, un tablet o carta lucida. Non serve sbattere " "Ferma le foto su un telefono, un tablet o carta lucida. Non serve sbattere "
"le palpebre. Una foto stampata opaca può passare." "le palpebre. Una foto stampata opaca può passare."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Meno scambi di persona, ma potrebbe non riconoscerti con gli occhiali o con " "Meno scambi di persona, ma potrebbe non riconoscerti con gli occhiali o con "
"poca luce." "poca luce."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "Ti riconosce più facilmente, ma anche qualcuno che ti somiglia molto." msgstr "Ti riconosce più facilmente, ma anche qualcuno che ti somiglia molto."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "Il valore predefinito. Va bene per la maggior parte delle persone." msgstr "Il valore predefinito. Va bene per la maggior parte delle persone."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -569,7 +599,7 @@ msgstr ""
"I tuoi occhi devono essere aperti e rivolti allo schermo. Così non si " "I tuoi occhi devono essere aperti e rivolti allo schermo. Così non si "
"sblocca mentre guardi altrove o dormi." "sblocca mentre guardi altrove o dormi."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -578,11 +608,11 @@ msgstr ""
"nuovo il tuo volto. Una fotocamera a infrarossi ha bisogno della sua luce " "nuovo il tuo volto. Una fotocamera a infrarossi ha bisogno della sua luce "
"(linux-enable-ir-emitter)." "(linux-enable-ir-emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Per quanto tempo la fotocamera cerca il tuo volto prima di arrendersi." msgstr "Per quanto tempo la fotocamera cerca il tuo volto prima di arrendersi."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -591,7 +621,7 @@ msgstr ""
"nuovo taglio di capelli o gli occhiali non richiedono una nuova " "nuovo taglio di capelli o gli occhiali non richiedono una nuova "
"configurazione." "configurazione."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -599,82 +629,82 @@ msgstr ""
"Nessuna scansione quando il portatile è chiuso, per esempio alla scrivania " "Nessuna scansione quando il portatile è chiuso, per esempio alla scrivania "
"con uno schermo esterno." "con uno schermo esterno."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "La bolla in cima allo schermo mostra cosa sta facendo la fotocamera." msgstr "La bolla in cima allo schermo mostra cosa sta facendo la fotocamera."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Una piccola pillola con un lucchetto che si apre." msgstr "Una piccola pillola con un lucchetto che si apre."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "Un'isola con un volto che si guarda intorno, poi anelli e una spunta." msgstr "Un'isola con un volto che si guarda intorno, poi anelli e una spunta."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "Quanto velocemente si muove la bolla." msgstr "Quanto velocemente si muove la bolla."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Mostra la bolla anche quando sudo o una richiesta di amministratore " "Mostra la bolla anche quando sudo o una richiesta di amministratore "
"scansiona il tuo volto." "scansiona il tuo volto."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "automatica (%s)" msgstr "automatica (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(infrarossi)" msgstr "(infrarossi)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(non collegata)" msgstr "(non collegata)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Impostazioni" msgstr "Impostazioni"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ scegli ←→ o Spazio: cambia q: indietro" msgstr "↑↓ scegli ←→ o Spazio: cambia q: indietro"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "per tutti gli utenti, chiede la tua password" msgstr "per tutti gli utenti, chiede la tua password"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Su/Giù: scegli, Spazio: attiva/disattiva, r: rinomina, d: elimina, a: " "Su/Giù: scegli, Spazio: attiva/disattiva, r: rinomina, d: elimina, a: "
"aggiungi, q: indietro" "aggiungi, q: indietro"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "Nessun volto ancora configurato. Premi a per aggiungerne uno." msgstr "Nessun volto ancora configurato. Premi a per aggiungerne uno."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Nuovo nome:" msgstr "Nuovo nome:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "Eliminare «%s»?" msgstr "Eliminare «%s»?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Attiva o disattiva lo sblocco con il volto" msgstr "Attiva o disattiva lo sblocco con il volto"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Provalo" msgstr "Provalo"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Esci" msgstr "Esci"
@@ -686,12 +716,12 @@ msgstr ""
"Trasferimento dei tuoi volti e delle impostazioni da plasma-face-unlock. " "Trasferimento dei tuoi volti e delle impostazioni da plasma-face-unlock. "
"Serve la tua password." "Serve la tua password."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "Il modulo PAM non è installato in %s." msgstr "Il modulo PAM non è installato in %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "Su questo sistema non c'è una configurazione PAM per %s." msgstr "Su questo sistema non c'è una configurazione PAM per %s."
@@ -710,12 +740,12 @@ msgstr "Questo comando deve essere eseguito come root."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Impostazione non valida: %s=%s" msgstr "Impostazione non valida: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Non si può usare per questo servizio: %s" msgstr "Non si può usare per questo servizio: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -916,21 +946,21 @@ msgstr "Riproduci una volta le animazioni della bolla."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Stile della bolla per la demo: full o minimal." msgstr "Stile della bolla per la demo: full o minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Guarda la fotocamera per sbloccare." msgstr "Guarda la fotocamera per sbloccare."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Sbatti le palpebre o gira un po' la testa." msgstr "Sbatti le palpebre o gira un po' la testa."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Lo sblocco con il volto è in pausa dopo troppi tentativi. Usa la tua " "Lo sblocco con il volto è in pausa dopo troppi tentativi. Usa la tua "
"password." "password."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Volto non riconosciuto." msgstr "Volto non riconosciuto."
+113 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Japanese\n" "Language-Team: Japanese\n"
@@ -57,8 +57,8 @@ msgstr "顔は追加されませんでした。"
msgid "First, set up your face." msgid "First, set up your face."
msgstr "まず顔を登録してください。" msgstr "まず顔を登録してください。"
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "設定を保存できませんでした。" msgstr "設定を保存できませんでした。"
@@ -72,103 +72,112 @@ msgstr ""
"systemd のユーザーセッションがないため、ロック画面エージェントは起動されませ" "systemd のユーザーセッションがないため、ロック画面エージェントは起動されませ"
"んでした。" "んでした。"
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "バブルを表示する GNOME 拡張機能を有効にできませんでした。" msgstr "バブルを表示する GNOME 拡張機能を有効にできませんでした。"
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "" msgstr ""
"一度ログアウトしてログインし直してください。GNOME でもバブルが表示されます。" "一度ログアウトしてログインし直してください。GNOME でもバブルが表示されます。"
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"ロック画面(%s)でも顔が使えます。戻ってきたときにスキャンしない場合は、空の"
"パスワード欄で Enter を押してください。"
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "顔認証はオンです。画面をロックして、画面を見て試してください。" msgstr "顔認証はオンです。画面をロックして、画面を見て試してください。"
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "sudo や管理者の認証にも使えます。「設定」を参照してください。" msgstr "sudo や管理者の認証にも使えます。「設定」を参照してください。"
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "顔認証はオフです。顔データは残っています。「顔」から削除できます。" msgstr "顔認証はオフです。顔データは残っています。「顔」から削除できます。"
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "まだ顔が登録されていません。" msgstr "まだ顔が登録されていません。"
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "オン" msgstr "オン"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "オフ" msgstr "オフ"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "サンプル %s 件、学習 %s 件" msgstr "サンプル %s 件、学習 %s 件"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "どの顔ですか? ID は `%s faces` で確認できます。" msgstr "どの顔ですか? ID は `%s faces` で確認できます。"
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "削除しました。" msgstr "削除しました。"
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "使い方: face-unlock [コマンド]" msgstr "使い方: face-unlock [コマンド]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "コマンド:" msgstr "コマンド:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "顔認証をオンにする" msgstr "顔認証をオンにする"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "オフにする(顔データは残ります)" msgstr "オフにする(顔データは残ります)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "顔を追加" msgstr "顔を追加"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "顔の一覧" msgstr "顔の一覧"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "顔を削除" msgstr "顔を削除"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "カメラを見て、カメラに映るものを確認する" msgstr "カメラを見て、カメラに映るものを確認する"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "オンになっている機能を表示" msgstr "オンになっている機能を表示"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "このヘルプを表示" msgstr "このヘルプを表示"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "バージョンを表示" msgstr "バージョンを表示"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "コマンドなしで起動すると、対話式メニューが表示されます。" msgstr "コマンドなしで起動すると、対話式メニューが表示されます。"
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -176,7 +185,7 @@ msgstr ""
"root ではなく、自分のユーザーで実行してください。必要なときはパスワードを尋ね" "root ではなく、自分のユーザーで実行してください。必要なときはパスワードを尋ね"
"ます。" "ます。"
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "不明なコマンド: %s" msgstr "不明なコマンド: %s"
@@ -251,7 +260,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "カメラを使用できませんでした。" msgstr "カメラを使用できませんでした。"
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "認識モデルがありません。パッケージを再インストールしてください。" msgstr "認識モデルがありません。パッケージを再インストールしてください。"
@@ -355,11 +364,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[y/N]" msgstr "[y/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "オン" msgstr "オン"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "オフ" msgstr "オフ"
@@ -400,7 +409,7 @@ msgstr "遅い"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s 秒" msgstr "%s 秒"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "自動" msgstr "自動"
@@ -420,8 +429,8 @@ msgstr "停止中"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "顔認証をもう一度オンにすると起動します。" msgstr "顔認証をもう一度オンにすると起動します。"
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "顔" msgstr "顔"
@@ -453,28 +462,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "管理者の認証" msgstr "管理者の認証"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "ロック画面"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "写真チェック" msgstr "写真チェック"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "一時停止中" msgstr "一時停止中"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "あと %d 分、またはパスワードが使われるまで" msgstr "あと %d 分、またはパスワードが使われるまで"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "最後のロック解除" msgstr "最後のロック解除"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "ロック画面エージェントが動いていません。" msgstr "ロック画面エージェントが動いていません。"
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -482,7 +495,15 @@ msgstr ""
"GNOME では小さな GNOME 拡張機能がバブルを表示します。顔認証をオンにすると一緒" "GNOME では小さな GNOME 拡張機能がバブルを表示します。顔認証をオンにすると一緒"
"に有効になります。" "に有効になります。"
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"hyprlock や swaylock に戻ってきたときにスキャンして開きます。それ以外のロック"
"画面は、空のパスワード欄で Enter を押すとスキャンします。"
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -490,7 +511,7 @@ msgstr ""
"顔を認識するとロック画面を解除します。オフ: ロック画面ではパスワードだけが使" "顔を認識するとロック画面を解除します。オフ: ロック画面ではパスワードだけが使"
"えます。" "えます。"
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -498,7 +519,7 @@ msgstr ""
"ロック画面でキーを押すかマウスを動かしたとき、そしてコンピューターがスリープ" "ロック画面でキーを押すかマウスを動かしたとき、そしてコンピューターがスリープ"
"から復帰したときにスキャンします。" "から復帰したときにスキャンします。"
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -506,7 +527,7 @@ msgstr ""
"画面がロックされるとすぐにスキャンします。既定はオフ: 自分でロックすると、す" "画面がロックされるとすぐにスキャンします。既定はオフ: 自分でロックすると、す"
"ぐに解除されてしまうためです。" "ぐに解除されてしまうためです。"
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -514,7 +535,16 @@ msgstr ""
"sudo でパスワードの代わりに顔を使います。一致しなければ、いつも通りパスワード" "sudo でパスワードの代わりに顔を使います。一致しなければ、いつも通りパスワード"
"を入力します。" "を入力します。"
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"ロック画面のパスワード確認で顔が使えます。空の欄で Enter を押すとスキャンしま"
"す。見つかったもの: %s。"
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -522,16 +552,16 @@ msgstr ""
"デスクトップやアプリのパスワード画面です(ソフトウェアのインストール時な" "デスクトップやアプリのパスワード画面です(ソフトウェアのインストール時な"
"ど)。一致しなければパスワードを入力します。" "ど)。一致しなければパスワードを入力します。"
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "まばたきするか、少し顔を動かす必要があります。印刷した写真も防げます。" msgstr "まばたきするか、少し顔を動かす必要があります。印刷した写真も防げます。"
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "チェックしません。カメラを試すときだけ使ってください。" msgstr "チェックしません。カメラを試すときだけ使ってください。"
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -539,22 +569,22 @@ msgstr ""
"スマホ、タブレット、光沢紙に映った写真を防ぎます。まばたきは不要です。つや消" "スマホ、タブレット、光沢紙に映った写真を防ぎます。まばたきは不要です。つや消"
"しの印刷写真は通ることがあります。" "しの印刷写真は通ることがあります。"
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"誤認識は減りますが、眼鏡をかけているときや暗いときに認識されないことがありま" "誤認識は減りますが、眼鏡をかけているときや暗いときに認識されないことがありま"
"す。" "す。"
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "認識されやすくなりますが、あなたによく似た人も認識されやすくなります。" msgstr "認識されやすくなりますが、あなたによく似た人も認識されやすくなります。"
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "既定値です。ほとんどの人に適しています。" msgstr "既定値です。ほとんどの人に適しています。"
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -562,7 +592,7 @@ msgstr ""
"目を開けて画面を見ている必要があります。よそ見や居眠りの間にロック解除されま" "目を開けて画面を見ている必要があります。よそ見や居眠りの間にロック解除されま"
"せん。" "せん。"
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -570,11 +600,11 @@ msgstr ""
"「自動」は最初の通常のカメラを使います。変更したら顔を登録し直してください。" "「自動」は最初の通常のカメラを使います。変更したら顔を登録し直してください。"
"赤外線カメラはライトをオンにする必要があります(linux-enable-ir-emitter)。" "赤外線カメラはライトをオンにする必要があります(linux-enable-ir-emitter)。"
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "カメラが顔を探してからあきらめるまでの時間です。" msgstr "カメラが顔を探してからあきらめるまでの時間です。"
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -582,7 +612,7 @@ msgstr ""
"確実に一致したとき、今の見た目を覚えます。髪型を変えたり眼鏡をかけたりして" "確実に一致したとき、今の見た目を覚えます。髪型を変えたり眼鏡をかけたりして"
"も、登録し直す必要はありません。" "も、登録し直す必要はありません。"
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -590,79 +620,79 @@ msgstr ""
"ノートパソコンを閉じているときはスキャンしません。外部モニターにつないで机で" "ノートパソコンを閉じているときはスキャンしません。外部モニターにつないで机で"
"使う場合などです。" "使う場合などです。"
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "画面上部のバブルに、カメラの状態が表示されます。" msgstr "画面上部のバブルに、カメラの状態が表示されます。"
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "鍵が開く小さなピルです。" msgstr "鍵が開く小さなピルです。"
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "あたりを見回す顔のアイランド。そのあとリングとチェックマークが出ます。" msgstr "あたりを見回す顔のアイランド。そのあとリングとチェックマークが出ます。"
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "バブルが動く速さです。" msgstr "バブルが動く速さです。"
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "sudo や管理者の認証で顔をスキャンするときにもバブルを表示します。" msgstr "sudo や管理者の認証で顔をスキャンするときにもバブルを表示します。"
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "自動(%s)" msgstr "自動(%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(赤外線)" msgstr "(赤外線)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(未接続)" msgstr "(未接続)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "設定" msgstr "設定"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ 選択 ←→ またはスペース: 変更 q: 戻る" msgstr "↑↓ 選択 ←→ またはスペース: 変更 q: 戻る"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "全ユーザー共通、パスワードが必要" msgstr "全ユーザー共通、パスワードが必要"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"上/下: 選択、スペース: オン/オフ、r: 名前を変更、d: 削除、a: 追加、q: 戻る" "上/下: 選択、スペース: オン/オフ、r: 名前を変更、d: 削除、a: 追加、q: 戻る"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "まだ顔が登録されていません。a を押して追加してください。" msgstr "まだ顔が登録されていません。a を押して追加してください。"
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "新しい名前:" msgstr "新しい名前:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "「%s」を削除しますか?" msgstr "「%s」を削除しますか?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "顔認証のオン/オフ" msgstr "顔認証のオン/オフ"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "試す" msgstr "試す"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "終了" msgstr "終了"
@@ -672,12 +702,12 @@ msgid ""
"password." "password."
msgstr "plasma-face-unlock から顔と設定を引き継ぎます。パスワードが必要です。" msgstr "plasma-face-unlock から顔と設定を引き継ぎます。パスワードが必要です。"
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "PAM モジュールが %s にインストールされていません。" msgstr "PAM モジュールが %s にインストールされていません。"
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "このシステムには %s の PAM 設定がありません。" msgstr "このシステムには %s の PAM 設定がありません。"
@@ -696,12 +726,12 @@ msgstr "このコマンドは root で実行する必要があります。"
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "無効な設定です: %s=%s" msgstr "無効な設定です: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "このサービスには使えません: %s" msgstr "このサービスには使えません: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -897,21 +927,21 @@ msgstr "バブルのアニメーションを一度再生します。"
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "デモのバブルスタイル: full または minimal。" msgstr "デモのバブルスタイル: full または minimal。"
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "カメラを見てロックを解除してください。" msgstr "カメラを見てロックを解除してください。"
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "まばたきするか、少し顔を動かしてください。" msgstr "まばたきするか、少し顔を動かしてください。"
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"試行回数が多すぎるため、顔認証を一時停止しています。パスワードを使ってくださ" "試行回数が多すぎるため、顔認証を一時停止しています。パスワードを使ってくださ"
"い。" "い。"
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "顔を認識できませんでした。" msgstr "顔を認識できませんでした。"
+113 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Korean\n" "Language-Team: Korean\n"
@@ -57,8 +57,8 @@ msgstr "얼굴이 추가되지 않았습니다."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "먼저 얼굴을 등록하세요." msgstr "먼저 얼굴을 등록하세요."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "설정을 저장하지 못했습니다." msgstr "설정을 저장하지 못했습니다."
@@ -70,112 +70,121 @@ msgstr "잠금 화면 에이전트를 시작하지 못했습니다."
msgid "No systemd user session, so the lock screen agent was not started." msgid "No systemd user session, so the lock screen agent was not started."
msgstr "systemd 사용자 세션이 없어 잠금 화면 에이전트를 시작하지 않았습니다." msgstr "systemd 사용자 세션이 없어 잠금 화면 에이전트를 시작하지 않았습니다."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "버블을 보여 주는 GNOME 확장을 켜지 못했습니다." msgstr "버블을 보여 주는 GNOME 확장을 켜지 못했습니다."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "" msgstr ""
"한 번 로그아웃했다가 다시 로그인하세요. 그러면 GNOME에서도 버블이 보입니다." "한 번 로그아웃했다가 다시 로그인하세요. 그러면 GNOME에서도 버블이 보입니다."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"잠금 화면(%s)에서도 얼굴을 쓸 수 있습니다. 돌아왔을 때 스캔하지 않으면 빈 비"
"밀번호 칸에서 Enter를 누르세요."
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"얼굴 잠금 해제가 켜졌습니다. 화면을 잠그고 화면을 바라보며 사용해 보세요." "얼굴 잠금 해제가 켜졌습니다. 화면을 잠그고 화면을 바라보며 사용해 보세요."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "sudo와 관리자 인증 창에서도 쓸 수 있습니다. 설정을 참고하세요." msgstr "sudo와 관리자 인증 창에서도 쓸 수 있습니다. 설정을 참고하세요."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"얼굴 잠금 해제가 꺼졌습니다. 얼굴 데이터는 남아 있으며, 얼굴 메뉴에서 삭제할 " "얼굴 잠금 해제가 꺼졌습니다. 얼굴 데이터는 남아 있으며, 얼굴 메뉴에서 삭제할 "
"수 있습니다." "수 있습니다."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "아직 등록된 얼굴이 없습니다." msgstr "아직 등록된 얼굴이 없습니다."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "켜짐" msgstr "켜짐"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "꺼짐" msgstr "꺼짐"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "샘플 %s개, 학습 %s개" msgstr "샘플 %s개, 학습 %s개"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "어떤 얼굴인가요? ID는 `%s faces`에서 확인하세요." msgstr "어떤 얼굴인가요? ID는 `%s faces`에서 확인하세요."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "삭제했습니다." msgstr "삭제했습니다."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "사용법: face-unlock [명령]" msgstr "사용법: face-unlock [명령]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "명령:" msgstr "명령:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "얼굴 잠금 해제 켜기" msgstr "얼굴 잠금 해제 켜기"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "끄기 (얼굴 데이터는 유지)" msgstr "끄기 (얼굴 데이터는 유지)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "얼굴 추가" msgstr "얼굴 추가"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "얼굴 목록" msgstr "얼굴 목록"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "얼굴 삭제" msgstr "얼굴 삭제"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "카메라를 보고 카메라에 보이는 것을 확인" msgstr "카메라를 보고 카메라에 보이는 것을 확인"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "켜져 있는 기능 보기" msgstr "켜져 있는 기능 보기"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "이 도움말 보기" msgstr "이 도움말 보기"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "버전 보기" msgstr "버전 보기"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "명령 없이 실행하면 대화형 메뉴가 나옵니다." msgstr "명령 없이 실행하면 대화형 메뉴가 나옵니다."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
msgstr "root가 아닌 본인 사용자로 실행하세요. 필요하면 비밀번호를 묻습니다." msgstr "root가 아닌 본인 사용자로 실행하세요. 필요하면 비밀번호를 묻습니다."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "알 수 없는 명령: %s" msgstr "알 수 없는 명령: %s"
@@ -250,7 +259,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "카메라를 사용할 수 없었습니다." msgstr "카메라를 사용할 수 없었습니다."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "인식 모델이 없습니다. 패키지를 다시 설치하세요." msgstr "인식 모델이 없습니다. 패키지를 다시 설치하세요."
@@ -354,11 +363,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[y/N]" msgstr "[y/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "켜짐" msgstr "켜짐"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "꺼짐" msgstr "꺼짐"
@@ -399,7 +408,7 @@ msgstr "느리게"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s초" msgstr "%s초"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "자동" msgstr "자동"
@@ -419,8 +428,8 @@ msgstr "실행 중 아님"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "얼굴 잠금 해제를 다시 켜면 시작됩니다." msgstr "얼굴 잠금 해제를 다시 켜면 시작됩니다."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "얼굴" msgstr "얼굴"
@@ -452,28 +461,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "관리자 인증 창" msgstr "관리자 인증 창"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "잠금 화면"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "사진 검사" msgstr "사진 검사"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "일시 중지됨" msgstr "일시 중지됨"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "%d분 더, 또는 비밀번호를 사용할 때까지" msgstr "%d분 더, 또는 비밀번호를 사용할 때까지"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "마지막 잠금 해제" msgstr "마지막 잠금 해제"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "잠금 화면 에이전트가 실행 중이 아닙니다." msgstr "잠금 화면 에이전트가 실행 중이 아닙니다."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -481,14 +494,22 @@ msgstr ""
"GNOME에서는 작은 GNOME 확장이 버블을 보여 줍니다. 얼굴 잠금 해제를 켜면 함께 " "GNOME에서는 작은 GNOME 확장이 버블을 보여 줍니다. 얼굴 잠금 해제를 켜면 함께 "
"켜집니다." "켜집니다."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"hyprlock이나 swaylock으로 돌아오면 스캔해서 엽니다. 다른 잠금 화면은 빈 비밀"
"번호 칸에서 Enter를 누르면 스캔합니다."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
msgstr "" msgstr ""
"얼굴을 보면 잠금 화면을 해제합니다. 꺼짐: 잠금 화면에서는 비밀번호만 됩니다." "얼굴을 보면 잠금 화면을 해제합니다. 꺼짐: 잠금 화면에서는 비밀번호만 됩니다."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -496,7 +517,7 @@ msgstr ""
"잠금 화면에서 키를 누르거나 마우스를 움직일 때, 그리고 컴퓨터가 깨어날 때 스" "잠금 화면에서 키를 누르거나 마우스를 움직일 때, 그리고 컴퓨터가 깨어날 때 스"
"캔합니다." "캔합니다."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -504,7 +525,7 @@ msgstr ""
"화면이 잠기자마자 스캔합니다. 기본값은 꺼짐: 직접 잠그면 곧바로 다시 풀려 버" "화면이 잠기자마자 스캔합니다. 기본값은 꺼짐: 직접 잠그면 곧바로 다시 풀려 버"
"리기 때문입니다." "리기 때문입니다."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -512,7 +533,16 @@ msgstr ""
"sudo가 비밀번호 대신 얼굴을 사용합니다. 일치하지 않으면 평소처럼 비밀번호를 " "sudo가 비밀번호 대신 얼굴을 사용합니다. 일치하지 않으면 평소처럼 비밀번호를 "
"입력합니다." "입력합니다."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"잠금 화면의 비밀번호 확인에서 얼굴을 받습니다. 빈 칸에서 Enter를 누르면 스캔"
"합니다. 찾은 것: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -520,16 +550,16 @@ msgstr ""
"데스크톱과 앱의 비밀번호 창입니다. 예를 들어 소프트웨어를 설치할 때입니다. 일" "데스크톱과 앱의 비밀번호 창입니다. 예를 들어 소프트웨어를 설치할 때입니다. 일"
"치하지 않으면 비밀번호를 입력합니다." "치하지 않으면 비밀번호를 입력합니다."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "눈을 깜빡이거나 고개를 살짝 돌려야 합니다. 인쇄한 사진도 막아 줍니다." msgstr "눈을 깜빡이거나 고개를 살짝 돌려야 합니다. 인쇄한 사진도 막아 줍니다."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "검사하지 않습니다. 카메라를 시험할 때만 쓰세요." msgstr "검사하지 않습니다. 카메라를 시험할 때만 쓰세요."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -537,22 +567,22 @@ msgstr ""
"휴대폰, 태블릿, 광택지에 있는 사진을 막습니다. 눈을 깜빡일 필요는 없습니다. " "휴대폰, 태블릿, 광택지에 있는 사진을 막습니다. 눈을 깜빡일 필요는 없습니다. "
"무광 인쇄 사진은 통과할 수 있습니다." "무광 인쇄 사진은 통과할 수 있습니다."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"잘못 일치하는 경우가 줄지만, 안경을 쓰거나 조명이 나쁘면 알아보지 못할 수 있" "잘못 일치하는 경우가 줄지만, 안경을 쓰거나 조명이 나쁘면 알아보지 못할 수 있"
"습니다." "습니다."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "더 쉽게 알아보지만, 당신과 많이 닮은 사람도 알아볼 수 있습니다." msgstr "더 쉽게 알아보지만, 당신과 많이 닮은 사람도 알아볼 수 있습니다."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "기본값입니다. 대부분의 사람에게 알맞습니다." msgstr "기본값입니다. 대부분의 사람에게 알맞습니다."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -560,7 +590,7 @@ msgstr ""
"눈을 뜨고 화면을 보고 있어야 합니다. 그래서 다른 곳을 보거나 자는 동안에는 풀" "눈을 뜨고 화면을 보고 있어야 합니다. 그래서 다른 곳을 보거나 자는 동안에는 풀"
"리지 않습니다." "리지 않습니다."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -568,11 +598,11 @@ msgstr ""
"자동은 첫 번째 일반 카메라를 사용합니다. 바꾼 뒤에는 얼굴을 다시 등록하세요. " "자동은 첫 번째 일반 카메라를 사용합니다. 바꾼 뒤에는 얼굴을 다시 등록하세요. "
"적외선 카메라는 조명을 켜야 합니다 (linux-enable-ir-emitter)." "적외선 카메라는 조명을 켜야 합니다 (linux-enable-ir-emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "카메라가 포기하기 전까지 얼굴을 찾는 시간입니다." msgstr "카메라가 포기하기 전까지 얼굴을 찾는 시간입니다."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -580,7 +610,7 @@ msgstr ""
"확실히 일치하면 지금 모습을 기억합니다. 그래서 머리 모양이 바뀌거나 안경을 써" "확실히 일치하면 지금 모습을 기억합니다. 그래서 머리 모양이 바뀌거나 안경을 써"
"도 다시 등록할 필요가 없습니다." "도 다시 등록할 필요가 없습니다."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -588,79 +618,79 @@ msgstr ""
"노트북을 덮었을 때는 스캔하지 않습니다. 예를 들어 외부 모니터를 연결해 책상에" "노트북을 덮었을 때는 스캔하지 않습니다. 예를 들어 외부 모니터를 연결해 책상에"
"서 쓸 때입니다." "서 쓸 때입니다."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "화면 위쪽의 버블이 카메라가 하는 일을 보여 줍니다." msgstr "화면 위쪽의 버블이 카메라가 하는 일을 보여 줍니다."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "자물쇠가 열리는 작은 알약입니다." msgstr "자물쇠가 열리는 작은 알약입니다."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "주위를 둘러보는 얼굴이 있는 아일랜드, 그다음 링과 체크 표시입니다." msgstr "주위를 둘러보는 얼굴이 있는 아일랜드, 그다음 링과 체크 표시입니다."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "버블이 움직이는 속도입니다." msgstr "버블이 움직이는 속도입니다."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "sudo나 관리자 인증 창이 얼굴을 스캔할 때도 버블을 보여 줍니다." msgstr "sudo나 관리자 인증 창이 얼굴을 스캔할 때도 버블을 보여 줍니다."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "자동 (%s)" msgstr "자동 (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(적외선)" msgstr "(적외선)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(연결 안 됨)" msgstr "(연결 안 됨)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "설정" msgstr "설정"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ 선택 ←→ 또는 스페이스: 변경 q: 뒤로" msgstr "↑↓ 선택 ←→ 또는 스페이스: 변경 q: 뒤로"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "모든 사용자에게 적용, 비밀번호 필요" msgstr "모든 사용자에게 적용, 비밀번호 필요"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"위/아래: 선택, 스페이스: 켜기/끄기, r: 이름 바꾸기, d: 삭제, a: 추가, q: 뒤로" "위/아래: 선택, 스페이스: 켜기/끄기, r: 이름 바꾸기, d: 삭제, a: 추가, q: 뒤로"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "아직 등록된 얼굴이 없습니다. a를 눌러 추가하세요." msgstr "아직 등록된 얼굴이 없습니다. a를 눌러 추가하세요."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "새 이름:" msgstr "새 이름:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "\"%s\" 항목을 삭제할까요?" msgstr "\"%s\" 항목을 삭제할까요?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "얼굴 잠금 해제 켜기/끄기" msgstr "얼굴 잠금 해제 켜기/끄기"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "사용해 보기" msgstr "사용해 보기"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "끝내기" msgstr "끝내기"
@@ -671,12 +701,12 @@ msgid ""
msgstr "" msgstr ""
"plasma-face-unlock에서 얼굴과 설정을 옮겨 옵니다. 비밀번호가 필요합니다." "plasma-face-unlock에서 얼굴과 설정을 옮겨 옵니다. 비밀번호가 필요합니다."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "PAM 모듈이 다음 위치에 설치되어 있지 않습니다: %s" msgstr "PAM 모듈이 다음 위치에 설치되어 있지 않습니다: %s"
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "이 시스템에는 %s용 PAM 설정이 없습니다." msgstr "이 시스템에는 %s용 PAM 설정이 없습니다."
@@ -695,12 +725,12 @@ msgstr "이 명령은 root로 실행해야 합니다."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "올바르지 않은 설정: %s=%s" msgstr "올바르지 않은 설정: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "이 서비스에는 사용할 수 없습니다: %s" msgstr "이 서비스에는 사용할 수 없습니다: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -897,20 +927,20 @@ msgstr "버블 애니메이션을 한 번 재생합니다."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "데모용 버블 스타일: full 또는 minimal." msgstr "데모용 버블 스타일: full 또는 minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "잠금을 해제하려면 카메라를 보세요." msgstr "잠금을 해제하려면 카메라를 보세요."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "눈을 깜빡이거나 고개를 살짝 돌리세요." msgstr "눈을 깜빡이거나 고개를 살짝 돌리세요."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"시도가 너무 많아 얼굴 잠금 해제가 일시 중지되었습니다. 비밀번호를 사용하세요." "시도가 너무 많아 얼굴 잠금 해제가 일시 중지되었습니다. 비밀번호를 사용하세요."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "얼굴을 인식하지 못했습니다." msgstr "얼굴을 인식하지 못했습니다."
+113 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
@@ -58,8 +58,8 @@ msgstr "Er is geen gezicht toegevoegd."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Stel eerst je gezicht in." msgstr "Stel eerst je gezicht in."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Kon de instelling niet opslaan." msgstr "Kon de instelling niet opslaan."
@@ -73,106 +73,115 @@ msgstr ""
"Geen systemd-gebruikerssessie, dus de agent voor het vergrendelscherm is " "Geen systemd-gebruikerssessie, dus de agent voor het vergrendelscherm is "
"niet gestart." "niet gestart."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Kon de GNOME-extensie die de bubbel toont niet inschakelen." msgstr "Kon de GNOME-extensie die de bubbel toont niet inschakelen."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." 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." msgstr "Meld je één keer af en weer aan: dan toont GNOME de bubbel ook."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"Het vergrendelscherm (%s) neemt je gezicht ook. Scant het niet als je "
"terugkomt, druk dan op Enter in het lege wachtwoordveld."
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"Gezichtsontgrendeling staat aan. Vergrendel het scherm en kijk ernaar om het " "Gezichtsontgrendeling staat aan. Vergrendel het scherm en kijk ernaar om het "
"te proberen." "te proberen."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "Het werkt ook voor sudo en beheerdersvragen. Zie Instellingen." msgstr "Het werkt ook voor sudo en beheerdersvragen. Zie Instellingen."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Gezichtsontgrendeling staat uit. Je gezichten blijven bewaard; verwijder ze " "Gezichtsontgrendeling staat uit. Je gezichten blijven bewaard; verwijder ze "
"onder Gezichten." "onder Gezichten."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Er is nog geen gezicht ingesteld." msgstr "Er is nog geen gezicht ingesteld."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "aan" msgstr "aan"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "uit" msgstr "uit"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s opnames, %s bijgeleerd" msgstr "%s opnames, %s bijgeleerd"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Welk gezicht? Zie `%s faces` voor de ID's." msgstr "Welk gezicht? Zie `%s faces` voor de ID's."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Verwijderd." msgstr "Verwijderd."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Gebruik: face-unlock [opdracht]" msgstr "Gebruik: face-unlock [opdracht]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Opdrachten:" msgstr "Opdrachten:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Gezichtsontgrendeling aanzetten" msgstr "Gezichtsontgrendeling aanzetten"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Uitzetten (gezichten blijven bewaard)" msgstr "Uitzetten (gezichten blijven bewaard)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Een gezicht toevoegen" msgstr "Een gezicht toevoegen"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "De gezichten tonen" msgstr "De gezichten tonen"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Een gezicht verwijderen" msgstr "Een gezicht verwijderen"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "In de camera kijken en zien wat hij ziet" msgstr "In de camera kijken en zien wat hij ziet"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Tonen wat er aan staat" msgstr "Tonen wat er aan staat"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Deze hulp tonen" msgstr "Deze hulp tonen"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "De versie tonen" msgstr "De versie tonen"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Zonder opdracht verschijnt een interactief menu." msgstr "Zonder opdracht verschijnt een interactief menu."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -180,7 +189,7 @@ msgstr ""
"Voer dit uit als je eigen gebruiker, niet als root. Het vraagt om je " "Voer dit uit als je eigen gebruiker, niet als root. Het vraagt om je "
"wachtwoord als dat nodig is." "wachtwoord als dat nodig is."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Onbekende opdracht: %s" msgstr "Onbekende opdracht: %s"
@@ -255,7 +264,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "De camera kon niet worden gebruikt." msgstr "De camera kon niet worden gebruikt."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "De herkenningsmodellen ontbreken. Installeer het pakket opnieuw." msgstr "De herkenningsmodellen ontbreken. Installeer het pakket opnieuw."
@@ -359,11 +368,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[j/N]" msgstr "[j/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "AAN" msgstr "AAN"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "UIT" msgstr "UIT"
@@ -404,7 +413,7 @@ msgstr "langzaam"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s seconden" msgstr "%s seconden"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "automatisch" msgstr "automatisch"
@@ -424,8 +433,8 @@ msgstr "draait niet"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Gezichtsontgrendeling opnieuw aanzetten start hem." msgstr "Gezichtsontgrendeling opnieuw aanzetten start hem."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Gezichten" msgstr "Gezichten"
@@ -457,28 +466,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Beheerdersvragen" msgstr "Beheerdersvragen"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Vergrendelschermen"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Fotocontrole" msgstr "Fotocontrole"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "Gepauzeerd" msgstr "Gepauzeerd"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "nog %d minuten, of tot het wachtwoord wordt gebruikt" msgstr "nog %d minuten, of tot het wachtwoord wordt gebruikt"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Laatste ontgrendeling" msgstr "Laatste ontgrendeling"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "De agent voor het vergrendelscherm draait niet." msgstr "De agent voor het vergrendelscherm draait niet."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -486,7 +499,15 @@ msgstr ""
"Op GNOME toont een kleine GNOME-extensie de bubbel. Als je " "Op GNOME toont een kleine GNOME-extensie de bubbel. Als je "
"gezichtsontgrendeling inschakelt, gaat die ook aan." "gezichtsontgrendeling inschakelt, gaat die ook aan."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Scant als je terugkomt bij hyprlock of swaylock en opent ze. Elk ander "
"vergrendelscherm scant als je op Enter drukt in het lege wachtwoordveld."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -494,7 +515,7 @@ msgstr ""
"Ontgrendelt het vergrendelscherm als het je gezicht ziet. Uit: daar werkt " "Ontgrendelt het vergrendelscherm als het je gezicht ziet. Uit: daar werkt "
"alleen je wachtwoord." "alleen je wachtwoord."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -502,7 +523,7 @@ msgstr ""
"Scant als je op het vergrendelscherm een toets indrukt of de muis beweegt, " "Scant als je op het vergrendelscherm een toets indrukt of de muis beweegt, "
"en als de computer ontwaakt." "en als de computer ontwaakt."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -510,7 +531,7 @@ msgstr ""
"Scant zodra het scherm vergrendelt. Standaard uit: vergrendel je zelf, dan " "Scant zodra het scherm vergrendelt. Standaard uit: vergrendel je zelf, dan "
"zou het meteen weer ontgrendelen." "zou het meteen weer ontgrendelen."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -518,7 +539,16 @@ msgstr ""
"sudo neemt je gezicht in plaats van het wachtwoord. Geen match: je typt " "sudo neemt je gezicht in plaats van het wachtwoord. Geen match: je typt "
"zoals gewoonlijk je wachtwoord." "zoals gewoonlijk je wachtwoord."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"Het vergrendelscherm neemt je gezicht in zijn wachtwoordcontrole. Druk op "
"Enter in het lege veld om te scannen. Hier gevonden: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -526,18 +556,18 @@ msgstr ""
"De wachtwoordvensters van je bureaublad en apps, bijvoorbeeld bij het " "De wachtwoordvensters van je bureaublad en apps, bijvoorbeeld bij het "
"installeren van software. Geen match: je typt je wachtwoord." "installeren van software. Geen match: je typt je wachtwoord."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Je moet knipperen of je hoofd een beetje draaien. Dat houdt ook geprinte " "Je moet knipperen of je hoofd een beetje draaien. Dat houdt ook geprinte "
"foto's tegen." "foto's tegen."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Helemaal geen controle. Alleen om een camera uit te proberen." msgstr "Helemaal geen controle. Alleen om een camera uit te proberen."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -545,22 +575,22 @@ msgstr ""
"Houdt foto's op een telefoon, tablet of glanzend papier tegen. Knipperen is " "Houdt foto's op een telefoon, tablet of glanzend papier tegen. Knipperen is "
"niet nodig. Een matte geprinte foto kan erdoor komen." "niet nodig. Een matte geprinte foto kan erdoor komen."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Minder verwisselingen, maar met een bril of bij slecht licht herkent het je " "Minder verwisselingen, maar met een bril of bij slecht licht herkent het je "
"misschien niet." "misschien niet."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "Herkent je makkelijker, maar ook iemand die veel op je lijkt." msgstr "Herkent je makkelijker, maar ook iemand die veel op je lijkt."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "De standaard. Goed voor de meeste mensen." msgstr "De standaard. Goed voor de meeste mensen."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -568,7 +598,7 @@ msgstr ""
"Je ogen moeten open zijn en naar het scherm kijken. Zo ontgrendelt het niet " "Je ogen moeten open zijn en naar het scherm kijken. Zo ontgrendelt het niet "
"als je wegkijkt of slaapt." "als je wegkijkt of slaapt."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -577,11 +607,11 @@ msgstr ""
"opnieuw in. Een infraroodcamera heeft zijn lampje nodig (linux-enable-ir-" "opnieuw in. Een infraroodcamera heeft zijn lampje nodig (linux-enable-ir-"
"emitter)." "emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Hoe lang de camera naar je gezicht zoekt voordat hij opgeeft." msgstr "Hoe lang de camera naar je gezicht zoekt voordat hij opgeeft."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -589,7 +619,7 @@ msgstr ""
"Na een zekere match onthoudt het hoe je er nu uitziet. Een nieuw kapsel of " "Na een zekere match onthoudt het hoe je er nu uitziet. Een nieuw kapsel of "
"een bril vraagt dus niet om opnieuw instellen." "een bril vraagt dus niet om opnieuw instellen."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -597,80 +627,80 @@ msgstr ""
"Geen scan als de laptop dicht is, bijvoorbeeld aan een bureau met een extern " "Geen scan als de laptop dicht is, bijvoorbeeld aan een bureau met een extern "
"scherm." "scherm."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "De bubbel boven aan het scherm laat zien wat de camera doet." msgstr "De bubbel boven aan het scherm laat zien wat de camera doet."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Een kleine pil met een slot dat opengaat." msgstr "Een kleine pil met een slot dat opengaat."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "Een eiland met een gezicht dat rondkijkt, daarna ringen en een vinkje." msgstr "Een eiland met een gezicht dat rondkijkt, daarna ringen en een vinkje."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "Hoe snel de bubbel beweegt." msgstr "Hoe snel de bubbel beweegt."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "Toont de bubbel ook als sudo of een beheerdersvraag je gezicht scant." msgstr "Toont de bubbel ook als sudo of een beheerdersvraag je gezicht scant."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "automatisch (%s)" msgstr "automatisch (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(infrarood)" msgstr "(infrarood)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(niet aangesloten)" msgstr "(niet aangesloten)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Instellingen" msgstr "Instellingen"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ kiezen ←→ of Spatie: wijzigen q: terug" msgstr "↑↓ kiezen ←→ of Spatie: wijzigen q: terug"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "voor alle gebruikers, vraagt om je wachtwoord" msgstr "voor alle gebruikers, vraagt om je wachtwoord"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Omhoog/Omlaag: kiezen, Spatie: aan/uit, r: hernoemen, d: verwijderen, a: " "Omhoog/Omlaag: kiezen, Spatie: aan/uit, r: hernoemen, d: verwijderen, a: "
"toevoegen, q: terug" "toevoegen, q: terug"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." 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." msgstr "Er is nog geen gezicht ingesteld. Druk op a om er een toe te voegen."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Nieuwe naam:" msgstr "Nieuwe naam:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "“%s” verwijderen?" msgstr "“%s” verwijderen?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Gezichtsontgrendeling aan- of uitzetten" msgstr "Gezichtsontgrendeling aan- of uitzetten"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Uitproberen" msgstr "Uitproberen"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Afsluiten" msgstr "Afsluiten"
@@ -682,12 +712,12 @@ msgstr ""
"Je gezichten en instellingen worden overgenomen van plasma-face-unlock. " "Je gezichten en instellingen worden overgenomen van plasma-face-unlock. "
"Daarvoor is je wachtwoord nodig." "Daarvoor is je wachtwoord nodig."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "De PAM-module is niet geïnstalleerd in %s." msgstr "De PAM-module is niet geïnstalleerd in %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "Er is op dit systeem geen PAM-configuratie voor %s." msgstr "Er is op dit systeem geen PAM-configuratie voor %s."
@@ -707,12 +737,12 @@ msgstr "Deze opdracht moet als root draaien."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Geen geldige instelling: %s=%s" msgstr "Geen geldige instelling: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Hier kan het niet voor worden gebruikt: %s" msgstr "Hier kan het niet voor worden gebruikt: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -912,21 +942,21 @@ msgstr "De animaties van de bubbel één keer afspelen."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Bubbelstijl voor de demo: full of minimal." msgstr "Bubbelstijl voor de demo: full of minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Kijk in de camera om te ontgrendelen." msgstr "Kijk in de camera om te ontgrendelen."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Knipper, of draai je hoofd een beetje." msgstr "Knipper, of draai je hoofd een beetje."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Gezichtsontgrendeling is gepauzeerd na te veel pogingen. Gebruik je " "Gezichtsontgrendeling is gepauzeerd na te veel pogingen. Gebruik je "
"wachtwoord." "wachtwoord."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Gezicht niet herkend." msgstr "Gezicht niet herkend."
+113 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
@@ -59,8 +59,8 @@ msgstr "Nie dodano żadnej twarzy."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Najpierw skonfiguruj swoją twarz." msgstr "Najpierw skonfiguruj swoją twarz."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Nie udało się zapisać ustawienia." msgstr "Nie udało się zapisać ustawienia."
@@ -74,106 +74,115 @@ msgstr ""
"Brak sesji użytkownika systemd, więc agent ekranu blokady nie został " "Brak sesji użytkownika systemd, więc agent ekranu blokady nie został "
"uruchomiony." "uruchomiony."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Nie udało się włączyć rozszerzenia GNOME, które pokazuje dymek." msgstr "Nie udało się włączyć rozszerzenia GNOME, które pokazuje dymek."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." 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." msgstr "Wyloguj się i zaloguj ponownie raz: wtedy GNOME też pokaże dymek."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"Ekran blokady (%s) też przyjmuje twarz. Jeśli nie skanuje, gdy wracasz, "
"naciśnij Enter w pustym polu hasła."
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"Odblokowywanie twarzą jest włączone. Zablokuj ekran i spójrz na niego, aby " "Odblokowywanie twarzą jest włączone. Zablokuj ekran i spójrz na niego, aby "
"wypróbować." "wypróbować."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "Działa też dla sudo i okien administratora. Zobacz Ustawienia." msgstr "Działa też dla sudo i okien administratora. Zobacz Ustawienia."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Odblokowywanie twarzą jest wyłączone. Twoje twarze zostają zachowane; " "Odblokowywanie twarzą jest wyłączone. Twoje twarze zostają zachowane; "
"usuniesz je w Twarzach." "usuniesz je w Twarzach."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Nie skonfigurowano jeszcze żadnej twarzy." msgstr "Nie skonfigurowano jeszcze żadnej twarzy."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "wł." msgstr "wł."
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "wył." msgstr "wył."
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "próbki: %s, wyuczone: %s" msgstr "próbki: %s, wyuczone: %s"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Która twarz? Identyfikatory pokazuje `%s faces`." msgstr "Która twarz? Identyfikatory pokazuje `%s faces`."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Usunięto." msgstr "Usunięto."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Użycie: face-unlock [polecenie]" msgstr "Użycie: face-unlock [polecenie]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Polecenia:" msgstr "Polecenia:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Włącz odblokowywanie twarzą" msgstr "Włącz odblokowywanie twarzą"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Wyłącz je (twarze zostają zachowane)" msgstr "Wyłącz je (twarze zostają zachowane)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Dodaj twarz" msgstr "Dodaj twarz"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Pokaż listę twarzy" msgstr "Pokaż listę twarzy"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Usuń twarz" msgstr "Usuń twarz"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Spójrz w kamerę i zobacz, co widzi" msgstr "Spójrz w kamerę i zobacz, co widzi"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Pokaż, co jest włączone" msgstr "Pokaż, co jest włączone"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Pokaż tę pomoc" msgstr "Pokaż tę pomoc"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Pokaż wersję" msgstr "Pokaż wersję"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Bez polecenia wyświetla się interaktywne menu." msgstr "Bez polecenia wyświetla się interaktywne menu."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -181,7 +190,7 @@ msgstr ""
"Uruchom to jako swój użytkownik, nie jako root. Hasło zostanie zapytane, gdy " "Uruchom to jako swój użytkownik, nie jako root. Hasło zostanie zapytane, gdy "
"będzie potrzebne." "będzie potrzebne."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Nieznane polecenie: %s" msgstr "Nieznane polecenie: %s"
@@ -256,7 +265,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "Nie udało się użyć kamery." msgstr "Nie udało się użyć kamery."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Brakuje modeli rozpoznawania. Zainstaluj pakiet ponownie." msgstr "Brakuje modeli rozpoznawania. Zainstaluj pakiet ponownie."
@@ -360,11 +369,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[t/N]" msgstr "[t/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "WŁ." msgstr "WŁ."
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "WYŁ." msgstr "WYŁ."
@@ -405,7 +414,7 @@ msgstr "wolna"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s s" msgstr "%s s"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "automatyczna" msgstr "automatyczna"
@@ -425,8 +434,8 @@ msgstr "nie działa"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Ponowne włączenie odblokowywania twarzą ją uruchomi." msgstr "Ponowne włączenie odblokowywania twarzą ją uruchomi."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Twarze" msgstr "Twarze"
@@ -458,28 +467,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Okna administratora" msgstr "Okna administratora"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Ekrany blokady"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Wykrywanie zdjęć" msgstr "Wykrywanie zdjęć"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "Wstrzymane" msgstr "Wstrzymane"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "jeszcze %d min lub do użycia hasła" msgstr "jeszcze %d min lub do użycia hasła"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Ostatnie odblokowanie" msgstr "Ostatnie odblokowanie"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "Agent ekranu blokady nie działa." msgstr "Agent ekranu blokady nie działa."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -487,7 +500,15 @@ msgstr ""
"W GNOME dymek pokazuje małe rozszerzenie GNOME. Włączenie odblokowywania " "W GNOME dymek pokazuje małe rozszerzenie GNOME. Włączenie odblokowywania "
"twarzą włącza też je." "twarzą włącza też je."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Skanuje, gdy wracasz do hyprlock lub swaylock, i je otwiera. Każdy inny "
"ekran blokady skanuje po naciśnięciu Enter w pustym polu hasła."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -495,7 +516,7 @@ msgstr ""
"Odblokowuje ekran blokady, gdy widzi twoją twarz. Wyłączone: działa tam " "Odblokowuje ekran blokady, gdy widzi twoją twarz. Wyłączone: działa tam "
"tylko hasło." "tylko hasło."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -503,7 +524,7 @@ msgstr ""
"Skanuje, gdy naciśniesz klawisz lub poruszysz myszą na ekranie blokady, oraz " "Skanuje, gdy naciśniesz klawisz lub poruszysz myszą na ekranie blokady, oraz "
"gdy komputer się wybudzi." "gdy komputer się wybudzi."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -511,7 +532,7 @@ msgstr ""
"Skanuje od razu po zablokowaniu ekranu. Domyślnie wyłączone: gdy zablokujesz " "Skanuje od razu po zablokowaniu ekranu. Domyślnie wyłączone: gdy zablokujesz "
"sam, od razu by się odblokował." "sam, od razu by się odblokował."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -519,7 +540,16 @@ msgstr ""
"sudo przyjmuje twarz zamiast hasła. Gdy nie pasuje, wpisujesz hasło jak " "sudo przyjmuje twarz zamiast hasła. Gdy nie pasuje, wpisujesz hasło jak "
"zwykle." "zwykle."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"Ekran blokady przyjmuje twarz przy sprawdzaniu hasła. Naciśnij Enter w "
"pustym polu, aby skanować. Znalezione tutaj: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -527,18 +557,18 @@ msgstr ""
"Okna haseł pulpitu i aplikacji, na przykład przy instalowaniu programów. Gdy " "Okna haseł pulpitu i aplikacji, na przykład przy instalowaniu programów. Gdy "
"twarz nie pasuje, wpisujesz hasło." "twarz nie pasuje, wpisujesz hasło."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Musisz mrugnąć albo lekko obrócić głowę. To zatrzymuje też wydrukowane " "Musisz mrugnąć albo lekko obrócić głowę. To zatrzymuje też wydrukowane "
"zdjęcia." "zdjęcia."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Bez żadnej kontroli. Tylko do wypróbowania kamery." msgstr "Bez żadnej kontroli. Tylko do wypróbowania kamery."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -546,22 +576,22 @@ msgstr ""
"Zatrzymuje zdjęcia na telefonie, tablecie lub błyszczącym papierze. Nie " "Zatrzymuje zdjęcia na telefonie, tablecie lub błyszczącym papierze. Nie "
"trzeba mrugać. Matowy wydruk może przejść." "trzeba mrugać. Matowy wydruk może przejść."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Mniej pomyłek, ale może cię nie rozpoznać w okularach albo przy słabym " "Mniej pomyłek, ale może cię nie rozpoznać w okularach albo przy słabym "
"świetle." "świetle."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "Łatwiej cię rozpoznaje, ale też kogoś bardzo do ciebie podobnego." msgstr "Łatwiej cię rozpoznaje, ale też kogoś bardzo do ciebie podobnego."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "Domyślna. Pasuje większości osób." msgstr "Domyślna. Pasuje większości osób."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -569,7 +599,7 @@ msgstr ""
"Twoje oczy muszą być otwarte i patrzeć na ekran. Dzięki temu nie odblokuje, " "Twoje oczy muszą być otwarte i patrzeć na ekran. Dzięki temu nie odblokuje, "
"gdy patrzysz w bok lub śpisz." "gdy patrzysz w bok lub śpisz."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -578,11 +608,11 @@ msgstr ""
"nowa. Kamera na podczerwień potrzebuje włączonego światła (linux-enable-ir-" "nowa. Kamera na podczerwień potrzebuje włączonego światła (linux-enable-ir-"
"emitter)." "emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Jak długo kamera szuka twojej twarzy, zanim się podda." msgstr "Jak długo kamera szuka twojej twarzy, zanim się podda."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -590,7 +620,7 @@ msgstr ""
"Po pewnym dopasowaniu zapamiętuje, jak teraz wyglądasz. Nowa fryzura czy " "Po pewnym dopasowaniu zapamiętuje, jak teraz wyglądasz. Nowa fryzura czy "
"okulary nie wymagają więc ponownej konfiguracji." "okulary nie wymagają więc ponownej konfiguracji."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -598,81 +628,81 @@ msgstr ""
"Bez skanowania, gdy laptop jest zamknięty, na przykład przy biurku z " "Bez skanowania, gdy laptop jest zamknięty, na przykład przy biurku z "
"zewnętrznym ekranem." "zewnętrznym ekranem."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "Dymek u góry ekranu pokazuje, co robi kamera." msgstr "Dymek u góry ekranu pokazuje, co robi kamera."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Mała pigułka z kłódką, która się otwiera." msgstr "Mała pigułka z kłódką, która się otwiera."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "Wyspa z twarzą, która się rozgląda, potem pierścienie i ptaszek." msgstr "Wyspa z twarzą, która się rozgląda, potem pierścienie i ptaszek."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "Jak szybko porusza się dymek." msgstr "Jak szybko porusza się dymek."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Pokazuje dymek także wtedy, gdy sudo lub okno administratora skanuje twarz." "Pokazuje dymek także wtedy, gdy sudo lub okno administratora skanuje twarz."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "automatyczna (%s)" msgstr "automatyczna (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(podczerwień)" msgstr "(podczerwień)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(niepodłączona)" msgstr "(niepodłączona)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Ustawienia" msgstr "Ustawienia"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ wybierz ←→ lub Spacja: zmień q: wstecz" msgstr "↑↓ wybierz ←→ lub Spacja: zmień q: wstecz"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "dla wszystkich użytkowników, pyta o hasło" msgstr "dla wszystkich użytkowników, pyta o hasło"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Góra/Dół: wybierz, Spacja: wł./wył., r: zmień nazwę, d: usuń, a: dodaj, q: " "Góra/Dół: wybierz, Spacja: wł./wył., r: zmień nazwę, d: usuń, a: dodaj, q: "
"wstecz" "wstecz"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "Nie skonfigurowano jeszcze żadnej twarzy. Naciśnij a, aby dodać." msgstr "Nie skonfigurowano jeszcze żadnej twarzy. Naciśnij a, aby dodać."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Nowa nazwa:" msgstr "Nowa nazwa:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "Usunąć „%s”?" msgstr "Usunąć „%s”?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Włącz lub wyłącz odblokowywanie twarzą" msgstr "Włącz lub wyłącz odblokowywanie twarzą"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Wypróbuj" msgstr "Wypróbuj"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Zakończ" msgstr "Zakończ"
@@ -682,12 +712,12 @@ msgid ""
"password." "password."
msgstr "Przenoszenie twarzy i ustawień z plasma-face-unlock. To wymaga hasła." msgstr "Przenoszenie twarzy i ustawień z plasma-face-unlock. To wymaga hasła."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "Moduł PAM nie jest zainstalowany w %s." msgstr "Moduł PAM nie jest zainstalowany w %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "Na tym systemie nie ma konfiguracji PAM dla %s." msgstr "Na tym systemie nie ma konfiguracji PAM dla %s."
@@ -706,12 +736,12 @@ msgstr "To polecenie musi działać jako root."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Nieprawidłowe ustawienie: %s=%s" msgstr "Nieprawidłowe ustawienie: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Nie można tego użyć dla tej usługi: %s" msgstr "Nie można tego użyć dla tej usługi: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -907,20 +937,20 @@ msgstr "Odtwórz raz animacje dymka."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Styl dymka w demo: full lub minimal." msgstr "Styl dymka w demo: full lub minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Spójrz w kamerę, aby odblokować." msgstr "Spójrz w kamerę, aby odblokować."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Mrugnij albo lekko obróć głowę." msgstr "Mrugnij albo lekko obróć głowę."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Odblokowywanie twarzą jest wstrzymane po zbyt wielu próbach. Użyj hasła." "Odblokowywanie twarzą jest wstrzymane po zbyt wielu próbach. Użyj hasła."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Nie rozpoznano twarzy." msgstr "Nie rozpoznano twarzy."
+114 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Brazilian Portuguese\n" "Language-Team: Brazilian Portuguese\n"
@@ -58,8 +58,8 @@ msgstr "Nenhum rosto foi adicionado."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Primeiro, configure o seu rosto." msgstr "Primeiro, configure o seu rosto."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Não foi possível salvar a configuração." msgstr "Não foi possível salvar a configuração."
@@ -73,107 +73,116 @@ msgstr ""
"Sem sessão de usuário do systemd, então o agente da tela de bloqueio não foi " "Sem sessão de usuário do systemd, então o agente da tela de bloqueio não foi "
"iniciado." "iniciado."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Não foi possível ativar a extensão do GNOME que mostra a bolha." msgstr "Não foi possível ativar a extensão do GNOME que mostra a bolha."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." 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." msgstr "Saia e entre de novo uma vez: aí o GNOME também mostra a bolha."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"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:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"O desbloqueio facial está ativado. Bloqueie a tela e olhe para ela para " "O desbloqueio facial está ativado. Bloqueie a tela e olhe para ela para "
"testar." "testar."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "" msgstr ""
"Ele também funciona com sudo e pedidos de administrador. Veja Configurações." "Ele também funciona com sudo e pedidos de administrador. Veja Configurações."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"O desbloqueio facial está desativado. Seus rostos são mantidos; apague-os em " "O desbloqueio facial está desativado. Seus rostos são mantidos; apague-os em "
"Rostos." "Rostos."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Nenhum rosto configurado ainda." msgstr "Nenhum rosto configurado ainda."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "ativado" msgstr "ativado"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "desativado" msgstr "desativado"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s amostras, %s aprendidas" msgstr "%s amostras, %s aprendidas"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Qual rosto? Veja `%s faces` para os IDs." msgstr "Qual rosto? Veja `%s faces` para os IDs."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Apagado." msgstr "Apagado."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Uso: face-unlock [comando]" msgstr "Uso: face-unlock [comando]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Comandos:" msgstr "Comandos:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Ativar o desbloqueio facial" msgstr "Ativar o desbloqueio facial"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Desativar (os rostos são mantidos)" msgstr "Desativar (os rostos são mantidos)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Adicionar um rosto" msgstr "Adicionar um rosto"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Listar os rostos" msgstr "Listar os rostos"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Apagar um rosto" msgstr "Apagar um rosto"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Olhar para a câmera e ver o que ela vê" msgstr "Olhar para a câmera e ver o que ela vê"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Mostrar o que está ativado" msgstr "Mostrar o que está ativado"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Mostrar esta ajuda" msgstr "Mostrar esta ajuda"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Mostrar a versão" msgstr "Mostrar a versão"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Sem comando, um menu interativo é exibido." msgstr "Sem comando, um menu interativo é exibido."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -181,7 +190,7 @@ msgstr ""
"Execute isto com o seu próprio usuário, não como root. Ele pede a sua senha " "Execute isto com o seu próprio usuário, não como root. Ele pede a sua senha "
"quando precisa." "quando precisa."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Comando desconhecido: %s" msgstr "Comando desconhecido: %s"
@@ -256,7 +265,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "Não foi possível usar a câmera." msgstr "Não foi possível usar a câmera."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Os modelos de reconhecimento estão faltando. Reinstale o pacote." msgstr "Os modelos de reconhecimento estão faltando. Reinstale o pacote."
@@ -360,11 +369,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[s/N]" msgstr "[s/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "ATIVADO" msgstr "ATIVADO"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "DESATIVADO" msgstr "DESATIVADO"
@@ -405,7 +414,7 @@ msgstr "lenta"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s segundos" msgstr "%s segundos"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "automática" msgstr "automática"
@@ -425,8 +434,8 @@ msgstr "parado"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Ativar o desbloqueio facial de novo o inicia." msgstr "Ativar o desbloqueio facial de novo o inicia."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Rostos" msgstr "Rostos"
@@ -458,28 +467,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Pedidos de administrador" msgstr "Pedidos de administrador"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Telas de bloqueio"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Detecção de foto" msgstr "Detecção de foto"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "Pausado" msgstr "Pausado"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "por mais %d minutos, ou até a senha ser usada" msgstr "por mais %d minutos, ou até a senha ser usada"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Último desbloqueio" msgstr "Último desbloqueio"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "O agente da tela de bloqueio não está em execução." msgstr "O agente da tela de bloqueio não está em execução."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -487,7 +500,16 @@ msgstr ""
"No GNOME, uma pequena extensão do GNOME mostra a bolha. Ativar o desbloqueio " "No GNOME, uma pequena extensão do GNOME mostra a bolha. Ativar o desbloqueio "
"facial também a ativa." "facial também a ativa."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Escaneia quando você volta ao hyprlock ou swaylock e os abre. Qualquer outra "
"tela de bloqueio escaneia quando você pressiona Enter no campo de senha "
"vazio."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -495,7 +517,7 @@ msgstr ""
"Desbloqueia a tela de bloqueio quando vê o seu rosto. Desativado: lá só a " "Desbloqueia a tela de bloqueio quando vê o seu rosto. Desativado: lá só a "
"sua senha funciona." "sua senha funciona."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -503,7 +525,7 @@ msgstr ""
"Faz a leitura quando você aperta uma tecla ou mexe o mouse na tela de " "Faz a leitura quando você aperta uma tecla ou mexe o mouse na tela de "
"bloqueio, e quando o computador acorda." "bloqueio, e quando o computador acorda."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -511,7 +533,7 @@ msgstr ""
"Faz a leitura assim que a tela é bloqueada. Desativado por padrão: se você " "Faz a leitura assim que a tela é bloqueada. Desativado por padrão: se você "
"mesmo bloquear, ela desbloquearia logo em seguida." "mesmo bloquear, ela desbloquearia logo em seguida."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -519,7 +541,16 @@ msgstr ""
"O sudo usa o seu rosto em vez da senha. Se não corresponder, você digita a " "O sudo usa o seu rosto em vez da senha. Se não corresponder, você digita a "
"senha como sempre." "senha como sempre."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"A tela de bloqueio aceita seu rosto na verificação de senha. Pressione Enter "
"no campo vazio para escanear. Encontradas aqui: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -527,18 +558,18 @@ msgstr ""
"As janelas de senha da sua área de trabalho e dos apps, por exemplo ao " "As janelas de senha da sua área de trabalho e dos apps, por exemplo ao "
"instalar programas. Se não corresponder, você digita a senha." "instalar programas. Se não corresponder, você digita a senha."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Você precisa piscar ou virar um pouco a cabeça. Isso também barra fotos " "Você precisa piscar ou virar um pouco a cabeça. Isso também barra fotos "
"impressas." "impressas."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Nenhuma verificação. Só para testar uma câmera." msgstr "Nenhuma verificação. Só para testar uma câmera."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -546,23 +577,23 @@ msgstr ""
"Barra fotos em celular, tablet ou papel brilhante. Não é preciso piscar. Uma " "Barra fotos em celular, tablet ou papel brilhante. Não é preciso piscar. Uma "
"foto impressa em papel fosco pode passar." "foto impressa em papel fosco pode passar."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Menos confusões, mas talvez não reconheça você de óculos ou com pouca luz." "Menos confusões, mas talvez não reconheça você de óculos ou com pouca luz."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "" msgstr ""
"Reconhece você com mais facilidade, mas também alguém muito parecido com " "Reconhece você com mais facilidade, mas também alguém muito parecido com "
"você." "você."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "O padrão. Serve para a maioria das pessoas." msgstr "O padrão. Serve para a maioria das pessoas."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -570,7 +601,7 @@ msgstr ""
"Seus olhos precisam estar abertos e voltados para a tela. Assim não " "Seus olhos precisam estar abertos e voltados para a tela. Assim não "
"desbloqueia enquanto você olha para outro lado ou dorme." "desbloqueia enquanto você olha para outro lado ou dorme."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -579,11 +610,11 @@ msgstr ""
"rosto de novo. Uma câmera infravermelha precisa da luz ligada (linux-enable-" "rosto de novo. Uma câmera infravermelha precisa da luz ligada (linux-enable-"
"ir-emitter)." "ir-emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Quanto tempo a câmera procura o seu rosto antes de desistir." msgstr "Quanto tempo a câmera procura o seu rosto antes de desistir."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -591,7 +622,7 @@ msgstr ""
"Após uma correspondência segura, ele guarda a sua aparência atual. Assim, um " "Após uma correspondência segura, ele guarda a sua aparência atual. Assim, um "
"corte de cabelo novo ou óculos não exigem nova configuração." "corte de cabelo novo ou óculos não exigem nova configuração."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -599,82 +630,82 @@ msgstr ""
"Nenhuma leitura com o notebook fechado, por exemplo numa mesa com uma tela " "Nenhuma leitura com o notebook fechado, por exemplo numa mesa com uma tela "
"externa." "externa."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "A bolha no topo da tela mostra o que a câmera está fazendo." msgstr "A bolha no topo da tela mostra o que a câmera está fazendo."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Uma pequena pílula com um cadeado que se abre." msgstr "Uma pequena pílula com um cadeado que se abre."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "Uma ilha com um rosto que olha em volta, depois anéis e um visto." msgstr "Uma ilha com um rosto que olha em volta, depois anéis e um visto."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "A velocidade com que a bolha se move." msgstr "A velocidade com que a bolha se move."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Mostra a bolha também quando o sudo ou um pedido de administrador lê o seu " "Mostra a bolha também quando o sudo ou um pedido de administrador lê o seu "
"rosto." "rosto."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "automática (%s)" msgstr "automática (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(infravermelha)" msgstr "(infravermelha)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(não conectada)" msgstr "(não conectada)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Configurações" msgstr "Configurações"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ escolher ←→ ou Espaço: mudar q: voltar" msgstr "↑↓ escolher ←→ ou Espaço: mudar q: voltar"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "para todos os usuários, pede a sua senha" msgstr "para todos os usuários, pede a sua senha"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Cima/Baixo: escolher, Espaço: ativar/desativar, r: renomear, d: apagar, a: " "Cima/Baixo: escolher, Espaço: ativar/desativar, r: renomear, d: apagar, a: "
"adicionar, q: voltar" "adicionar, q: voltar"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "Nenhum rosto configurado ainda. Aperte a para adicionar um." msgstr "Nenhum rosto configurado ainda. Aperte a para adicionar um."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Novo nome:" msgstr "Novo nome:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "Apagar \"%s\"?" msgstr "Apagar \"%s\"?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Ativar ou desativar o desbloqueio facial" msgstr "Ativar ou desativar o desbloqueio facial"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Testar" msgstr "Testar"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Sair" msgstr "Sair"
@@ -686,12 +717,12 @@ msgstr ""
"Trazendo seus rostos e configurações do plasma-face-unlock. Isso precisa da " "Trazendo seus rostos e configurações do plasma-face-unlock. Isso precisa da "
"sua senha." "sua senha."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "O módulo PAM não está instalado em %s." msgstr "O módulo PAM não está instalado em %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "Não há configuração PAM para %s neste sistema." msgstr "Não há configuração PAM para %s neste sistema."
@@ -709,12 +740,12 @@ msgstr "Este comando precisa ser executado como root."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Configuração inválida: %s=%s" msgstr "Configuração inválida: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Não pode ser usado para este serviço: %s" msgstr "Não pode ser usado para este serviço: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -915,20 +946,20 @@ msgstr "Reproduzir as animações da bolha uma vez."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Estilo da bolha para a demonstração: full ou minimal." msgstr "Estilo da bolha para a demonstração: full ou minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Olhe para a câmera para desbloquear." msgstr "Olhe para a câmera para desbloquear."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Pisque ou vire um pouco a cabeça." msgstr "Pisque ou vire um pouco a cabeça."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"O desbloqueio facial está pausado após tentativas demais. Use a sua senha." "O desbloqueio facial está pausado após tentativas demais. Use a sua senha."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Rosto não reconhecido." msgstr "Rosto não reconhecido."
+114 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Russian\n" "Language-Team: Russian\n"
@@ -59,8 +59,8 @@ msgstr "Лицо не добавлено."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Сначала настройте своё лицо." msgstr "Сначала настройте своё лицо."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Не удалось сохранить настройку." msgstr "Не удалось сохранить настройку."
@@ -74,106 +74,115 @@ msgstr ""
"Нет пользовательского сеанса systemd, поэтому агент экрана блокировки не " "Нет пользовательского сеанса systemd, поэтому агент экрана блокировки не "
"запущен." "запущен."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Не удалось включить расширение GNOME, которое показывает пузырь." msgstr "Не удалось включить расширение GNOME, которое показывает пузырь."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "Выйдите и войдите снова один раз: тогда GNOME тоже покажет пузырь." msgstr "Выйдите и войдите снова один раз: тогда GNOME тоже покажет пузырь."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"Экран блокировки (%s) тоже принимает ваше лицо. Если он не сканирует, когда "
"вы возвращаетесь, нажмите Enter в пустом поле пароля."
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"Разблокировка по лицу включена. Заблокируйте экран и посмотрите на него, " "Разблокировка по лицу включена. Заблокируйте экран и посмотрите на него, "
"чтобы попробовать." "чтобы попробовать."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "Она работает и для sudo, и для запросов администратора. См. Настройки." msgstr "Она работает и для sudo, и для запросов администратора. См. Настройки."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Разблокировка по лицу выключена. Ваши лица сохранены; удалить их можно в " "Разблокировка по лицу выключена. Ваши лица сохранены; удалить их можно в "
"разделе Лица." "разделе Лица."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Ещё не настроено ни одного лица." msgstr "Ещё не настроено ни одного лица."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "вкл." msgstr "вкл."
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "выкл." msgstr "выкл."
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "образцов: %s, выучено: %s" msgstr "образцов: %s, выучено: %s"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Какое лицо? Номера показывает `%s faces`." msgstr "Какое лицо? Номера показывает `%s faces`."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Удалено." msgstr "Удалено."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Использование: face-unlock [команда]" msgstr "Использование: face-unlock [команда]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Команды:" msgstr "Команды:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Включить разблокировку по лицу" msgstr "Включить разблокировку по лицу"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Выключить её (лица сохраняются)" msgstr "Выключить её (лица сохраняются)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Добавить лицо" msgstr "Добавить лицо"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Показать список лиц" msgstr "Показать список лиц"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Удалить лицо" msgstr "Удалить лицо"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Посмотреть в камеру и увидеть, что она видит" msgstr "Посмотреть в камеру и увидеть, что она видит"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Показать, что включено" msgstr "Показать, что включено"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Показать эту справку" msgstr "Показать эту справку"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Показать версию" msgstr "Показать версию"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Без команды открывается интерактивное меню." msgstr "Без команды открывается интерактивное меню."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -181,7 +190,7 @@ msgstr ""
"Запускайте это от своего пользователя, не от root. Пароль будет запрошен, " "Запускайте это от своего пользователя, не от root. Пароль будет запрошен, "
"когда он понадобится." "когда он понадобится."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Неизвестная команда: %s" msgstr "Неизвестная команда: %s"
@@ -256,7 +265,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "Не удалось использовать камеру." msgstr "Не удалось использовать камеру."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Нет моделей распознавания. Переустановите пакет." msgstr "Нет моделей распознавания. Переустановите пакет."
@@ -360,11 +369,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[д/Н]" msgstr "[д/Н]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "ВКЛ" msgstr "ВКЛ"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "ВЫКЛ" msgstr "ВЫКЛ"
@@ -405,7 +414,7 @@ msgstr "медленная"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s с" msgstr "%s с"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "автоматически" msgstr "автоматически"
@@ -425,8 +434,8 @@ msgstr "не запущена"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Повторное включение разблокировки по лицу запустит её." msgstr "Повторное включение разблокировки по лицу запустит её."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Лица" msgstr "Лица"
@@ -458,28 +467,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Запросы администратора" msgstr "Запросы администратора"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Экраны блокировки"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Проверка на фото" msgstr "Проверка на фото"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "Приостановлено" msgstr "Приостановлено"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "ещё %d мин или до ввода пароля" msgstr "ещё %d мин или до ввода пароля"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Последняя разблокировка" msgstr "Последняя разблокировка"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "Агент экрана блокировки не запущен." msgstr "Агент экрана блокировки не запущен."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -487,7 +500,16 @@ msgstr ""
"В GNOME пузырь показывает небольшое расширение GNOME. Оно включается вместе " "В GNOME пузырь показывает небольшое расширение GNOME. Оно включается вместе "
"с разблокировкой по лицу." "с разблокировкой по лицу."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Сканирует, когда вы возвращаетесь к hyprlock или swaylock, и открывает их. "
"Любой другой экран блокировки сканирует, когда вы нажимаете Enter в пустом "
"поле пароля."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -495,7 +517,7 @@ msgstr ""
"Снимает блокировку экрана, когда видит ваше лицо. Выкл.: там работает только " "Снимает блокировку экрана, когда видит ваше лицо. Выкл.: там работает только "
"пароль." "пароль."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -503,7 +525,7 @@ msgstr ""
"Сканирует, когда вы нажимаете клавишу или двигаете мышь на экране " "Сканирует, когда вы нажимаете клавишу или двигаете мышь на экране "
"блокировки, и когда компьютер просыпается." "блокировки, и когда компьютер просыпается."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -511,7 +533,7 @@ msgstr ""
"Сканирует сразу после блокировки экрана. По умолчанию выкл.: если вы " "Сканирует сразу после блокировки экрана. По умолчанию выкл.: если вы "
"блокируете сами, он тут же разблокировался бы." "блокируете сами, он тут же разблокировался бы."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -519,7 +541,16 @@ msgstr ""
"sudo принимает ваше лицо вместо пароля. Не совпало: вы вводите пароль как " "sudo принимает ваше лицо вместо пароля. Не совпало: вы вводите пароль как "
"обычно." "обычно."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"Экран блокировки принимает ваше лицо при проверке пароля. Нажмите Enter в "
"пустом поле, чтобы сканировать. Найдено здесь: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -527,18 +558,18 @@ msgstr ""
"Окна ввода пароля рабочего стола и приложений, например при установке " "Окна ввода пароля рабочего стола и приложений, например при установке "
"программ. Не совпало: вы вводите пароль." "программ. Не совпало: вы вводите пароль."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Нужно моргнуть или слегка повернуть голову. Это также останавливает " "Нужно моргнуть или слегка повернуть голову. Это также останавливает "
"распечатанные фото." "распечатанные фото."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Никакой проверки. Только чтобы опробовать камеру." msgstr "Никакой проверки. Только чтобы опробовать камеру."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -546,22 +577,22 @@ msgstr ""
"Останавливает фото на телефоне, планшете или глянцевой бумаге. Моргать не " "Останавливает фото на телефоне, планшете или глянцевой бумаге. Моргать не "
"нужно. Матовое распечатанное фото может пройти." "нужно. Матовое распечатанное фото может пройти."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Меньше ошибочных совпадений, но может не узнать вас в очках или при плохом " "Меньше ошибочных совпадений, но может не узнать вас в очках или при плохом "
"свете." "свете."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "Узнаёт вас легче, но и того, кто очень на вас похож." msgstr "Узнаёт вас легче, но и того, кто очень на вас похож."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "По умолчанию. Подходит большинству." msgstr "По умолчанию. Подходит большинству."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -569,7 +600,7 @@ msgstr ""
"Ваши глаза должны быть открыты и смотреть на экран. Так он не " "Ваши глаза должны быть открыты и смотреть на экран. Так он не "
"разблокируется, пока вы смотрите в сторону или спите." "разблокируется, пока вы смотрите в сторону или спите."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -578,11 +609,11 @@ msgstr ""
"заново. Инфракрасной камере нужна включённая подсветка (linux-enable-ir-" "заново. Инфракрасной камере нужна включённая подсветка (linux-enable-ir-"
"emitter)." "emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Как долго камера ищет ваше лицо, прежде чем сдаться." msgstr "Как долго камера ищет ваше лицо, прежде чем сдаться."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -590,7 +621,7 @@ msgstr ""
"После уверенного совпадения запоминает, как вы выглядите сейчас. Новая " "После уверенного совпадения запоминает, как вы выглядите сейчас. Новая "
"стрижка или очки не требуют новой настройки." "стрижка или очки не требуют новой настройки."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -598,82 +629,82 @@ msgstr ""
"Без сканирования, когда ноутбук закрыт, например за столом с внешним " "Без сканирования, когда ноутбук закрыт, например за столом с внешним "
"монитором." "монитором."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "Пузырь вверху экрана показывает, что делает камера." msgstr "Пузырь вверху экрана показывает, что делает камера."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Маленькая таблетка с замком, который открывается." msgstr "Маленькая таблетка с замком, который открывается."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "Остров с лицом, которое оглядывается, затем кольца и галочка." msgstr "Остров с лицом, которое оглядывается, затем кольца и галочка."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "Как быстро движется пузырь." msgstr "Как быстро движется пузырь."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Показывает пузырь и тогда, когда sudo или запрос администратора сканирует " "Показывает пузырь и тогда, когда sudo или запрос администратора сканирует "
"ваше лицо." "ваше лицо."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "автоматически (%s)" msgstr "автоматически (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(инфракрасная)" msgstr "(инфракрасная)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(не подключена)" msgstr "(не подключена)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Настройки" msgstr "Настройки"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ выбор ←→ или Пробел: изменить q: назад" msgstr "↑↓ выбор ←→ или Пробел: изменить q: назад"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "для всех пользователей, запрашивает пароль" msgstr "для всех пользователей, запрашивает пароль"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Вверх/Вниз: выбор, Пробел: вкл./выкл., r: переименовать, d: удалить, a: " "Вверх/Вниз: выбор, Пробел: вкл./выкл., r: переименовать, d: удалить, a: "
"добавить, q: назад" "добавить, q: назад"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "Ещё не настроено ни одного лица. Нажмите a, чтобы добавить." msgstr "Ещё не настроено ни одного лица. Нажмите a, чтобы добавить."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Новое имя:" msgstr "Новое имя:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "Удалить «%s»?" msgstr "Удалить «%s»?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Включить или выключить разблокировку по лицу" msgstr "Включить или выключить разблокировку по лицу"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Попробовать" msgstr "Попробовать"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Выход" msgstr "Выход"
@@ -685,12 +716,12 @@ msgstr ""
"Переносим ваши лица и настройки из plasma-face-unlock. Для этого нужен ваш " "Переносим ваши лица и настройки из plasma-face-unlock. Для этого нужен ваш "
"пароль." "пароль."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "Модуль PAM не установлен в %s." msgstr "Модуль PAM не установлен в %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "В этой системе нет настройки PAM для %s." msgstr "В этой системе нет настройки PAM для %s."
@@ -708,12 +739,12 @@ msgstr "Эту команду нужно запускать от root."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Недопустимая настройка: %s=%s" msgstr "Недопустимая настройка: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Для этой службы использовать нельзя: %s" msgstr "Для этой службы использовать нельзя: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -911,21 +942,21 @@ msgstr "Один раз проиграть анимации пузыря."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Стиль пузыря для демо: full или minimal." msgstr "Стиль пузыря для демо: full или minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Посмотрите в камеру, чтобы разблокировать." msgstr "Посмотрите в камеру, чтобы разблокировать."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Моргните или слегка поверните голову." msgstr "Моргните или слегка поверните голову."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Разблокировка по лицу приостановлена после слишком многих попыток. Введите " "Разблокировка по лицу приостановлена после слишком многих попыток. Введите "
"пароль." "пароль."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Лицо не распознано." msgstr "Лицо не распознано."
+113 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Turkish\n" "Language-Team: Turkish\n"
@@ -57,8 +57,8 @@ msgstr "Hiç yüz eklenmedi."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Önce yüzünüzü kurun." msgstr "Önce yüzünüzü kurun."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Ayar kaydedilemedi." msgstr "Ayar kaydedilemedi."
@@ -71,105 +71,114 @@ msgid "No systemd user session, so the lock screen agent was not started."
msgstr "" msgstr ""
"systemd kullanıcı oturumu yok, bu yüzden kilit ekranı aracısı başlatılmadı." "systemd kullanıcı oturumu yok, bu yüzden kilit ekranı aracısı başlatılmadı."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Baloncuğu gösteren GNOME uzantısı açılamadı." msgstr "Baloncuğu gösteren GNOME uzantısı açılamadı."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "" msgstr ""
"Bir kez oturumu kapatıp yeniden açın: o zaman GNOME de baloncuğu gösterir." "Bir kez oturumu kapatıp yeniden açın: o zaman GNOME de baloncuğu gösterir."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"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:132
msgid "Face unlock is on. Lock the screen and look at it to try." 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." msgstr "Yüzle kilit açma açık. Denemek için ekranı kilitleyin ve ona bakın."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "sudo ve yönetici istemlerinde de çalışabilir. Ayarlar'a bakın." msgstr "sudo ve yönetici istemlerinde de çalışabilir. Ayarlar'a bakın."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Yüzle kilit açma kapalı. Yüzleriniz saklanıyor; Yüzler bölümünden " "Yüzle kilit açma kapalı. Yüzleriniz saklanıyor; Yüzler bölümünden "
"silebilirsiniz." "silebilirsiniz."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Henüz hiç yüz kurulmadı." msgstr "Henüz hiç yüz kurulmadı."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "açık" msgstr "açık"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "kapalı" msgstr "kapalı"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s örnek, %s öğrenilen" msgstr "%s örnek, %s öğrenilen"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Hangi yüz? Kimlikler için `%s faces` komutuna bakın." msgstr "Hangi yüz? Kimlikler için `%s faces` komutuna bakın."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Silindi." msgstr "Silindi."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Kullanım: face-unlock [komut]" msgstr "Kullanım: face-unlock [komut]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Komutlar:" msgstr "Komutlar:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Yüzle kilit açmayı aç" msgstr "Yüzle kilit açmayı aç"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Kapat (yüzler saklanır)" msgstr "Kapat (yüzler saklanır)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Yüz ekle" msgstr "Yüz ekle"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Yüzleri listele" msgstr "Yüzleri listele"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Bir yüzü sil" msgstr "Bir yüzü sil"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Kameraya bak ve onun ne gördüğünü gör" msgstr "Kameraya bak ve onun ne gördüğünü gör"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Neyin açık olduğunu göster" msgstr "Neyin açık olduğunu göster"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Bu yardımı göster" msgstr "Bu yardımı göster"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Sürümü göster" msgstr "Sürümü göster"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Komut verilmezse etkileşimli bir menü gösterilir." msgstr "Komut verilmezse etkileşimli bir menü gösterilir."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -177,7 +186,7 @@ msgstr ""
"Bunu root olarak değil, kendi kullanıcınızla çalıştırın. Gerektiğinde " "Bunu root olarak değil, kendi kullanıcınızla çalıştırın. Gerektiğinde "
"parolanızı sorar." "parolanızı sorar."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Bilinmeyen komut: %s" msgstr "Bilinmeyen komut: %s"
@@ -252,7 +261,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "Kamera kullanılamadı." msgstr "Kamera kullanılamadı."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Tanıma modelleri eksik. Paketi yeniden kurun." msgstr "Tanıma modelleri eksik. Paketi yeniden kurun."
@@ -356,11 +365,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[e/H]" msgstr "[e/H]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "AÇIK" msgstr "AÇIK"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "KAPALI" msgstr "KAPALI"
@@ -401,7 +410,7 @@ msgstr "yavaş"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s saniye" msgstr "%s saniye"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "otomatik" msgstr "otomatik"
@@ -421,8 +430,8 @@ msgstr "çalışmıyor"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Yüzle kilit açmayı yeniden açmak onu başlatır." msgstr "Yüzle kilit açmayı yeniden açmak onu başlatır."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Yüzler" msgstr "Yüzler"
@@ -454,28 +463,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Yönetici istemleri" msgstr "Yönetici istemleri"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Kilit ekranları"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Fotoğraf denetimi" msgstr "Fotoğraf denetimi"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "Duraklatıldı" msgstr "Duraklatıldı"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "%d dakika daha ya da parola kullanılana kadar" msgstr "%d dakika daha ya da parola kullanılana kadar"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Son kilit açma" msgstr "Son kilit açma"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "Kilit ekranı aracısı çalışmıyor." msgstr "Kilit ekranı aracısı çalışmıyor."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -483,7 +496,15 @@ msgstr ""
"GNOME'da baloncuğu küçük bir GNOME uzantısı gösterir. Yüzle kilit açmayı " "GNOME'da baloncuğu küçük bir GNOME uzantısı gösterir. Yüzle kilit açmayı "
"açınca o da açılır." "açınca o da açılır."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"hyprlock'a ya da swaylock'a döndüğünüzde tarar ve onları açar. Diğer kilit "
"ekranları boş parola alanında Enter'a bastığınızda tarar."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -491,7 +512,7 @@ msgstr ""
"Yüzünüzü görünce kilit ekranını açar. Kapalı: orada yalnızca parolanız " "Yüzünüzü görünce kilit ekranını açar. Kapalı: orada yalnızca parolanız "
"çalışır." "çalışır."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -499,7 +520,7 @@ msgstr ""
"Kilit ekranında bir tuşa bastığınızda ya da fareyi oynattığınızda ve " "Kilit ekranında bir tuşa bastığınızda ya da fareyi oynattığınızda ve "
"bilgisayar uyandığında tarar." "bilgisayar uyandığında tarar."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -507,7 +528,7 @@ msgstr ""
"Ekran kilitlenir kilitlenmez tarar. Varsayılan olarak kapalı: kendiniz " "Ekran kilitlenir kilitlenmez tarar. Varsayılan olarak kapalı: kendiniz "
"kilitlerseniz hemen yeniden açılırdı." "kilitlerseniz hemen yeniden açılırdı."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -515,7 +536,16 @@ msgstr ""
"sudo parola yerine yüzünüzü kullanır. Eşleşmezse parolayı her zamanki gibi " "sudo parola yerine yüzünüzü kullanır. Eşleşmezse parolayı her zamanki gibi "
"yazarsınız." "yazarsınız."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"Kilit ekranı parola denetiminde yüzünüzü kabul eder. Taramak için boş alanda "
"Enter'a basın. Burada bulunanlar: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -523,18 +553,18 @@ msgstr ""
"Masaüstünüzün ve uygulamaların parola pencereleri, örneğin yazılım kurarken. " "Masaüstünüzün ve uygulamaların parola pencereleri, örneğin yazılım kurarken. "
"Eşleşmezse parolayı yazarsınız." "Eşleşmezse parolayı yazarsınız."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Göz kırpmanız ya da başınızı biraz çevirmeniz gerekir. Bu, basılı " "Göz kırpmanız ya da başınızı biraz çevirmeniz gerekir. Bu, basılı "
"fotoğrafları da durdurur." "fotoğrafları da durdurur."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Hiç denetim yok. Yalnızca bir kamerayı denemek için." msgstr "Hiç denetim yok. Yalnızca bir kamerayı denemek için."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -542,21 +572,21 @@ msgstr ""
"Telefon, tablet ya da parlak kâğıttaki fotoğrafları durdurur. Göz kırpmanız " "Telefon, tablet ya da parlak kâğıttaki fotoğrafları durdurur. Göz kırpmanız "
"gerekmez. Mat basılı bir fotoğraf geçebilir." "gerekmez. Mat basılı bir fotoğraf geçebilir."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Daha az yanlış eşleşme, ama gözlükle ya da kötü ışıkta sizi tanımayabilir." "Daha az yanlış eşleşme, ama gözlükle ya da kötü ışıkta sizi tanımayabilir."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "Sizi daha kolay tanır, ama size çok benzeyen birini de." msgstr "Sizi daha kolay tanır, ama size çok benzeyen birini de."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "Varsayılan. Çoğu kişi için uygun." msgstr "Varsayılan. Çoğu kişi için uygun."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -564,7 +594,7 @@ msgstr ""
"Gözleriniz açık ve ekrana dönük olmalı. Böylece başka yere bakarken ya da " "Gözleriniz açık ve ekrana dönük olmalı. Böylece başka yere bakarken ya da "
"uyurken kilit açılmaz." "uyurken kilit açılmaz."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -573,11 +603,11 @@ msgstr ""
"kurun. Kızılötesi kameranın ışığının açık olması gerekir (linux-enable-ir-" "kurun. Kızılötesi kameranın ışığının açık olması gerekir (linux-enable-ir-"
"emitter)." "emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Kameranın vazgeçmeden önce yüzünüzü ne kadar aradığı." msgstr "Kameranın vazgeçmeden önce yüzünüzü ne kadar aradığı."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -585,88 +615,88 @@ msgstr ""
"Kesin bir eşleşmeden sonra şu anki görünüşünüzü hatırlar. Böylece yeni saç " "Kesin bir eşleşmeden sonra şu anki görünüşünüzü hatırlar. Böylece yeni saç "
"kesimi ya da gözlük yeniden kurulum gerektirmez." "kesimi ya da gözlük yeniden kurulum gerektirmez."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
msgstr "Dizüstü kapalıyken tarama yok, örneğin harici ekranlı bir masada." msgstr "Dizüstü kapalıyken tarama yok, örneğin harici ekranlı bir masada."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "Ekranın üstündeki baloncuk kameranın ne yaptığını gösterir." msgstr "Ekranın üstündeki baloncuk kameranın ne yaptığını gösterir."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Açılan bir kilidi olan küçük bir hap." msgstr "Açılan bir kilidi olan küçük bir hap."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "" msgstr ""
"Etrafına bakan bir yüzü olan bir ada, ardından halkalar ve bir onay işareti." "Etrafına bakan bir yüzü olan bir ada, ardından halkalar ve bir onay işareti."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "Baloncuğun ne kadar hızlı hareket ettiği." msgstr "Baloncuğun ne kadar hızlı hareket ettiği."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"sudo ya da bir yönetici istemi yüzünüzü taradığında da baloncuğu gösterir." "sudo ya da bir yönetici istemi yüzünüzü taradığında da baloncuğu gösterir."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "otomatik (%s)" msgstr "otomatik (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(kızılötesi)" msgstr "(kızılötesi)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(bağlı değil)" msgstr "(bağlı değil)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Ayarlar" msgstr "Ayarlar"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ seç ←→ ya da Boşluk: değiştir q: geri" msgstr "↑↓ seç ←→ ya da Boşluk: değiştir q: geri"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "tüm kullanıcılar için, parolanızı sorar" msgstr "tüm kullanıcılar için, parolanızı sorar"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Yukarı/Aşağı: seç, Boşluk: aç/kapat, r: yeniden adlandır, d: sil, a: ekle, " "Yukarı/Aşağı: seç, Boşluk: aç/kapat, r: yeniden adlandır, d: sil, a: ekle, "
"q: geri" "q: geri"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." 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." msgstr "Henüz hiç yüz kurulmadı. Eklemek için a tuşuna basın."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Yeni ad:" msgstr "Yeni ad:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "\"%s\" silinsin mi?" msgstr "\"%s\" silinsin mi?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Yüzle kilit açmayı aç ya da kapat" msgstr "Yüzle kilit açmayı aç ya da kapat"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Dene" msgstr "Dene"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Çık" msgstr "Çık"
@@ -678,12 +708,12 @@ msgstr ""
"Yüzleriniz ve ayarlarınız plasma-face-unlock'tan aktarılıyor. Bunun için " "Yüzleriniz ve ayarlarınız plasma-face-unlock'tan aktarılıyor. Bunun için "
"parolanız gerekiyor." "parolanız gerekiyor."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "PAM modülü şu konumda kurulu değil: %s" msgstr "PAM modülü şu konumda kurulu değil: %s"
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "Bu sistemde %s için PAM yapılandırması yok." msgstr "Bu sistemde %s için PAM yapılandırması yok."
@@ -701,12 +731,12 @@ msgstr "Bu komut root olarak çalışmalı."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Geçerli bir ayar değil: %s=%s" msgstr "Geçerli bir ayar değil: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Bunun için kullanılamaz: %s" msgstr "Bunun için kullanılamaz: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -902,20 +932,20 @@ msgstr "Baloncuğun animasyonlarını bir kez oynat."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Demo için baloncuk stili: full ya da minimal." msgstr "Demo için baloncuk stili: full ya da minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Kilidi açmak için kameraya bakın." msgstr "Kilidi açmak için kameraya bakın."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Göz kırpın ya da başınızı biraz çevirin." msgstr "Göz kırpın ya da başınızı biraz çevirin."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Çok fazla denemeden sonra yüzle kilit açma duraklatıldı. Parolanızı kullanın." "Çok fazla denemeden sonra yüzle kilit açma duraklatıldı. Parolanızı kullanın."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Yüz tanınmadı." msgstr "Yüz tanınmadı."
+114 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Ukrainian\n" "Language-Team: Ukrainian\n"
@@ -59,8 +59,8 @@ msgstr "Обличчя не додано."
msgid "First, set up your face." msgid "First, set up your face."
msgstr "Спершу налаштуйте своє обличчя." msgstr "Спершу налаштуйте своє обличчя."
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "Не вдалося зберегти налаштування." msgstr "Не вдалося зберегти налаштування."
@@ -74,107 +74,116 @@ msgstr ""
"Немає користувацького сеансу systemd, тому агент екрана блокування не " "Немає користувацького сеансу systemd, тому агент екрана блокування не "
"запущено." "запущено."
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "Не вдалося увімкнути розширення GNOME, яке показує бульбашку." msgstr "Не вдалося увімкнути розширення GNOME, яке показує бульбашку."
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "Вийдіть і увійдіть знову один раз: тоді GNOME теж покаже бульбашку." msgstr "Вийдіть і увійдіть знову один раз: тоді GNOME теж покаже бульбашку."
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"Екран блокування (%s) теж приймає ваше обличчя. Якщо він не сканує, коли ви "
"повертаєтеся, натисніть Enter у порожньому полі пароля."
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "" msgstr ""
"Розблокування обличчям увімкнено. Заблокуйте екран і подивіться на нього, " "Розблокування обличчям увімкнено. Заблокуйте екран і подивіться на нього, "
"щоб спробувати." "щоб спробувати."
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "" msgstr ""
"Воно працює і для sudo, і для запитів адміністратора. Див. Налаштування." "Воно працює і для sudo, і для запитів адміністратора. Див. Налаштування."
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "" msgstr ""
"Розблокування обличчям вимкнено. Ваші обличчя збережено; видалити їх можна в " "Розблокування обличчям вимкнено. Ваші обличчя збережено; видалити їх можна в "
"розділі Обличчя." "розділі Обличчя."
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "Ще не налаштовано жодного обличчя." msgstr "Ще не налаштовано жодного обличчя."
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "увімк." msgstr "увімк."
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "вимк." msgstr "вимк."
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "зразків: %s, вивчено: %s" msgstr "зразків: %s, вивчено: %s"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "Яке обличчя? Номери показує `%s faces`." msgstr "Яке обличчя? Номери показує `%s faces`."
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "Видалено." msgstr "Видалено."
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "Використання: face-unlock [команда]" msgstr "Використання: face-unlock [команда]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "Команди:" msgstr "Команди:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "Увімкнути розблокування обличчям" msgstr "Увімкнути розблокування обличчям"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "Вимкнути його (обличчя зберігаються)" msgstr "Вимкнути його (обличчя зберігаються)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "Додати обличчя" msgstr "Додати обличчя"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "Показати список облич" msgstr "Показати список облич"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "Видалити обличчя" msgstr "Видалити обличчя"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "Подивитися в камеру і побачити, що вона бачить" msgstr "Подивитися в камеру і побачити, що вона бачить"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "Показати, що увімкнено" msgstr "Показати, що увімкнено"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "Показати цю довідку" msgstr "Показати цю довідку"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "Показати версію" msgstr "Показати версію"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "Без команди відкривається інтерактивне меню." msgstr "Без команди відкривається інтерактивне меню."
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
@@ -182,7 +191,7 @@ msgstr ""
"Запускайте це від свого користувача, не від root. Пароль буде запитано, коли " "Запускайте це від свого користувача, не від root. Пароль буде запитано, коли "
"він знадобиться." "він знадобиться."
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "Невідома команда: %s" msgstr "Невідома команда: %s"
@@ -257,7 +266,7 @@ msgstr ""
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "Не вдалося використати камеру." msgstr "Не вдалося використати камеру."
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "Немає моделей розпізнавання. Перевстановіть пакунок." msgstr "Немає моделей розпізнавання. Перевстановіть пакунок."
@@ -361,11 +370,11 @@ msgstr ""
msgid "[y/N]" msgid "[y/N]"
msgstr "[т/Н]" msgstr "[т/Н]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "УВІМК" msgstr "УВІМК"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "ВИМК" msgstr "ВИМК"
@@ -406,7 +415,7 @@ msgstr "повільна"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s с" msgstr "%s с"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "автоматично" msgstr "автоматично"
@@ -426,8 +435,8 @@ msgstr "не запущена"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "Повторне ввімкнення розблокування обличчям запустить її." msgstr "Повторне ввімкнення розблокування обличчям запустить її."
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "Обличчя" msgstr "Обличчя"
@@ -459,28 +468,32 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "Запити адміністратора" msgstr "Запити адміністратора"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "Екрани блокування"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "Перевірка на фото" msgstr "Перевірка на фото"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "Призупинено" msgstr "Призупинено"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "ще %d хв або до введення пароля" msgstr "ще %d хв або до введення пароля"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "Останнє розблокування" msgstr "Останнє розблокування"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "Агент екрана блокування не запущено." msgstr "Агент екрана блокування не запущено."
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
@@ -488,7 +501,16 @@ msgstr ""
"У GNOME бульбашку показує невелике розширення GNOME. Воно вмикається разом " "У GNOME бульбашку показує невелике розширення GNOME. Воно вмикається разом "
"із розблокуванням обличчям." "із розблокуванням обличчям."
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"Сканує, коли ви повертаєтеся до hyprlock чи swaylock, і відкриває їх. Будь-"
"який інший екран блокування сканує, коли ви натискаєте Enter у порожньому "
"полі пароля."
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
@@ -496,7 +518,7 @@ msgstr ""
"Розблоковує екран блокування, коли бачить ваше обличчя. Вимк.: там працює " "Розблоковує екран блокування, коли бачить ваше обличчя. Вимк.: там працює "
"лише пароль." "лише пароль."
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
@@ -504,7 +526,7 @@ msgstr ""
"Сканує, коли ви натискаєте клавішу або рухаєте мишею на екрані блокування, і " "Сканує, коли ви натискаєте клавішу або рухаєте мишею на екрані блокування, і "
"коли комп'ютер прокидається." "коли комп'ютер прокидається."
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
@@ -512,7 +534,7 @@ msgstr ""
"Сканує одразу після блокування екрана. Типово вимк.: якщо ви блокуєте самі, " "Сканує одразу після блокування екрана. Типово вимк.: якщо ви блокуєте самі, "
"він одразу б розблокувався." "він одразу б розблокувався."
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
@@ -520,7 +542,16 @@ msgstr ""
"sudo приймає ваше обличчя замість пароля. Не збіглося: ви вводите пароль як " "sudo приймає ваше обличчя замість пароля. Не збіглося: ви вводите пароль як "
"зазвичай." "зазвичай."
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"Екран блокування приймає ваше обличчя під час перевірки пароля. Натисніть "
"Enter у порожньому полі, щоб сканувати. Знайдено тут: %s."
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
@@ -528,17 +559,17 @@ msgstr ""
"Вікна введення пароля робочого столу і програм, наприклад під час " "Вікна введення пароля робочого столу і програм, наприклад під час "
"встановлення програм. Не збіглося: ви вводите пароль." "встановлення програм. Не збіглося: ви вводите пароль."
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "" msgstr ""
"Треба кліпнути або трохи повернути голову. Це також зупиняє надруковані фото." "Треба кліпнути або трохи повернути голову. Це також зупиняє надруковані фото."
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "Жодної перевірки. Лише щоб випробувати камеру." msgstr "Жодної перевірки. Лише щоб випробувати камеру."
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
@@ -546,22 +577,22 @@ msgstr ""
"Зупиняє фото на телефоні, планшеті чи глянцевому папері. Кліпати не треба. " "Зупиняє фото на телефоні, планшеті чи глянцевому папері. Кліпати не треба. "
"Матове надруковане фото може пройти." "Матове надруковане фото може пройти."
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "" msgstr ""
"Менше хибних збігів, але може не впізнати вас в окулярах або при поганому " "Менше хибних збігів, але може не впізнати вас в окулярах або при поганому "
"світлі." "світлі."
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "Впізнає вас легше, але й того, хто дуже на вас схожий." msgstr "Впізнає вас легше, але й того, хто дуже на вас схожий."
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "Типове значення. Підходить більшості." msgstr "Типове значення. Підходить більшості."
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
@@ -569,7 +600,7 @@ msgstr ""
"Ваші очі мають бути розплющені й дивитися на екран. Так він не " "Ваші очі мають бути розплющені й дивитися на екран. Так він не "
"розблокується, коли ви дивитеся вбік або спите." "розблокується, коли ви дивитеся вбік або спите."
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -578,11 +609,11 @@ msgstr ""
"знову. Інфрачервоній камері потрібне ввімкнене підсвічування (linux-enable-" "знову. Інфрачервоній камері потрібне ввімкнене підсвічування (linux-enable-"
"ir-emitter)." "ir-emitter)."
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "Як довго камера шукає ваше обличчя, перш ніж здатися." msgstr "Як довго камера шукає ваше обличчя, перш ніж здатися."
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
@@ -590,7 +621,7 @@ msgstr ""
"Після впевненого збігу запам'ятовує, як ви виглядаєте зараз. Нова зачіска чи " "Після впевненого збігу запам'ятовує, як ви виглядаєте зараз. Нова зачіска чи "
"окуляри не потребують нового налаштування." "окуляри не потребують нового налаштування."
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
@@ -598,82 +629,82 @@ msgstr ""
"Без сканування, коли ноутбук закрито, наприклад за столом із зовнішнім " "Без сканування, коли ноутбук закрито, наприклад за столом із зовнішнім "
"монітором." "монітором."
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "Бульбашка вгорі екрана показує, що робить камера." msgstr "Бульбашка вгорі екрана показує, що робить камера."
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "Маленька пігулка із замком, що відкривається." msgstr "Маленька пігулка із замком, що відкривається."
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "Острів з обличчям, яке озирається, потім кільця і галочка." msgstr "Острів з обличчям, яке озирається, потім кільця і галочка."
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "Як швидко рухається бульбашка." msgstr "Як швидко рухається бульбашка."
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "" msgstr ""
"Показує бульбашку й тоді, коли sudo або запит адміністратора сканує ваше " "Показує бульбашку й тоді, коли sudo або запит адміністратора сканує ваше "
"обличчя." "обличчя."
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "автоматично (%s)" msgstr "автоматично (%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(інфрачервона)" msgstr "(інфрачервона)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(не під'єднана)" msgstr "(не під'єднана)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "Налаштування" msgstr "Налаштування"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ вибір ←→ або Пробіл: змінити q: назад" msgstr "↑↓ вибір ←→ або Пробіл: змінити q: назад"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "для всіх користувачів, запитує пароль" msgstr "для всіх користувачів, запитує пароль"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "" msgstr ""
"Вгору/Вниз: вибір, Пробіл: увімк./вимк., r: перейменувати, d: видалити, a: " "Вгору/Вниз: вибір, Пробіл: увімк./вимк., r: перейменувати, d: видалити, a: "
"додати, q: назад" "додати, q: назад"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "Ще не налаштовано жодного обличчя. Натисніть a, щоб додати." msgstr "Ще не налаштовано жодного обличчя. Натисніть a, щоб додати."
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "Нова назва:" msgstr "Нова назва:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "Видалити «%s»?" msgstr "Видалити «%s»?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "Увімкнути або вимкнути розблокування обличчям" msgstr "Увімкнути або вимкнути розблокування обличчям"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "Спробувати" msgstr "Спробувати"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "Вийти" msgstr "Вийти"
@@ -685,12 +716,12 @@ msgstr ""
"Переносимо ваші обличчя й налаштування з plasma-face-unlock. Для цього " "Переносимо ваші обличчя й налаштування з plasma-face-unlock. Для цього "
"потрібен ваш пароль." "потрібен ваш пароль."
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "Модуль PAM не встановлено в %s." msgstr "Модуль PAM не встановлено в %s."
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "У цій системі немає налаштування PAM для %s." msgstr "У цій системі немає налаштування PAM для %s."
@@ -708,12 +739,12 @@ msgstr "Цю команду треба запускати від root."
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "Неприпустиме налаштування: %s=%s" msgstr "Неприпустиме налаштування: %s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "Для цієї служби використати не можна: %s" msgstr "Для цієї служби використати не можна: %s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -910,21 +941,21 @@ msgstr "Один раз програти анімації бульбашки."
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "Стиль бульбашки для демо: full або minimal." msgstr "Стиль бульбашки для демо: full або minimal."
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "Подивіться в камеру, щоб розблокувати." msgstr "Подивіться в камеру, щоб розблокувати."
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "Кліпніть або трохи поверніть голову." msgstr "Кліпніть або трохи поверніть голову."
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "" msgstr ""
"Розблокування обличчям призупинено після надто багатьох спроб. Введіть " "Розблокування обличчям призупинено після надто багатьох спроб. Введіть "
"пароль." "пароль."
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "Обличчя не розпізнано." msgstr "Обличчя не розпізнано."
+111 -83
View File
@@ -6,7 +6,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n" "Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n" "Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:33+0200\n" "POT-Creation-Date: 2026-09-26 19:34+0200\n"
"PO-Revision-Date: 2026-09-24 12:00+0200\n" "PO-Revision-Date: 2026-09-24 12:00+0200\n"
"Last-Translator: Felitendo\n" "Last-Translator: Felitendo\n"
"Language-Team: Chinese (simplified)\n" "Language-Team: Chinese (simplified)\n"
@@ -53,8 +53,8 @@ msgstr "没有添加人脸。"
msgid "First, set up your face." msgid "First, set up your face."
msgstr "请先设置你的人脸。" msgstr "请先设置你的人脸。"
#: src/face-unlock:100 src/face-unlock:131 src/lib/menu.sh:447 #: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:466
#: src/lib/menu.sh:451 src/lib/menu.sh:457 src/lib/menu.sh:459 #: src/lib/menu.sh:470 src/lib/menu.sh:476 src/lib/menu.sh:478
msgid "Could not save the setting." msgid "Could not save the setting."
msgstr "无法保存设置。" msgstr "无法保存设置。"
@@ -66,108 +66,116 @@ msgstr "无法启动锁屏代理。"
msgid "No systemd user session, so the lock screen agent was not started." msgid "No systemd user session, so the lock screen agent was not started."
msgstr "没有 systemd 用户会话,因此未启动锁屏代理。" msgstr "没有 systemd 用户会话,因此未启动锁屏代理。"
#: src/face-unlock:118 #: src/face-unlock:123
msgid "Could not switch on the GNOME extension that shows the bubble." msgid "Could not switch on the GNOME extension that shows the bubble."
msgstr "无法启用显示气泡的 GNOME 扩展。" msgstr "无法启用显示气泡的 GNOME 扩展。"
#: src/face-unlock:119 #: src/face-unlock:124
msgid "Log out and back in once: then GNOME shows the bubble too." msgid "Log out and back in once: then GNOME shows the bubble too."
msgstr "请注销并重新登录一次:之后 GNOME 也会显示气泡。" msgstr "请注销并重新登录一次:之后 GNOME 也会显示气泡。"
#: src/face-unlock:124 #: src/face-unlock:129
#, 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 ""
"锁屏(%s)也接受你的人脸。如果你回来时它没有扫描,请在空的密码框中按 Enter。"
#: src/face-unlock:132
msgid "Face unlock is on. Lock the screen and look at it to try." msgid "Face unlock is on. Lock the screen and look at it to try."
msgstr "人脸解锁已开启。锁定屏幕并看着它来试试。" msgstr "人脸解锁已开启。锁定屏幕并看着它来试试。"
#: src/face-unlock:126 #: src/face-unlock:134
msgid "It can do sudo and admin prompts too. See Settings." msgid "It can do sudo and admin prompts too. See Settings."
msgstr "它也可以用于 sudo 和管理员授权。见“设置”。" msgstr "它也可以用于 sudo 和管理员授权。见“设置”。"
#: src/face-unlock:142 #: src/face-unlock:150
msgid "Face unlock is off. Your faces are kept; delete them under Faces." msgid "Face unlock is off. Your faces are kept; delete them under Faces."
msgstr "人脸解锁已关闭。你的人脸会保留;可在“人脸”中删除。" msgstr "人脸解锁已关闭。你的人脸会保留;可在“人脸”中删除。"
#: src/face-unlock:156 src/lib/daemon.sh:109 #: src/face-unlock:164 src/lib/daemon.sh:109
msgid "No face is set up yet." msgid "No face is set up yet."
msgstr "尚未设置任何人脸。" msgstr "尚未设置任何人脸。"
#: src/face-unlock:160 src/lib/menu.sh:180 src/lib/menu.sh:607 #: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:628
msgid "on" msgid "on"
msgstr "开" msgstr "开"
#: src/face-unlock:160 src/lib/menu.sh:182 src/lib/menu.sh:192 #: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:608 #: src/lib/menu.sh:629
msgid "off" msgid "off"
msgstr "关" msgstr "关"
#: src/face-unlock:162 src/lib/menu.sh:625 #: src/face-unlock:170 src/lib/menu.sh:646
#, sh-printf-format #, sh-printf-format
msgid "%s samples, %s learned" msgid "%s samples, %s learned"
msgstr "%s 个样本,已学习 %s 个" msgstr "%s 个样本,已学习 %s 个"
#: src/face-unlock:168 #: src/face-unlock:176
#, sh-printf-format #, sh-printf-format
msgid "Which face? See `%s faces` for the ids." msgid "Which face? See `%s faces` for the ids."
msgstr "哪张人脸?用 `%s faces` 查看 ID。" msgstr "哪张人脸?用 `%s faces` 查看 ID。"
#: src/face-unlock:172 #: src/face-unlock:180
msgid "Deleted." msgid "Deleted."
msgstr "已删除。" msgstr "已删除。"
#: src/face-unlock:183 #: src/face-unlock:191
msgid "Usage: face-unlock [command]" msgid "Usage: face-unlock [command]"
msgstr "用法:face-unlock [命令]" msgstr "用法:face-unlock [命令]"
#: src/face-unlock:185 #: src/face-unlock:193
msgid "Commands:" msgid "Commands:"
msgstr "命令:" msgstr "命令:"
#: src/face-unlock:186 #: src/face-unlock:194
msgid "Turn face unlock on" msgid "Turn face unlock on"
msgstr "开启人脸解锁" msgstr "开启人脸解锁"
#: src/face-unlock:187 #: src/face-unlock:195
msgid "Turn it off (faces are kept)" msgid "Turn it off (faces are kept)"
msgstr "关闭(保留人脸)" msgstr "关闭(保留人脸)"
#: src/face-unlock:188 src/lib/menu.sh:691 #: src/face-unlock:196 src/lib/menu.sh:712
msgid "Add a face" msgid "Add a face"
msgstr "添加人脸" msgstr "添加人脸"
#: src/face-unlock:189 #: src/face-unlock:197
msgid "List the faces" msgid "List the faces"
msgstr "列出人脸" msgstr "列出人脸"
#: src/face-unlock:190 #: src/face-unlock:198
msgid "Delete a face" msgid "Delete a face"
msgstr "删除人脸" msgstr "删除人脸"
#: src/face-unlock:191 #: src/face-unlock:199
msgid "Look at the camera and see what it sees" msgid "Look at the camera and see what it sees"
msgstr "看着摄像头,查看它看到的画面" msgstr "看着摄像头,查看它看到的画面"
#: src/face-unlock:192 #: src/face-unlock:200
msgid "Show what is on" msgid "Show what is on"
msgstr "显示已开启的功能" msgstr "显示已开启的功能"
#: src/face-unlock:193 #: src/face-unlock:201
msgid "Show this help" msgid "Show this help"
msgstr "显示此帮助" msgstr "显示此帮助"
#: src/face-unlock:194 #: src/face-unlock:202
msgid "Show the version" msgid "Show the version"
msgstr "显示版本" msgstr "显示版本"
#: src/face-unlock:196 #: src/face-unlock:204
msgid "Without a command an interactive menu is shown." msgid "Without a command an interactive menu is shown."
msgstr "不带命令时显示交互式菜单。" msgstr "不带命令时显示交互式菜单。"
#: src/face-unlock:215 #: src/face-unlock:223
msgid "" msgid ""
"Run this as your own user, not as root. It asks for your password when it " "Run this as your own user, not as root. It asks for your password when it "
"needs to." "needs to."
msgstr "请以你自己的用户运行,不要用 root。需要时会询问你的密码。" msgstr "请以你自己的用户运行,不要用 root。需要时会询问你的密码。"
#: src/face-unlock:237 src/lib/system.sh:93 #: src/face-unlock:245 src/lib/system.sh:101
#, sh-printf-format #, sh-printf-format
msgid "Unknown command: %s" msgid "Unknown command: %s"
msgstr "未知命令:%s" msgstr "未知命令:%s"
@@ -240,7 +248,7 @@ msgstr "尝试次数过多,人脸解锁已暂停。请用密码解锁一次。
msgid "The camera could not be used." msgid "The camera could not be used."
msgstr "无法使用摄像头。" msgstr "无法使用摄像头。"
#: src/lib/daemon.sh:111 src/lib/menu.sh:262 #: src/lib/daemon.sh:111 src/lib/menu.sh:265
msgid "The recognition models are missing. Reinstall the package." msgid "The recognition models are missing. Reinstall the package."
msgstr "缺少识别模型。请重新安装软件包。" msgstr "缺少识别模型。请重新安装软件包。"
@@ -342,11 +350,11 @@ msgstr "尝试次数过多。人脸解锁已暂停,直到你用密码解锁。
msgid "[y/N]" msgid "[y/N]"
msgstr "[y/N]" msgstr "[y/N]"
#: src/lib/menu.sh:172 src/lib/menu.sh:510 #: src/lib/menu.sh:172 src/lib/menu.sh:531
msgid "ON" msgid "ON"
msgstr "开启" msgstr "开启"
#: src/lib/menu.sh:174 src/lib/menu.sh:511 #: src/lib/menu.sh:174 src/lib/menu.sh:532
msgid "OFF" msgid "OFF"
msgstr "关闭" msgstr "关闭"
@@ -387,7 +395,7 @@ msgstr "慢"
msgid "%s seconds" msgid "%s seconds"
msgstr "%s 秒" msgstr "%s 秒"
#: src/lib/menu.sh:202 src/lib/menu.sh:422 #: src/lib/menu.sh:202 src/lib/menu.sh:441
msgid "automatic" msgid "automatic"
msgstr "自动" msgstr "自动"
@@ -407,8 +415,8 @@ msgstr "未运行"
msgid "Turning face unlock on again starts it." msgid "Turning face unlock on again starts it."
msgstr "重新开启人脸解锁即可启动它。" msgstr "重新开启人脸解锁即可启动它。"
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:603 #: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:624
#: src/lib/menu.sh:692 #: src/lib/menu.sh:713
msgid "Faces" msgid "Faces"
msgstr "人脸" msgstr "人脸"
@@ -440,99 +448,119 @@ msgstr "sudo"
msgid "Admin prompts" msgid "Admin prompts"
msgstr "管理员授权" msgstr "管理员授权"
#: src/lib/menu.sh:254 src/lib/menu.sh #: src/lib/menu.sh:255 src/lib/menu.sh
msgid "Lock screens"
msgstr "锁屏"
#: src/lib/menu.sh:257 src/lib/menu.sh
msgid "Photo check" msgid "Photo check"
msgstr "照片检测" msgstr "照片检测"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
msgid "Paused" msgid "Paused"
msgstr "已暂停" msgstr "已暂停"
#: src/lib/menu.sh:257 #: src/lib/menu.sh:260
#, sh-printf-format #, sh-printf-format
msgid "for %d more minutes, or until the password is used" msgid "for %d more minutes, or until the password is used"
msgstr "还有 %d 分钟,或直到使用密码" msgstr "还有 %d 分钟,或直到使用密码"
#: src/lib/menu.sh:259 #: src/lib/menu.sh:262
msgid "Last unlock" msgid "Last unlock"
msgstr "上次解锁" msgstr "上次解锁"
#: src/lib/menu.sh:265 #: src/lib/menu.sh:268
msgid "The lock screen agent is not running." msgid "The lock screen agent is not running."
msgstr "锁屏代理没有运行。" msgstr "锁屏代理没有运行。"
#: src/lib/menu.sh:308 #: src/lib/menu.sh:314
msgid "" msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on " "On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on." "switches it on."
msgstr "" msgstr ""
"在 GNOME 上,由一个小的 GNOME 扩展显示气泡。开启人脸解锁时会一并开启它。" "在 GNOME 上,由一个小的 GNOME 扩展显示气泡。开启人脸解锁时会一并开启它。"
#: src/lib/menu.sh:313 #: src/lib/menu.sh:318
msgid ""
"Scans when you come back to hyprlock or swaylock and opens them. Any other "
"lock screen scans when you press Enter on the empty password field."
msgstr ""
"回到 hyprlock 或 swaylock 时会扫描并打开它们。其他锁屏在空的密码框中按 Enter "
"时扫描。"
#: src/lib/menu.sh:323
msgid "" msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password " "Unlocks the lock screen when it sees your face. Off: only your password "
"works there." "works there."
msgstr "看到你的脸时解锁锁屏。关闭:锁屏只能用密码。" msgstr "看到你的脸时解锁锁屏。关闭:锁屏只能用密码。"
#: src/lib/menu.sh:314 #: src/lib/menu.sh:324
msgid "" msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when " "Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up." "the computer wakes up."
msgstr "在锁屏上按键或移动鼠标时,以及电脑唤醒时扫描。" msgstr "在锁屏上按键或移动鼠标时,以及电脑唤醒时扫描。"
#: src/lib/menu.sh:315 #: src/lib/menu.sh:325
msgid "" msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, " "Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away." "it would unlock again right away."
msgstr "屏幕一锁定就扫描。默认关闭:如果是你自己锁的屏,它会马上又解锁。" msgstr "屏幕一锁定就扫描。默认关闭:如果是你自己锁的屏,它会马上又解锁。"
#: src/lib/menu.sh:316 #: src/lib/menu.sh:326
msgid "" msgid ""
"sudo takes your face instead of the password. No match: you type the " "sudo takes your face instead of the password. No match: you type the "
"password as usual." "password as usual."
msgstr "sudo 用你的脸代替密码。不匹配时,照常输入密码。" msgstr "sudo 用你的脸代替密码。不匹配时,照常输入密码。"
#: src/lib/menu.sh:317 #: src/lib/menu.sh:327
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
"锁屏在检查密码时也接受你的人脸。在空白框中按 Enter 即可扫描。此处找到:%s。"
#: src/lib/menu.sh:328
msgid "" msgid ""
"The password windows of your desktop and apps, for example when you install " "The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password." "software. No match: you type the password."
msgstr "桌面和应用的密码窗口,例如安装软件时。不匹配时,输入密码即可。" msgstr "桌面和应用的密码窗口,例如安装软件时。不匹配时,输入密码即可。"
#: src/lib/menu.sh:318 #: src/lib/menu.sh:329
msgid "" msgid ""
"You have to blink or turn your head a little. This also stops printed photos." "You have to blink or turn your head a little. This also stops printed photos."
msgstr "你需要眨眼或稍微转头。这也能挡住打印的照片。" msgstr "你需要眨眼或稍微转头。这也能挡住打印的照片。"
#: src/lib/menu.sh:319 #: src/lib/menu.sh:330
msgid "No check at all. Only for trying out a camera." msgid "No check at all. Only for trying out a camera."
msgstr "完全不检测。仅用于试用摄像头。" msgstr "完全不检测。仅用于试用摄像头。"
#: src/lib/menu.sh:320 #: src/lib/menu.sh:331
msgid "" msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. " "Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through." "A matte printed photo can get through."
msgstr "挡住手机、平板或光面纸上的照片。无需眨眼。哑光纸打印的照片可能会通过。" msgstr "挡住手机、平板或光面纸上的照片。无需眨眼。哑光纸打印的照片可能会通过。"
#: src/lib/menu.sh:321 #: src/lib/menu.sh:332
msgid "" msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light." "Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr "误认更少,但戴眼镜或光线不好时可能认不出你。" msgstr "误认更少,但戴眼镜或光线不好时可能认不出你。"
#: src/lib/menu.sh:322 #: src/lib/menu.sh:333
msgid "Knows you more easily, but also somebody who looks a lot like you." msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr "更容易认出你,但也更容易认出和你长得很像的人。" msgstr "更容易认出你,但也更容易认出和你长得很像的人。"
#: src/lib/menu.sh:323 #: src/lib/menu.sh:334
msgid "The default. Right for most people." msgid "The default. Right for most people."
msgstr "默认值。适合大多数人。" msgstr "默认值。适合大多数人。"
#: src/lib/menu.sh:324 #: src/lib/menu.sh:335
msgid "" msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you " "Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep." "look away or sleep."
msgstr "你的眼睛必须睁开并看着屏幕。这样你看向别处或睡着时不会解锁。" msgstr "你的眼睛必须睁开并看着屏幕。这样你看向别处或睡着时不会解锁。"
#: src/lib/menu.sh:325 #: src/lib/menu.sh:336
msgid "" msgid ""
"Automatic takes the first normal camera. After a change, set up your face " "Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)." "again. An infrared camera needs its light on (linux-enable-ir-emitter)."
@@ -540,94 +568,94 @@ msgstr ""
"“自动”会使用第一个普通摄像头。更换后请重新设置人脸。红外摄像头需要打开它的补" "“自动”会使用第一个普通摄像头。更换后请重新设置人脸。红外摄像头需要打开它的补"
"光灯(linux-enable-ir-emitter)。" "光灯(linux-enable-ir-emitter)。"
#: src/lib/menu.sh:326 #: src/lib/menu.sh:337
msgid "How long the camera looks for your face before it gives up." msgid "How long the camera looks for your face before it gives up."
msgstr "摄像头寻找你的脸多久后放弃。" msgstr "摄像头寻找你的脸多久后放弃。"
#: src/lib/menu.sh:327 #: src/lib/menu.sh:338
msgid "" msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses " "After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup." "need no new setup."
msgstr "确定匹配后,会记住你现在的样子。所以换了发型或戴上眼镜也无需重新设置。" msgstr "确定匹配后,会记住你现在的样子。所以换了发型或戴上眼镜也无需重新设置。"
#: src/lib/menu.sh:328 #: src/lib/menu.sh:339
msgid "" msgid ""
"No scan while the laptop is closed, for example at a desk with an external " "No scan while the laptop is closed, for example at a desk with an external "
"screen." "screen."
msgstr "笔记本合上时不扫描,例如在接了外接显示器的桌前。" msgstr "笔记本合上时不扫描,例如在接了外接显示器的桌前。"
#: src/lib/menu.sh:329 #: src/lib/menu.sh:340
msgid "The bubble at the top of the screen shows what the camera is doing." msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr "屏幕顶部的气泡显示摄像头正在做什么。" msgstr "屏幕顶部的气泡显示摄像头正在做什么。"
#: src/lib/menu.sh:330 #: src/lib/menu.sh:341
msgid "A small pill with a lock that opens." msgid "A small pill with a lock that opens."
msgstr "一个带锁的小药丸,锁会打开。" msgstr "一个带锁的小药丸,锁会打开。"
#: src/lib/menu.sh:331 #: src/lib/menu.sh:342
msgid "An island with a face that looks around, then rings and a tick." msgid "An island with a face that looks around, then rings and a tick."
msgstr "一个岛,里面有一张四处张望的脸,然后是圆环和一个对勾。" msgstr "一个岛,里面有一张四处张望的脸,然后是圆环和一个对勾。"
#: src/lib/menu.sh:332 #: src/lib/menu.sh:343
msgid "How fast the bubble moves." msgid "How fast the bubble moves."
msgstr "气泡移动的速度。" msgstr "气泡移动的速度。"
#: src/lib/menu.sh:333 #: src/lib/menu.sh:344
msgid "Shows the bubble when sudo or an admin prompt scans your face, too." msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr "sudo 或管理员授权扫描你的脸时也显示气泡。" msgstr "sudo 或管理员授权扫描你的脸时也显示气泡。"
#: src/lib/menu.sh:418 #: src/lib/menu.sh:437
#, sh-printf-format #, sh-printf-format
msgid "automatic (%s)" msgid "automatic (%s)"
msgstr "自动(%s)" msgstr "自动(%s)"
#: src/lib/menu.sh:428 #: src/lib/menu.sh:447
msgid "(infrared)" msgid "(infrared)"
msgstr "(红外)" msgstr "(红外)"
#: src/lib/menu.sh:432 #: src/lib/menu.sh:451
msgid "(not connected)" msgid "(not connected)"
msgstr "(未连接)" msgstr "(未连接)"
#: src/lib/menu.sh:507 src/lib/menu.sh:693 #: src/lib/menu.sh:528 src/lib/menu.sh:714
msgid "Settings" msgid "Settings"
msgstr "设置" msgstr "设置"
#: src/lib/menu.sh:508 #: src/lib/menu.sh:529
msgid "↑↓ select ←→ or Space: change q: back" msgid "↑↓ select ←→ or Space: change q: back"
msgstr "↑↓ 选择 ←→ 或空格:更改 q:返回" msgstr "↑↓ 选择 ←→ 或空格:更改 q:返回"
#: src/lib/menu.sh:509 #: src/lib/menu.sh:530
msgid "for all users, asks for your password" msgid "for all users, asks for your password"
msgstr "对所有用户生效,需要你的密码" msgstr "对所有用户生效,需要你的密码"
#. TRANSLATORS: keep the letters, they are the keys. #. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:605 #: src/lib/menu.sh:626
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back" msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr "上/下:选择,空格:开/关,r:重命名,d:删除,a:添加,q:返回" msgstr "上/下:选择,空格:开/关,r:重命名,d:删除,a:添加,q:返回"
#: src/lib/menu.sh:606 #: src/lib/menu.sh:627
msgid "No face is set up yet. Press a to add one." msgid "No face is set up yet. Press a to add one."
msgstr "尚未设置任何人脸。按 a 添加。" msgstr "尚未设置任何人脸。按 a 添加。"
#: src/lib/menu.sh:652 #: src/lib/menu.sh:673
msgid "New name:" msgid "New name:"
msgstr "新名称:" msgstr "新名称:"
#: src/lib/menu.sh:659 #: src/lib/menu.sh:680
#, sh-printf-format #, sh-printf-format
msgid "Delete \"%s\"?" msgid "Delete \"%s\"?"
msgstr "删除“%s”?" msgstr "删除“%s”?"
#: src/lib/menu.sh:690 #: src/lib/menu.sh:711
msgid "Turn face unlock on or off" msgid "Turn face unlock on or off"
msgstr "开启或关闭人脸解锁" msgstr "开启或关闭人脸解锁"
#: src/lib/menu.sh:694 #: src/lib/menu.sh:715
msgid "Try it" msgid "Try it"
msgstr "试一试" msgstr "试一试"
#: src/lib/menu.sh:695 #: src/lib/menu.sh:716
msgid "Quit" msgid "Quit"
msgstr "退出" msgstr "退出"
@@ -637,12 +665,12 @@ msgid ""
"password." "password."
msgstr "正在从 plasma-face-unlock 迁移你的人脸和设置。这需要你的密码。" msgstr "正在从 plasma-face-unlock 迁移你的人脸和设置。这需要你的密码。"
#: src/lib/pam.sh:132 #: src/lib/pam.sh:191
#, sh-printf-format #, sh-printf-format
msgid "The PAM module is not installed at %s." msgid "The PAM module is not installed at %s."
msgstr "PAM 模块未安装在 %s。" msgstr "PAM 模块未安装在 %s。"
#: src/lib/pam.sh:140 #: src/lib/pam.sh:199
#, sh-printf-format #, sh-printf-format
msgid "There is no PAM configuration for %s on this system." msgid "There is no PAM configuration for %s on this system."
msgstr "此系统上没有 %s 的 PAM 配置。" msgstr "此系统上没有 %s 的 PAM 配置。"
@@ -660,12 +688,12 @@ msgstr "此命令必须以 root 运行。"
msgid "Not a valid setting: %s=%s" msgid "Not a valid setting: %s=%s"
msgstr "无效的设置:%s=%s" msgstr "无效的设置:%s=%s"
#: src/lib/system.sh:76 #: src/lib/system.sh:81
#, sh-printf-format #, sh-printf-format
msgid "Not a service this can be used for: %s" msgid "Not a service this can be used for: %s"
msgstr "不能用于此服务:%s" msgstr "不能用于此服务:%s"
#: src/lib/system.sh:138 src/lib/system.sh:143 #: src/lib/system.sh:146 src/lib/system.sh:151
#, sh-printf-format #, sh-printf-format
msgid "" msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:" "Hyprland does not start the lock screen agent by itself. Add this to %s:"
@@ -859,19 +887,19 @@ msgstr "播放一次气泡动画。"
msgid "Bubble style for the demo: full or minimal." msgid "Bubble style for the demo: full or minimal."
msgstr "演示用的气泡样式:full 或 minimal。" msgstr "演示用的气泡样式:full 或 minimal。"
#: src/pam/pam_face_unlock.c:311 #: src/pam/pam_face_unlock.c:356
msgid "Look at the camera to unlock." msgid "Look at the camera to unlock."
msgstr "看着摄像头来解锁。" msgstr "看着摄像头来解锁。"
#: src/pam/pam_face_unlock.c:314 #: src/pam/pam_face_unlock.c:359
msgid "Blink, or turn your head a little." msgid "Blink, or turn your head a little."
msgstr "眨眼,或稍微转一下头。" msgstr "眨眼,或稍微转一下头。"
#: src/pam/pam_face_unlock.c:330 #: src/pam/pam_face_unlock.c:375
msgid "Face unlock is paused after too many tries. Use your password." msgid "Face unlock is paused after too many tries. Use your password."
msgstr "尝试次数过多,人脸解锁已暂停。请使用密码。" msgstr "尝试次数过多,人脸解锁已暂停。请使用密码。"
#: src/pam/pam_face_unlock.c:334 #: src/pam/pam_face_unlock.c:379
msgid "Face not recognised." msgid "Face not recognised."
msgstr "未识别出人脸。" msgstr "未识别出人脸。"
+3 -1
View File
@@ -130,7 +130,9 @@ void LockController::warmUp()
void LockController::startScan(const QString &why) void LockController::startScan(const QString &why)
{ {
if (!m_locked || m_scan || m_stopped) { // A lock screen this cannot open (gtklock, waylock, a shell's own) asks
// for the face itself, through PAM, when Enter is pressed.
if (!m_locked || m_scan || m_stopped || !m_lock.canUnlock()) {
return; return;
} }
qInfo("scanning (%s)", qPrintable(why)); qInfo("scanning (%s)", qPrintable(why));
+7 -1
View File
@@ -54,7 +54,8 @@ LockWatcher::LockWatcher(QObject *parent)
findSession(); findSession();
if (Wayland::hasGlobal("ext_session_lock_manager_v1")) { m_ownLockers = Wayland::hasGlobal("ext_session_lock_manager_v1");
if (m_ownLockers) {
connect(&m_poll, &QTimer::timeout, this, &LockWatcher::pollLockers); connect(&m_poll, &QTimer::timeout, this, &LockWatcher::pollLockers);
m_poll.start(PollMs); m_poll.start(PollMs);
// Not from here: nobody is connected yet to hear about a lock screen // Not from here: nobody is connected yet to hear about a lock screen
@@ -161,6 +162,11 @@ void LockWatcher::pollLockers()
update(); update();
} }
bool LockWatcher::canUnlock() const
{
return !m_ownLockers || m_lockerRunning;
}
void LockWatcher::update() void LockWatcher::update()
{ {
const bool locked = m_screenSaver || m_lockedHint || m_lockerRunning; const bool locked = m_screenSaver || m_lockedHint || m_lockerRunning;
+8
View File
@@ -12,6 +12,9 @@
// (ext-session-lock). // (ext-session-lock).
// //
// hyprlock and swaylock do not listen to logind. They unlock on SIGUSR1. // hyprlock and swaylock do not listen to logind. They unlock on SIGUSR1.
// Any other lock screen of that kind only opens itself: it gets the face
// through the PAM module in its own stack (see src/lib/pam.sh), when Enter is
// pressed.
// //
// None of this lowers the bar: any program running as this user can already // None of this lowers the bar: any program running as this user can already
// ask logind to unlock the session, or send its own lock screen a signal. The // ask logind to unlock the session, or send its own lock screen a signal. The
@@ -35,6 +38,9 @@ public:
{ {
return m_locked; return m_locked;
} }
// Whether unlock() can open the lock screen that is up: always where
// logind unlocks (Plasma, GNOME), only hyprlock and swaylock elsewhere.
bool canUnlock() const;
void unlock(); void unlock();
Q_SIGNALS: Q_SIGNALS:
@@ -55,6 +61,8 @@ private:
bool m_lockedHint = false; bool m_lockedHint = false;
bool m_lockerRunning = false; bool m_lockerRunning = false;
bool m_locked = false; bool m_locked = false;
// The compositor's lock screen is a program of its own.
bool m_ownLockers = false;
QString m_session; QString m_session;
QTimer m_poll; QTimer m_poll;
}; };
+10 -1
View File
@@ -468,7 +468,7 @@ void Server::handleVerify(Client *client, const QJsonObject &request)
} }
QString purpose = request.value(u"purpose").toString(); QString purpose = request.value(u"purpose").toString();
static const QStringList purposes = {QStringLiteral("unlock"), QStringLiteral("sudo"), QStringLiteral("polkit"), QStringLiteral("test")}; static const QStringList purposes = {QStringLiteral("unlock"), QStringLiteral("sudo"), QStringLiteral("polkit"), QStringLiteral("lockscreen"), QStringLiteral("test")};
if (!purposes.contains(purpose)) { if (!purposes.contains(purpose)) {
purpose = QStringLiteral("other"); purpose = QStringLiteral("other");
} }
@@ -579,6 +579,15 @@ void Server::onJobDone()
state.lastUnlock = now; state.lastUnlock = now;
state.lastPurpose = scan->purpose(); state.lastPurpose = scan->purpose();
// A lock screen that asks for the face through PAM only asks
// again after a password, so Enter on the empty field is how a
// scan starts there, and pam_faillock counts it as a wrong
// password. The face was right: taken back, as a correct
// password would.
if (geteuid() == 0 && scan->purpose() == u"lockscreen") {
System::resetFailedLogins(scan->uid());
}
// Learn from a confident match, the way Face ID keeps up with a // Learn from a confident match, the way Face ID keeps up with a
// beard growing in. Only well clear of the threshold, so the // beard growing in. Only well clear of the threshold, so the
// samples cannot creep towards somebody else one borderline // samples cannot creep towards somebody else one borderline
+9 -1
View File
@@ -110,6 +110,11 @@ fu_do_enable() {
# What was on the last time face unlock was on. # What was on the last time face unlock was on.
[[ $CFG_SUDO == yes ]] && ! fu_pam_enabled sudo && fu_root pam-enable sudo [[ $CFG_SUDO == yes ]] && ! fu_pam_enabled sudo && fu_root pam-enable sudo
[[ $CFG_POLKIT == yes ]] && ! fu_pam_enabled polkit-1 && fu_root pam-enable polkit-1 [[ $CFG_POLKIT == yes ]] && ! fu_pam_enabled polkit-1 && fu_root pam-enable polkit-1
# The lock screens of Hyprland, Niri and the like only open themselves:
# the face goes into their password check. On unless turned off.
if fu_pam_lockers_here && [[ $CFG_LOCKERS == yes ]] && ! fu_pam_lockers_enabled; then
fu_root pam-enable lockscreens
fi
case "$FU_DESKTOP" in case "$FU_DESKTOP" in
gnome) gnome)
@@ -120,6 +125,9 @@ fu_do_enable() {
esac esac
;; ;;
esac esac
if fu_pam_lockers_here && fu_pam_lockers_enabled; then
fu_note "$(fu_msg "The lock screen (%s) takes your face too. If it does not scan when you come back, press Enter on the empty password field." "$(fu_pam_lockers_list)")"
fi
fu_ok "$(fu_msg "Face unlock is on. Lock the screen and look at it to try.")" fu_ok "$(fu_msg "Face unlock is on. Lock the screen and look at it to try.")"
if [[ $CFG_SUDO != yes && $CFG_POLKIT != yes ]]; then if [[ $CFG_SUDO != yes && $CFG_POLKIT != yes ]]; then
@@ -133,7 +141,7 @@ fu_do_disable() {
[[ $FU_DESKTOP == gnome ]] && fu_gnome_extension_disable [[ $FU_DESKTOP == gnome ]] && fu_gnome_extension_disable
local service local service
for service in "${FU_PAM_SERVICES[@]}"; do for service in "${FU_PAM_SERVICES[@]}" "${FU_PAM_LOCKERS[@]}"; do
if fu_pam_enabled "$service"; then if fu_pam_enabled "$service"; then
fu_root pam-disable "$service" || true fu_root pam-disable "$service" || true
fi fi
+1
View File
@@ -126,6 +126,7 @@ fu_config_load() {
_fu_kv_lookup "$FU_CONFIG" LockScreen yes; CFG_LOCK=no; fu_is_true "$FU_KV_VALUE" && CFG_LOCK=yes _fu_kv_lookup "$FU_CONFIG" LockScreen yes; CFG_LOCK=no; fu_is_true "$FU_KV_VALUE" && CFG_LOCK=yes
_fu_kv_lookup "$FU_CONFIG" Sudo no; CFG_SUDO=no; fu_is_true "$FU_KV_VALUE" && CFG_SUDO=yes _fu_kv_lookup "$FU_CONFIG" Sudo no; CFG_SUDO=no; fu_is_true "$FU_KV_VALUE" && CFG_SUDO=yes
_fu_kv_lookup "$FU_CONFIG" Polkit no; CFG_POLKIT=no; fu_is_true "$FU_KV_VALUE" && CFG_POLKIT=yes _fu_kv_lookup "$FU_CONFIG" Polkit no; CFG_POLKIT=no; fu_is_true "$FU_KV_VALUE" && CFG_POLKIT=yes
_fu_kv_lookup "$FU_CONFIG" LockScreens yes; CFG_LOCKERS=no; fu_is_true "$FU_KV_VALUE" && CFG_LOCKERS=yes
_fu_kv_lookup "$FU_SYSCONFIG" Liveness light; CFG_LIVENESS="$FU_KV_VALUE" _fu_kv_lookup "$FU_SYSCONFIG" Liveness light; CFG_LIVENESS="$FU_KV_VALUE"
_fu_kv_lookup "$FU_SYSCONFIG" Camera auto; CFG_CAMERA="$FU_KV_VALUE" _fu_kv_lookup "$FU_SYSCONFIG" Camera auto; CFG_CAMERA="$FU_KV_VALUE"
+27 -6
View File
@@ -251,6 +251,9 @@ fu_ui_status() {
fi fi
_fu_row "$(fu_msg "sudo")" "$(_fu_small_onoff "$(fu_pam_enabled sudo && echo yes || echo no)")" _fu_row "$(fu_msg "sudo")" "$(_fu_small_onoff "$(fu_pam_enabled sudo && echo yes || echo no)")"
_fu_row "$(fu_msg "Admin prompts")" "$(_fu_small_onoff "$(fu_pam_enabled polkit-1 && echo yes || echo no)")" _fu_row "$(fu_msg "Admin prompts")" "$(_fu_small_onoff "$(fu_pam_enabled polkit-1 && echo yes || echo no)")"
if fu_pam_lockers_here; then
_fu_row "$(fu_msg "Lock screens")" "$(_fu_small_onoff "$(fu_pam_lockers_enabled && echo yes || echo no)") ${FU_C_DIM}($(fu_pam_lockers_list))${FU_C_RESET}"
fi
_fu_row "$(fu_msg "Photo check")" "$(fu_value_label Liveness "$CFG_LIVENESS")" _fu_row "$(fu_msg "Photo check")" "$(fu_value_label Liveness "$CFG_LIVENESS")"
if (( FU_ST_LOCKOUT > 0 )); then if (( FU_ST_LOCKOUT > 0 )); then
@@ -270,13 +273,15 @@ fu_ui_status() {
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Settings # Settings
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Format: scope|Key|type|default|label-msgid|choices|needs # Format: scope|Key|type|default|label-msgid|choices|needs|only
# scope user (this user's file), sys (the system file, through sudo), # scope user (this user's file), sys (the system file, through sudo),
# pam (the service of that name, through sudo), or group for a # pam (the service of that name, through sudo), or group for a
# heading, with only the label after it # heading, with only the label after it
# type bool, choice (steps through the choices) or camera # type bool, choice (steps through the choices) or camera
# needs a bool setting this one does nothing without; it is dimmed while # needs a bool setting this one does nothing without; it is dimmed while
# that is off # that is off
# only lockers: only where the lock screen is a program of its own with a
# PAM file (Hyprland, Niri), see fu_pam_lockers_here
FU_SETTINGS=( FU_SETTINGS=(
"group|Lock screen" "group|Lock screen"
"user|LockScreen|bool|yes|Unlock with your face" "user|LockScreen|bool|yes|Unlock with your face"
@@ -285,6 +290,7 @@ FU_SETTINGS=(
"group|Password prompts" "group|Password prompts"
"pam|sudo|bool|no|sudo in a terminal" "pam|sudo|bool|no|sudo in a terminal"
"pam|polkit-1|bool|no|Admin prompts" "pam|polkit-1|bool|no|Admin prompts"
"pam|lockscreens|bool|yes|Lock screens|||lockers"
"group|Recognition" "group|Recognition"
"sys|Liveness|choice|light|Photo check|off,light,heavy" "sys|Liveness|choice|light|Photo check|off,light,heavy"
"sys|Strictness|choice|normal|How closely the face has to match|relaxed,normal,strict" "sys|Strictness|choice|normal|How closely the face has to match|relaxed,normal,strict"
@@ -308,12 +314,17 @@ fu_setting_help() {
fu_msg "On GNOME a small GNOME extension shows the bubble. Turning face unlock on switches it on." fu_msg "On GNOME a small GNOME extension shows the bubble. Turning face unlock on switches it on."
return return
;; ;;
hyprland:LockScreen|niri:LockScreen)
fu_msg "Scans when you come back to hyprlock or swaylock and opens them. Any other lock screen scans when you press Enter on the empty password field."
return
;;
esac esac
case "$1:$2" in case "$1:$2" in
LockScreen:*) fu_msg "Unlocks the lock screen when it sees your face. Off: only your password works there." ;; LockScreen:*) fu_msg "Unlocks the lock screen when it sees your face. Off: only your password works there." ;;
ScanOnWake:*) fu_msg "Scans when you press a key or move the mouse on the lock screen, and when the computer wakes up." ;; ScanOnWake:*) fu_msg "Scans when you press a key or move the mouse on the lock screen, and when the computer wakes up." ;;
ScanOnLock:*) fu_msg "Scans as soon as the screen locks. Off by default: if you lock it yourself, it would unlock again right away." ;; ScanOnLock:*) fu_msg "Scans as soon as the screen locks. Off by default: if you lock it yourself, it would unlock again right away." ;;
sudo:*) fu_msg "sudo takes your face instead of the password. No match: you type the password as usual." ;; sudo:*) fu_msg "sudo takes your face instead of the password. No match: you type the password as usual." ;;
lockscreens:*) fu_msg "The lock screen takes your face in its password check. Press Enter on the empty field to scan. Found here: %s." "$(fu_pam_lockers_list)" ;;
polkit-1:*) fu_msg "The password windows of your desktop and apps, for example when you install software. No match: you type the password." ;; polkit-1:*) fu_msg "The password windows of your desktop and apps, for example when you install software. No match: you type the password." ;;
Liveness:heavy) fu_msg "You have to blink or turn your head a little. This also stops printed photos." ;; Liveness:heavy) fu_msg "You have to blink or turn your head a little. This also stops printed photos." ;;
Liveness:off) fu_msg "No check at all. Only for trying out a camera." ;; Liveness:off) fu_msg "No check at all. Only for trying out a camera." ;;
@@ -378,7 +389,15 @@ _fu_setting_value() {
case "$1" in case "$1" in
user) _fu_kv_lookup "$FU_CONFIG" "$2" "$3"; FU_SETTING_VALUE="$FU_KV_VALUE" ;; user) _fu_kv_lookup "$FU_CONFIG" "$2" "$3"; FU_SETTING_VALUE="$FU_KV_VALUE" ;;
sys) _fu_kv_lookup "$FU_SYSCONFIG" "$2" "$3"; FU_SETTING_VALUE="$FU_KV_VALUE" ;; sys) _fu_kv_lookup "$FU_SYSCONFIG" "$2" "$3"; FU_SETTING_VALUE="$FU_KV_VALUE" ;;
pam) if fu_pam_enabled "$2"; then FU_SETTING_VALUE=yes; else FU_SETTING_VALUE=no; fi ;; pam)
if [[ $2 == lockscreens ]]; then
if fu_pam_lockers_enabled; then FU_SETTING_VALUE=yes; else FU_SETTING_VALUE=no; fi
elif fu_pam_enabled "$2"; then
FU_SETTING_VALUE=yes
else
FU_SETTING_VALUE=no
fi
;;
esac esac
} }
@@ -461,8 +480,9 @@ _fu_setting_change() {
# Remembered, so that turning face unlock off and on again brings # Remembered, so that turning face unlock off and on again brings
# it back. # it back.
case "$key" in case "$key" in
sudo) fu_config_set Sudo "$next" ;; sudo) fu_config_set Sudo "$next" ;;
polkit-1) fu_config_set Polkit "$next" ;; polkit-1) fu_config_set Polkit "$next" ;;
lockscreens) fu_config_set LockScreens "$next" ;;
esac esac
;; ;;
esac esac
@@ -474,12 +494,13 @@ _fu_setting_change() {
# resolved before the loop. # resolved before the loop.
fu_ui_settings() { fu_ui_settings() {
local -a scopes=() keys=() types=() defaults=() labels=() widths=() choices=() needs=() values=() rows=() local -a scopes=() keys=() types=() defaults=() labels=() widths=() choices=() needs=() values=() rows=()
local spec scope key type default label choice need locale i j frame row pad dirty=1 cursor=0 shown local spec scope key type default label choice need only locale i j frame row pad dirty=1 cursor=0 shown
local width=0 wrap cols local width=0 wrap cols
locale="$(fu_ui_locale)" locale="$(fu_ui_locale)"
for spec in "${FU_SETTINGS[@]}"; do for spec in "${FU_SETTINGS[@]}"; do
IFS='|' read -r scope key type default label choice need <<< "$spec" IFS='|' read -r scope key type default label choice need only <<< "$spec"
[[ $only == lockers ]] && ! fu_pam_lockers_here && continue
# A heading has its label where the key would be. # A heading has its label where the key would be.
[[ $scope == group ]] && label="$key" key='' [[ $scope == group ]] && label="$key" key=''
scopes+=("$scope"); keys+=("$key"); types+=("$type"); defaults+=("$default") scopes+=("$scope"); keys+=("$key"); types+=("$type"); defaults+=("$default")
+71 -12
View File
@@ -1,17 +1,21 @@
# shellcheck shell=bash # shellcheck shell=bash
# #
# Putting face unlock in front of sudo and polkit's admin prompts, and taking # Putting face unlock in front of sudo, polkit's admin prompts and the lock
# it out again. # screens of Hyprland and Niri, and taking it out again.
# #
# Two services and nothing else. The lock screen does not go through PAM at all # The lock screens of Plasma and GNOME do not go through this at all: the
# (see src/agent/lockcontroller.h), and the login screen stays with the # agent opens them (see src/agent/lockcontroller.h). hyprlock, swaylock and
# password: logging in is what unlocks the wallet, and a face has no password # the others are programs of their own that only open themselves, so the face
# to hand it. # goes into their password check, and pressing Enter on the empty field is
# how a scan starts. The login screen stays with the password: logging in is
# what unlocks the wallet, and a face has no password to hand it.
# #
# The line that goes in: # The line that goes in:
# #
# -auth sufficient /usr/lib/security/pam_face_unlock.so # -auth sufficient /usr/lib/security/pam_face_unlock.so
# #
# with "lockscreen" after it for a lock screen (see the PAM module).
#
# "sufficient": a match lets the person in, anything else falls through to the # "sufficient": a match lets the person in, anything else falls through to the
# lines below as if this one were not there. The dash makes PAM skip it # lines below as if this one were not there. The dash makes PAM skip it
# quietly if the module ever goes missing, say because the package was removed # quietly if the module ever goes missing, say because the package was removed
@@ -29,6 +33,9 @@
FU_PAM_MARK="# face-unlock: the face first, the password if that does not work" FU_PAM_MARK="# face-unlock: the face first, the password if that does not work"
FU_PAM_WRAPPER_MARK="# Written by face-unlock." FU_PAM_WRAPPER_MARK="# Written by face-unlock."
FU_PAM_SERVICES=(sudo polkit-1) FU_PAM_SERVICES=(sudo polkit-1)
# Lock screens with a PAM file of their own. One that uses "login" or
# "system-auth" directly is left alone: those also let people log in.
FU_PAM_LOCKERS=(hyprlock swaylock gtklock waylock)
# Overridable for the tests only; the root side never takes them from the # Overridable for the tests only; the root side never takes them from the
# environment (see the top of face-unlock). # environment (see the top of face-unlock).
@@ -52,8 +59,59 @@ fu_pam_vendor() {
return 1 return 1
} }
# fu_pam_is_locker <service>
fu_pam_is_locker() {
local s
for s in "${FU_PAM_LOCKERS[@]}"; do
[[ $s == "$1" ]] && return 0
done
return 1
}
# fu_pam_line <service>
fu_pam_line() { fu_pam_line() {
printf -- '-auth sufficient %s\n' "$FU_PAM_MODULE" if fu_pam_is_locker "$1"; then
printf -- '-auth sufficient %s lockscreen\n' "$FU_PAM_MODULE"
else
printf -- '-auth sufficient %s\n' "$FU_PAM_MODULE"
fi
}
# fu_pam_lockers
# The lock screens installed here, one per line.
fu_pam_lockers() {
local s
for s in "${FU_PAM_LOCKERS[@]}"; do
if [[ -f $(fu_pam_etc "$s") ]] || fu_pam_vendor "$s" > /dev/null; then
printf '%s\n' "$s"
fi
done
}
# fu_pam_lockers_list
# The same, for people: "hyprlock, swaylock".
fu_pam_lockers_list() {
local list
list="$(fu_pam_lockers | paste -sd ',')"
printf '%s\n' "${list//,/, }"
}
# fu_pam_lockers_here
# Whether this desktop's lock screen is a program of its own (Hyprland,
# Niri and the like), and one with a PAM file is installed.
fu_pam_lockers_here() {
[[ $FU_DESKTOP != plasma && $FU_DESKTOP != gnome && -n $(fu_pam_lockers) ]]
}
# fu_pam_lockers_enabled
# Whether every lock screen installed here takes the face, and there is one.
fu_pam_lockers_enabled() {
local s found=0
while IFS= read -r s; do
found=1
fu_pam_enabled "$s" || return 1
done < <(fu_pam_lockers)
(( found ))
} }
# fu_pam_enabled <service> # fu_pam_enabled <service>
@@ -63,13 +121,13 @@ fu_pam_enabled() {
[[ -r $file ]] && grep -q 'pam_face_unlock\.so' "$file" [[ -r $file ]] && grep -q 'pam_face_unlock\.so' "$file"
} }
# fu_pam_insert <file> # fu_pam_insert <file> <service>
# Prints the file with the line added before its first auth line. Debian and # Prints the file with the line added before its first auth line. Debian and
# Ubuntu have none in sudo's file, only "@include common-auth", and that # Ubuntu have none in sudo's file, only "@include common-auth", and that
# counts as one: after it the password has already been asked for. A file # counts as one: after it the password has already been asked for. A file
# with neither (which would be odd for either service) gets it at the end. # with neither (which would be odd for either service) gets it at the end.
fu_pam_insert() { fu_pam_insert() {
awk -v mark="$FU_PAM_MARK" -v line="$(fu_pam_line)" ' awk -v mark="$FU_PAM_MARK" -v line="$(fu_pam_line "$2")" '
!done && ($0 ~ /^[[:space:]]*-?auth[[:space:]]/ || $0 ~ /^[[:space:]]*@include[[:space:]]+common-auth([[:space:]]|$)/) { !done && ($0 ~ /^[[:space:]]*-?auth[[:space:]]/ || $0 ~ /^[[:space:]]*@include[[:space:]]+common-auth([[:space:]]|$)/) {
print mark print mark
print line print line
@@ -95,13 +153,14 @@ fu_pam_remove_lines() {
' "$1" ' "$1"
} }
# fu_pam_wrapper <vendor file> <service>
fu_pam_wrapper() { fu_pam_wrapper() {
local vendor="$1" local vendor="$1"
printf '#%%PAM-1.0\n' printf '#%%PAM-1.0\n'
printf '%s The face first, then everything\n' "$FU_PAM_WRAPPER_MARK" printf '%s The face first, then everything\n' "$FU_PAM_WRAPPER_MARK"
printf '# %s does for this service. Removed again by\n' "$vendor" printf '# %s does for this service. Removed again by\n' "$vendor"
printf '# "face-unlock disable" or from its settings.\n\n' printf '# "face-unlock disable" or from its settings.\n\n'
fu_pam_line fu_pam_line "$2"
printf 'auth include %s\n' "$vendor" printf 'auth include %s\n' "$vendor"
printf 'account include %s\n' "$vendor" printf 'account include %s\n' "$vendor"
printf 'password include %s\n' "$vendor" printf 'password include %s\n' "$vendor"
@@ -133,9 +192,9 @@ fu_pam_enable() {
fu_pam_enabled "$service" && return 0 fu_pam_enabled "$service" && return 0
if [[ -f $file ]]; then if [[ -f $file ]]; then
content="$(fu_pam_insert "$file")" || return 1 content="$(fu_pam_insert "$file" "$service")" || return 1
elif vendor="$(fu_pam_vendor "$service")"; then elif vendor="$(fu_pam_vendor "$service")"; then
content="$(fu_pam_wrapper "$vendor")" content="$(fu_pam_wrapper "$vendor" "$service")"
else else
fu_bad "$(fu_msg "There is no PAM configuration for %s on this system." "$service")" fu_bad "$(fu_msg "There is no PAM configuration for %s on this system." "$service")"
return 1 return 1
+17 -9
View File
@@ -9,8 +9,8 @@
# the root side a command of one's own. # the root side a command of one's own.
# #
# --root set <Key> <Value> one line of /etc/face-unlock/config # --root set <Key> <Value> one line of /etc/face-unlock/config
# --root pam-enable <service> sudo or polkit-1, see pam.sh # --root pam-enable <service> sudo, polkit-1, a lock screen, or lockscreens
# --root pam-disable <service> # --root pam-disable <service> for all lock screens installed; see pam.sh
# --root socket-enable start the daemon's socket, and at boot # --root socket-enable start the daemon's socket, and at boot
# --root socket-disable # --root socket-disable
# --root migrate move over from plasma-face-unlock, see migrate.sh # --root migrate move over from plasma-face-unlock, see migrate.sh
@@ -69,16 +69,24 @@ fu_root_verb() {
chmod 0644 "$FU_SYSCONFIG" chmod 0644 "$FU_SYSCONFIG"
;; ;;
pam-enable|pam-disable) pam-enable|pam-disable)
local service="${1:-}" known=0 s local service="${1:-}" known=0 s rc=0
for s in "${FU_PAM_SERVICES[@]}"; do local -a services=("$service")
for s in "${FU_PAM_SERVICES[@]}" "${FU_PAM_LOCKERS[@]}"; do
[[ $s == "$service" ]] && known=1 [[ $s == "$service" ]] && known=1
done done
(( known )) || { fu_bad "$(fu_msg "Not a service this can be used for: %s" "$service")"; return 1; } if [[ $service == lockscreens ]]; then
if [[ $verb == pam-enable ]]; then known=1
fu_pam_enable "$service" mapfile -t services < <(fu_pam_lockers)
else
fu_pam_disable "$service"
fi fi
(( known )) || { fu_bad "$(fu_msg "Not a service this can be used for: %s" "$service")"; return 1; }
for s in "${services[@]}"; do
if [[ $verb == pam-enable ]]; then
fu_pam_enable "$s" || rc=1
else
fu_pam_disable "$s" || rc=1
fi
done
return $rc
;; ;;
socket-enable) socket-enable)
systemctl enable --now "$FU_UNIT_SOCKET" > /dev/null 2>&1 systemctl enable --now "$FU_UNIT_SOCKET" > /dev/null 2>&1
+46 -1
View File
@@ -1,6 +1,6 @@
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
// //
// pam_face_unlock: face unlock for sudo and for admin prompts. // pam_face_unlock: face unlock for sudo, admin prompts and lock screens.
// //
// All the vision is in the daemon. This asks it to scan for the user and // All the vision is in the daemon. This asks it to scan for the user and
// turns the answer into a PAM result, and it is meant to sit first in a stack // turns the answer into a PAM result, and it is meant to sit first in a stack
@@ -18,6 +18,8 @@
// Options: // Options:
// purpose=sudo|polkit|other what the bubble says (default: from the // purpose=sudo|polkit|other what the bubble says (default: from the
// service name) // service name)
// lockscreen in a lock screen's stack (hyprlock, swaylock,
// gtklock...): see is_lock_starting()
// socket=PATH the daemon's socket (for development) // socket=PATH the daemon's socket (for development)
// timeout=SECONDS give up waiting for the daemon after this // timeout=SECONDS give up waiting for the daemon after this
// debug log to the auth log what happened // debug log to the auth log what happened
@@ -57,6 +59,7 @@ struct options {
const char *socket; const char *socket;
const char *purpose; const char *purpose;
int timeout; int timeout;
bool lockscreen;
bool debug; bool debug;
}; };
@@ -65,6 +68,7 @@ static void parse_options(struct options *o, int argc, const char **argv)
o->socket = FU_SOCKET; o->socket = FU_SOCKET;
o->purpose = NULL; o->purpose = NULL;
o->timeout = 25; o->timeout = 25;
o->lockscreen = false;
o->debug = false; o->debug = false;
for (int i = 0; i < argc; ++i) { for (int i = 0; i < argc; ++i) {
if (strncmp(argv[i], "socket=", 7) == 0) { if (strncmp(argv[i], "socket=", 7) == 0) {
@@ -76,6 +80,8 @@ static void parse_options(struct options *o, int argc, const char **argv)
if (o->timeout < 3 || o->timeout > 120) { if (o->timeout < 3 || o->timeout > 120) {
o->timeout = 25; o->timeout = 25;
} }
} else if (strcmp(argv[i], "lockscreen") == 0) {
o->lockscreen = true;
} else if (strcmp(argv[i], "debug") == 0) { } else if (strcmp(argv[i], "debug") == 0) {
o->debug = true; o->debug = true;
} }
@@ -94,6 +100,36 @@ static bool nonempty(const char *s)
return s && *s; return s && *s;
} }
// hyprlock asks PAM the moment it starts, before anybody pressed a key.
// Scanning then would open the screen again for whoever just locked it on
// purpose while still sitting in front of it. So a lock screen that is less
// than two seconds old gets no scan; pressing Enter asks again, and the agent
// scans when somebody comes back.
static bool is_lock_starting(void)
{
FILE *stat = fopen("/proc/self/stat", "r");
FILE *uptime = fopen("/proc/uptime", "r");
unsigned long long started = 0;
double up = 0;
bool ok = stat && uptime && fscanf(uptime, "%lf", &up) == 1;
if (ok) {
// After the name in brackets, which can hold anything, the start
// time is the 20th field.
char line[1024];
ok = fgets(line, sizeof(line), stat) != NULL;
const char *p = ok ? strrchr(line, ')') : NULL;
ok = p && sscanf(p + 2, "%*c %*d %*d %*d %*d %*d %*u %*u %*u %*u %*u %*u %*u %*d %*d %*d %*d %*d %*d %llu", &started) == 1;
}
if (stat) {
fclose(stat);
}
if (uptime) {
fclose(uptime);
}
const long ticks = sysconf(_SC_CLK_TCK);
return ok && ticks > 0 && up - (double)started / (double)ticks < 2.0;
}
// Whoever types this is not whoever sits in front of the camera. // Whoever types this is not whoever sits in front of the camera.
static bool is_remote(pam_handle_t *pamh) static bool is_remote(pam_handle_t *pamh)
{ {
@@ -239,6 +275,9 @@ __attribute__((visibility("default"))) PAM_EXTERN int pam_sm_authenticate(pam_ha
const void *service = NULL; const void *service = NULL;
pam_get_item(pamh, PAM_SERVICE, &service); pam_get_item(pamh, PAM_SERVICE, &service);
const char *purpose = o.purpose; const char *purpose = o.purpose;
if (!purpose && o.lockscreen) {
purpose = "lockscreen";
}
if (!purpose) { if (!purpose) {
purpose = !service ? "other" purpose = !service ? "other"
: strncmp(service, "sudo", 4) == 0 ? "sudo" : strncmp(service, "sudo", 4) == 0 ? "sudo"
@@ -246,6 +285,12 @@ __attribute__((visibility("default"))) PAM_EXTERN int pam_sm_authenticate(pam_ha
: "other"; : "other";
} }
if (o.lockscreen && is_lock_starting()) {
if (o.debug) {
pam_syslog(pamh, LOG_DEBUG, "the lock screen has only just started, not scanning for %s", user);
}
return PAM_IGNORE;
}
if (is_remote(pamh)) { if (is_remote(pamh)) {
if (o.debug) { if (o.debug) {
pam_syslog(pamh, LOG_DEBUG, "remote session, not scanning for %s", user); pam_syslog(pamh, LOG_DEBUG, "remote session, not scanning for %s", user);
+32
View File
@@ -123,6 +123,38 @@ check "vendor polkit-1: turning it off removes our file" '[[ ! -e $tmp/etc/polki
# No configuration at all. # No configuration at all.
check "an unknown service is refused" '! fu_pam_enable nosuchservice 2>/dev/null' check "an unknown service is refused" '! fu_pam_enable nosuchservice 2>/dev/null'
# ---------------------------------------------------------------------------
# Lock screens (Hyprland, Niri): hyprlock in /etc as Arch ships it, swaylock
# only as the distribution's copy.
# ---------------------------------------------------------------------------
printf '%s\n' '#%PAM-1.0' '' 'auth include login' > "$tmp/etc/hyprlock"
cp "$tmp/etc/hyprlock" "$tmp/original"
printf '%s\n' 'auth include login' > "$tmp/vendor/swaylock"
check "the lock screens installed are found" '[[ $(fu_pam_lockers | paste -sd ,) == hyprlock,swaylock ]]'
check "and named for people" '[[ $(fu_pam_lockers_list) == "hyprlock, swaylock" ]]'
check "not on to begin with" '! fu_pam_lockers_enabled'
FU_DESKTOP=hyprland
check "Hyprland wants them" 'fu_pam_lockers_here'
FU_DESKTOP=gnome
check "GNOME does not: its agent opens its own" '! fu_pam_lockers_here'
while IFS= read -r locker; do
fu_pam_enable "$locker"
done < <(fu_pam_lockers)
check "all on" 'fu_pam_lockers_enabled'
check "hyprlock: the face first, marked as a lock screen" '[[ "$(first_auth "$tmp/etc/hyprlock")" == *"pam_face_unlock.so lockscreen" ]]'
check "swaylock: a small file of our own, marked too" 'grep -qF "$FU_PAM_WRAPPER_MARK" "$tmp/etc/swaylock" && [[ "$(first_auth "$tmp/etc/swaylock")" == *"pam_face_unlock.so lockscreen" ]]'
check "sudo is no lock screen" '[[ "$(fu_pam_line sudo)" != *lockscreen* ]]'
fu_pam_disable hyprlock
fu_pam_disable swaylock
check "hyprlock: off again gives back the same file" 'cmp -s "$tmp/etc/hyprlock" "$tmp/original"'
check "swaylock: off again removes our file" '[[ ! -e $tmp/etc/swaylock ]]'
check "all off" '! fu_pam_lockers_enabled'
rm -f "$tmp/etc/hyprlock" "$tmp/vendor/swaylock"
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# Moving over from plasma-face-unlock # Moving over from plasma-face-unlock
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------