feat: warn when no polkit agent runs and offer to install one

This commit is contained in:
Felitendo committed 2026-09-26 20:31:18 +02:00
1 parent b8cdd255ed
commit 8224b6f1d7
20 files changed
+2338 -1623

No files matched your search

+155 -115
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: face-unlock 1.0.1\n"
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
"POT-Creation-Date: 2026-09-26 20:29+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -54,9 +54,9 @@ msgstr ""
msgid "First, set up your face."
msgstr ""
#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:517
#: src/lib/menu.sh:521 src/lib/menu.sh:527 src/lib/menu.sh:529
#: src/lib/system.sh:290 src/lib/system.sh:296
#: src/face-unlock:100 src/face-unlock:145 src/lib/menu.sh:527
#: src/lib/menu.sh:531 src/lib/menu.sh:537 src/lib/menu.sh:539
#: src/lib/system.sh:399 src/lib/system.sh:405
msgid "Could not save the setting."
msgstr ""
@@ -107,16 +107,16 @@ msgstr ""
msgid "No face is set up yet."
msgstr ""
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:695
msgid "on"
msgstr ""
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
#: src/lib/menu.sh:686
#: src/lib/menu.sh:696
msgid "off"
msgstr ""
#: src/face-unlock:176 src/lib/menu.sh:703
#: src/face-unlock:176 src/lib/menu.sh:713
#, sh-printf-format
msgid "%s samples, %s learned"
msgstr ""
@@ -146,7 +146,7 @@ msgstr ""
msgid "Turn it off (faces are kept)"
msgstr ""
#: src/face-unlock:202 src/lib/menu.sh:769
#: src/face-unlock:202 src/lib/menu.sh:779
msgid "Add a face"
msgstr ""
@@ -188,7 +188,7 @@ msgid ""
"needs to."
msgstr ""
#: src/face-unlock:253 src/lib/system.sh:101
#: src/face-unlock:253 src/lib/system.sh:105
#, sh-printf-format
msgid "Unknown command: %s"
msgstr ""
@@ -261,7 +261,7 @@ msgstr ""
msgid "The camera could not be used."
msgstr ""
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
#: src/lib/daemon.sh:111 src/lib/menu.sh:273
msgid "The recognition models are missing. Reinstall the package."
msgstr ""
@@ -277,82 +277,86 @@ msgstr ""
msgid "The face unlock service is not running."
msgstr ""
#: src/lib/daemon.sh:115
#: src/lib/daemon.sh:116
msgid "Not allowed."
msgstr ""
#: src/lib/daemon.sh:116
#: src/lib/daemon.sh:120
msgid "No password window? Start a polkit agent, for example hyprpolkitagent."
msgstr ""
#: src/lib/daemon.sh:123
#, sh-printf-format
msgid "Something went wrong (%s)."
msgstr ""
#: src/lib/daemon.sh:127
#: src/lib/daemon.sh:134
msgid "Look at the camera. Blink once, or turn your head a little."
msgstr ""
#: src/lib/daemon.sh:137
#: src/lib/daemon.sh:144
msgid "Face found."
msgstr ""
#: src/lib/daemon.sh:141
#: src/lib/daemon.sh:148
msgid "Recognised. Now blink once, or turn your head a little."
msgstr ""
#: src/lib/daemon.sh:142
#: src/lib/daemon.sh:149
msgid "Look at the screen."
msgstr ""
#: src/lib/daemon.sh:143
#: src/lib/daemon.sh:150
msgid "Move closer to the camera."
msgstr ""
#: src/lib/daemon.sh:144
#: src/lib/daemon.sh:151
msgid "It is too dark to see your face."
msgstr ""
#: src/lib/daemon.sh:153
#: src/lib/daemon.sh:160
msgid "match"
msgstr ""
#: src/lib/daemon.sh:153
#: src/lib/daemon.sh:160
msgid "turn"
msgstr ""
#: src/lib/daemon.sh:154
#: src/lib/daemon.sh:161
msgid "eyes"
msgstr ""
#: src/lib/daemon.sh:155
#: src/lib/daemon.sh:162
msgid "depth"
msgstr ""
#: src/lib/daemon.sh:155 src/lib/daemon.sh:164
#: src/lib/daemon.sh:162 src/lib/daemon.sh:171
msgid "blink"
msgstr ""
#: src/lib/daemon.sh:156
#: src/lib/daemon.sh:163
msgid "glare"
msgstr ""
#: src/lib/daemon.sh:156
#: src/lib/daemon.sh:163
msgid "edge"
msgstr ""
#: src/lib/daemon.sh:165
#: src/lib/daemon.sh:172
msgid "head turn"
msgstr ""
#: src/lib/daemon.sh:167
#: src/lib/daemon.sh:174
#, sh-printf-format
msgid "Recognised as %s (match %s) in %s ms."
msgstr ""
#: src/lib/daemon.sh:168
#: src/lib/daemon.sh:175
#, sh-printf-format
msgid "Sign of life: %s"
msgstr ""
#: src/lib/daemon.sh:173
#: src/lib/daemon.sh:180
msgid ""
"That was too many tries. Face unlock is paused until you unlock with your "
"password."
@@ -363,11 +367,11 @@ msgstr ""
msgid "[y/N]"
msgstr ""
#: src/lib/menu.sh:172 src/lib/menu.sh:583
#: src/lib/menu.sh:172 src/lib/menu.sh:593
msgid "ON"
msgstr ""
#: src/lib/menu.sh:174 src/lib/menu.sh:584
#: src/lib/menu.sh:174 src/lib/menu.sh:594
msgid "OFF"
msgstr ""
@@ -408,7 +412,7 @@ msgstr ""
msgid "%s seconds"
msgstr ""
#: src/lib/menu.sh:202 src/lib/menu.sh:452
#: src/lib/menu.sh:202 src/lib/menu.sh:462
msgid "automatic"
msgstr ""
@@ -420,297 +424,307 @@ msgstr ""
msgid "yours"
msgstr ""
#: src/lib/menu.sh:221
#: src/lib/menu.sh:215
msgid ""
"No polkit agent is running, so no password window can open. Adding a face "
"and the admin prompts need one."
msgstr ""
#: src/lib/menu.sh:226
msgid "Face unlock"
msgstr ""
#: src/lib/menu.sh:225
#: src/lib/menu.sh:230
msgid "Service"
msgstr ""
#: src/lib/menu.sh:225
#: src/lib/menu.sh:230
msgid "not running"
msgstr ""
#: src/lib/menu.sh:227
#: src/lib/menu.sh:232
msgid "Turning face unlock on again starts it."
msgstr ""
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
#: src/lib/menu.sh:770
#: src/lib/menu.sh:244 src/lib/menu.sh:246 src/lib/menu.sh:691
#: src/lib/menu.sh:780
msgid "Faces"
msgstr ""
#: src/lib/menu.sh:238
#: src/lib/menu.sh:244
msgid "none set up yet"
msgstr ""
#: src/lib/menu.sh:240
#: src/lib/menu.sh:246
msgid "all turned off"
msgstr ""
#: src/lib/menu.sh:246
#: src/lib/menu.sh:252
msgid "none found"
msgstr ""
#: src/lib/menu.sh:248 src/lib/menu.sh
#: src/lib/menu.sh:254 src/lib/menu.sh
msgid "Camera"
msgstr ""
#: src/lib/menu.sh:250 src/lib/menu.sh
#: src/lib/menu.sh:256 src/lib/menu.sh
msgid "Lock screen"
msgstr ""
#: src/lib/menu.sh:254
#: src/lib/menu.sh:260
msgid "sudo"
msgstr ""
#: src/lib/menu.sh:255 src/lib/menu.sh
#: src/lib/menu.sh:261 src/lib/menu.sh
msgid "Admin prompts"
msgstr ""
#: src/lib/menu.sh:257 src/lib/menu.sh
#: src/lib/menu.sh:263 src/lib/menu.sh
msgid "Lock screens"
msgstr ""
#: src/lib/menu.sh:259 src/lib/menu.sh
#: src/lib/menu.sh:265 src/lib/menu.sh
msgid "Photo check"
msgstr ""
#: src/lib/menu.sh:262
#: src/lib/menu.sh:268
msgid "Paused"
msgstr ""
#: src/lib/menu.sh:262
#: src/lib/menu.sh:268
#, sh-printf-format
msgid "for %d more minutes, or until the password is used"
msgstr ""
#: src/lib/menu.sh:264
#: src/lib/menu.sh:270
msgid "Last unlock"
msgstr ""
#: src/lib/menu.sh:270
#: src/lib/menu.sh:276
msgid "The lock screen agent is not running."
msgstr ""
#: src/lib/menu.sh:322
#: src/lib/menu.sh:332
msgid ""
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
"switches it on."
msgstr ""
#: src/lib/menu.sh:326
#: src/lib/menu.sh:336
msgid ""
"Scans when you come back to hyprlock, swaylock or face-unlock's own lock "
"screen (`face-unlock lock`, with the bubble), and opens them. Other lock "
"screens scan on Enter."
msgstr ""
#: src/lib/menu.sh:331
#: src/lib/menu.sh:341
msgid ""
"Unlocks the lock screen when it sees your face. Off: only your password "
"works there."
msgstr ""
#: src/lib/menu.sh:332
#: src/lib/menu.sh:342
msgid ""
"Scans when you press a key or move the mouse on the lock screen, and when "
"the computer wakes up."
msgstr ""
#: src/lib/menu.sh:333
#: src/lib/menu.sh:343
msgid ""
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
"it would unlock again right away."
msgstr ""
#: src/lib/menu.sh:334
#: src/lib/menu.sh:344
msgid ""
"sudo takes your face instead of the password. No match: you type the "
"password as usual."
msgstr ""
#: src/lib/menu.sh:335
#: src/lib/menu.sh:345
msgid ""
"face-unlock's lock screen shows the bubble, and you lock with `face-unlock "
"lock`. Or keep yours: hyprlock then shows a line of text at the top. Enter "
"opens the choice."
msgstr ""
#: src/lib/menu.sh:336
#: src/lib/menu.sh:346
msgid ""
"The picture behind face-unlock's own lock screen (`face-unlock lock`). "
"Empty: the one on your desktop. Or a file, a folder to take one from at "
"random, or `none`. Enter to type it."
msgstr ""
#: src/lib/menu.sh:337
#: src/lib/menu.sh:347
msgid "Blurs the picture behind face-unlock's own lock screen."
msgstr ""
#: src/lib/menu.sh:338
#: src/lib/menu.sh:348
#, sh-printf-format
msgid ""
"The lock screen takes your face in its password check. Press Enter on the "
"empty field to scan. Found here: %s."
msgstr ""
#: src/lib/menu.sh:339
#: src/lib/menu.sh:349
msgid ""
"The password windows of your desktop and apps, for example when you install "
"software. No match: you type the password."
msgstr ""
#: src/lib/menu.sh:340
#: src/lib/menu.sh:350
msgid ""
"You have to blink or turn your head a little. This also stops printed photos."
msgstr ""
#: src/lib/menu.sh:341
#: src/lib/menu.sh:351
msgid "No check at all. Only for trying out a camera."
msgstr ""
#: src/lib/menu.sh:342
#: src/lib/menu.sh:352
msgid ""
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
"A matte printed photo can get through."
msgstr ""
#: src/lib/menu.sh:343
#: src/lib/menu.sh:353
msgid ""
"Fewer wrong matches, but it may not know you with glasses or in bad light."
msgstr ""
#: src/lib/menu.sh:344
#: src/lib/menu.sh:354
msgid "Knows you more easily, but also somebody who looks a lot like you."
msgstr ""
#: src/lib/menu.sh:345
#: src/lib/menu.sh:355
msgid "The default. Right for most people."
msgstr ""
#: src/lib/menu.sh:346
#: src/lib/menu.sh:356
msgid ""
"Your eyes have to be open and on the screen. So it does not unlock while you "
"look away or sleep."
msgstr ""
#: src/lib/menu.sh:347
#: src/lib/menu.sh:357
msgid ""
"Automatic takes the first normal camera. After a change, set up your face "
"again. An infrared camera needs its light on (linux-enable-ir-emitter)."
msgstr ""
#: src/lib/menu.sh:348
#: src/lib/menu.sh:358
msgid "How long the camera looks for your face before it gives up."
msgstr ""
#: src/lib/menu.sh:349
#: src/lib/menu.sh:359
msgid ""
"After a sure match it keeps how you look now. So a new haircut or glasses "
"need no new setup."
msgstr ""
#: src/lib/menu.sh:350
#: src/lib/menu.sh:360
msgid ""
"No scan while the laptop is closed, for example at a desk with an external "
"screen."
msgstr ""
#: src/lib/menu.sh:351
#: src/lib/menu.sh:361
msgid "The bubble at the top of the screen shows what the camera is doing."
msgstr ""
#: src/lib/menu.sh:352
#: src/lib/menu.sh:362
msgid "A small pill with a lock that opens."
msgstr ""
#: src/lib/menu.sh:353
#: src/lib/menu.sh:363
msgid "An island with a face that looks around, then rings and a tick."
msgstr ""
#: src/lib/menu.sh:354
#: src/lib/menu.sh:364
msgid "How fast the bubble moves."
msgstr ""
#: src/lib/menu.sh:355
#: src/lib/menu.sh:365
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
msgstr ""
#: src/lib/menu.sh:448
#: src/lib/menu.sh:458
#, sh-printf-format
msgid "automatic (%s)"
msgstr ""
#: src/lib/menu.sh:458
#: src/lib/menu.sh:468
msgid "(infrared)"
msgstr ""
#: src/lib/menu.sh:462
#: src/lib/menu.sh:472
msgid "(not connected)"
msgstr ""
#: src/lib/menu.sh:471
#: src/lib/menu.sh:481
msgid "same as desktop"
msgstr ""
#: src/lib/menu.sh:475
#: src/lib/menu.sh:485
msgid "none"
msgstr ""
#: src/lib/menu.sh:504
#: src/lib/menu.sh:514
msgid "Picture or folder:"
msgstr ""
#: src/lib/menu.sh:509
#: src/lib/menu.sh:519
#, sh-printf-format
msgid "Not found: %s"
msgstr ""
#: src/lib/menu.sh:580 src/lib/menu.sh:771
#: src/lib/menu.sh:590 src/lib/menu.sh:781
msgid "Settings"
msgstr ""
#: src/lib/menu.sh:581
#: src/lib/menu.sh:591
msgid "↑↓ select ←→ or Space: change q: back"
msgstr ""
#: src/lib/menu.sh:582
#: src/lib/menu.sh:592
msgid "for all users, asks for your password"
msgstr ""
#. TRANSLATORS: keep the letters, they are the keys.
#: src/lib/menu.sh:683
#: src/lib/menu.sh:693
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
msgstr ""
#: src/lib/menu.sh:684
#: src/lib/menu.sh:694
msgid "No face is set up yet. Press a to add one."
msgstr ""
#: src/lib/menu.sh:730
#: src/lib/menu.sh:740
msgid "New name:"
msgstr ""
#: src/lib/menu.sh:737
#: src/lib/menu.sh:747
#, sh-printf-format
msgid "Delete \"%s\"?"
msgstr ""
#: src/lib/menu.sh:768
#: src/lib/menu.sh:778
msgid "Turn face unlock on or off"
msgstr ""
#: src/lib/menu.sh:772
#: src/lib/menu.sh:782
msgid "Try it"
msgstr ""
#: src/lib/menu.sh:773
#: src/lib/menu.sh:784
msgid "Install a polkit agent"
msgstr ""
#: src/lib/menu.sh:786
msgid "Quit"
msgstr ""
#: src/lib/migrate.sh:119
#: src/lib/migrate.sh:127
msgid ""
"Moving your faces and settings over from plasma-face-unlock. That needs your "
"password."
@@ -726,67 +740,93 @@ msgstr ""
msgid "There is no PAM configuration for %s on this system."
msgstr ""
#: src/lib/system.sh:48
#: src/lib/system.sh:49
msgid "This needs root, and neither sudo, run0 nor doas is installed."
msgstr ""
#: src/lib/system.sh:57
#: src/lib/system.sh:58
msgid "This command has to run as root."
msgstr ""
#: src/lib/system.sh:65
#: src/lib/system.sh:66
#, sh-printf-format
msgid "Not a valid setting: %s=%s"
msgstr ""
#: src/lib/system.sh:81
#: src/lib/system.sh:82
#, sh-printf-format
msgid "Not a service this can be used for: %s"
msgstr ""
#: src/lib/system.sh:146 src/lib/system.sh:151
#: src/lib/system.sh:154
#, sh-printf-format
msgid ""
"Hyprland does not start the lock screen agent by itself. Add this to %s:"
msgstr ""
#: src/lib/system.sh:267 src/lib/system.sh:270
#: src/lib/system.sh:156
#, sh-printf-format
msgid "Hyprland does not start the polkit agent by itself. Add this to %s:"
msgstr ""
#: src/lib/system.sh:214
msgid "No package manager found to install a polkit agent with."
msgstr ""
#: src/lib/system.sh:238
msgid "Installing a polkit agent. That needs your password."
msgstr ""
#: src/lib/system.sh:239 src/lib/system.sh:241
msgid "Could not install a polkit agent."
msgstr ""
#: src/lib/system.sh:257
#, sh-printf-format
msgid "The polkit agent did not start. See: systemctl --user status %s"
msgstr ""
#: src/lib/system.sh:261
msgid "The polkit agent is running. Password windows open now."
msgstr ""
#: src/lib/system.sh:376 src/lib/system.sh:379
#, sh-printf-format
msgid "To lock with it, add this to %s, and set %s in %s:"
msgstr ""
#: src/lib/system.sh:275
#: src/lib/system.sh:384
#, sh-printf-format
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
msgstr ""
#: src/lib/system.sh:279
#: src/lib/system.sh:388
#, sh-printf-format
msgid "To lock with it, run %s where your lock screen is started now."
msgstr ""
#: src/lib/system.sh:292
#: src/lib/system.sh:401
msgid "You lock with face-unlock's lock screen now."
msgstr ""
#: src/lib/system.sh:299
#: src/lib/system.sh:408
msgid ""
"hyprlock shows what face unlock is doing at the top, from the next time it "
"locks."
msgstr ""
#: src/lib/system.sh:300
#: src/lib/system.sh:409
#, sh-printf-format
msgid "Could not add the line to %s."
msgstr ""
#: src/lib/system.sh:301
#: src/lib/system.sh:410
msgid ""
"Your lock screen stays as it is. Press Enter on the empty password field to "
"scan."
msgstr ""
#: src/lib/system.sh:302
#: src/lib/system.sh:411
#, sh-printf-format
msgid "hyprlock has no %s, so it cannot show the text."
msgstr ""
@@ -947,27 +987,27 @@ msgstr ""
msgid "A face can only be added with your password."
msgstr ""
#: src/agent/enrollcontroller.cpp:195
#: src/agent/enrollcontroller.cpp:200
msgid "The camera could not be used: %1"
msgstr ""
#: src/agent/enrollcontroller.cpp:197
#: src/agent/enrollcontroller.cpp:202
msgid "The face recognition models are missing. Reinstall the package."
msgstr ""
#: src/agent/enrollcontroller.cpp:199
#: src/agent/enrollcontroller.cpp:204
msgid "That took too long. Try again, in good light."
msgstr ""
#: src/agent/enrollcontroller.cpp:201
#: src/agent/enrollcontroller.cpp:206
msgid "The face unlock service is not running. Turn face unlock on first."
msgstr ""
#: src/agent/enrollcontroller.cpp:203
#: src/agent/enrollcontroller.cpp:208
msgid "The camera is busy with another scan. Try again in a moment."
msgstr ""
#: src/agent/enrollcontroller.cpp:205
#: src/agent/enrollcontroller.cpp:210
msgid "The face could not be added (%1)."
msgstr ""