feat: ask which lock screen to use on hyprland and niri
This commit is contained in:
1 parent
5699158bb1
commit
1da82f21fc
34 files changed
+5319
-1609
No files matched your search
+10
-1
@@ -160,6 +160,8 @@ if(FU_BUILD_AGENT)
|
||||
src/agent/sessionlock.cpp
|
||||
src/agent/lockscreencontroller.cpp
|
||||
src/agent/wallpaper.cpp
|
||||
src/agent/locktext.cpp
|
||||
src/agent/lockpreview.cpp
|
||||
src/agent/enrollcontroller.cpp
|
||||
)
|
||||
target_include_directories(face-unlock-agent PRIVATE src/agent)
|
||||
@@ -176,7 +178,7 @@ if(FU_BUILD_AGENT)
|
||||
# see each other (and the Theme singleton) without importing anything.
|
||||
# Under /qt/qml, which the engine searches, or an installed agent finds no
|
||||
# types (the build directory only works by its FaceUnlock/qmldir).
|
||||
set(FU_QML_FILES Theme FaceGlyph LockGlyph Checkmark Bubble TickRing Enroll PillButton LockScreen)
|
||||
set(FU_QML_FILES Theme FaceGlyph LockGlyph Checkmark Bubble TickRing Enroll PillButton LockScreen LockChoice LockPreview)
|
||||
foreach(f ${FU_QML_FILES})
|
||||
set_source_files_properties(src/agent/qml/${f}.qml PROPERTIES QT_RESOURCE_ALIAS ${f}.qml)
|
||||
endforeach()
|
||||
@@ -199,6 +201,8 @@ if(FU_BUILD_AGENT)
|
||||
src/agent/qml/Enroll.qml
|
||||
src/agent/qml/PillButton.qml
|
||||
src/agent/qml/LockScreen.qml
|
||||
src/agent/qml/LockChoice.qml
|
||||
src/agent/qml/LockPreview.qml
|
||||
)
|
||||
|
||||
target_link_libraries(face-unlock-agent PRIVATE
|
||||
@@ -242,6 +246,11 @@ if(FU_BUILD_TESTS)
|
||||
target_link_libraries(test_wallpaper PRIVATE Qt6::Core)
|
||||
add_test(NAME wallpaper COMMAND test_wallpaper)
|
||||
|
||||
add_executable(test_lockpreview tests/test_lockpreview.cpp src/agent/lockpreview.cpp)
|
||||
target_include_directories(test_lockpreview PRIVATE src/agent)
|
||||
target_link_libraries(test_lockpreview PRIVATE Qt6::Gui KF6::I18n)
|
||||
add_test(NAME lockpreview COMMAND test_lockpreview)
|
||||
|
||||
add_executable(test_lockers tests/test_lockers.cpp src/agent/lockers.cpp)
|
||||
target_include_directories(test_lockers PRIVATE src/agent)
|
||||
target_link_libraries(test_lockers PRIVATE Qt6::Core)
|
||||
|
||||
@@ -74,23 +74,33 @@ desktops, on Wayland:
|
||||
|---|---|---|---|
|
||||
| KDE Plasma 6 | ✅ | ✅ | ✅ above the lock screen too |
|
||||
| GNOME | ✅ | ✅ | ✅ above the lock screen too |
|
||||
| Hyprland | ✅ hyprlock, swaylock, gtklock, waylock, or face-unlock's own | ✅ | ✅ on face-unlock's own lock screen too |
|
||||
| Niri | ✅ swaylock, hyprlock, gtklock, waylock, or face-unlock's own | ✅ | ✅ on face-unlock's own lock screen too |
|
||||
| Hyprland | ✅ hyprlock, swaylock, gtklock, waylock, or face-unlock's own | ✅ | ✅ on face-unlock's own lock screen too, as a line of text in hyprlock |
|
||||
| Niri | ✅ swaylock, hyprlock, gtklock, waylock, or face-unlock's own | ✅ | ✅ on face-unlock's own lock screen too, as a line of text in hyprlock |
|
||||
|
||||
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.
|
||||
|
||||
On Hyprland and Niri the lock screen is a program of your choice, and only it
|
||||
can open itself. So face-unlock goes into its password check, as with sudo:
|
||||
press Enter on the empty password field to scan. hyprlock and swaylock also
|
||||
scan by themselves when you come back, and so does gtklock after 4.0.0 (the
|
||||
first to open from outside). Those lock screens cover the bubble, which shows
|
||||
the tick once they are gone. gtklock shows face unlock's messages.
|
||||
On Hyprland and Niri the lock screen is a program of your choice. When you
|
||||
turn face unlock on, a window shows your screen both ways and asks which you
|
||||
want: face-unlock's lock screen with your wallpaper, or yours, rebuilt from its
|
||||
config. You can change it later under **Settings**.
|
||||
|
||||
For the bubble on the lock screen, use face-unlock's own: `face-unlock lock`.
|
||||
It shows the wallpaper of your desktop (from swaybg, awww, hyprpaper or
|
||||
wpaperd). Under **Settings** you can pick a picture instead, or a folder to take
|
||||
one from at random, blurred if you like.
|
||||
<p align="center">
|
||||
<img src="res/screenshots/lock-choice.png" alt="The window that asks which lock screen to use: face-unlock's with the bubble on the left, the user's own hyprlock with a line of text at the top on the right" width="560">
|
||||
</p>
|
||||
|
||||
- **face-unlock's lock screen**, with the bubble, the time and the wallpaper of
|
||||
your desktop (from swaybg, awww, hyprpaper or wpaperd). You lock with
|
||||
`face-unlock lock`, and the menu shows where to put that. Under **Settings**
|
||||
you can pick a picture instead, or a folder to take one from at random,
|
||||
blurred if you like.
|
||||
- **Keep your lock screen.** Only it can open itself, so face-unlock goes into
|
||||
its password check, as with sudo: press Enter on the empty password field to
|
||||
scan. hyprlock and swaylock also scan by themselves when you come back, and
|
||||
so does gtklock after 4.0.0 (the first to open from outside). They cover the
|
||||
bubble, but hyprlock shows what face unlock is doing as a line of text at the
|
||||
top (face-unlock adds that line to your `hyprlock.conf`), and gtklock shows
|
||||
its messages. swaylock and waylock have no way to show them.
|
||||
|
||||
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
|
||||
|
||||
+17
-2
@@ -247,8 +247,16 @@ so does the bubble, above the lock screen too.
|
||||
sets *LockedHint*), scans when somebody comes back, and opens them with
|
||||
SIGUSR1. It only does so once the lock screen handles SIGUSR1: before
|
||||
it has locked, the signal would kill it. Those lock screens cover the
|
||||
bubble, which shows the tick once they are gone. gtklock shows the
|
||||
messages of the PAM module.
|
||||
bubble. hyprlock shows it as a line of text instead: a label in
|
||||
_~/.config/hypr/hyprlock.conf_ (a *source* line under a face-unlock
|
||||
comment) reads what the agent writes, and SIGUSR2 makes hyprlock read
|
||||
it again. gtklock shows the messages of the PAM module; swaylock and
|
||||
waylock show none.
|
||||
|
||||
*enable* asks once in a window which way to go: face-unlock's lock
|
||||
screen, or the user's own with that line of text. The window shows the
|
||||
screen both ways, the user's own rebuilt from the config of hyprlock or
|
||||
swaylock. *Which lock screen* under *Settings* opens it again.
|
||||
|
||||
For the bubble on the lock screen there is face-unlock's own: *lock*.
|
||||
It shows the time, a password field (PAM service _face-unlock-lock_
|
||||
@@ -336,6 +344,13 @@ _$XDG_RUNTIME_DIR/face-unlock/agent.socket_
|
||||
_$XDG_RUNTIME_DIR/face-unlock/locked_
|
||||
There while face-unlock's own lock screen is up.
|
||||
|
||||
_$XDG_RUNTIME_DIR/face-unlock/lock-text_
|
||||
What hyprlock shows at the top when the user keeps their own lock
|
||||
screen.
|
||||
|
||||
_~/.config/face-unlock/hyprlock.conf_
|
||||
The label for that, which _~/.config/hypr/hyprlock.conf_ sources.
|
||||
|
||||
_/usr/share/gnome-shell/extensions/face-unlock@loonixtools.github.io/_
|
||||
The GNOME Shell extension that draws the bubble on GNOME.
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.0\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-23 22:32+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: German\n"
|
||||
@@ -59,8 +59,9 @@ msgstr "Es wurde kein Gesicht hinzugefügt."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Richte zuerst dein Gesicht ein."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Einstellung konnte nicht gespeichert werden."
|
||||
|
||||
@@ -84,7 +85,16 @@ msgstr ""
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "Melde dich einmal ab und wieder an: dann zeigt GNOME die Bubble auch."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Wähle deinen Sperrbildschirm im Fenster."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr ""
|
||||
"Kein Sperrbildschirm gewählt. Das geht später auch unter Einstellungen."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -93,102 +103,102 @@ msgstr ""
|
||||
"Der Sperrbildschirm (%s) nimmt dein Gesicht auch. Scannt er nicht, wenn du "
|
||||
"zurückkommst, drück Enter im leeren Passwortfeld."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"Die Gesichtsentsperrung ist an. Sperre den Bildschirm und schau ihn an, um "
|
||||
"es auszuprobieren."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "Sie kann auch sudo und Admin-Abfragen übernehmen. Siehe Einstellungen."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Die Gesichtsentsperrung ist aus. Deine Gesichter bleiben erhalten; löschen "
|
||||
"kannst du sie unter Gesichter."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Es ist noch kein Gesicht eingerichtet."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "an"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "aus"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s Aufnahmen, %s dazugelernt"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Welches Gesicht? Die IDs zeigt `%s faces`."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Gelöscht."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Aufruf: face-unlock [Befehl]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Befehle:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Gesichtsentsperrung einschalten"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Ausschalten (Gesichter bleiben erhalten)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Gesicht hinzufügen"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Gesichter auflisten"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Ein Gesicht löschen"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "In die Kamera schauen und sehen, was sie sieht"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Bildschirm sperren"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Anzeigen, was eingeschaltet ist"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Diese Hilfe anzeigen"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Die Version anzeigen"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Ohne Befehl wird ein interaktives Menü angezeigt."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -196,42 +206,42 @@ msgstr ""
|
||||
"Starte das als dein eigener Benutzer, nicht als root. Wenn nötig, wird nach "
|
||||
"deinem Passwort gefragt."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Unbekannter Befehl: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "nie"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "gerade eben"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "vor 1 Minute"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "vor %d Minuten"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "vor 1 Stunde"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "vor %d Stunden"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "vor 1 Tag"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "vor %d Tagen"
|
||||
@@ -271,7 +281,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "Die Kamera konnte nicht benutzt werden."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Die Erkennungsmodelle fehlen. Installiere das Paket neu."
|
||||
|
||||
@@ -375,11 +385,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[j/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "AN"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "AUS"
|
||||
|
||||
@@ -420,85 +430,93 @@ msgstr "langsam"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s Sekunden"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "automatisch"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "deiner"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Gesichtsentsperrung"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Dienst"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "läuft nicht"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Die Gesichtsentsperrung erneut einzuschalten startet ihn."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Gesichter"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "noch keins eingerichtet"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "alle ausgeschaltet"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "keine gefunden"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Kamera"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Sperrbildschirm"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Admin-Abfragen"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Sperrbildschirme"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Foto-Prüfung"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "Pausiert"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "noch %d Minuten, oder bis das Passwort benutzt wird"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Letzte Entsperrung"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "Der Sperrbildschirm-Dienst läuft nicht."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -506,7 +524,7 @@ msgstr ""
|
||||
"Unter GNOME zeigt eine kleine GNOME-Erweiterung die Bubble. Beim Einschalten "
|
||||
"der Gesichtsentsperrung wird sie mit eingeschaltet."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -516,7 +534,7 @@ msgstr ""
|
||||
"unlock zurückkommst (`face-unlock lock`, mit der Bubble), und öffnet sie. "
|
||||
"Andere Sperrbildschirme scannen mit Enter."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -524,7 +542,7 @@ msgstr ""
|
||||
"Entsperrt den Sperrbildschirm, wenn er dein Gesicht sieht. Aus: Dort geht "
|
||||
"nur dein Passwort."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -532,7 +550,7 @@ msgstr ""
|
||||
"Scannt, wenn du auf dem Sperrbildschirm eine Taste drückst oder die Maus "
|
||||
"bewegst, und wenn der Computer aufwacht."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -540,7 +558,7 @@ msgstr ""
|
||||
"Scannt, sobald der Bildschirm gesperrt wird. Normalerweise aus: Sperrst du "
|
||||
"selbst, würde er gleich wieder entsperren."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -548,7 +566,17 @@ msgstr ""
|
||||
"sudo nimmt dein Gesicht statt des Passworts. Passt es nicht, tippst du wie "
|
||||
"gewohnt dein Passwort."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"Der Sperrbildschirm von face-unlock zeigt die Bubble, und du sperrst mit "
|
||||
"`face-unlock lock`. Oder behalte deinen: hyprlock zeigt dann oben eine "
|
||||
"Textzeile. Enter öffnet die Auswahl."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -558,11 +586,11 @@ msgstr ""
|
||||
"Leer: das von deinem Desktop. Oder eine Datei, ein Ordner, aus dem zufällig "
|
||||
"eins genommen wird, oder `none`. Enter zum Eintippen."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Zeichnet das Bild hinter dem Sperrbildschirm von face-unlock weich."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -571,7 +599,7 @@ msgstr ""
|
||||
"Der Sperrbildschirm nimmt dein Gesicht in seiner Passwortprüfung. Drück "
|
||||
"Enter im leeren Feld für einen Scan. Hier gefunden: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -579,18 +607,18 @@ msgstr ""
|
||||
"Die Passwort-Fenster deines Desktops und von Apps, zum Beispiel beim "
|
||||
"Installieren. Passt das Gesicht nicht, tippst du dein Passwort."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Du musst blinzeln oder den Kopf leicht drehen. Das hält auch ausgedruckte "
|
||||
"Fotos auf."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Keine Prüfung. Nur zum Ausprobieren einer Kamera."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -598,22 +626,22 @@ msgstr ""
|
||||
"Hält Fotos auf Handy, Tablet oder Hochglanzpapier auf. Blinzeln ist nicht "
|
||||
"nötig. Ein matter Ausdruck kann durchkommen."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Seltener Verwechslungen, aber mit Brille oder bei schlechtem Licht erkennt "
|
||||
"es dich vielleicht nicht."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "Erkennt dich leichter, aber auch jemanden, der dir sehr ähnlich sieht."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "Der Standard. Passt für die meisten."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -621,7 +649,7 @@ msgstr ""
|
||||
"Deine Augen müssen offen sein und auf den Bildschirm schauen. So entsperrt "
|
||||
"es nicht, wenn du wegschaust oder schläfst."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -630,11 +658,11 @@ msgstr ""
|
||||
"neu einrichten. Eine Infrarot-Kamera braucht ihr Licht (linux-enable-ir-"
|
||||
"emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Wie lange die Kamera nach deinem Gesicht sucht, bevor sie aufgibt."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -642,7 +670,7 @@ msgstr ""
|
||||
"Nach einem sicheren Treffer merkt es sich, wie du gerade aussiehst. So musst "
|
||||
"du nach neuer Frisur oder Brille nichts neu einrichten."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -650,99 +678,99 @@ msgstr ""
|
||||
"Kein Scan bei zugeklapptem Laptop, zum Beispiel am Schreibtisch mit externem "
|
||||
"Bildschirm."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "Die Bubble oben am Bildschirm zeigt, was die Kamera gerade macht."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Eine kleine Pille mit einem Schloss, das aufgeht."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr ""
|
||||
"Eine Insel mit einem Gesicht, das sich umschaut, danach Ringe und ein Haken."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "Wie schnell sich die Bubble bewegt."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Zeigt die Bubble auch, wenn sudo oder eine Admin-Abfrage dein Gesicht scannt."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "automatisch (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(Infrarot)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(nicht angeschlossen)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "wie Desktop"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "keins"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Bild oder Ordner:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Nicht gefunden: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ auswählen ←→ oder Leertaste: ändern q: zurück"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "für alle Nutzer, fragt nach deinem Passwort"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Hoch/Runter: wählen, Leertaste: an/aus, r: umbenennen, d: löschen, a: "
|
||||
"hinzufügen, q: zurück"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Es ist noch kein Gesicht eingerichtet. Drück a, um eins hinzuzufügen."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Neuer Name:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "„%s“ löschen?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Gesichtsentsperrung ein- oder ausschalten"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Ausprobieren"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Beenden"
|
||||
|
||||
@@ -791,6 +819,53 @@ msgstr ""
|
||||
"Hyprland startet den Sperrbildschirm-Dienst nicht von selbst. Füge das in %s "
|
||||
"ein:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Um damit zu sperren, trag das in %s ein und setze %s in %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Um damit zu sperren, trag das bei den binds in %s ein und nutze %s in "
|
||||
"swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Um damit zu sperren, starte %s dort, wo jetzt dein Sperrbildschirm startet."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Du sperrst jetzt mit dem Sperrbildschirm von face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"hyprlock zeigt oben, was face unlock gerade tut, ab dem nächsten Sperren."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Konnte die Zeile nicht in %s eintragen."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Dein Sperrbildschirm bleibt, wie er ist. Drück Enter im leeren Passwortfeld, "
|
||||
"um zu scannen."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock hat keine %s, also kann es den Text nicht zeigen."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Mit dem Gesicht entsperren"
|
||||
@@ -803,6 +878,10 @@ msgstr "Scannen, wenn du zurückkommst"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Gleich nach dem Sperren scannen"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Welcher Sperrbildschirm"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Hintergrundbild"
|
||||
@@ -972,34 +1051,47 @@ msgstr ""
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Das Gesicht konnte nicht hinzugefügt werden (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Suche dein Gesicht…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Falsches Passwort"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Gesicht erkannt"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr "Gesichtsentsperrung für Sperrbildschirm, sudo und Admin-Abfragen"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Ein Gesicht einrichten."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Wie das neue Gesicht heißen soll."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Den Bildschirm sperren."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Die Animationen der Bubble einmal abspielen."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Bubble-Stil für die Demo: full oder minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Fragt, welcher Sperrbildschirm genutzt wird, und gibt die Antwort aus."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Schau zum Entsperren in die Kamera."
|
||||
@@ -1058,7 +1150,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Name (optional)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Abbrechen"
|
||||
|
||||
@@ -1078,14 +1170,66 @@ msgstr "Los geht's"
|
||||
msgid "Done"
|
||||
msgstr "Fertig"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Sperrbildschirm wählen"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Dein Sperrbildschirm"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Dein Desktop überlässt den Sperrbildschirm einem Programm deiner Wahl. "
|
||||
"Wähle, wie face unlock dort auftaucht. Du kannst das später unter "
|
||||
"Einstellungen ändern."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Sperrbildschirm von face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"Die Bubble oben, die Uhrzeit und dein Hintergrundbild. Dein Tastenkürzel und "
|
||||
"das Sperren bei Inaktivität rufen dann face-unlock lock auf."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Deinen Sperrbildschirm behalten"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Er bleibt, wie er ist. hyprlock zeigt oben eine Textzeile statt der Bubble. "
|
||||
"Enter im leeren Passwortfeld scannt."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Er bleibt, wie er ist, ohne Bubble. Enter im leeren Passwortfeld scannt."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Weiter"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Schau in die Kamera oder tippe dein Passwort"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Tippe dein Passwort"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Spanish\n"
|
||||
@@ -58,8 +58,9 @@ msgstr "No se añadió ninguna cara."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Primero, configura tu cara."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "No se pudo guardar el ajuste."
|
||||
|
||||
@@ -83,7 +84,16 @@ msgstr ""
|
||||
"Cierra la sesión y vuelve a entrar una vez: entonces GNOME también muestra "
|
||||
"la burbuja."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Elige tu pantalla de bloqueo en la ventana."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr ""
|
||||
"No se eligió ninguna pantalla de bloqueo. Puedes hacerlo luego en Ajustes."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -92,104 +102,104 @@ msgstr ""
|
||||
"La pantalla de bloqueo (%s) también acepta tu cara. Si no escanea cuando "
|
||||
"vuelves, pulsa Intro en el campo de contraseña vacío."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"El desbloqueo facial está activado. Bloquea la pantalla y mírala para "
|
||||
"probarlo."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr ""
|
||||
"También funciona con sudo y las solicitudes de administrador. Consulta "
|
||||
"Ajustes."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"El desbloqueo facial está desactivado. Tus caras se conservan; bórralas en "
|
||||
"Caras."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Todavía no hay ninguna cara configurada."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "activado"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "desactivado"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s muestras, %s aprendidas"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "¿Qué cara? Consulta `%s faces` para ver los ID."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Borrado."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Uso: face-unlock [comando]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Comandos:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Activar el desbloqueo facial"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Desactivarlo (las caras se conservan)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Añadir una cara"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Listar las caras"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Borrar una cara"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Mirar a la cámara y ver lo que ve"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Bloquear la pantalla"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Mostrar qué está activado"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Mostrar esta ayuda"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Mostrar la versión"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Sin comando se muestra un menú interactivo."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -197,42 +207,42 @@ msgstr ""
|
||||
"Ejecuta esto con tu propio usuario, no como root. Pide tu contraseña cuando "
|
||||
"la necesita."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Comando desconocido: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "nunca"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "ahora mismo"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "hace 1 minuto"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "hace %d minutos"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "hace 1 hora"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "hace %d horas"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "hace 1 día"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "hace %d días"
|
||||
@@ -272,7 +282,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "No se pudo usar la cámara."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Faltan los modelos de reconocimiento. Reinstala el paquete."
|
||||
|
||||
@@ -376,11 +386,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[s/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "ACTIVADO"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "DESACTIVADO"
|
||||
|
||||
@@ -421,85 +431,93 @@ msgstr "lenta"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s segundos"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "automática"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "la de face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "la tuya"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Desbloqueo facial"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Servicio"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "detenido"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Al volver a activar el desbloqueo facial, se inicia."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Caras"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "ninguna configurada aún"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "todas desactivadas"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "ninguna encontrada"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Cámara"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Pantalla de bloqueo"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Solicitudes de administrador"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Pantallas de bloqueo"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Detección de fotos"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "En pausa"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "%d minutos más, o hasta que se use la contraseña"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Último desbloqueo"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "El agente de la pantalla de bloqueo no se está ejecutando."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -507,7 +525,7 @@ msgstr ""
|
||||
"En GNOME, una pequeña extensión de GNOME muestra la burbuja. Al activar el "
|
||||
"desbloqueo facial se activa también."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -517,7 +535,7 @@ msgstr ""
|
||||
"de face-unlock (`face-unlock lock`, con la burbuja) y los abre. Las demás "
|
||||
"pantallas de bloqueo escanean con Intro."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -525,7 +543,7 @@ msgstr ""
|
||||
"Desbloquea la pantalla de bloqueo cuando ve tu cara. Desactivado: ahí solo "
|
||||
"sirve tu contraseña."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -533,7 +551,7 @@ msgstr ""
|
||||
"Escanea cuando pulsas una tecla o mueves el ratón en la pantalla de bloqueo, "
|
||||
"y cuando el equipo se despierta."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -541,7 +559,7 @@ msgstr ""
|
||||
"Escanea en cuanto se bloquea la pantalla. Desactivado por defecto: si la "
|
||||
"bloqueas tú, se desbloquearía enseguida."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -549,7 +567,17 @@ msgstr ""
|
||||
"sudo usa tu cara en lugar de la contraseña. Si no coincide, escribes la "
|
||||
"contraseña como siempre."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"La pantalla de bloqueo de face-unlock muestra la burbuja, y bloqueas con "
|
||||
"`face-unlock lock`. O quédate con la tuya: hyprlock muestra entonces una "
|
||||
"línea de texto arriba. Intro abre la elección."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -559,11 +587,11 @@ msgstr ""
|
||||
"lock`). Vacío: la de tu escritorio. O un archivo, una carpeta de la que se "
|
||||
"elige una al azar, o `none`. Intro para escribirla."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Desenfoca la imagen detrás de la pantalla de bloqueo de face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -572,7 +600,7 @@ msgstr ""
|
||||
"La pantalla de bloqueo acepta tu cara en su comprobación de contraseña. "
|
||||
"Pulsa Intro en el campo vacío para escanear. Encontradas aquí: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -580,18 +608,18 @@ msgstr ""
|
||||
"Las ventanas de contraseña de tu escritorio y de las aplicaciones, por "
|
||||
"ejemplo al instalar software. Si no coincide, escribes la contraseña."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Tienes que parpadear o girar un poco la cabeza. Esto también frena las fotos "
|
||||
"impresas."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Sin comprobación. Solo para probar una cámara."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -599,24 +627,24 @@ msgstr ""
|
||||
"Frena fotos en un móvil, una tableta o papel brillante. No hace falta "
|
||||
"parpadear. Una foto impresa en papel mate puede pasar."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Menos coincidencias erróneas, pero puede que no te reconozca con gafas o con "
|
||||
"poca luz."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr ""
|
||||
"Te reconoce con más facilidad, pero también a alguien que se parezca mucho a "
|
||||
"ti."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "El valor por defecto. Adecuado para la mayoría."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -624,7 +652,7 @@ msgstr ""
|
||||
"Tus ojos tienen que estar abiertos y mirando a la pantalla. Así no se "
|
||||
"desbloquea mientras miras a otro lado o duermes."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -633,11 +661,11 @@ msgstr ""
|
||||
"tu cara. Una cámara infrarroja necesita su luz encendida (linux-enable-ir-"
|
||||
"emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Cuánto tiempo busca la cámara tu cara antes de rendirse."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -645,7 +673,7 @@ msgstr ""
|
||||
"Tras una coincidencia segura, recuerda tu aspecto actual. Así, un corte de "
|
||||
"pelo nuevo o unas gafas no piden configurar de nuevo."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -653,102 +681,102 @@ msgstr ""
|
||||
"Sin escaneo mientras el portátil está cerrado, por ejemplo en un escritorio "
|
||||
"con una pantalla externa."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr ""
|
||||
"La burbuja en la parte superior de la pantalla muestra lo que hace la cámara."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Una pequeña pastilla con un candado que se abre."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr ""
|
||||
"Una isla con una cara que mira alrededor, luego anillos y una marca de "
|
||||
"verificación."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "La velocidad a la que se mueve la burbuja."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Muestra la burbuja también cuando sudo o una solicitud de administrador "
|
||||
"escanea tu cara."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "automática (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(infrarroja)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(no conectada)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "como el escritorio"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "ninguna"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Imagen o carpeta:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "No encontrado: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Ajustes"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ elegir ←→ o Espacio: cambiar q: volver"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "para todos los usuarios, pide tu contraseña"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Arriba/Abajo: elegir, Espacio: activar/desactivar, r: renombrar, d: borrar, "
|
||||
"a: añadir, q: volver"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Todavía no hay ninguna cara configurada. Pulsa a para añadir una."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Nuevo nombre:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "¿Borrar «%s»?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Activar o desactivar el desbloqueo facial"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Probarlo"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Salir"
|
||||
|
||||
@@ -796,6 +824,54 @@ msgstr ""
|
||||
"Hyprland no inicia por sí solo el agente de la pantalla de bloqueo. Añade "
|
||||
"esto a %s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Para bloquear con ella, añade esto a %s y pon %s en %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Para bloquear con ella, añade esto a los binds de %s y usa %s en swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Para bloquear con ella, ejecuta %s donde ahora se inicia tu pantalla de "
|
||||
"bloqueo."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Ahora bloqueas con la pantalla de bloqueo de face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"hyprlock muestra arriba lo que hace face unlock, a partir del próximo "
|
||||
"bloqueo."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "No se pudo añadir la línea a %s."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Tu pantalla de bloqueo se queda como está. Pulsa Intro en el campo de "
|
||||
"contraseña vacío para escanear."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock no tiene %s, así que no puede mostrar el texto."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Desbloquear con tu cara"
|
||||
@@ -808,6 +884,10 @@ msgstr "Escanear cuando vuelvas"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Escanear justo después de bloquear"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Qué pantalla de bloqueo"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Fondo de pantalla"
|
||||
@@ -975,36 +1055,49 @@ msgstr ""
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "No se pudo añadir la cara (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Buscando tu cara…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Contraseña incorrecta"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Cara reconocida"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
"Desbloqueo facial para la pantalla de bloqueo, sudo y las solicitudes de "
|
||||
"administrador"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Configurar una cara."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Cómo llamar a la nueva cara."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Bloquear la pantalla."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Reproducir una vez las animaciones de la burbuja."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Estilo de burbuja para la demo: full o minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Pregunta qué pantalla de bloqueo usar e imprime la respuesta."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Mira a la cámara para desbloquear."
|
||||
@@ -1063,7 +1156,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Nombre (opcional)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -1083,14 +1176,66 @@ msgstr "Empezar"
|
||||
msgid "Done"
|
||||
msgstr "Hecho"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Elige tu pantalla de bloqueo"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Tu pantalla de bloqueo"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Tu escritorio deja la pantalla de bloqueo a un programa que tú eliges. Elige "
|
||||
"cómo aparece face unlock ahí. Puedes cambiarlo luego en Ajustes."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Pantalla de bloqueo de face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"La burbuja arriba, la hora y tu fondo de pantalla. Tu atajo y el bloqueo por "
|
||||
"inactividad ejecutan entonces face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Mantener tu pantalla de bloqueo"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Se queda como está. hyprlock muestra una línea de texto arriba en lugar de "
|
||||
"la burbuja. Intro en el campo de contraseña vacío escanea."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Se queda como está, sin la burbuja. Intro en el campo de contraseña vacío "
|
||||
"escanea."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Contraseña"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Mira a la cámara o escribe tu contraseña"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Escribe tu contraseña"
|
||||
+239
-113
@@ -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:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+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,8 +54,9 @@ msgstr ""
|
||||
msgid "First, set up your face."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr ""
|
||||
|
||||
@@ -75,146 +76,154 @@ msgstr ""
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, 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
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
msgstr ""
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr ""
|
||||
@@ -252,7 +261,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr ""
|
||||
|
||||
@@ -354,11 +363,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr ""
|
||||
|
||||
@@ -399,290 +408,305 @@ msgstr ""
|
||||
msgid "%s seconds"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
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:329
|
||||
#: src/lib/menu.sh:333
|
||||
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:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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
|
||||
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:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, 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:334
|
||||
#: src/lib/menu.sh:339
|
||||
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:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
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:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
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:342
|
||||
#: src/lib/menu.sh:347
|
||||
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:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
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:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr ""
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr ""
|
||||
|
||||
@@ -726,6 +750,47 @@ 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
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, 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
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr ""
|
||||
@@ -738,6 +803,10 @@ msgstr ""
|
||||
msgid "Scan right after locking"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr ""
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr ""
|
||||
@@ -902,34 +971,47 @@ msgstr ""
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr ""
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr ""
|
||||
@@ -982,7 +1064,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
@@ -1002,14 +1084,58 @@ msgstr ""
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr ""
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr ""
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: French\n"
|
||||
@@ -60,8 +60,9 @@ msgstr "Aucun visage n'a été ajouté."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Configurez d'abord votre visage."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Impossible d'enregistrer le réglage."
|
||||
|
||||
@@ -85,7 +86,17 @@ msgstr ""
|
||||
"Déconnectez-vous puis reconnectez-vous une fois : GNOME affichera alors "
|
||||
"aussi la bulle."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Choisissez votre écran de verrouillage dans la fenêtre."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr ""
|
||||
"Aucun écran de verrouillage choisi. Vous pouvez le faire plus tard dans "
|
||||
"Réglages."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -94,104 +105,104 @@ msgstr ""
|
||||
"L'écran de verrouillage (%s) accepte aussi votre visage. S'il ne scanne pas "
|
||||
"à votre retour, appuyez sur Entrée dans le champ du mot de passe vide."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"Le déverrouillage facial est activé. Verrouillez l'écran et regardez-le pour "
|
||||
"essayer."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr ""
|
||||
"Il fonctionne aussi pour sudo et les demandes d'administration. Voir "
|
||||
"Réglages."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Le déverrouillage facial est désactivé. Vos visages sont conservés ; "
|
||||
"supprimez-les dans Visages."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Aucun visage n'est encore configuré."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "activé"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "désactivé"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s échantillons, %s appris"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Quel visage ? Voir `%s faces` pour les identifiants."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Supprimé."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Utilisation : face-unlock [commande]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Commandes :"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Activer le déverrouillage facial"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Le désactiver (les visages sont conservés)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Ajouter un visage"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Lister les visages"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Supprimer un visage"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Regarder la caméra et voir ce qu'elle voit"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Verrouiller l'écran"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Afficher ce qui est activé"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Afficher cette aide"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Afficher la version"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Sans commande, un menu interactif s'affiche."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -199,42 +210,42 @@ msgstr ""
|
||||
"Lancez ceci avec votre propre utilisateur, pas en root. Le mot de passe est "
|
||||
"demandé quand il le faut."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Commande inconnue : %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "jamais"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "à l'instant"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "il y a 1 minute"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "il y a %d minutes"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "il y a 1 heure"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "il y a %d heures"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "il y a 1 jour"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "il y a %d jours"
|
||||
@@ -274,7 +285,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "La caméra n'a pas pu être utilisée."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Les modèles de reconnaissance sont absents. Réinstallez le paquet."
|
||||
|
||||
@@ -380,11 +391,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[o/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "ACTIVÉ"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "DÉSACTIVÉ"
|
||||
|
||||
@@ -425,85 +436,93 @@ msgstr "lent"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s secondes"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "automatique"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "celui de face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "le vôtre"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Déverrouillage facial"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Service"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "arrêté"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Réactiver le déverrouillage facial le démarre."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Visages"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "aucun configuré pour l'instant"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "tous désactivés"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "aucune trouvée"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Caméra"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Écran de verrouillage"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Demandes d'administration"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Écrans de verrouillage"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Contrôle anti-photo"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "En pause"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "encore %d minutes, ou jusqu'à l'utilisation du mot de passe"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Dernier déverrouillage"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "L'agent de l'écran de verrouillage ne tourne pas."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -511,7 +530,7 @@ msgstr ""
|
||||
"Sous GNOME, une petite extension GNOME affiche la bulle. Activer le "
|
||||
"déverrouillage facial l'active aussi."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -521,7 +540,7 @@ msgstr ""
|
||||
"de face-unlock (`face-unlock lock`, avec la bulle) et les ouvre. Les autres "
|
||||
"écrans de verrouillage scannent avec Entrée."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -529,7 +548,7 @@ msgstr ""
|
||||
"Déverrouille l'écran de verrouillage quand il voit votre visage. Désactivé : "
|
||||
"seul votre mot de passe fonctionne."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -537,7 +556,7 @@ msgstr ""
|
||||
"Scanne quand vous appuyez sur une touche ou bougez la souris sur l'écran de "
|
||||
"verrouillage, et au réveil de l'ordinateur."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -545,7 +564,7 @@ msgstr ""
|
||||
"Scanne dès que l'écran se verrouille. Désactivé par défaut : si vous "
|
||||
"verrouillez vous-même, il se déverrouillerait aussitôt."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -553,7 +572,17 @@ msgstr ""
|
||||
"sudo prend votre visage au lieu du mot de passe. Sinon, vous tapez le mot de "
|
||||
"passe comme d'habitude."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"L'écran de verrouillage de face-unlock affiche la bulle, et vous verrouillez "
|
||||
"avec `face-unlock lock`. Ou gardez le vôtre : hyprlock affiche alors une "
|
||||
"ligne de texte en haut. Entrée ouvre le choix."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -563,11 +592,11 @@ msgstr ""
|
||||
"lock`). Vide : celle de votre bureau. Ou un fichier, un dossier où en "
|
||||
"prendre une au hasard, ou `none`. Entrée pour la saisir."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Floute l'image derrière l'écran de verrouillage de face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -576,7 +605,7 @@ msgstr ""
|
||||
"L'écran de verrouillage accepte votre visage dans sa vérification du mot de "
|
||||
"passe. Appuyez sur Entrée dans le champ vide pour scanner. Trouvés ici : %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -584,18 +613,18 @@ msgstr ""
|
||||
"Les fenêtres de mot de passe de votre bureau et des applications, par "
|
||||
"exemple pour installer un logiciel. Sinon, vous tapez le mot de passe."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Vous devez cligner des yeux ou tourner un peu la tête. Cela bloque aussi les "
|
||||
"photos imprimées."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Aucun contrôle. Seulement pour essayer une caméra."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -603,24 +632,24 @@ msgstr ""
|
||||
"Bloque les photos sur un téléphone, une tablette ou du papier brillant. Pas "
|
||||
"besoin de cligner des yeux. Une photo imprimée mate peut passer."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Moins d'erreurs de correspondance, mais il peut ne pas vous reconnaître avec "
|
||||
"des lunettes ou sous une mauvaise lumière."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr ""
|
||||
"Vous reconnaît plus facilement, mais aussi quelqu'un qui vous ressemble "
|
||||
"beaucoup."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "La valeur par défaut. Convient à la plupart des gens."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -628,7 +657,7 @@ msgstr ""
|
||||
"Vos yeux doivent être ouverts et tournés vers l'écran. Ainsi, rien ne se "
|
||||
"déverrouille quand vous regardez ailleurs ou dormez."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -637,11 +666,11 @@ msgstr ""
|
||||
"reconfigurez votre visage. Une caméra infrarouge doit avoir sa lumière "
|
||||
"allumée (linux-enable-ir-emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Combien de temps la caméra cherche votre visage avant d'abandonner."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -650,7 +679,7 @@ msgstr ""
|
||||
"nouvelle coupe ou des lunettes ne demandent donc pas de nouvelle "
|
||||
"configuration."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -658,101 +687,101 @@ msgstr ""
|
||||
"Pas de scan quand le portable est fermé, par exemple à un bureau avec un "
|
||||
"écran externe."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "La bulle en haut de l'écran montre ce que fait la caméra."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Une petite pilule avec un cadenas qui s'ouvre."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr ""
|
||||
"Un îlot avec un visage qui regarde autour de lui, puis des anneaux et une "
|
||||
"coche."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "La vitesse à laquelle la bulle bouge."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Affiche aussi la bulle quand sudo ou une demande d'administration scanne "
|
||||
"votre visage."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "automatique (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(infrarouge)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(non branchée)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "comme le bureau"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "aucun"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Image ou dossier :"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Introuvable : %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Réglages"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ choisir ←→ ou Espace : changer q : retour"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "pour tous, demande votre mot de passe"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Haut/Bas : choisir, Espace : activer/désactiver, r : renommer, d : "
|
||||
"supprimer, a : ajouter, q : retour"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Aucun visage n'est encore configuré. Appuyez sur a pour en ajouter un."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Nouveau nom :"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "Supprimer « %s » ?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Activer ou désactiver le déverrouillage facial"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Essayer"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Quitter"
|
||||
|
||||
@@ -801,6 +830,56 @@ msgstr ""
|
||||
"Hyprland ne démarre pas l'agent de l'écran de verrouillage tout seul. "
|
||||
"Ajoutez ceci à %s :"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Pour verrouiller avec, ajoutez ceci à %s, et mettez %s dans %s :"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Pour verrouiller avec, ajoutez ceci aux binds de %s, et utilisez %s dans "
|
||||
"swayidle :"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Pour verrouiller avec, lancez %s là où votre écran de verrouillage démarre "
|
||||
"aujourd'hui."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr ""
|
||||
"Vous verrouillez maintenant avec l'écran de verrouillage de face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"hyprlock affiche en haut ce que fait face unlock, dès le prochain "
|
||||
"verrouillage."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Impossible d'ajouter la ligne à %s."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Votre écran de verrouillage reste tel quel. Appuyez sur Entrée dans le champ "
|
||||
"de mot de passe vide pour scanner."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock n'a pas de %s, il ne peut donc pas afficher le texte."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Déverrouiller avec votre visage"
|
||||
@@ -813,6 +892,10 @@ msgstr "Scanner à votre retour"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Scanner juste après le verrouillage"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Quel écran de verrouillage"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Fond d'écran"
|
||||
@@ -980,36 +1063,49 @@ msgstr "La caméra est occupée par un autre scan. Réessayez dans un instant."
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Le visage n'a pas pu être ajouté (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Recherche de votre visage…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Mot de passe incorrect"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Visage reconnu"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
"Déverrouillage facial pour l'écran de verrouillage, sudo et les demandes "
|
||||
"d'administration"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Configurer un visage."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Le nom du nouveau visage."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Verrouiller l'écran."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Jouer une fois les animations de la bulle."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Style de bulle pour la démo : full ou minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Demande quel écran de verrouillage utiliser et affiche la réponse."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Regardez la caméra pour déverrouiller."
|
||||
@@ -1069,7 +1165,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Nom (facultatif)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
@@ -1089,14 +1185,67 @@ msgstr "Commencer"
|
||||
msgid "Done"
|
||||
msgstr "Terminé"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Choisir votre écran de verrouillage"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Votre écran de verrouillage"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Votre bureau confie l'écran de verrouillage à un programme de votre choix. "
|
||||
"Choisissez comment face unlock y apparaît. Vous pourrez le changer plus tard "
|
||||
"dans Réglages."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Écran de verrouillage de face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"La bulle en haut, l'heure et votre fond d'écran. Votre raccourci et le "
|
||||
"verrouillage automatique lancent alors face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Garder votre écran de verrouillage"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Il reste tel quel. hyprlock affiche une ligne de texte en haut au lieu de la "
|
||||
"bulle. Entrée dans le champ de mot de passe vide lance un scan."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Il reste tel quel, sans la bulle. Entrée dans le champ de mot de passe vide "
|
||||
"lance un scan."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Continuer"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Regardez la caméra ou tapez votre mot de passe"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Tapez votre mot de passe"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Italian\n"
|
||||
@@ -58,8 +58,9 @@ msgstr "Nessun volto aggiunto."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Per prima cosa, configura il tuo volto."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Impossibile salvare l'impostazione."
|
||||
|
||||
@@ -81,7 +82,16 @@ msgstr "Impossibile attivare l'estensione di GNOME che mostra la bolla."
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "Esci e rientra una volta: poi GNOME mostra anche la bolla."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Scegli la tua schermata di blocco nella finestra."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr ""
|
||||
"Nessuna schermata di blocco scelta. Puoi farlo più tardi in Impostazioni."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -90,102 +100,102 @@ msgstr ""
|
||||
"Anche la schermata di blocco (%s) accetta il tuo volto. Se non scansiona "
|
||||
"quando torni, premi Invio nel campo password vuoto."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"Lo sblocco con il volto è attivo. Blocca lo schermo e guardalo per provarlo."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr ""
|
||||
"Funziona anche con sudo e le richieste di amministratore. Vedi Impostazioni."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Lo sblocco con il volto è disattivato. I tuoi volti restano salvati; "
|
||||
"eliminali in Volti."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Nessun volto ancora configurato."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "attivo"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "disattivo"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s campioni, %s appresi"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Quale volto? Vedi `%s faces` per gli ID."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Eliminato."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Uso: face-unlock [comando]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Comandi:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Attiva lo sblocco con il volto"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Disattivalo (i volti restano salvati)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Aggiungi un volto"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Elenca i volti"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Elimina un volto"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Guarda la fotocamera e vedi cosa vede"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Blocca lo schermo"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Mostra cosa è attivo"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Mostra questo aiuto"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Mostra la versione"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Senza comando viene mostrato un menu interattivo."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -193,42 +203,42 @@ msgstr ""
|
||||
"Esegui questo con il tuo utente, non come root. Chiede la password quando "
|
||||
"serve."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Comando sconosciuto: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "mai"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "proprio ora"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 minuto fa"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d minuti fa"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 ora fa"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d ore fa"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 giorno fa"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d giorni fa"
|
||||
@@ -268,7 +278,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "Impossibile usare la fotocamera."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Mancano i modelli di riconoscimento. Reinstalla il pacchetto."
|
||||
|
||||
@@ -373,11 +383,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[s/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "ATTIVO"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "DISATTIVO"
|
||||
|
||||
@@ -418,85 +428,93 @@ msgstr "lenta"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s secondi"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "automatica"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "quella di face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "la tua"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Sblocco con il volto"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Servizio"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "non in esecuzione"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Riattivare lo sblocco con il volto lo avvia."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Volti"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "nessuno configurato"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "tutti disattivati"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "nessuna trovata"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Fotocamera"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Schermata di blocco"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Richieste di amministratore"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Schermate di blocco"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Controllo foto"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "In pausa"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "ancora per %d minuti, o finché non si usa la password"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Ultimo sblocco"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "L'agente della schermata di blocco non è in esecuzione."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -504,7 +522,7 @@ msgstr ""
|
||||
"Su GNOME una piccola estensione di GNOME mostra la bolla. Attivando lo "
|
||||
"sblocco con il volto si attiva anche lei."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -514,7 +532,7 @@ msgstr ""
|
||||
"face-unlock (`face-unlock lock`, con la bolla) e li apre. Le altre schermate "
|
||||
"di blocco scansionano con Invio."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -522,7 +540,7 @@ msgstr ""
|
||||
"Sblocca la schermata di blocco quando vede il tuo volto. Disattivo: lì "
|
||||
"funziona solo la password."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -530,7 +548,7 @@ msgstr ""
|
||||
"Esegue la scansione quando premi un tasto o muovi il mouse sulla schermata "
|
||||
"di blocco, e quando il computer si riattiva."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -538,7 +556,7 @@ msgstr ""
|
||||
"Esegue la scansione appena lo schermo si blocca. Disattivo di norma: se lo "
|
||||
"blocchi tu, si sbloccherebbe subito."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -546,7 +564,17 @@ msgstr ""
|
||||
"sudo usa il tuo volto al posto della password. Se non corrisponde, digiti la "
|
||||
"password come al solito."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"La schermata di blocco di face-unlock mostra la bolla, e blocchi con `face-"
|
||||
"unlock lock`. Oppure tieni la tua: hyprlock mostra allora una riga di testo "
|
||||
"in alto. Invio apre la scelta."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -556,11 +584,11 @@ msgstr ""
|
||||
"lock`). Vuoto: quella del tuo desktop. Oppure un file, una cartella da cui "
|
||||
"prenderne una a caso, o `none`. Invio per scriverla."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Sfoca l'immagine dietro la schermata di blocco di face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -569,7 +597,7 @@ msgstr ""
|
||||
"La schermata di blocco accetta il tuo volto nel controllo della password. "
|
||||
"Premi Invio nel campo vuoto per scansionare. Trovate qui: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -577,18 +605,18 @@ msgstr ""
|
||||
"Le finestre della password del tuo desktop e delle app, per esempio quando "
|
||||
"installi software. Se non corrisponde, digiti la password."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Devi sbattere le palpebre o girare un po' la testa. Questo ferma anche le "
|
||||
"foto stampate."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Nessun controllo. Solo per provare una fotocamera."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -596,22 +624,22 @@ msgstr ""
|
||||
"Ferma le foto su un telefono, un tablet o carta lucida. Non serve sbattere "
|
||||
"le palpebre. Una foto stampata opaca può passare."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Meno scambi di persona, ma potrebbe non riconoscerti con gli occhiali o con "
|
||||
"poca luce."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "Ti riconosce più facilmente, ma anche qualcuno che ti somiglia molto."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "Il valore predefinito. Va bene per la maggior parte delle persone."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -619,7 +647,7 @@ msgstr ""
|
||||
"I tuoi occhi devono essere aperti e rivolti allo schermo. Così non si "
|
||||
"sblocca mentre guardi altrove o dormi."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -628,11 +656,11 @@ msgstr ""
|
||||
"nuovo il tuo volto. Una fotocamera a infrarossi ha bisogno della sua luce "
|
||||
"(linux-enable-ir-emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Per quanto tempo la fotocamera cerca il tuo volto prima di arrendersi."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -641,7 +669,7 @@ msgstr ""
|
||||
"nuovo taglio di capelli o gli occhiali non richiedono una nuova "
|
||||
"configurazione."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -649,99 +677,99 @@ msgstr ""
|
||||
"Nessuna scansione quando il portatile è chiuso, per esempio alla scrivania "
|
||||
"con uno schermo esterno."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "La bolla in cima allo schermo mostra cosa sta facendo la fotocamera."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Una piccola pillola con un lucchetto che si apre."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "Un'isola con un volto che si guarda intorno, poi anelli e una spunta."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "Quanto velocemente si muove la bolla."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Mostra la bolla anche quando sudo o una richiesta di amministratore "
|
||||
"scansiona il tuo volto."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "automatica (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(infrarossi)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(non collegata)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "come il desktop"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "nessuno"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Immagine o cartella:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Non trovato: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Impostazioni"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ scegli ←→ o Spazio: cambia q: indietro"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "per tutti gli utenti, chiede la tua password"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Su/Giù: scegli, Spazio: attiva/disattiva, r: rinomina, d: elimina, a: "
|
||||
"aggiungi, q: indietro"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Nessun volto ancora configurato. Premi a per aggiungerne uno."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Nuovo nome:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "Eliminare «%s»?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Attiva o disattiva lo sblocco con il volto"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Provalo"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Esci"
|
||||
|
||||
@@ -790,6 +818,52 @@ msgstr ""
|
||||
"Hyprland non avvia da solo l'agente della schermata di blocco. Aggiungi "
|
||||
"questo a %s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Per bloccare con essa, aggiungi questo a %s e imposta %s in %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Per bloccare con essa, aggiungi questo ai binds in %s e usa %s in swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Per bloccare con essa, esegui %s dove ora parte la tua schermata di blocco."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Ora blocchi con la schermata di blocco di face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"hyprlock mostra in alto cosa sta facendo face unlock, dal prossimo blocco."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Impossibile aggiungere la riga a %s."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"La tua schermata di blocco resta com'è. Premi Invio nel campo password vuoto "
|
||||
"per la scansione."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock non ha %s, quindi non può mostrare il testo."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Sblocca con il volto"
|
||||
@@ -802,6 +876,10 @@ msgstr "Scansiona quando torni"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Scansiona subito dopo il blocco"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Quale schermata di blocco"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Sfondo"
|
||||
@@ -969,36 +1047,49 @@ msgstr ""
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Impossibile aggiungere il volto (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Cerco il tuo volto…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Password errata"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Volto riconosciuto"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
"Sblocco con il volto per la schermata di blocco, sudo e le richieste di "
|
||||
"amministratore"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Configura un volto."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Come chiamare il nuovo volto."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Blocca lo schermo."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Riproduci una volta le animazioni della bolla."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Stile della bolla per la demo: full o minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Chiede quale schermata di blocco usare e stampa la risposta."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Guarda la fotocamera per sbloccare."
|
||||
@@ -1058,7 +1149,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Nome (facoltativo)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
@@ -1078,14 +1169,66 @@ msgstr "Iniziamo"
|
||||
msgid "Done"
|
||||
msgstr "Fatto"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Scegli la schermata di blocco"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "La tua schermata di blocco"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Il tuo desktop lascia la schermata di blocco a un programma a tua scelta. "
|
||||
"Scegli come appare face unlock lì. Puoi cambiarlo più tardi in Impostazioni."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Schermata di blocco di face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"La bolla in alto, l'ora e il tuo sfondo. La tua scorciatoia e il blocco per "
|
||||
"inattività eseguono poi face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Tieni la tua schermata di blocco"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Resta com'è. hyprlock mostra una riga di testo in alto al posto della bolla. "
|
||||
"Invio nel campo password vuoto avvia la scansione."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Resta com'è, senza la bolla. Invio nel campo password vuoto avvia la "
|
||||
"scansione."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Continua"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Password"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Guarda la fotocamera o digita la password"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Digita la password"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Japanese\n"
|
||||
@@ -57,8 +57,9 @@ msgstr "顔は追加されませんでした。"
|
||||
msgid "First, set up your face."
|
||||
msgstr "まず顔を登録してください。"
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "設定を保存できませんでした。"
|
||||
|
||||
@@ -81,7 +82,15 @@ msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr ""
|
||||
"一度ログアウトしてログインし直してください。GNOME でもバブルが表示されます。"
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "ウィンドウでロック画面を選んでください。"
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "ロック画面が選ばれていません。あとで設定から選べます。"
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -90,98 +99,98 @@ msgstr ""
|
||||
"ロック画面(%s)でも顔が使えます。戻ってきたときにスキャンしない場合は、空の"
|
||||
"パスワード欄で Enter を押してください。"
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr "顔認証はオンです。画面をロックして、画面を見て試してください。"
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "sudo や管理者の認証にも使えます。「設定」を参照してください。"
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr "顔認証はオフです。顔データは残っています。「顔」から削除できます。"
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "まだ顔が登録されていません。"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "オン"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "オフ"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "サンプル %s 件、学習 %s 件"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "どの顔ですか? ID は `%s faces` で確認できます。"
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "削除しました。"
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "使い方: face-unlock [コマンド]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "コマンド:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "顔認証をオンにする"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "オフにする(顔データは残ります)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "顔を追加"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "顔の一覧"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "顔を削除"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "カメラを見て、カメラに映るものを確認する"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "画面をロック"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "オンになっている機能を表示"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "このヘルプを表示"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "バージョンを表示"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "コマンドなしで起動すると、対話式メニューが表示されます。"
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -189,42 +198,42 @@ msgstr ""
|
||||
"root ではなく、自分のユーザーで実行してください。必要なときはパスワードを尋ね"
|
||||
"ます。"
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "不明なコマンド: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "なし"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "たった今"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 分前"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d 分前"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 時間前"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d 時間前"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 日前"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d 日前"
|
||||
@@ -264,7 +273,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "カメラを使用できませんでした。"
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "認識モデルがありません。パッケージを再インストールしてください。"
|
||||
|
||||
@@ -368,11 +377,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[y/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "オン"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "オフ"
|
||||
|
||||
@@ -413,85 +422,93 @@ msgstr "遅い"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s 秒"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "自動"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "今のもの"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "顔認証"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "サービス"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "停止中"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "顔認証をもう一度オンにすると起動します。"
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "顔"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "まだ登録なし"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "すべてオフ"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "見つかりません"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "カメラ"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "ロック画面"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "管理者の認証"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "ロック画面"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "写真チェック"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "一時停止中"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "あと %d 分、またはパスワードが使われるまで"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "最後のロック解除"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "ロック画面エージェントが動いていません。"
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -499,7 +516,7 @@ msgstr ""
|
||||
"GNOME では小さな GNOME 拡張機能がバブルを表示します。顔認証をオンにすると一緒"
|
||||
"に有効になります。"
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -509,7 +526,7 @@ msgstr ""
|
||||
"き)に戻ってきたときにスキャンして開きます。ほかのロック画面は Enter でスキャ"
|
||||
"ンします。"
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -517,7 +534,7 @@ msgstr ""
|
||||
"顔を認識するとロック画面を解除します。オフ: ロック画面ではパスワードだけが使"
|
||||
"えます。"
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -525,7 +542,7 @@ msgstr ""
|
||||
"ロック画面でキーを押すかマウスを動かしたとき、そしてコンピューターがスリープ"
|
||||
"から復帰したときにスキャンします。"
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -533,7 +550,7 @@ msgstr ""
|
||||
"画面がロックされるとすぐにスキャンします。既定はオフ: 自分でロックすると、す"
|
||||
"ぐに解除されてしまうためです。"
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -541,7 +558,17 @@ msgstr ""
|
||||
"sudo でパスワードの代わりに顔を使います。一致しなければ、いつも通りパスワード"
|
||||
"を入力します。"
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"face-unlock のロック画面はバブルを表示し、`face-unlock lock` でロックします。"
|
||||
"今のロック画面を使い続けることもできます: その場合 hyprlock が上部に一行のテ"
|
||||
"キストを表示します。Enter で選択画面を開きます。"
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -550,11 +577,11 @@ msgstr ""
|
||||
"face-unlock のロック画面(`face-unlock lock`)の背景画像。空欄: デスクトップ"
|
||||
"と同じ画像。またはファイル、ランダムに選ぶフォルダー、`none`。Enter で入力。"
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "face-unlock のロック画面の背景画像をぼかします。"
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -563,7 +590,7 @@ msgstr ""
|
||||
"ロック画面のパスワード確認で顔が使えます。空の欄で Enter を押すとスキャンしま"
|
||||
"す。見つかったもの: %s。"
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -571,16 +598,16 @@ msgstr ""
|
||||
"デスクトップやアプリのパスワード画面です(ソフトウェアのインストール時な"
|
||||
"ど)。一致しなければパスワードを入力します。"
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr "まばたきするか、少し顔を動かす必要があります。印刷した写真も防げます。"
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "チェックしません。カメラを試すときだけ使ってください。"
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -588,22 +615,22 @@ msgstr ""
|
||||
"スマホ、タブレット、光沢紙に映った写真を防ぎます。まばたきは不要です。つや消"
|
||||
"しの印刷写真は通ることがあります。"
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"誤認識は減りますが、眼鏡をかけているときや暗いときに認識されないことがありま"
|
||||
"す。"
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "認識されやすくなりますが、あなたによく似た人も認識されやすくなります。"
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "既定値です。ほとんどの人に適しています。"
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -611,7 +638,7 @@ msgstr ""
|
||||
"目を開けて画面を見ている必要があります。よそ見や居眠りの間にロック解除されま"
|
||||
"せん。"
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -619,11 +646,11 @@ msgstr ""
|
||||
"「自動」は最初の通常のカメラを使います。変更したら顔を登録し直してください。"
|
||||
"赤外線カメラはライトをオンにする必要があります(linux-enable-ir-emitter)。"
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "カメラが顔を探してからあきらめるまでの時間です。"
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -631,7 +658,7 @@ msgstr ""
|
||||
"確実に一致したとき、今の見た目を覚えます。髪型を変えたり眼鏡をかけたりして"
|
||||
"も、登録し直す必要はありません。"
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -639,96 +666,96 @@ msgstr ""
|
||||
"ノートパソコンを閉じているときはスキャンしません。外部モニターにつないで机で"
|
||||
"使う場合などです。"
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "画面上部のバブルに、カメラの状態が表示されます。"
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "鍵が開く小さなピルです。"
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "あたりを見回す顔のアイランド。そのあとリングとチェックマークが出ます。"
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "バブルが動く速さです。"
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr "sudo や管理者の認証で顔をスキャンするときにもバブルを表示します。"
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "自動(%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(赤外線)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(未接続)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "デスクトップと同じ"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "なし"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "画像またはフォルダー:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "見つかりません: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "設定"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ 選択 ←→ またはスペース: 変更 q: 戻る"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "全ユーザー共通、パスワードが必要"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"上/下: 選択、スペース: オン/オフ、r: 名前を変更、d: 削除、a: 追加、q: 戻る"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "まだ顔が登録されていません。a を押して追加してください。"
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "新しい名前:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "「%s」を削除しますか?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "顔認証のオン/オフ"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "試す"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "終了"
|
||||
|
||||
@@ -775,6 +802,52 @@ msgstr ""
|
||||
"Hyprland はロック画面エージェントを自動では起動しません。%s に次を追加してく"
|
||||
"ださい:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "これでロックするには、%s にこれを追加し、%s を %s に書いてください:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"これでロックするには、%s の binds にこれを追加し、swayidle で %s を使ってくだ"
|
||||
"さい:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"これでロックするには、今ロック画面を起動している場所で %s を実行してくださ"
|
||||
"い。"
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "これから face-unlock のロック画面でロックします。"
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr "次回のロックから、hyprlock が上部に face unlock の状態を表示します。"
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "%s に行を追加できませんでした。"
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"ロック画面はそのままです。空のパスワード欄で Enter を押すとスキャンします。"
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock に %s がないため、テキストを表示できません。"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "顔でロック解除"
|
||||
@@ -787,6 +860,10 @@ msgstr "戻ってきたらスキャン"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "ロック直後にスキャン"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "使うロック画面"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "壁紙"
|
||||
@@ -951,34 +1028,47 @@ msgstr "カメラは別のスキャン中です。少ししてからもう一度
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "顔を追加できませんでした(%1)。"
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "顔を探しています…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "パスワードが違います"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "顔を認識しました"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr "ロック画面、sudo、管理者の認証のための顔認証"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "顔を登録します。"
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "新しい顔の名前。"
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "画面をロックします。"
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "バブルのアニメーションを一度再生します。"
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "デモのバブルスタイル: full または minimal。"
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "使うロック画面を尋ね、答えを出力します。"
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "カメラを見てロックを解除してください。"
|
||||
@@ -1037,7 +1127,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "名前(任意)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "キャンセル"
|
||||
|
||||
@@ -1057,14 +1147,66 @@ msgstr "はじめる"
|
||||
msgid "Done"
|
||||
msgstr "完了"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "ロック画面を選ぶ"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "ロック画面"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"このデスクトップでは、ロック画面は自分で選んだプログラムです。そこで face "
|
||||
"unlock をどう表示するか選んでください。あとで設定から変更できます。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "face-unlock のロック画面"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"上部のバブル、時計、壁紙。ショートカットと自動ロックで face-unlock lock を実"
|
||||
"行します。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "今のロック画面を使う"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"そのまま使えます。hyprlock はバブルの代わりに上部に一行のテキストを表示しま"
|
||||
"す。空のパスワード欄で Enter を押すとスキャンします。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"そのまま使えます。バブルはありません。空のパスワード欄で Enter を押すとスキャ"
|
||||
"ンします。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "続ける"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "パスワード"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "カメラを見るか、パスワードを入力してください"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "パスワードを入力してください"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Korean\n"
|
||||
@@ -57,8 +57,9 @@ msgstr "얼굴이 추가되지 않았습니다."
|
||||
msgid "First, set up your face."
|
||||
msgstr "먼저 얼굴을 등록하세요."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "설정을 저장하지 못했습니다."
|
||||
|
||||
@@ -79,7 +80,15 @@ msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr ""
|
||||
"한 번 로그아웃했다가 다시 로그인하세요. 그러면 GNOME에서도 버블이 보입니다."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "창에서 잠금 화면을 고르세요."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "잠금 화면을 고르지 않았습니다. 나중에 설정에서 고를 수 있습니다."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -88,142 +97,142 @@ msgstr ""
|
||||
"잠금 화면(%s)에서도 얼굴을 쓸 수 있습니다. 돌아왔을 때 스캔하지 않으면 빈 비"
|
||||
"밀번호 칸에서 Enter를 누르세요."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"얼굴 잠금 해제가 켜졌습니다. 화면을 잠그고 화면을 바라보며 사용해 보세요."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "sudo와 관리자 인증 창에서도 쓸 수 있습니다. 설정을 참고하세요."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"얼굴 잠금 해제가 꺼졌습니다. 얼굴 데이터는 남아 있으며, 얼굴 메뉴에서 삭제할 "
|
||||
"수 있습니다."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "아직 등록된 얼굴이 없습니다."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "켜짐"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "꺼짐"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "샘플 %s개, 학습 %s개"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "어떤 얼굴인가요? ID는 `%s faces`에서 확인하세요."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "삭제했습니다."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "사용법: face-unlock [명령]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "명령:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "얼굴 잠금 해제 켜기"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "끄기 (얼굴 데이터는 유지)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "얼굴 추가"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "얼굴 목록"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "얼굴 삭제"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "카메라를 보고 카메라에 보이는 것을 확인"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "화면 잠그기"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "켜져 있는 기능 보기"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "이 도움말 보기"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "버전 보기"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "명령 없이 실행하면 대화형 메뉴가 나옵니다."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
msgstr "root가 아닌 본인 사용자로 실행하세요. 필요하면 비밀번호를 묻습니다."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "알 수 없는 명령: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "없음"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "방금"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1분 전"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d분 전"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1시간 전"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d시간 전"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1일 전"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d일 전"
|
||||
@@ -263,7 +272,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "카메라를 사용할 수 없었습니다."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "인식 모델이 없습니다. 패키지를 다시 설치하세요."
|
||||
|
||||
@@ -367,11 +376,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[y/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "켜짐"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "꺼짐"
|
||||
|
||||
@@ -412,85 +421,93 @@ msgstr "느리게"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s초"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "자동"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "지금 쓰는 것"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "얼굴 잠금 해제"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "서비스"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "실행 중 아님"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "얼굴 잠금 해제를 다시 켜면 시작됩니다."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "얼굴"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "아직 없음"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "모두 꺼짐"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "찾을 수 없음"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "카메라"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "잠금 화면"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "관리자 인증 창"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "잠금 화면"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "사진 검사"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "일시 중지됨"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "%d분 더, 또는 비밀번호를 사용할 때까지"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "마지막 잠금 해제"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "잠금 화면 에이전트가 실행 중이 아닙니다."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -498,7 +515,7 @@ msgstr ""
|
||||
"GNOME에서는 작은 GNOME 확장이 버블을 보여 줍니다. 얼굴 잠금 해제를 켜면 함께 "
|
||||
"켜집니다."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -507,14 +524,14 @@ msgstr ""
|
||||
"hyprlock, swaylock 또는 face-unlock 자체 잠금 화면(`face-unlock lock`, 버블 "
|
||||
"포함)으로 돌아오면 스캔해서 엽니다. 다른 잠금 화면은 Enter로 스캔합니다."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
msgstr ""
|
||||
"얼굴을 보면 잠금 화면을 해제합니다. 꺼짐: 잠금 화면에서는 비밀번호만 됩니다."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -522,7 +539,7 @@ msgstr ""
|
||||
"잠금 화면에서 키를 누르거나 마우스를 움직일 때, 그리고 컴퓨터가 깨어날 때 스"
|
||||
"캔합니다."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -530,7 +547,7 @@ msgstr ""
|
||||
"화면이 잠기자마자 스캔합니다. 기본값은 꺼짐: 직접 잠그면 곧바로 다시 풀려 버"
|
||||
"리기 때문입니다."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -538,7 +555,17 @@ msgstr ""
|
||||
"sudo가 비밀번호 대신 얼굴을 사용합니다. 일치하지 않으면 평소처럼 비밀번호를 "
|
||||
"입력합니다."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"face-unlock 잠금 화면은 버블을 보여 주며, `face-unlock lock`으로 잠급니다. 지"
|
||||
"금 잠금 화면을 그대로 쓸 수도 있습니다: 그러면 hyprlock이 위쪽에 한 줄의 글"
|
||||
"을 보여 줍니다. Enter로 선택 창을 엽니다."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -547,11 +574,11 @@ msgstr ""
|
||||
"face-unlock 잠금 화면(`face-unlock lock`)의 배경 그림. 비워 두면 바탕 화면의 "
|
||||
"그림. 또는 파일, 무작위로 고를 폴더, `none`. Enter로 입력."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "face-unlock 잠금 화면의 배경 그림을 흐리게 합니다."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -560,7 +587,7 @@ msgstr ""
|
||||
"잠금 화면의 비밀번호 확인에서 얼굴을 받습니다. 빈 칸에서 Enter를 누르면 스캔"
|
||||
"합니다. 찾은 것: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -568,16 +595,16 @@ msgstr ""
|
||||
"데스크톱과 앱의 비밀번호 창입니다. 예를 들어 소프트웨어를 설치할 때입니다. 일"
|
||||
"치하지 않으면 비밀번호를 입력합니다."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr "눈을 깜빡이거나 고개를 살짝 돌려야 합니다. 인쇄한 사진도 막아 줍니다."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "검사하지 않습니다. 카메라를 시험할 때만 쓰세요."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -585,22 +612,22 @@ msgstr ""
|
||||
"휴대폰, 태블릿, 광택지에 있는 사진을 막습니다. 눈을 깜빡일 필요는 없습니다. "
|
||||
"무광 인쇄 사진은 통과할 수 있습니다."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"잘못 일치하는 경우가 줄지만, 안경을 쓰거나 조명이 나쁘면 알아보지 못할 수 있"
|
||||
"습니다."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "더 쉽게 알아보지만, 당신과 많이 닮은 사람도 알아볼 수 있습니다."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "기본값입니다. 대부분의 사람에게 알맞습니다."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -608,7 +635,7 @@ msgstr ""
|
||||
"눈을 뜨고 화면을 보고 있어야 합니다. 그래서 다른 곳을 보거나 자는 동안에는 풀"
|
||||
"리지 않습니다."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -616,11 +643,11 @@ msgstr ""
|
||||
"자동은 첫 번째 일반 카메라를 사용합니다. 바꾼 뒤에는 얼굴을 다시 등록하세요. "
|
||||
"적외선 카메라는 조명을 켜야 합니다 (linux-enable-ir-emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "카메라가 포기하기 전까지 얼굴을 찾는 시간입니다."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -628,7 +655,7 @@ msgstr ""
|
||||
"확실히 일치하면 지금 모습을 기억합니다. 그래서 머리 모양이 바뀌거나 안경을 써"
|
||||
"도 다시 등록할 필요가 없습니다."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -636,96 +663,96 @@ msgstr ""
|
||||
"노트북을 덮었을 때는 스캔하지 않습니다. 예를 들어 외부 모니터를 연결해 책상에"
|
||||
"서 쓸 때입니다."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "화면 위쪽의 버블이 카메라가 하는 일을 보여 줍니다."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "자물쇠가 열리는 작은 알약입니다."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "주위를 둘러보는 얼굴이 있는 아일랜드, 그다음 링과 체크 표시입니다."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "버블이 움직이는 속도입니다."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr "sudo나 관리자 인증 창이 얼굴을 스캔할 때도 버블을 보여 줍니다."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "자동 (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(적외선)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(연결 안 됨)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "바탕 화면과 같음"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "없음"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "그림 또는 폴더:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "찾을 수 없음: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "설정"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ 선택 ←→ 또는 스페이스: 변경 q: 뒤로"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "모든 사용자에게 적용, 비밀번호 필요"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"위/아래: 선택, 스페이스: 켜기/끄기, r: 이름 바꾸기, d: 삭제, a: 추가, q: 뒤로"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "아직 등록된 얼굴이 없습니다. a를 눌러 추가하세요."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "새 이름:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "\"%s\" 항목을 삭제할까요?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "얼굴 잠금 해제 켜기/끄기"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "사용해 보기"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "끝내기"
|
||||
|
||||
@@ -773,6 +800,50 @@ msgstr ""
|
||||
"Hyprland는 잠금 화면 에이전트를 스스로 시작하지 않습니다. %s에 다음을 추가하"
|
||||
"세요:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "이것으로 잠그려면 %s에 이것을 추가하고, %s을(를) %s에 설정하세요:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"이것으로 잠그려면 %s의 binds에 이것을 추가하고, swayidle에서 %s을(를) 쓰세요:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"이것으로 잠그려면 지금 잠금 화면을 시작하는 곳에서 %s을(를) 실행하세요."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "이제 face-unlock 잠금 화면으로 잠급니다."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr "다음 잠금부터 hyprlock이 위쪽에 face unlock이 하는 일을 보여 줍니다."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "%s에 줄을 추가할 수 없습니다."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"잠금 화면은 그대로입니다. 빈 비밀번호 칸에서 Enter를 누르면 스캔합니다."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock에 %s이(가) 없어 글을 보여 줄 수 없습니다."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "얼굴로 잠금 해제"
|
||||
@@ -785,6 +856,10 @@ msgstr "돌아오면 스캔"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "잠근 직후 스캔"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "사용할 잠금 화면"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "배경 화면"
|
||||
@@ -950,34 +1025,47 @@ msgstr "카메라가 다른 스캔으로 사용 중입니다. 잠시 후 다시
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "얼굴을 추가하지 못했습니다 (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "얼굴을 찾는 중…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "비밀번호가 틀렸습니다"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "얼굴 인식됨"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr "잠금 화면, sudo, 관리자 인증 창을 위한 얼굴 잠금 해제"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "얼굴을 등록합니다."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "새 얼굴의 이름."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "화면을 잠급니다."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "버블 애니메이션을 한 번 재생합니다."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "데모용 버블 스타일: full 또는 minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "사용할 잠금 화면을 묻고 답을 출력합니다."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "잠금을 해제하려면 카메라를 보세요."
|
||||
@@ -1035,7 +1123,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "이름 (선택)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "취소"
|
||||
|
||||
@@ -1055,14 +1143,65 @@ msgstr "시작하기"
|
||||
msgid "Done"
|
||||
msgstr "완료"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "잠금 화면 고르기"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "잠금 화면"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"이 데스크톱은 잠금 화면을 직접 고른 프로그램에 맡깁니다. 그곳에서 face unlock"
|
||||
"이 어떻게 보일지 고르세요. 나중에 설정에서 바꿀 수 있습니다."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "face-unlock 잠금 화면"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"위쪽의 버블, 시계, 배경 화면. 단축키와 자동 잠금이 face-unlock lock을 실행합"
|
||||
"니다."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "지금 잠금 화면 유지"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"그대로 둡니다. hyprlock이 버블 대신 위쪽에 한 줄의 글을 보여 줍니다. 빈 비밀"
|
||||
"번호 칸에서 Enter를 누르면 스캔합니다."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"그대로 둡니다. 버블은 없습니다. 빈 비밀번호 칸에서 Enter를 누르면 스캔합니다."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "계속"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "비밀번호"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "카메라를 보거나 비밀번호를 입력하세요"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "비밀번호를 입력하세요"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Dutch\n"
|
||||
@@ -58,8 +58,9 @@ msgstr "Er is geen gezicht toegevoegd."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Stel eerst je gezicht in."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Kon de instelling niet opslaan."
|
||||
|
||||
@@ -81,7 +82,15 @@ msgstr "Kon de GNOME-extensie die de bubbel toont niet inschakelen."
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "Meld je één keer af en weer aan: dan toont GNOME de bubbel ook."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Kies je vergrendelscherm in het venster."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "Geen vergrendelscherm gekozen. Dat kan later ook onder Instellingen."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -90,102 +99,102 @@ msgstr ""
|
||||
"Het vergrendelscherm (%s) neemt je gezicht ook. Scant het niet als je "
|
||||
"terugkomt, druk dan op Enter in het lege wachtwoordveld."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"Gezichtsontgrendeling staat aan. Vergrendel het scherm en kijk ernaar om het "
|
||||
"te proberen."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "Het werkt ook voor sudo en beheerdersvragen. Zie Instellingen."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Gezichtsontgrendeling staat uit. Je gezichten blijven bewaard; verwijder ze "
|
||||
"onder Gezichten."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Er is nog geen gezicht ingesteld."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "aan"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "uit"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s opnames, %s bijgeleerd"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Welk gezicht? Zie `%s faces` voor de ID's."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Verwijderd."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Gebruik: face-unlock [opdracht]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Opdrachten:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Gezichtsontgrendeling aanzetten"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Uitzetten (gezichten blijven bewaard)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Een gezicht toevoegen"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "De gezichten tonen"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Een gezicht verwijderen"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "In de camera kijken en zien wat hij ziet"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Scherm vergrendelen"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Tonen wat er aan staat"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Deze hulp tonen"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "De versie tonen"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Zonder opdracht verschijnt een interactief menu."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -193,42 +202,42 @@ msgstr ""
|
||||
"Voer dit uit als je eigen gebruiker, niet als root. Het vraagt om je "
|
||||
"wachtwoord als dat nodig is."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Onbekende opdracht: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "nooit"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "zojuist"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 minuut geleden"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d minuten geleden"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 uur geleden"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d uur geleden"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 dag geleden"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d dagen geleden"
|
||||
@@ -268,7 +277,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "De camera kon niet worden gebruikt."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "De herkenningsmodellen ontbreken. Installeer het pakket opnieuw."
|
||||
|
||||
@@ -372,11 +381,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[j/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "AAN"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "UIT"
|
||||
|
||||
@@ -417,85 +426,93 @@ msgstr "langzaam"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s seconden"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "automatisch"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "die van face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "de jouwe"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Gezichtsontgrendeling"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Dienst"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "draait niet"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Gezichtsontgrendeling opnieuw aanzetten start hem."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Gezichten"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "nog geen ingesteld"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "allemaal uit"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "geen gevonden"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Camera"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Vergrendelscherm"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Beheerdersvragen"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Vergrendelschermen"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Fotocontrole"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "Gepauzeerd"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "nog %d minuten, of tot het wachtwoord wordt gebruikt"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Laatste ontgrendeling"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "De agent voor het vergrendelscherm draait niet."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -503,7 +520,7 @@ msgstr ""
|
||||
"Op GNOME toont een kleine GNOME-extensie de bubbel. Als je "
|
||||
"gezichtsontgrendeling inschakelt, gaat die ook aan."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -513,7 +530,7 @@ msgstr ""
|
||||
"van face-unlock (`face-unlock lock`, met de bubbel) en opent ze. Andere "
|
||||
"vergrendelschermen scannen met Enter."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -521,7 +538,7 @@ msgstr ""
|
||||
"Ontgrendelt het vergrendelscherm als het je gezicht ziet. Uit: daar werkt "
|
||||
"alleen je wachtwoord."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -529,7 +546,7 @@ msgstr ""
|
||||
"Scant als je op het vergrendelscherm een toets indrukt of de muis beweegt, "
|
||||
"en als de computer ontwaakt."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -537,7 +554,7 @@ msgstr ""
|
||||
"Scant zodra het scherm vergrendelt. Standaard uit: vergrendel je zelf, dan "
|
||||
"zou het meteen weer ontgrendelen."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -545,7 +562,17 @@ msgstr ""
|
||||
"sudo neemt je gezicht in plaats van het wachtwoord. Geen match: je typt "
|
||||
"zoals gewoonlijk je wachtwoord."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"Het vergrendelscherm van face-unlock toont de bubbel, en je vergrendelt met "
|
||||
"`face-unlock lock`. Of houd de jouwe: hyprlock toont dan bovenaan een regel "
|
||||
"tekst. Enter opent de keuze."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -555,11 +582,11 @@ msgstr ""
|
||||
"lock`). Leeg: die van je bureaublad. Of een bestand, een map waaruit er "
|
||||
"willekeurig een wordt gekozen, of `none`. Enter om te typen."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Vervaagt de afbeelding achter het vergrendelscherm van face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -568,7 +595,7 @@ msgstr ""
|
||||
"Het vergrendelscherm neemt je gezicht in zijn wachtwoordcontrole. Druk op "
|
||||
"Enter in het lege veld om te scannen. Hier gevonden: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -576,18 +603,18 @@ msgstr ""
|
||||
"De wachtwoordvensters van je bureaublad en apps, bijvoorbeeld bij het "
|
||||
"installeren van software. Geen match: je typt je wachtwoord."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Je moet knipperen of je hoofd een beetje draaien. Dat houdt ook geprinte "
|
||||
"foto's tegen."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Helemaal geen controle. Alleen om een camera uit te proberen."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -595,22 +622,22 @@ msgstr ""
|
||||
"Houdt foto's op een telefoon, tablet of glanzend papier tegen. Knipperen is "
|
||||
"niet nodig. Een matte geprinte foto kan erdoor komen."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Minder verwisselingen, maar met een bril of bij slecht licht herkent het je "
|
||||
"misschien niet."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "Herkent je makkelijker, maar ook iemand die veel op je lijkt."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "De standaard. Goed voor de meeste mensen."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -618,7 +645,7 @@ msgstr ""
|
||||
"Je ogen moeten open zijn en naar het scherm kijken. Zo ontgrendelt het niet "
|
||||
"als je wegkijkt of slaapt."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -627,11 +654,11 @@ msgstr ""
|
||||
"opnieuw in. Een infraroodcamera heeft zijn lampje nodig (linux-enable-ir-"
|
||||
"emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Hoe lang de camera naar je gezicht zoekt voordat hij opgeeft."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -639,7 +666,7 @@ msgstr ""
|
||||
"Na een zekere match onthoudt het hoe je er nu uitziet. Een nieuw kapsel of "
|
||||
"een bril vraagt dus niet om opnieuw instellen."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -647,97 +674,97 @@ msgstr ""
|
||||
"Geen scan als de laptop dicht is, bijvoorbeeld aan een bureau met een extern "
|
||||
"scherm."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "De bubbel boven aan het scherm laat zien wat de camera doet."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Een kleine pil met een slot dat opengaat."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "Een eiland met een gezicht dat rondkijkt, daarna ringen en een vinkje."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "Hoe snel de bubbel beweegt."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr "Toont de bubbel ook als sudo of een beheerdersvraag je gezicht scant."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "automatisch (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(infrarood)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(niet aangesloten)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "zoals bureaublad"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "geen"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Afbeelding of map:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Niet gevonden: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Instellingen"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ kiezen ←→ of Spatie: wijzigen q: terug"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "voor alle gebruikers, vraagt om je wachtwoord"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Omhoog/Omlaag: kiezen, Spatie: aan/uit, r: hernoemen, d: verwijderen, a: "
|
||||
"toevoegen, q: terug"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Er is nog geen gezicht ingesteld. Druk op a om er een toe te voegen."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Nieuwe naam:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "“%s” verwijderen?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Gezichtsontgrendeling aan- of uitzetten"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Uitproberen"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Afsluiten"
|
||||
|
||||
@@ -787,6 +814,54 @@ msgstr ""
|
||||
"Hyprland start de agent voor het vergrendelscherm niet zelf. Voeg dit toe "
|
||||
"aan %s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Om ermee te vergrendelen, voeg dit toe aan %s en zet %s in %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Om ermee te vergrendelen, voeg dit toe aan de binds in %s en gebruik %s in "
|
||||
"swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Om ermee te vergrendelen, start %s waar je vergrendelscherm nu wordt gestart."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Je vergrendelt nu met het vergrendelscherm van face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"hyprlock toont bovenaan wat face unlock doet, vanaf de volgende keer "
|
||||
"vergrendelen."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Kon de regel niet aan %s toevoegen."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Je vergrendelscherm blijft zoals het is. Druk op Enter in het lege "
|
||||
"wachtwoordveld om te scannen."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock heeft geen %s, dus het kan de tekst niet tonen."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Ontgrendelen met je gezicht"
|
||||
@@ -799,6 +874,10 @@ msgstr "Scannen als je terugkomt"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Scannen direct na vergrendelen"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Welk vergrendelscherm"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Achtergrond"
|
||||
@@ -966,35 +1045,48 @@ msgstr "De camera is bezig met een andere scan. Probeer het zo opnieuw."
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Het gezicht kon niet worden toegevoegd (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Zoekt je gezicht…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Verkeerd wachtwoord"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Gezicht herkend"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
"Gezichtsontgrendeling voor het vergrendelscherm, sudo en beheerdersvragen"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Een gezicht instellen."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Hoe het nieuwe gezicht moet heten."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Het scherm vergrendelen."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "De animaties van de bubbel één keer afspelen."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Bubbelstijl voor de demo: full of minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Vraagt welk vergrendelscherm te gebruiken en print het antwoord."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Kijk in de camera om te ontgrendelen."
|
||||
@@ -1053,7 +1145,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Naam (optioneel)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Annuleren"
|
||||
|
||||
@@ -1073,14 +1165,67 @@ msgstr "Aan de slag"
|
||||
msgid "Done"
|
||||
msgstr "Klaar"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Kies je vergrendelscherm"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Je vergrendelscherm"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Je bureaublad laat het vergrendelscherm over aan een programma naar keuze. "
|
||||
"Kies hoe face unlock daar verschijnt. Je kunt dit later onder Instellingen "
|
||||
"wijzigen."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Vergrendelscherm van face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"De bubbel bovenaan, de tijd en je achtergrond. Je sneltoets en vergrendelen "
|
||||
"bij inactiviteit starten dan face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Je eigen vergrendelscherm houden"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Het blijft zoals het is. hyprlock toont bovenaan een regel tekst in plaats "
|
||||
"van de bubbel. Enter in het lege wachtwoordveld scant."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Het blijft zoals het is, zonder bubbel. Enter in het lege wachtwoordveld "
|
||||
"scant."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Doorgaan"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Wachtwoord"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Kijk naar de camera of typ je wachtwoord"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Typ je wachtwoord"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Polish\n"
|
||||
@@ -59,8 +59,9 @@ msgstr "Nie dodano żadnej twarzy."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Najpierw skonfiguruj swoją twarz."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Nie udało się zapisać ustawienia."
|
||||
|
||||
@@ -82,7 +83,15 @@ msgstr "Nie udało się włączyć rozszerzenia GNOME, które pokazuje dymek."
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "Wyloguj się i zaloguj ponownie raz: wtedy GNOME też pokaże dymek."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Wybierz ekran blokady w oknie."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "Nie wybrano ekranu blokady. Możesz to zrobić później w Ustawieniach."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -91,102 +100,102 @@ msgstr ""
|
||||
"Ekran blokady (%s) też przyjmuje twarz. Jeśli nie skanuje, gdy wracasz, "
|
||||
"naciśnij Enter w pustym polu hasła."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"Odblokowywanie twarzą jest włączone. Zablokuj ekran i spójrz na niego, aby "
|
||||
"wypróbować."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "Działa też dla sudo i okien administratora. Zobacz Ustawienia."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Odblokowywanie twarzą jest wyłączone. Twoje twarze zostają zachowane; "
|
||||
"usuniesz je w Twarzach."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Nie skonfigurowano jeszcze żadnej twarzy."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "wł."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "wył."
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "próbki: %s, wyuczone: %s"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Która twarz? Identyfikatory pokazuje `%s faces`."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Usunięto."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Użycie: face-unlock [polecenie]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Polecenia:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Włącz odblokowywanie twarzą"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Wyłącz je (twarze zostają zachowane)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Dodaj twarz"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Pokaż listę twarzy"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Usuń twarz"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Spójrz w kamerę i zobacz, co widzi"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Zablokuj ekran"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Pokaż, co jest włączone"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Pokaż tę pomoc"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Pokaż wersję"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Bez polecenia wyświetla się interaktywne menu."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -194,42 +203,42 @@ msgstr ""
|
||||
"Uruchom to jako swój użytkownik, nie jako root. Hasło zostanie zapytane, gdy "
|
||||
"będzie potrzebne."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Nieznane polecenie: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "nigdy"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "przed chwilą"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 minutę temu"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d min temu"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 godzinę temu"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d godz. temu"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 dzień temu"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d dni temu"
|
||||
@@ -269,7 +278,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "Nie udało się użyć kamery."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Brakuje modeli rozpoznawania. Zainstaluj pakiet ponownie."
|
||||
|
||||
@@ -373,11 +382,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[t/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "WŁ."
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "WYŁ."
|
||||
|
||||
@@ -418,85 +427,93 @@ msgstr "wolna"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s s"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "automatyczna"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "twój"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Odblokowywanie twarzą"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Usługa"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "nie działa"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Ponowne włączenie odblokowywania twarzą ją uruchomi."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Twarze"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "jeszcze żadnej"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "wszystkie wyłączone"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "nie znaleziono"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Kamera"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Ekran blokady"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Okna administratora"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Ekrany blokady"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Wykrywanie zdjęć"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "Wstrzymane"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "jeszcze %d min lub do użycia hasła"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Ostatnie odblokowanie"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "Agent ekranu blokady nie działa."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -504,7 +521,7 @@ msgstr ""
|
||||
"W GNOME dymek pokazuje małe rozszerzenie GNOME. Włączenie odblokowywania "
|
||||
"twarzą włącza też je."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -514,7 +531,7 @@ msgstr ""
|
||||
"unlock (`face-unlock lock`, z dymkiem), i je otwiera. Inne ekrany blokady "
|
||||
"skanują po Enter."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -522,7 +539,7 @@ msgstr ""
|
||||
"Odblokowuje ekran blokady, gdy widzi twoją twarz. Wyłączone: działa tam "
|
||||
"tylko hasło."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -530,7 +547,7 @@ msgstr ""
|
||||
"Skanuje, gdy naciśniesz klawisz lub poruszysz myszą na ekranie blokady, oraz "
|
||||
"gdy komputer się wybudzi."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -538,7 +555,7 @@ msgstr ""
|
||||
"Skanuje od razu po zablokowaniu ekranu. Domyślnie wyłączone: gdy zablokujesz "
|
||||
"sam, od razu by się odblokował."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -546,7 +563,17 @@ msgstr ""
|
||||
"sudo przyjmuje twarz zamiast hasła. Gdy nie pasuje, wpisujesz hasło jak "
|
||||
"zwykle."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"Ekran blokady face-unlock pokazuje dymek, a blokujesz go przez `face-unlock "
|
||||
"lock`. Albo zostaw swój: hyprlock pokaże wtedy u góry linię tekstu. Enter "
|
||||
"otwiera wybór."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -556,11 +583,11 @@ msgstr ""
|
||||
"pulpitu. Albo plik, folder, z którego losowany jest obraz, albo `none`. "
|
||||
"Enter, aby wpisać."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Rozmywa obraz za ekranem blokady face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -569,7 +596,7 @@ msgstr ""
|
||||
"Ekran blokady przyjmuje twarz przy sprawdzaniu hasła. Naciśnij Enter w "
|
||||
"pustym polu, aby skanować. Znalezione tutaj: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -577,18 +604,18 @@ msgstr ""
|
||||
"Okna haseł pulpitu i aplikacji, na przykład przy instalowaniu programów. Gdy "
|
||||
"twarz nie pasuje, wpisujesz hasło."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Musisz mrugnąć albo lekko obrócić głowę. To zatrzymuje też wydrukowane "
|
||||
"zdjęcia."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Bez żadnej kontroli. Tylko do wypróbowania kamery."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -596,22 +623,22 @@ msgstr ""
|
||||
"Zatrzymuje zdjęcia na telefonie, tablecie lub błyszczącym papierze. Nie "
|
||||
"trzeba mrugać. Matowy wydruk może przejść."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Mniej pomyłek, ale może cię nie rozpoznać w okularach albo przy słabym "
|
||||
"świetle."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "Łatwiej cię rozpoznaje, ale też kogoś bardzo do ciebie podobnego."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "Domyślna. Pasuje większości osób."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -619,7 +646,7 @@ msgstr ""
|
||||
"Twoje oczy muszą być otwarte i patrzeć na ekran. Dzięki temu nie odblokuje, "
|
||||
"gdy patrzysz w bok lub śpisz."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -628,11 +655,11 @@ msgstr ""
|
||||
"nowa. Kamera na podczerwień potrzebuje włączonego światła (linux-enable-ir-"
|
||||
"emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Jak długo kamera szuka twojej twarzy, zanim się podda."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -640,7 +667,7 @@ msgstr ""
|
||||
"Po pewnym dopasowaniu zapamiętuje, jak teraz wyglądasz. Nowa fryzura czy "
|
||||
"okulary nie wymagają więc ponownej konfiguracji."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -648,98 +675,98 @@ msgstr ""
|
||||
"Bez skanowania, gdy laptop jest zamknięty, na przykład przy biurku z "
|
||||
"zewnętrznym ekranem."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "Dymek u góry ekranu pokazuje, co robi kamera."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Mała pigułka z kłódką, która się otwiera."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "Wyspa z twarzą, która się rozgląda, potem pierścienie i ptaszek."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "Jak szybko porusza się dymek."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Pokazuje dymek także wtedy, gdy sudo lub okno administratora skanuje twarz."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "automatyczna (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(podczerwień)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(niepodłączona)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "jak na pulpicie"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "brak"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Obraz lub folder:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Nie znaleziono: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Ustawienia"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ wybierz ←→ lub Spacja: zmień q: wstecz"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "dla wszystkich użytkowników, pyta o hasło"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Góra/Dół: wybierz, Spacja: wł./wył., r: zmień nazwę, d: usuń, a: dodaj, q: "
|
||||
"wstecz"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Nie skonfigurowano jeszcze żadnej twarzy. Naciśnij a, aby dodać."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Nowa nazwa:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "Usunąć „%s”?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Włącz lub wyłącz odblokowywanie twarzą"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Wypróbuj"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Zakończ"
|
||||
|
||||
@@ -784,6 +811,50 @@ msgid ""
|
||||
"Hyprland does not start the lock screen agent by itself. Add this to %s:"
|
||||
msgstr "Hyprland nie uruchamia sam agenta ekranu blokady. Dodaj to do %s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Aby nim blokować, dodaj to do %s i ustaw %s w %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr "Aby nim blokować, dodaj to do binds w %s i użyj %s w swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Aby nim blokować, uruchamiaj %s tam, gdzie teraz startuje twój ekran blokady."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Teraz blokujesz ekranem blokady face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr "hyprlock pokaże u góry, co robi face unlock, od następnej blokady."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Nie udało się dodać linii do %s."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Twój ekran blokady zostaje bez zmian. Naciśnij Enter w pustym polu hasła, "
|
||||
"aby skanować."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock nie ma %s, więc nie może pokazać tekstu."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Odblokowuj twarzą"
|
||||
@@ -796,6 +867,10 @@ msgstr "Skanuj, gdy wracasz"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Skanuj zaraz po zablokowaniu"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Który ekran blokady"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Tapeta"
|
||||
@@ -962,34 +1037,47 @@ msgstr "Kamera jest zajęta innym skanowaniem. Spróbuj ponownie za chwilę."
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Nie udało się dodać twarzy (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Szukam twojej twarzy…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Złe hasło"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Rozpoznano twarz"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr "Odblokowywanie twarzą dla ekranu blokady, sudo i okien administratora"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Skonfiguruj twarz."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Jak nazwać nową twarz."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Zablokuj ekran."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Odtwórz raz animacje dymka."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Styl dymka w demo: full lub minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Pyta, którego ekranu blokady użyć, i wypisuje odpowiedź."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Spójrz w kamerę, aby odblokować."
|
||||
@@ -1048,7 +1136,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Nazwa (opcjonalnie)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Anuluj"
|
||||
|
||||
@@ -1068,14 +1156,64 @@ msgstr "Zaczynamy"
|
||||
msgid "Done"
|
||||
msgstr "Gotowe"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Wybierz ekran blokady"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Twój ekran blokady"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Twój pulpit zostawia ekran blokady programowi, który wybierasz. Wybierz, jak "
|
||||
"face unlock ma się tam pokazywać. Możesz to zmienić później w Ustawieniach."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Ekran blokady face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"Dymek u góry, godzina i twoja tapeta. Twój skrót i blokada po bezczynności "
|
||||
"uruchamiają wtedy face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Zostaw swój ekran blokady"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Zostaje bez zmian. hyprlock pokazuje u góry linię tekstu zamiast dymka. "
|
||||
"Enter w pustym polu hasła skanuje."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr "Zostaje bez zmian, bez dymka. Enter w pustym polu hasła skanuje."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Dalej"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Hasło"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Spójrz w kamerę albo wpisz hasło"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Wpisz hasło"
|
||||
+258
-113
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Brazilian Portuguese\n"
|
||||
@@ -58,8 +58,9 @@ msgstr "Nenhum rosto foi adicionado."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Primeiro, configure o seu rosto."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Não foi possível salvar a configuração."
|
||||
|
||||
@@ -81,7 +82,17 @@ msgstr "Não foi possível ativar a extensão do GNOME que mostra a bolha."
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "Saia e entre de novo uma vez: aí o GNOME também mostra a bolha."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Escolha sua tela de bloqueio na janela."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr ""
|
||||
"Nenhuma tela de bloqueio escolhida. Você pode fazer isso depois em "
|
||||
"Configurações."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -90,103 +101,103 @@ msgstr ""
|
||||
"A tela de bloqueio (%s) também aceita seu rosto. Se ela não escanear quando "
|
||||
"você voltar, pressione Enter no campo de senha vazio."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"O desbloqueio facial está ativado. Bloqueie a tela e olhe para ela para "
|
||||
"testar."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr ""
|
||||
"Ele também funciona com sudo e pedidos de administrador. Veja Configurações."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"O desbloqueio facial está desativado. Seus rostos são mantidos; apague-os em "
|
||||
"Rostos."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Nenhum rosto configurado ainda."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "ativado"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "desativado"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s amostras, %s aprendidas"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Qual rosto? Veja `%s faces` para os IDs."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Apagado."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Uso: face-unlock [comando]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Comandos:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Ativar o desbloqueio facial"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Desativar (os rostos são mantidos)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Adicionar um rosto"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Listar os rostos"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Apagar um rosto"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Olhar para a câmera e ver o que ela vê"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Bloquear a tela"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Mostrar o que está ativado"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Mostrar esta ajuda"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Mostrar a versão"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Sem comando, um menu interativo é exibido."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -194,42 +205,42 @@ msgstr ""
|
||||
"Execute isto com o seu próprio usuário, não como root. Ele pede a sua senha "
|
||||
"quando precisa."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Comando desconhecido: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "nunca"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "agora mesmo"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "há 1 minuto"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "há %d minutos"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "há 1 hora"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "há %d horas"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "há 1 dia"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "há %d dias"
|
||||
@@ -269,7 +280,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "Não foi possível usar a câmera."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Os modelos de reconhecimento estão faltando. Reinstale o pacote."
|
||||
|
||||
@@ -373,11 +384,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[s/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "ATIVADO"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "DESATIVADO"
|
||||
|
||||
@@ -418,85 +429,93 @@ msgstr "lenta"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s segundos"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "automática"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "a do face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "a sua"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Desbloqueio facial"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Serviço"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "parado"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Ativar o desbloqueio facial de novo o inicia."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Rostos"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "nenhum configurado ainda"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "todos desativados"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "nenhuma encontrada"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Câmera"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Tela de bloqueio"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Pedidos de administrador"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Telas de bloqueio"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Detecção de foto"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "Pausado"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "por mais %d minutos, ou até a senha ser usada"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Último desbloqueio"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "O agente da tela de bloqueio não está em execução."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -504,7 +523,7 @@ msgstr ""
|
||||
"No GNOME, uma pequena extensão do GNOME mostra a bolha. Ativar o desbloqueio "
|
||||
"facial também a ativa."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -514,7 +533,7 @@ msgstr ""
|
||||
"face-unlock (`face-unlock lock`, com a bolha) e os abre. As outras telas de "
|
||||
"bloqueio escaneiam com Enter."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -522,7 +541,7 @@ msgstr ""
|
||||
"Desbloqueia a tela de bloqueio quando vê o seu rosto. Desativado: lá só a "
|
||||
"sua senha funciona."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -530,7 +549,7 @@ msgstr ""
|
||||
"Faz a leitura quando você aperta uma tecla ou mexe o mouse na tela de "
|
||||
"bloqueio, e quando o computador acorda."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -538,7 +557,7 @@ msgstr ""
|
||||
"Faz a leitura assim que a tela é bloqueada. Desativado por padrão: se você "
|
||||
"mesmo bloquear, ela desbloquearia logo em seguida."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -546,7 +565,17 @@ msgstr ""
|
||||
"O sudo usa o seu rosto em vez da senha. Se não corresponder, você digita a "
|
||||
"senha como sempre."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"A tela de bloqueio do face-unlock mostra a bolha, e você bloqueia com `face-"
|
||||
"unlock lock`. Ou mantenha a sua: o hyprlock então mostra uma linha de texto "
|
||||
"no topo. Enter abre a escolha."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -556,11 +585,11 @@ msgstr ""
|
||||
"Vazio: a da sua área de trabalho. Ou um arquivo, uma pasta da qual uma é "
|
||||
"escolhida ao acaso, ou `none`. Enter para digitar."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Desfoca a imagem atrás da tela de bloqueio do face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -569,7 +598,7 @@ msgstr ""
|
||||
"A tela de bloqueio aceita seu rosto na verificação de senha. Pressione Enter "
|
||||
"no campo vazio para escanear. Encontradas aqui: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -577,18 +606,18 @@ msgstr ""
|
||||
"As janelas de senha da sua área de trabalho e dos apps, por exemplo ao "
|
||||
"instalar programas. Se não corresponder, você digita a senha."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Você precisa piscar ou virar um pouco a cabeça. Isso também barra fotos "
|
||||
"impressas."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Nenhuma verificação. Só para testar uma câmera."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -596,23 +625,23 @@ msgstr ""
|
||||
"Barra fotos em celular, tablet ou papel brilhante. Não é preciso piscar. Uma "
|
||||
"foto impressa em papel fosco pode passar."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Menos confusões, mas talvez não reconheça você de óculos ou com pouca luz."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr ""
|
||||
"Reconhece você com mais facilidade, mas também alguém muito parecido com "
|
||||
"você."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "O padrão. Serve para a maioria das pessoas."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -620,7 +649,7 @@ msgstr ""
|
||||
"Seus olhos precisam estar abertos e voltados para a tela. Assim não "
|
||||
"desbloqueia enquanto você olha para outro lado ou dorme."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -629,11 +658,11 @@ msgstr ""
|
||||
"rosto de novo. Uma câmera infravermelha precisa da luz ligada (linux-enable-"
|
||||
"ir-emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Quanto tempo a câmera procura o seu rosto antes de desistir."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -641,7 +670,7 @@ msgstr ""
|
||||
"Após uma correspondência segura, ele guarda a sua aparência atual. Assim, um "
|
||||
"corte de cabelo novo ou óculos não exigem nova configuração."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -649,99 +678,99 @@ msgstr ""
|
||||
"Nenhuma leitura com o notebook fechado, por exemplo numa mesa com uma tela "
|
||||
"externa."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "A bolha no topo da tela mostra o que a câmera está fazendo."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Uma pequena pílula com um cadeado que se abre."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "Uma ilha com um rosto que olha em volta, depois anéis e um visto."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "A velocidade com que a bolha se move."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Mostra a bolha também quando o sudo ou um pedido de administrador lê o seu "
|
||||
"rosto."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "automática (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(infravermelha)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(não conectada)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "igual à área de trabalho"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "nenhum"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Imagem ou pasta:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Não encontrado: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Configurações"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ escolher ←→ ou Espaço: mudar q: voltar"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "para todos os usuários, pede a sua senha"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Cima/Baixo: escolher, Espaço: ativar/desativar, r: renomear, d: apagar, a: "
|
||||
"adicionar, q: voltar"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Nenhum rosto configurado ainda. Aperte a para adicionar um."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Novo nome:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "Apagar \"%s\"?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Ativar ou desativar o desbloqueio facial"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Testar"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Sair"
|
||||
|
||||
@@ -789,6 +818,53 @@ msgstr ""
|
||||
"O Hyprland não inicia o agente da tela de bloqueio sozinho. Adicione isto a "
|
||||
"%s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Para bloquear com ela, adicione isto a %s e defina %s em %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Para bloquear com ela, adicione isto aos binds em %s e use %s no swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Para bloquear com ela, rode %s onde sua tela de bloqueio é iniciada hoje."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Agora você bloqueia com a tela de bloqueio do face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"O hyprlock mostra no topo o que o face unlock está fazendo, a partir do "
|
||||
"próximo bloqueio."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Não foi possível adicionar a linha a %s."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Sua tela de bloqueio fica como está. Pressione Enter no campo de senha vazio "
|
||||
"para escanear."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "O hyprlock não tem %s, então não pode mostrar o texto."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Desbloquear com o rosto"
|
||||
@@ -801,6 +877,10 @@ msgstr "Ler quando você voltar"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Ler logo após bloquear"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Qual tela de bloqueio"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Papel de parede"
|
||||
@@ -968,36 +1048,49 @@ msgstr "A câmera está ocupada com outra leitura. Tente de novo em instantes."
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Não foi possível adicionar o rosto (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Procurando seu rosto…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Senha incorreta"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Rosto reconhecido"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
"Desbloqueio facial para a tela de bloqueio, o sudo e os pedidos de "
|
||||
"administrador"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Configurar um rosto."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Como chamar o novo rosto."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Bloquear a tela."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Reproduzir as animações da bolha uma vez."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Estilo da bolha para a demonstração: full ou minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Pergunta qual tela de bloqueio usar e imprime a resposta."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Olhe para a câmera para desbloquear."
|
||||
@@ -1055,7 +1148,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Nome (opcional)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
@@ -1075,14 +1168,66 @@ msgstr "Começar"
|
||||
msgid "Done"
|
||||
msgstr "Concluído"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Escolha sua tela de bloqueio"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Sua tela de bloqueio"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Sua área de trabalho deixa a tela de bloqueio para um programa da sua "
|
||||
"escolha. Escolha como o face unlock aparece lá. Você pode mudar isso depois "
|
||||
"em Configurações."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Tela de bloqueio do face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"A bolha no topo, a hora e seu papel de parede. Seu atalho e o bloqueio por "
|
||||
"inatividade passam a rodar face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Manter sua tela de bloqueio"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Ela fica como está. O hyprlock mostra uma linha de texto no topo em vez da "
|
||||
"bolha. Enter no campo de senha vazio escaneia."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Ela fica como está, sem a bolha. Enter no campo de senha vazio escaneia."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Continuar"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Senha"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Olhe para a câmera ou digite sua senha"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Digite sua senha"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Russian\n"
|
||||
@@ -59,8 +59,9 @@ msgstr "Лицо не добавлено."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Сначала настройте своё лицо."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Не удалось сохранить настройку."
|
||||
|
||||
@@ -82,7 +83,15 @@ msgstr "Не удалось включить расширение GNOME, кот
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "Выйдите и войдите снова один раз: тогда GNOME тоже покажет пузырь."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Выберите экран блокировки в окне."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "Экран блокировки не выбран. Это можно сделать позже в Настройках."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -91,102 +100,102 @@ msgstr ""
|
||||
"Экран блокировки (%s) тоже принимает ваше лицо. Если он не сканирует, когда "
|
||||
"вы возвращаетесь, нажмите Enter в пустом поле пароля."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"Разблокировка по лицу включена. Заблокируйте экран и посмотрите на него, "
|
||||
"чтобы попробовать."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "Она работает и для sudo, и для запросов администратора. См. Настройки."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Разблокировка по лицу выключена. Ваши лица сохранены; удалить их можно в "
|
||||
"разделе Лица."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Ещё не настроено ни одного лица."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "вкл."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "выкл."
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "образцов: %s, выучено: %s"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Какое лицо? Номера показывает `%s faces`."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Удалено."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Использование: face-unlock [команда]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Команды:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Включить разблокировку по лицу"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Выключить её (лица сохраняются)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Добавить лицо"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Показать список лиц"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Удалить лицо"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Посмотреть в камеру и увидеть, что она видит"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Заблокировать экран"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Показать, что включено"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Показать эту справку"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Показать версию"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Без команды открывается интерактивное меню."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -194,42 +203,42 @@ msgstr ""
|
||||
"Запускайте это от своего пользователя, не от root. Пароль будет запрошен, "
|
||||
"когда он понадобится."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Неизвестная команда: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "никогда"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "только что"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 минуту назад"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d мин назад"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 час назад"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d ч назад"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 день назад"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d дн. назад"
|
||||
@@ -269,7 +278,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "Не удалось использовать камеру."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Нет моделей распознавания. Переустановите пакет."
|
||||
|
||||
@@ -373,11 +382,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[д/Н]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "ВКЛ"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "ВЫКЛ"
|
||||
|
||||
@@ -418,85 +427,93 @@ msgstr "медленная"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s с"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "автоматически"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "ваш"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Разблокировка по лицу"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Служба"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "не запущена"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Повторное включение разблокировки по лицу запустит её."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Лица"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "пока не настроены"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "все выключены"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "не найдена"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Камера"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Экран блокировки"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Запросы администратора"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Экраны блокировки"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Проверка на фото"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "Приостановлено"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "ещё %d мин или до ввода пароля"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Последняя разблокировка"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "Агент экрана блокировки не запущен."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -504,7 +521,7 @@ msgstr ""
|
||||
"В GNOME пузырь показывает небольшое расширение GNOME. Оно включается вместе "
|
||||
"с разблокировкой по лицу."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -514,7 +531,7 @@ msgstr ""
|
||||
"блокировки face-unlock (`face-unlock lock`, с пузырём), и открывает их. "
|
||||
"Другие экраны блокировки сканируют по Enter."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -522,7 +539,7 @@ msgstr ""
|
||||
"Снимает блокировку экрана, когда видит ваше лицо. Выкл.: там работает только "
|
||||
"пароль."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -530,7 +547,7 @@ msgstr ""
|
||||
"Сканирует, когда вы нажимаете клавишу или двигаете мышь на экране "
|
||||
"блокировки, и когда компьютер просыпается."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -538,7 +555,7 @@ msgstr ""
|
||||
"Сканирует сразу после блокировки экрана. По умолчанию выкл.: если вы "
|
||||
"блокируете сами, он тут же разблокировался бы."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -546,7 +563,17 @@ msgstr ""
|
||||
"sudo принимает ваше лицо вместо пароля. Не совпало: вы вводите пароль как "
|
||||
"обычно."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"Экран блокировки face-unlock показывает пузырь, а блокировать нужно командой "
|
||||
"`face-unlock lock`. Или оставьте свой: тогда hyprlock покажет сверху строку "
|
||||
"текста. Enter открывает выбор."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -556,11 +583,11 @@ msgstr ""
|
||||
"что на рабочем столе. Или файл, папка, из которой берётся случайная, или "
|
||||
"`none`. Нажмите Enter, чтобы ввести."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Размывает картинку за экраном блокировки face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -569,7 +596,7 @@ msgstr ""
|
||||
"Экран блокировки принимает ваше лицо при проверке пароля. Нажмите Enter в "
|
||||
"пустом поле, чтобы сканировать. Найдено здесь: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -577,18 +604,18 @@ msgstr ""
|
||||
"Окна ввода пароля рабочего стола и приложений, например при установке "
|
||||
"программ. Не совпало: вы вводите пароль."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Нужно моргнуть или слегка повернуть голову. Это также останавливает "
|
||||
"распечатанные фото."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Никакой проверки. Только чтобы опробовать камеру."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -596,22 +623,22 @@ msgstr ""
|
||||
"Останавливает фото на телефоне, планшете или глянцевой бумаге. Моргать не "
|
||||
"нужно. Матовое распечатанное фото может пройти."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Меньше ошибочных совпадений, но может не узнать вас в очках или при плохом "
|
||||
"свете."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "Узнаёт вас легче, но и того, кто очень на вас похож."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "По умолчанию. Подходит большинству."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -619,7 +646,7 @@ msgstr ""
|
||||
"Ваши глаза должны быть открыты и смотреть на экран. Так он не "
|
||||
"разблокируется, пока вы смотрите в сторону или спите."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -628,11 +655,11 @@ msgstr ""
|
||||
"заново. Инфракрасной камере нужна включённая подсветка (linux-enable-ir-"
|
||||
"emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Как долго камера ищет ваше лицо, прежде чем сдаться."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -640,7 +667,7 @@ msgstr ""
|
||||
"После уверенного совпадения запоминает, как вы выглядите сейчас. Новая "
|
||||
"стрижка или очки не требуют новой настройки."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -648,99 +675,99 @@ msgstr ""
|
||||
"Без сканирования, когда ноутбук закрыт, например за столом с внешним "
|
||||
"монитором."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "Пузырь вверху экрана показывает, что делает камера."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Маленькая таблетка с замком, который открывается."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "Остров с лицом, которое оглядывается, затем кольца и галочка."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "Как быстро движется пузырь."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Показывает пузырь и тогда, когда sudo или запрос администратора сканирует "
|
||||
"ваше лицо."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "автоматически (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(инфракрасная)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(не подключена)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "как на рабочем столе"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "нет"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Картинка или папка:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Не найдено: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Настройки"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ выбор ←→ или Пробел: изменить q: назад"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "для всех пользователей, запрашивает пароль"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Вверх/Вниз: выбор, Пробел: вкл./выкл., r: переименовать, d: удалить, a: "
|
||||
"добавить, q: назад"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Ещё не настроено ни одного лица. Нажмите a, чтобы добавить."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Новое имя:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "Удалить «%s»?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Включить или выключить разблокировку по лицу"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Попробовать"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Выход"
|
||||
|
||||
@@ -786,6 +813,53 @@ msgid ""
|
||||
"Hyprland does not start the lock screen agent by itself. Add this to %s:"
|
||||
msgstr "Hyprland сам не запускает агент экрана блокировки. Добавьте это в %s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Чтобы блокировать им, добавьте это в %s и укажите %s в %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Чтобы блокировать им, добавьте это в binds в %s и используйте %s в swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Чтобы блокировать им, запускайте %s там, где сейчас запускается ваш экран "
|
||||
"блокировки."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Теперь вы блокируете экраном блокировки face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"hyprlock покажет сверху, что делает face unlock, со следующей блокировки."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Не удалось добавить строку в %s."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Ваш экран блокировки остаётся как есть. Нажмите Enter в пустом поле пароля, "
|
||||
"чтобы сканировать."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "У hyprlock нет %s, поэтому он не может показать текст."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Разблокировать по лицу"
|
||||
@@ -798,6 +872,10 @@ msgstr "Сканировать при возвращении"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Сканировать сразу после блокировки"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Какой экран блокировки"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Обои"
|
||||
@@ -965,35 +1043,48 @@ msgstr "Камера занята другим сканированием. По
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Не удалось добавить лицо (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Ищу ваше лицо…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Неверный пароль"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Лицо распознано"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
"Разблокировка по лицу для экрана блокировки, sudo и запросов администратора"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Настроить лицо."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Как назвать новое лицо."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Заблокировать экран."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Один раз проиграть анимации пузыря."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Стиль пузыря для демо: full или minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Спрашивает, какой экран блокировки использовать, и выводит ответ."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Посмотрите в камеру, чтобы разблокировать."
|
||||
@@ -1053,7 +1144,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Имя (необязательно)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Отмена"
|
||||
|
||||
@@ -1073,14 +1164,67 @@ msgstr "Начать"
|
||||
msgid "Done"
|
||||
msgstr "Готово"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Выбор экрана блокировки"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Ваш экран блокировки"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Ваш рабочий стол оставляет экран блокировки программе на ваш выбор. "
|
||||
"Выберите, как там будет выглядеть face unlock. Это можно изменить позже в "
|
||||
"Настройках."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Экран блокировки face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"Пузырь сверху, время и ваши обои. Ваше сочетание клавиш и блокировка по "
|
||||
"бездействию тогда запускают face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Оставить свой экран блокировки"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Он остаётся как есть. hyprlock показывает сверху строку текста вместо "
|
||||
"пузыря. Enter в пустом поле пароля запускает сканирование."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Он остаётся как есть, без пузыря. Enter в пустом поле пароля запускает "
|
||||
"сканирование."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Продолжить"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Посмотрите в камеру или введите пароль"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Введите пароль"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Turkish\n"
|
||||
@@ -57,8 +57,9 @@ msgstr "Hiç yüz eklenmedi."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Önce yüzünüzü kurun."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Ayar kaydedilemedi."
|
||||
|
||||
@@ -80,7 +81,15 @@ msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr ""
|
||||
"Bir kez oturumu kapatıp yeniden açın: o zaman GNOME de baloncuğu gösterir."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Pencerede kilit ekranınızı seçin."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "Kilit ekranı seçilmedi. Bunu daha sonra Ayarlar'dan yapabilirsiniz."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -89,100 +98,100 @@ msgstr ""
|
||||
"Kilit ekranı (%s) da yüzünüzü kabul eder. Döndüğünüzde taramazsa boş parola "
|
||||
"alanında Enter'a basın."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr "Yüzle kilit açma açık. Denemek için ekranı kilitleyin ve ona bakın."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "sudo ve yönetici istemlerinde de çalışabilir. Ayarlar'a bakın."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Yüzle kilit açma kapalı. Yüzleriniz saklanıyor; Yüzler bölümünden "
|
||||
"silebilirsiniz."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Henüz hiç yüz kurulmadı."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "açık"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "kapalı"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s örnek, %s öğrenilen"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Hangi yüz? Kimlikler için `%s faces` komutuna bakın."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Silindi."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Kullanım: face-unlock [komut]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Komutlar:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Yüzle kilit açmayı aç"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Kapat (yüzler saklanır)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Yüz ekle"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Yüzleri listele"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Bir yüzü sil"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Kameraya bak ve onun ne gördüğünü gör"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Ekranı kilitle"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Neyin açık olduğunu göster"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Bu yardımı göster"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Sürümü göster"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Komut verilmezse etkileşimli bir menü gösterilir."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -190,42 +199,42 @@ msgstr ""
|
||||
"Bunu root olarak değil, kendi kullanıcınızla çalıştırın. Gerektiğinde "
|
||||
"parolanızı sorar."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Bilinmeyen komut: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "hiçbir zaman"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "az önce"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 dakika önce"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d dakika önce"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 saat önce"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d saat önce"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 gün önce"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d gün önce"
|
||||
@@ -265,7 +274,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "Kamera kullanılamadı."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Tanıma modelleri eksik. Paketi yeniden kurun."
|
||||
|
||||
@@ -369,11 +378,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[e/H]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "AÇIK"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "KAPALI"
|
||||
|
||||
@@ -414,85 +423,93 @@ msgstr "yavaş"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s saniye"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "otomatik"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "sizinki"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Yüzle kilit açma"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Hizmet"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "çalışmıyor"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Yüzle kilit açmayı yeniden açmak onu başlatır."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Yüzler"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "henüz kurulmadı"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "hepsi kapalı"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "bulunamadı"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Kamera"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Kilit ekranı"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Yönetici istemleri"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Kilit ekranları"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Fotoğraf denetimi"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "Duraklatıldı"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "%d dakika daha ya da parola kullanılana kadar"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Son kilit açma"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "Kilit ekranı aracısı çalışmıyor."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -500,7 +517,7 @@ msgstr ""
|
||||
"GNOME'da baloncuğu küçük bir GNOME uzantısı gösterir. Yüzle kilit açmayı "
|
||||
"açınca o da açılır."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
msgid ""
|
||||
"Scans when you come back to hyprlock, swaylock or face-unlock's own lock "
|
||||
"screen (`face-unlock lock`, with the bubble), and opens them. Other lock "
|
||||
@@ -510,7 +527,7 @@ msgstr ""
|
||||
"unlock lock`, baloncukla) döndüğünüzde tarar ve onları açar. Diğer kilit "
|
||||
"ekranları Enter ile tarar."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -518,7 +535,7 @@ msgstr ""
|
||||
"Yüzünüzü görünce kilit ekranını açar. Kapalı: orada yalnızca parolanız "
|
||||
"çalışır."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -526,7 +543,7 @@ msgstr ""
|
||||
"Kilit ekranında bir tuşa bastığınızda ya da fareyi oynattığınızda ve "
|
||||
"bilgisayar uyandığında tarar."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -534,7 +551,7 @@ msgstr ""
|
||||
"Ekran kilitlenir kilitlenmez tarar. Varsayılan olarak kapalı: kendiniz "
|
||||
"kilitlerseniz hemen yeniden açılırdı."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -542,7 +559,17 @@ msgstr ""
|
||||
"sudo parola yerine yüzünüzü kullanır. Eşleşmezse parolayı her zamanki gibi "
|
||||
"yazarsınız."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"face-unlock'un kilit ekranı baloncuğu gösterir ve `face-unlock lock` ile "
|
||||
"kilitlersiniz. Ya da kendinizinkini koruyun: hyprlock o zaman üstte bir "
|
||||
"satır metin gösterir. Enter seçimi açar."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
msgid ""
|
||||
"The picture behind face-unlock's own lock screen (`face-unlock lock`). "
|
||||
"Empty: the one on your desktop. Or a file, a folder to take one from at "
|
||||
@@ -552,11 +579,11 @@ msgstr ""
|
||||
"masaüstünüzdeki resim. Ya da bir dosya, rastgele seçilecek bir klasör veya "
|
||||
"`none`. Yazmak için Enter."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "face-unlock kilit ekranının arkasındaki resmi bulanıklaştırır."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -565,7 +592,7 @@ msgstr ""
|
||||
"Kilit ekranı parola denetiminde yüzünüzü kabul eder. Taramak için boş alanda "
|
||||
"Enter'a basın. Burada bulunanlar: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -573,18 +600,18 @@ msgstr ""
|
||||
"Masaüstünüzün ve uygulamaların parola pencereleri, örneğin yazılım kurarken. "
|
||||
"Eşleşmezse parolayı yazarsınız."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Göz kırpmanız ya da başınızı biraz çevirmeniz gerekir. Bu, basılı "
|
||||
"fotoğrafları da durdurur."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Hiç denetim yok. Yalnızca bir kamerayı denemek için."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -592,21 +619,21 @@ msgstr ""
|
||||
"Telefon, tablet ya da parlak kâğıttaki fotoğrafları durdurur. Göz kırpmanız "
|
||||
"gerekmez. Mat basılı bir fotoğraf geçebilir."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Daha az yanlış eşleşme, ama gözlükle ya da kötü ışıkta sizi tanımayabilir."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "Sizi daha kolay tanır, ama size çok benzeyen birini de."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "Varsayılan. Çoğu kişi için uygun."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -614,7 +641,7 @@ msgstr ""
|
||||
"Gözleriniz açık ve ekrana dönük olmalı. Böylece başka yere bakarken ya da "
|
||||
"uyurken kilit açılmaz."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -623,11 +650,11 @@ msgstr ""
|
||||
"kurun. Kızılötesi kameranın ışığının açık olması gerekir (linux-enable-ir-"
|
||||
"emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Kameranın vazgeçmeden önce yüzünüzü ne kadar aradığı."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -635,105 +662,105 @@ msgstr ""
|
||||
"Kesin bir eşleşmeden sonra şu anki görünüşünüzü hatırlar. Böylece yeni saç "
|
||||
"kesimi ya da gözlük yeniden kurulum gerektirmez."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
msgstr "Dizüstü kapalıyken tarama yok, örneğin harici ekranlı bir masada."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "Ekranın üstündeki baloncuk kameranın ne yaptığını gösterir."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Açılan bir kilidi olan küçük bir hap."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr ""
|
||||
"Etrafına bakan bir yüzü olan bir ada, ardından halkalar ve bir onay işareti."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "Baloncuğun ne kadar hızlı hareket ettiği."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"sudo ya da bir yönetici istemi yüzünüzü taradığında da baloncuğu gösterir."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "otomatik (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(kızılötesi)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(bağlı değil)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "masaüstüyle aynı"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "yok"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Resim ya da klasör:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Bulunamadı: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Ayarlar"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ seç ←→ ya da Boşluk: değiştir q: geri"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "tüm kullanıcılar için, parolanızı sorar"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Yukarı/Aşağı: seç, Boşluk: aç/kapat, r: yeniden adlandır, d: sil, a: ekle, "
|
||||
"q: geri"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Henüz hiç yüz kurulmadı. Eklemek için a tuşuna basın."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Yeni ad:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "\"%s\" silinsin mi?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Yüzle kilit açmayı aç ya da kapat"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Dene"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Çık"
|
||||
|
||||
@@ -781,6 +808,57 @@ msgstr ""
|
||||
"Hyprland kilit ekranı aracısını kendiliğinden başlatmaz. Bunu %s dosyasına "
|
||||
"ekleyin:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr ""
|
||||
"Onunla kilitlemek için bunu %s dosyasına ekleyin ve %s ayarını %s içine "
|
||||
"yazın:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Onunla kilitlemek için bunu %s içindeki binds'a ekleyin ve swayidle'da %s "
|
||||
"kullanın:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Onunla kilitlemek için kilit ekranınızın şu an başlatıldığı yerde %s "
|
||||
"çalıştırın."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Artık face-unlock'un kilit ekranıyla kilitliyorsunuz."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr ""
|
||||
"Bir sonraki kilitlemeden itibaren hyprlock, face unlock'un ne yaptığını "
|
||||
"üstte gösterir."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Satır %s dosyasına eklenemedi."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Kilit ekranınız olduğu gibi kalır. Taramak için boş parola alanında Enter'a "
|
||||
"basın."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock'un %s dosyası yok, bu yüzden metni gösteremez."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Yüzünüzle kilidi açın"
|
||||
@@ -793,6 +871,10 @@ msgstr "Geri döndüğünüzde tara"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Kilitledikten hemen sonra tara"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Hangi kilit ekranı"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Duvar kâğıdı"
|
||||
@@ -957,34 +1039,47 @@ msgstr "Kamera başka bir taramayla meşgul. Birazdan yeniden deneyin."
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Yüz eklenemedi (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Yüzünüz aranıyor…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Yanlış parola"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Yüz tanındı"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr "Kilit ekranı, sudo ve yönetici istemleri için yüzle kilit açma"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Bir yüz kur."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Yeni yüzün adı."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Ekranı kilitle."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Baloncuğun animasyonlarını bir kez oynat."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Demo için baloncuk stili: full ya da minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Hangi kilit ekranının kullanılacağını sorar ve cevabı yazdırır."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Kilidi açmak için kameraya bakın."
|
||||
@@ -1043,7 +1138,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Ad (isteğe bağlı)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
@@ -1063,14 +1158,66 @@ msgstr "Başlayalım"
|
||||
msgid "Done"
|
||||
msgstr "Bitti"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Kilit ekranınızı seçin"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Kilit ekranınız"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Masaüstünüz kilit ekranını seçtiğiniz bir programa bırakır. face unlock'un "
|
||||
"orada nasıl görüneceğini seçin. Bunu daha sonra Ayarlar'dan "
|
||||
"değiştirebilirsiniz."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "face-unlock'un kilit ekranı"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"Üstte baloncuk, saat ve duvar kağıdınız. Kısayolunuz ve boşta kilitleme o "
|
||||
"zaman face-unlock lock çalıştırır."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Kilit ekranınızı koruyun"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Olduğu gibi kalır. hyprlock baloncuk yerine üstte bir satır metin gösterir. "
|
||||
"Boş parola alanında Enter tarama yapar."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Olduğu gibi kalır, baloncuk olmadan. Boş parola alanında Enter tarama yapar."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Devam"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Parola"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Kameraya bakın ya da parolanızı yazın"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Parolanızı yazın"
|
||||
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
@@ -59,8 +59,9 @@ msgstr "Обличчя не додано."
|
||||
msgid "First, set up your face."
|
||||
msgstr "Спершу налаштуйте своє обличчя."
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "Не вдалося зберегти налаштування."
|
||||
|
||||
@@ -82,7 +83,15 @@ msgstr "Не вдалося увімкнути розширення GNOME, як
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "Вийдіть і увійдіть знову один раз: тоді GNOME теж покаже бульбашку."
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "Виберіть екран блокування у вікні."
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "Екран блокування не вибрано. Це можна зробити пізніше в Налаштуваннях."
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -91,103 +100,103 @@ msgstr ""
|
||||
"Екран блокування (%s) теж приймає ваше обличчя. Якщо він не сканує, коли ви "
|
||||
"повертаєтеся, натисніть Enter у порожньому полі пароля."
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr ""
|
||||
"Розблокування обличчям увімкнено. Заблокуйте екран і подивіться на нього, "
|
||||
"щоб спробувати."
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr ""
|
||||
"Воно працює і для sudo, і для запитів адміністратора. Див. Налаштування."
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr ""
|
||||
"Розблокування обличчям вимкнено. Ваші обличчя збережено; видалити їх можна в "
|
||||
"розділі Обличчя."
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "Ще не налаштовано жодного обличчя."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "увімк."
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "вимк."
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "зразків: %s, вивчено: %s"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "Яке обличчя? Номери показує `%s faces`."
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "Видалено."
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "Використання: face-unlock [команда]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "Команди:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "Увімкнути розблокування обличчям"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "Вимкнути його (обличчя зберігаються)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "Додати обличчя"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "Показати список облич"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "Видалити обличчя"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "Подивитися в камеру і побачити, що вона бачить"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "Заблокувати екран"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "Показати, що увімкнено"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "Показати цю довідку"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "Показати версію"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "Без команди відкривається інтерактивне меню."
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
@@ -195,42 +204,42 @@ msgstr ""
|
||||
"Запускайте це від свого користувача, не від root. Пароль буде запитано, коли "
|
||||
"він знадобиться."
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "Невідома команда: %s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "ніколи"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "щойно"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 хвилину тому"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d хв тому"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 годину тому"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d год тому"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 день тому"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d дн. тому"
|
||||
@@ -270,7 +279,7 @@ msgstr ""
|
||||
msgid "The camera could not be used."
|
||||
msgstr "Не вдалося використати камеру."
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "Немає моделей розпізнавання. Перевстановіть пакунок."
|
||||
|
||||
@@ -374,11 +383,11 @@ msgstr ""
|
||||
msgid "[y/N]"
|
||||
msgstr "[т/Н]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "УВІМК"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "ВИМК"
|
||||
|
||||
@@ -419,85 +428,93 @@ msgstr "повільна"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s с"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "автоматично"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "ваш"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "Розблокування обличчям"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "Служба"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "не запущена"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "Повторне ввімкнення розблокування обличчям запустить її."
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "Обличчя"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "ще не налаштовано"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "усі вимкнено"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "не знайдено"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "Камера"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "Екран блокування"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "Запити адміністратора"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "Екрани блокування"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "Перевірка на фото"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "Призупинено"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "ще %d хв або до введення пароля"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "Останнє розблокування"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "Агент екрана блокування не запущено."
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
@@ -505,7 +522,7 @@ msgstr ""
|
||||
"У GNOME бульбашку показує невелике розширення GNOME. Воно вмикається разом "
|
||||
"із розблокуванням обличчям."
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -515,7 +532,7 @@ msgstr ""
|
||||
"блокування face-unlock (`face-unlock lock`, з бульбашкою), і відкриває їх. "
|
||||
"Інші екрани блокування сканують за Enter."
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
@@ -523,7 +540,7 @@ msgstr ""
|
||||
"Розблоковує екран блокування, коли бачить ваше обличчя. Вимк.: там працює "
|
||||
"лише пароль."
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
msgid ""
|
||||
"Scans when you press a key or move the mouse on the lock screen, and when "
|
||||
"the computer wakes up."
|
||||
@@ -531,7 +548,7 @@ msgstr ""
|
||||
"Сканує, коли ви натискаєте клавішу або рухаєте мишею на екрані блокування, і "
|
||||
"коли комп'ютер прокидається."
|
||||
|
||||
#: src/lib/menu.sh:329
|
||||
#: src/lib/menu.sh:333
|
||||
msgid ""
|
||||
"Scans as soon as the screen locks. Off by default: if you lock it yourself, "
|
||||
"it would unlock again right away."
|
||||
@@ -539,7 +556,7 @@ msgstr ""
|
||||
"Сканує одразу після блокування екрана. Типово вимк.: якщо ви блокуєте самі, "
|
||||
"він одразу б розблокувався."
|
||||
|
||||
#: src/lib/menu.sh:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
@@ -547,7 +564,17 @@ msgstr ""
|
||||
"sudo приймає ваше обличчя замість пароля. Не збіглося: ви вводите пароль як "
|
||||
"зазвичай."
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"Екран блокування face-unlock показує бульбашку, а блокувати потрібно "
|
||||
"командою `face-unlock lock`. Або залиште свій: тоді hyprlock покаже вгорі "
|
||||
"рядок тексту. Enter відкриває вибір."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -557,11 +584,11 @@ msgstr ""
|
||||
"те, що на робочому столі. Або файл, тека, з якої береться випадкове, або "
|
||||
"`none`. Натисніть Enter, щоб ввести."
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "Розмиває зображення за екраном блокування face-unlock."
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -570,7 +597,7 @@ msgstr ""
|
||||
"Екран блокування приймає ваше обличчя під час перевірки пароля. Натисніть "
|
||||
"Enter у порожньому полі, щоб сканувати. Знайдено тут: %s."
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
msgid ""
|
||||
"The password windows of your desktop and apps, for example when you install "
|
||||
"software. No match: you type the password."
|
||||
@@ -578,17 +605,17 @@ msgstr ""
|
||||
"Вікна введення пароля робочого столу і програм, наприклад під час "
|
||||
"встановлення програм. Не збіглося: ви вводите пароль."
|
||||
|
||||
#: src/lib/menu.sh:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr ""
|
||||
"Треба кліпнути або трохи повернути голову. Це також зупиняє надруковані фото."
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "Жодної перевірки. Лише щоб випробувати камеру."
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
msgid ""
|
||||
"Stops photos on a phone, a tablet or glossy paper. You do not have to blink. "
|
||||
"A matte printed photo can get through."
|
||||
@@ -596,22 +623,22 @@ msgstr ""
|
||||
"Зупиняє фото на телефоні, планшеті чи глянцевому папері. Кліпати не треба. "
|
||||
"Матове надруковане фото може пройти."
|
||||
|
||||
#: src/lib/menu.sh:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr ""
|
||||
"Менше хибних збігів, але може не впізнати вас в окулярах або при поганому "
|
||||
"світлі."
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "Впізнає вас легше, але й того, хто дуже на вас схожий."
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "Типове значення. Підходить більшості."
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
msgid ""
|
||||
"Your eyes have to be open and on the screen. So it does not unlock while you "
|
||||
"look away or sleep."
|
||||
@@ -619,7 +646,7 @@ msgstr ""
|
||||
"Ваші очі мають бути розплющені й дивитися на екран. Так він не "
|
||||
"розблокується, коли ви дивитеся вбік або спите."
|
||||
|
||||
#: src/lib/menu.sh:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -628,11 +655,11 @@ msgstr ""
|
||||
"знову. Інфрачервоній камері потрібне ввімкнене підсвічування (linux-enable-"
|
||||
"ir-emitter)."
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "Як довго камера шукає ваше обличчя, перш ніж здатися."
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
msgid ""
|
||||
"After a sure match it keeps how you look now. So a new haircut or glasses "
|
||||
"need no new setup."
|
||||
@@ -640,7 +667,7 @@ msgstr ""
|
||||
"Після впевненого збігу запам'ятовує, як ви виглядаєте зараз. Нова зачіска чи "
|
||||
"окуляри не потребують нового налаштування."
|
||||
|
||||
#: src/lib/menu.sh:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
@@ -648,99 +675,99 @@ msgstr ""
|
||||
"Без сканування, коли ноутбук закрито, наприклад за столом із зовнішнім "
|
||||
"монітором."
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "Бульбашка вгорі екрана показує, що робить камера."
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "Маленька пігулка із замком, що відкривається."
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "Острів з обличчям, яке озирається, потім кільця і галочка."
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "Як швидко рухається бульбашка."
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr ""
|
||||
"Показує бульбашку й тоді, коли sudo або запит адміністратора сканує ваше "
|
||||
"обличчя."
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "автоматично (%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(інфрачервона)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(не під'єднана)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "як на робочому столі"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "немає"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "Зображення або тека:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "Не знайдено: %s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "Налаштування"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ вибір ←→ або Пробіл: змінити q: назад"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "для всіх користувачів, запитує пароль"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr ""
|
||||
"Вгору/Вниз: вибір, Пробіл: увімк./вимк., r: перейменувати, d: видалити, a: "
|
||||
"додати, q: назад"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "Ще не налаштовано жодного обличчя. Натисніть a, щоб додати."
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "Нова назва:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "Видалити «%s»?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "Увімкнути або вимкнути розблокування обличчям"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "Спробувати"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "Вийти"
|
||||
|
||||
@@ -786,6 +813,52 @@ msgid ""
|
||||
"Hyprland does not start the lock screen agent by itself. Add this to %s:"
|
||||
msgstr "Hyprland сам не запускає агент екрана блокування. Додайте це до %s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "Щоб блокувати ним, додайте це до %s і вкажіть %s у %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr ""
|
||||
"Щоб блокувати ним, додайте це до binds у %s і використовуйте %s у swayidle:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr ""
|
||||
"Щоб блокувати ним, запускайте %s там, де зараз запускається ваш екран "
|
||||
"блокування."
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "Тепер ви блокуєте екраном блокування face-unlock."
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr "hyprlock покаже вгорі, що робить face unlock, з наступного блокування."
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "Не вдалося додати рядок до %s."
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr ""
|
||||
"Ваш екран блокування залишається як є. Натисніть Enter у порожньому полі "
|
||||
"пароля, щоб сканувати."
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "У hyprlock немає %s, тому він не може показати текст."
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "Розблоковувати обличчям"
|
||||
@@ -798,6 +871,10 @@ msgstr "Сканувати, коли ви повертаєтеся"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "Сканувати одразу після блокування"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "Який екран блокування"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "Шпалери"
|
||||
@@ -964,35 +1041,48 @@ msgstr "Камера зайнята іншим скануванням. Спро
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "Не вдалося додати обличчя (%1)."
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "Шукаю ваше обличчя…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "Неправильний пароль"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "Обличчя розпізнано"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr ""
|
||||
"Розблокування обличчям для екрана блокування, sudo і запитів адміністратора"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "Налаштувати обличчя."
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "Як назвати нове обличчя."
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "Заблокувати екран."
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "Один раз програти анімації бульбашки."
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "Стиль бульбашки для демо: full або minimal."
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "Питає, який екран блокування використовувати, і виводить відповідь."
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "Подивіться в камеру, щоб розблокувати."
|
||||
@@ -1052,7 +1142,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "Назва (необов'язково)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "Скасувати"
|
||||
|
||||
@@ -1072,14 +1162,66 @@ msgstr "Почати"
|
||||
msgid "Done"
|
||||
msgstr "Готово"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "Вибір екрана блокування"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "Ваш екран блокування"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"Ваша стільниця залишає екран блокування програмі на ваш вибір. Виберіть, як "
|
||||
"там виглядатиме face unlock. Це можна змінити пізніше в Налаштуваннях."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "Екран блокування face-unlock"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"Бульбашка вгорі, час і ваші шпалери. Ваше сполучення клавіш і блокування "
|
||||
"через бездіяльність тоді запускають face-unlock lock."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "Залишити свій екран блокування"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"Він залишається як є. hyprlock показує вгорі рядок тексту замість бульбашки. "
|
||||
"Enter у порожньому полі пароля запускає сканування."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr ""
|
||||
"Він залишається як є, без бульбашки. Enter у порожньому полі пароля запускає "
|
||||
"сканування."
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "Продовжити"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "Пароль"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "Подивіться в камеру або введіть пароль"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "Введіть пароль"
|
||||
+246
-113
@@ -6,7 +6,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: face-unlock 1.0.1\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/LoonixTools/face-unlock/issues\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:35+0200\n"
|
||||
"POT-Creation-Date: 2026-09-26 19:36+0200\n"
|
||||
"PO-Revision-Date: 2026-09-24 12:00+0200\n"
|
||||
"Last-Translator: Felitendo\n"
|
||||
"Language-Team: Chinese (simplified)\n"
|
||||
@@ -53,8 +53,9 @@ msgstr "没有添加人脸。"
|
||||
msgid "First, set up your face."
|
||||
msgstr "请先设置你的人脸。"
|
||||
|
||||
#: src/face-unlock:100 src/face-unlock:139 src/lib/menu.sh:500
|
||||
#: src/lib/menu.sh:504 src/lib/menu.sh:510 src/lib/menu.sh:512
|
||||
#: 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
|
||||
msgid "Could not save the setting."
|
||||
msgstr "无法保存设置。"
|
||||
|
||||
@@ -74,7 +75,15 @@ msgstr "无法启用显示气泡的 GNOME 扩展。"
|
||||
msgid "Log out and back in once: then GNOME shows the bubble too."
|
||||
msgstr "请注销并重新登录一次:之后 GNOME 也会显示气泡。"
|
||||
|
||||
#: src/face-unlock:129
|
||||
#: src/face-unlock:131
|
||||
msgid "Pick your lock screen in the window."
|
||||
msgstr "请在窗口中选择锁屏。"
|
||||
|
||||
#: src/face-unlock:132
|
||||
msgid "No lock screen picked. You can do it later under Settings."
|
||||
msgstr "未选择锁屏。之后可以在设置中选择。"
|
||||
|
||||
#: src/face-unlock:135
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen (%s) takes your face too. If it does not scan when you come "
|
||||
@@ -82,139 +91,139 @@ msgid ""
|
||||
msgstr ""
|
||||
"锁屏(%s)也接受你的人脸。如果你回来时它没有扫描,请在空的密码框中按 Enter。"
|
||||
|
||||
#: src/face-unlock:132
|
||||
#: src/face-unlock:138
|
||||
msgid "Face unlock is on. Lock the screen and look at it to try."
|
||||
msgstr "人脸解锁已开启。锁定屏幕并看着它来试试。"
|
||||
|
||||
#: src/face-unlock:134
|
||||
#: src/face-unlock:140
|
||||
msgid "It can do sudo and admin prompts too. See Settings."
|
||||
msgstr "它也可以用于 sudo 和管理员授权。见“设置”。"
|
||||
|
||||
#: src/face-unlock:150
|
||||
#: src/face-unlock:156
|
||||
msgid "Face unlock is off. Your faces are kept; delete them under Faces."
|
||||
msgstr "人脸解锁已关闭。你的人脸会保留;可在“人脸”中删除。"
|
||||
|
||||
#: src/face-unlock:164 src/lib/daemon.sh:109
|
||||
#: src/face-unlock:170 src/lib/daemon.sh:109
|
||||
msgid "No face is set up yet."
|
||||
msgstr "尚未设置任何人脸。"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:180 src/lib/menu.sh:664
|
||||
#: src/face-unlock:174 src/lib/menu.sh:180 src/lib/menu.sh:685
|
||||
msgid "on"
|
||||
msgstr "开"
|
||||
|
||||
#: src/face-unlock:168 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:665
|
||||
#: src/face-unlock:174 src/lib/menu.sh:182 src/lib/menu.sh:192
|
||||
#: src/lib/menu.sh:686
|
||||
msgid "off"
|
||||
msgstr "关"
|
||||
|
||||
#: src/face-unlock:170 src/lib/menu.sh:682
|
||||
#: src/face-unlock:176 src/lib/menu.sh:703
|
||||
#, sh-printf-format
|
||||
msgid "%s samples, %s learned"
|
||||
msgstr "%s 个样本,已学习 %s 个"
|
||||
|
||||
#: src/face-unlock:176
|
||||
#: src/face-unlock:182
|
||||
#, sh-printf-format
|
||||
msgid "Which face? See `%s faces` for the ids."
|
||||
msgstr "哪张人脸?用 `%s faces` 查看 ID。"
|
||||
|
||||
#: src/face-unlock:180
|
||||
#: src/face-unlock:186
|
||||
msgid "Deleted."
|
||||
msgstr "已删除。"
|
||||
|
||||
#: src/face-unlock:191
|
||||
#: src/face-unlock:197
|
||||
msgid "Usage: face-unlock [command]"
|
||||
msgstr "用法:face-unlock [命令]"
|
||||
|
||||
#: src/face-unlock:193
|
||||
#: src/face-unlock:199
|
||||
msgid "Commands:"
|
||||
msgstr "命令:"
|
||||
|
||||
#: src/face-unlock:194
|
||||
#: src/face-unlock:200
|
||||
msgid "Turn face unlock on"
|
||||
msgstr "开启人脸解锁"
|
||||
|
||||
#: src/face-unlock:195
|
||||
#: src/face-unlock:201
|
||||
msgid "Turn it off (faces are kept)"
|
||||
msgstr "关闭(保留人脸)"
|
||||
|
||||
#: src/face-unlock:196 src/lib/menu.sh:748
|
||||
#: src/face-unlock:202 src/lib/menu.sh:769
|
||||
msgid "Add a face"
|
||||
msgstr "添加人脸"
|
||||
|
||||
#: src/face-unlock:197
|
||||
#: src/face-unlock:203
|
||||
msgid "List the faces"
|
||||
msgstr "列出人脸"
|
||||
|
||||
#: src/face-unlock:198
|
||||
#: src/face-unlock:204
|
||||
msgid "Delete a face"
|
||||
msgstr "删除人脸"
|
||||
|
||||
#: src/face-unlock:199
|
||||
#: src/face-unlock:205
|
||||
msgid "Look at the camera and see what it sees"
|
||||
msgstr "看着摄像头,查看它看到的画面"
|
||||
|
||||
#: src/face-unlock:200
|
||||
#: src/face-unlock:206
|
||||
msgid "Lock the screen"
|
||||
msgstr "锁定屏幕"
|
||||
|
||||
#: src/face-unlock:201
|
||||
#: src/face-unlock:207
|
||||
msgid "Show what is on"
|
||||
msgstr "显示已开启的功能"
|
||||
|
||||
#: src/face-unlock:202
|
||||
#: src/face-unlock:208
|
||||
msgid "Show this help"
|
||||
msgstr "显示此帮助"
|
||||
|
||||
#: src/face-unlock:203
|
||||
#: src/face-unlock:209
|
||||
msgid "Show the version"
|
||||
msgstr "显示版本"
|
||||
|
||||
#: src/face-unlock:205
|
||||
#: src/face-unlock:211
|
||||
msgid "Without a command an interactive menu is shown."
|
||||
msgstr "不带命令时显示交互式菜单。"
|
||||
|
||||
#: src/face-unlock:224
|
||||
#: src/face-unlock:230
|
||||
msgid ""
|
||||
"Run this as your own user, not as root. It asks for your password when it "
|
||||
"needs to."
|
||||
msgstr "请以你自己的用户运行,不要用 root。需要时会询问你的密码。"
|
||||
|
||||
#: src/face-unlock:247 src/lib/system.sh:101
|
||||
#: src/face-unlock:253 src/lib/system.sh:101
|
||||
#, sh-printf-format
|
||||
msgid "Unknown command: %s"
|
||||
msgstr "未知命令:%s"
|
||||
|
||||
#: src/lib/common.sh:171
|
||||
#: src/lib/common.sh:173
|
||||
msgid "never"
|
||||
msgstr "从未"
|
||||
|
||||
#: src/lib/common.sh:181
|
||||
#: src/lib/common.sh:183
|
||||
msgid "just now"
|
||||
msgstr "刚刚"
|
||||
|
||||
#: src/lib/common.sh:183
|
||||
#: src/lib/common.sh:185
|
||||
msgid "1 minute ago"
|
||||
msgstr "1 分钟前"
|
||||
|
||||
#: src/lib/common.sh:186
|
||||
#: src/lib/common.sh:188
|
||||
#, sh-printf-format
|
||||
msgid "%d minutes ago"
|
||||
msgstr "%d 分钟前"
|
||||
|
||||
#: src/lib/common.sh:188
|
||||
#: src/lib/common.sh:190
|
||||
msgid "1 hour ago"
|
||||
msgstr "1 小时前"
|
||||
|
||||
#: src/lib/common.sh:191
|
||||
#: src/lib/common.sh:193
|
||||
#, sh-printf-format
|
||||
msgid "%d hours ago"
|
||||
msgstr "%d 小时前"
|
||||
|
||||
#: src/lib/common.sh:193
|
||||
#: src/lib/common.sh:195
|
||||
msgid "1 day ago"
|
||||
msgstr "1 天前"
|
||||
|
||||
#: src/lib/common.sh:196
|
||||
#: src/lib/common.sh:198
|
||||
#, sh-printf-format
|
||||
msgid "%d days ago"
|
||||
msgstr "%d 天前"
|
||||
@@ -252,7 +261,7 @@ msgstr "尝试次数过多,人脸解锁已暂停。请用密码解锁一次。
|
||||
msgid "The camera could not be used."
|
||||
msgstr "无法使用摄像头。"
|
||||
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:265
|
||||
#: src/lib/daemon.sh:111 src/lib/menu.sh:267
|
||||
msgid "The recognition models are missing. Reinstall the package."
|
||||
msgstr "缺少识别模型。请重新安装软件包。"
|
||||
|
||||
@@ -354,11 +363,11 @@ msgstr "尝试次数过多。人脸解锁已暂停,直到你用密码解锁。
|
||||
msgid "[y/N]"
|
||||
msgstr "[y/N]"
|
||||
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:566
|
||||
#: src/lib/menu.sh:172 src/lib/menu.sh:583
|
||||
msgid "ON"
|
||||
msgstr "开启"
|
||||
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:567
|
||||
#: src/lib/menu.sh:174 src/lib/menu.sh:584
|
||||
msgid "OFF"
|
||||
msgstr "关闭"
|
||||
|
||||
@@ -399,92 +408,100 @@ msgstr "慢"
|
||||
msgid "%s seconds"
|
||||
msgstr "%s 秒"
|
||||
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:447
|
||||
#: src/lib/menu.sh:202 src/lib/menu.sh:452
|
||||
msgid "automatic"
|
||||
msgstr "自动"
|
||||
|
||||
#: src/lib/menu.sh:219
|
||||
#: src/lib/menu.sh:203
|
||||
msgid "face-unlock's"
|
||||
msgstr "face-unlock 的"
|
||||
|
||||
#: src/lib/menu.sh:204
|
||||
msgid "yours"
|
||||
msgstr "你自己的"
|
||||
|
||||
#: src/lib/menu.sh:221
|
||||
msgid "Face unlock"
|
||||
msgstr "人脸解锁"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "Service"
|
||||
msgstr "服务"
|
||||
|
||||
#: src/lib/menu.sh:223
|
||||
#: src/lib/menu.sh:225
|
||||
msgid "not running"
|
||||
msgstr "未运行"
|
||||
|
||||
#: src/lib/menu.sh:225
|
||||
#: src/lib/menu.sh:227
|
||||
msgid "Turning face unlock on again starts it."
|
||||
msgstr "重新开启人脸解锁即可启动它。"
|
||||
|
||||
#: src/lib/menu.sh:236 src/lib/menu.sh:238 src/lib/menu.sh:660
|
||||
#: src/lib/menu.sh:749
|
||||
#: src/lib/menu.sh:238 src/lib/menu.sh:240 src/lib/menu.sh:681
|
||||
#: src/lib/menu.sh:770
|
||||
msgid "Faces"
|
||||
msgstr "人脸"
|
||||
|
||||
#: src/lib/menu.sh:236
|
||||
#: src/lib/menu.sh:238
|
||||
msgid "none set up yet"
|
||||
msgstr "尚未设置"
|
||||
|
||||
#: src/lib/menu.sh:238
|
||||
#: src/lib/menu.sh:240
|
||||
msgid "all turned off"
|
||||
msgstr "全部关闭"
|
||||
|
||||
#: src/lib/menu.sh:244
|
||||
#: src/lib/menu.sh:246
|
||||
msgid "none found"
|
||||
msgstr "未找到"
|
||||
|
||||
#: src/lib/menu.sh:246 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
msgid "Camera"
|
||||
msgstr "摄像头"
|
||||
|
||||
#: src/lib/menu.sh:248 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:250 src/lib/menu.sh
|
||||
msgid "Lock screen"
|
||||
msgstr "锁屏"
|
||||
|
||||
#: src/lib/menu.sh:252
|
||||
#: src/lib/menu.sh:254
|
||||
msgid "sudo"
|
||||
msgstr "sudo"
|
||||
|
||||
#: src/lib/menu.sh:253 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
msgid "Admin prompts"
|
||||
msgstr "管理员授权"
|
||||
|
||||
#: src/lib/menu.sh:255 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
msgid "Lock screens"
|
||||
msgstr "锁屏"
|
||||
|
||||
#: src/lib/menu.sh:257 src/lib/menu.sh
|
||||
#: src/lib/menu.sh:259 src/lib/menu.sh
|
||||
msgid "Photo check"
|
||||
msgstr "照片检测"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
msgid "Paused"
|
||||
msgstr "已暂停"
|
||||
|
||||
#: src/lib/menu.sh:260
|
||||
#: src/lib/menu.sh:262
|
||||
#, sh-printf-format
|
||||
msgid "for %d more minutes, or until the password is used"
|
||||
msgstr "还有 %d 分钟,或直到使用密码"
|
||||
|
||||
#: src/lib/menu.sh:262
|
||||
#: src/lib/menu.sh:264
|
||||
msgid "Last unlock"
|
||||
msgstr "上次解锁"
|
||||
|
||||
#: src/lib/menu.sh:268
|
||||
#: src/lib/menu.sh:270
|
||||
msgid "The lock screen agent is not running."
|
||||
msgstr "锁屏代理没有运行。"
|
||||
|
||||
#: src/lib/menu.sh:318
|
||||
#: src/lib/menu.sh:322
|
||||
msgid ""
|
||||
"On GNOME a small GNOME extension shows the bubble. Turning face unlock on "
|
||||
"switches it on."
|
||||
msgstr ""
|
||||
"在 GNOME 上,由一个小的 GNOME 扩展显示气泡。开启人脸解锁时会一并开启它。"
|
||||
|
||||
#: src/lib/menu.sh:322
|
||||
#: src/lib/menu.sh:326
|
||||
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 "
|
||||
@@ -493,31 +510,40 @@ msgstr ""
|
||||
"回到 hyprlock、swaylock 或 face-unlock 自带的锁屏(`face-unlock lock`,带气"
|
||||
"泡)时扫描并打开它们。其他锁屏按 Enter 扫描。"
|
||||
|
||||
#: src/lib/menu.sh:327
|
||||
#: src/lib/menu.sh:331
|
||||
msgid ""
|
||||
"Unlocks the lock screen when it sees your face. Off: only your password "
|
||||
"works there."
|
||||
msgstr "看到你的脸时解锁锁屏。关闭:锁屏只能用密码。"
|
||||
|
||||
#: src/lib/menu.sh:328
|
||||
#: src/lib/menu.sh:332
|
||||
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:329
|
||||
#: src/lib/menu.sh:333
|
||||
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:330
|
||||
#: src/lib/menu.sh:334
|
||||
msgid ""
|
||||
"sudo takes your face instead of the password. No match: you type the "
|
||||
"password as usual."
|
||||
msgstr "sudo 用你的脸代替密码。不匹配时,照常输入密码。"
|
||||
|
||||
#: src/lib/menu.sh:331
|
||||
#: src/lib/menu.sh:335
|
||||
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 ""
|
||||
"face-unlock 的锁屏会显示气泡,用 `face-unlock lock` 锁屏。也可以保留你自己"
|
||||
"的:hyprlock 会在顶部显示一行文字。按 Enter 打开选择。"
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
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 "
|
||||
@@ -526,11 +552,11 @@ msgstr ""
|
||||
"face-unlock 锁屏(`face-unlock lock`)背后的图片。留空:用桌面的图片。或者一"
|
||||
"个文件、从中随机挑选的文件夹,或 `none`。按 Enter 输入。"
|
||||
|
||||
#: src/lib/menu.sh:332
|
||||
#: src/lib/menu.sh:337
|
||||
msgid "Blurs the picture behind face-unlock's own lock screen."
|
||||
msgstr "模糊 face-unlock 锁屏背后的图片。"
|
||||
|
||||
#: src/lib/menu.sh:333
|
||||
#: src/lib/menu.sh:338
|
||||
#, sh-printf-format
|
||||
msgid ""
|
||||
"The lock screen takes your face in its password check. Press Enter on the "
|
||||
@@ -538,47 +564,47 @@ msgid ""
|
||||
msgstr ""
|
||||
"锁屏在检查密码时也接受你的人脸。在空白框中按 Enter 即可扫描。此处找到:%s。"
|
||||
|
||||
#: src/lib/menu.sh:334
|
||||
#: src/lib/menu.sh:339
|
||||
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:335
|
||||
#: src/lib/menu.sh:340
|
||||
msgid ""
|
||||
"You have to blink or turn your head a little. This also stops printed photos."
|
||||
msgstr "你需要眨眼或稍微转头。这也能挡住打印的照片。"
|
||||
|
||||
#: src/lib/menu.sh:336
|
||||
#: src/lib/menu.sh:341
|
||||
msgid "No check at all. Only for trying out a camera."
|
||||
msgstr "完全不检测。仅用于试用摄像头。"
|
||||
|
||||
#: src/lib/menu.sh:337
|
||||
#: src/lib/menu.sh:342
|
||||
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:338
|
||||
#: src/lib/menu.sh:343
|
||||
msgid ""
|
||||
"Fewer wrong matches, but it may not know you with glasses or in bad light."
|
||||
msgstr "误认更少,但戴眼镜或光线不好时可能认不出你。"
|
||||
|
||||
#: src/lib/menu.sh:339
|
||||
#: src/lib/menu.sh:344
|
||||
msgid "Knows you more easily, but also somebody who looks a lot like you."
|
||||
msgstr "更容易认出你,但也更容易认出和你长得很像的人。"
|
||||
|
||||
#: src/lib/menu.sh:340
|
||||
#: src/lib/menu.sh:345
|
||||
msgid "The default. Right for most people."
|
||||
msgstr "默认值。适合大多数人。"
|
||||
|
||||
#: src/lib/menu.sh:341
|
||||
#: src/lib/menu.sh:346
|
||||
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:342
|
||||
#: src/lib/menu.sh:347
|
||||
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)."
|
||||
@@ -586,111 +612,111 @@ msgstr ""
|
||||
"“自动”会使用第一个普通摄像头。更换后请重新设置人脸。红外摄像头需要打开它的补"
|
||||
"光灯(linux-enable-ir-emitter)。"
|
||||
|
||||
#: src/lib/menu.sh:343
|
||||
#: src/lib/menu.sh:348
|
||||
msgid "How long the camera looks for your face before it gives up."
|
||||
msgstr "摄像头寻找你的脸多久后放弃。"
|
||||
|
||||
#: src/lib/menu.sh:344
|
||||
#: src/lib/menu.sh:349
|
||||
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:345
|
||||
#: src/lib/menu.sh:350
|
||||
msgid ""
|
||||
"No scan while the laptop is closed, for example at a desk with an external "
|
||||
"screen."
|
||||
msgstr "笔记本合上时不扫描,例如在接了外接显示器的桌前。"
|
||||
|
||||
#: src/lib/menu.sh:346
|
||||
#: src/lib/menu.sh:351
|
||||
msgid "The bubble at the top of the screen shows what the camera is doing."
|
||||
msgstr "屏幕顶部的气泡显示摄像头正在做什么。"
|
||||
|
||||
#: src/lib/menu.sh:347
|
||||
#: src/lib/menu.sh:352
|
||||
msgid "A small pill with a lock that opens."
|
||||
msgstr "一个带锁的小药丸,锁会打开。"
|
||||
|
||||
#: src/lib/menu.sh:348
|
||||
#: src/lib/menu.sh:353
|
||||
msgid "An island with a face that looks around, then rings and a tick."
|
||||
msgstr "一个岛,里面有一张四处张望的脸,然后是圆环和一个对勾。"
|
||||
|
||||
#: src/lib/menu.sh:349
|
||||
#: src/lib/menu.sh:354
|
||||
msgid "How fast the bubble moves."
|
||||
msgstr "气泡移动的速度。"
|
||||
|
||||
#: src/lib/menu.sh:350
|
||||
#: src/lib/menu.sh:355
|
||||
msgid "Shows the bubble when sudo or an admin prompt scans your face, too."
|
||||
msgstr "sudo 或管理员授权扫描你的脸时也显示气泡。"
|
||||
|
||||
#: src/lib/menu.sh:443
|
||||
#: src/lib/menu.sh:448
|
||||
#, sh-printf-format
|
||||
msgid "automatic (%s)"
|
||||
msgstr "自动(%s)"
|
||||
|
||||
#: src/lib/menu.sh:453
|
||||
#: src/lib/menu.sh:458
|
||||
msgid "(infrared)"
|
||||
msgstr "(红外)"
|
||||
|
||||
#: src/lib/menu.sh:457
|
||||
#: src/lib/menu.sh:462
|
||||
msgid "(not connected)"
|
||||
msgstr "(未连接)"
|
||||
|
||||
#: src/lib/menu.sh:466
|
||||
#: src/lib/menu.sh:471
|
||||
msgid "same as desktop"
|
||||
msgstr "与桌面相同"
|
||||
|
||||
#: src/lib/menu.sh:470
|
||||
#: src/lib/menu.sh:475
|
||||
msgid "none"
|
||||
msgstr "无"
|
||||
|
||||
#: src/lib/menu.sh:487
|
||||
#: src/lib/menu.sh:504
|
||||
msgid "Picture or folder:"
|
||||
msgstr "图片或文件夹:"
|
||||
|
||||
#: src/lib/menu.sh:492
|
||||
#: src/lib/menu.sh:509
|
||||
#, sh-printf-format
|
||||
msgid "Not found: %s"
|
||||
msgstr "未找到:%s"
|
||||
|
||||
#: src/lib/menu.sh:563 src/lib/menu.sh:750
|
||||
#: src/lib/menu.sh:580 src/lib/menu.sh:771
|
||||
msgid "Settings"
|
||||
msgstr "设置"
|
||||
|
||||
#: src/lib/menu.sh:564
|
||||
#: src/lib/menu.sh:581
|
||||
msgid "↑↓ select ←→ or Space: change q: back"
|
||||
msgstr "↑↓ 选择 ←→ 或空格:更改 q:返回"
|
||||
|
||||
#: src/lib/menu.sh:565
|
||||
#: src/lib/menu.sh:582
|
||||
msgid "for all users, asks for your password"
|
||||
msgstr "对所有用户生效,需要你的密码"
|
||||
|
||||
#. TRANSLATORS: keep the letters, they are the keys.
|
||||
#: src/lib/menu.sh:662
|
||||
#: src/lib/menu.sh:683
|
||||
msgid "Up/Down: select, Space: on/off, r: rename, d: delete, a: add, q: back"
|
||||
msgstr "上/下:选择,空格:开/关,r:重命名,d:删除,a:添加,q:返回"
|
||||
|
||||
#: src/lib/menu.sh:663
|
||||
#: src/lib/menu.sh:684
|
||||
msgid "No face is set up yet. Press a to add one."
|
||||
msgstr "尚未设置任何人脸。按 a 添加。"
|
||||
|
||||
#: src/lib/menu.sh:709
|
||||
#: src/lib/menu.sh:730
|
||||
msgid "New name:"
|
||||
msgstr "新名称:"
|
||||
|
||||
#: src/lib/menu.sh:716
|
||||
#: src/lib/menu.sh:737
|
||||
#, sh-printf-format
|
||||
msgid "Delete \"%s\"?"
|
||||
msgstr "删除“%s”?"
|
||||
|
||||
#: src/lib/menu.sh:747
|
||||
#: src/lib/menu.sh:768
|
||||
msgid "Turn face unlock on or off"
|
||||
msgstr "开启或关闭人脸解锁"
|
||||
|
||||
#: src/lib/menu.sh:751
|
||||
#: src/lib/menu.sh:772
|
||||
msgid "Try it"
|
||||
msgstr "试一试"
|
||||
|
||||
#: src/lib/menu.sh:752
|
||||
#: src/lib/menu.sh:773
|
||||
msgid "Quit"
|
||||
msgstr "退出"
|
||||
|
||||
@@ -734,6 +760,47 @@ msgid ""
|
||||
"Hyprland does not start the lock screen agent by itself. Add this to %s:"
|
||||
msgstr "Hyprland 不会自动启动锁屏代理。请把以下内容加入 %s:"
|
||||
|
||||
#: src/lib/system.sh:267 src/lib/system.sh:270
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to %s, and set %s in %s:"
|
||||
msgstr "要用它锁屏,请把这行加入 %s,并把 %s 写进 %s:"
|
||||
|
||||
#: src/lib/system.sh:275
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, add this to the binds in %s, and use %s in swayidle:"
|
||||
msgstr "要用它锁屏,请把这行加入 %s 的 binds,并在 swayidle 中使用 %s:"
|
||||
|
||||
#: src/lib/system.sh:279
|
||||
#, sh-printf-format
|
||||
msgid "To lock with it, run %s where your lock screen is started now."
|
||||
msgstr "要用它锁屏,请在现在启动锁屏的地方运行 %s。"
|
||||
|
||||
#: src/lib/system.sh:292
|
||||
msgid "You lock with face-unlock's lock screen now."
|
||||
msgstr "现在用 face-unlock 的锁屏锁定。"
|
||||
|
||||
#: src/lib/system.sh:299
|
||||
msgid ""
|
||||
"hyprlock shows what face unlock is doing at the top, from the next time it "
|
||||
"locks."
|
||||
msgstr "从下次锁屏起,hyprlock 会在顶部显示 face unlock 正在做什么。"
|
||||
|
||||
#: src/lib/system.sh:300
|
||||
#, sh-printf-format
|
||||
msgid "Could not add the line to %s."
|
||||
msgstr "无法把这行加入 %s。"
|
||||
|
||||
#: src/lib/system.sh:301
|
||||
msgid ""
|
||||
"Your lock screen stays as it is. Press Enter on the empty password field to "
|
||||
"scan."
|
||||
msgstr "你的锁屏保持不变。在空密码框中按 Enter 即可扫描。"
|
||||
|
||||
#: src/lib/system.sh:302
|
||||
#, sh-printf-format
|
||||
msgid "hyprlock has no %s, so it cannot show the text."
|
||||
msgstr "hyprlock 没有 %s,所以无法显示文字。"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Unlock with your face"
|
||||
msgstr "用人脸解锁"
|
||||
@@ -746,6 +813,10 @@ msgstr "你回来时扫描"
|
||||
msgid "Scan right after locking"
|
||||
msgstr "锁定后立即扫描"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Which lock screen"
|
||||
msgstr "使用哪个锁屏"
|
||||
|
||||
#: src/lib/menu.sh
|
||||
msgid "Wallpaper"
|
||||
msgstr "壁纸"
|
||||
@@ -910,34 +981,47 @@ msgstr "摄像头正忙于另一次扫描。请稍后重试。"
|
||||
msgid "The face could not be added (%1)."
|
||||
msgstr "无法添加人脸(%1)。"
|
||||
|
||||
#: src/agent/lockpreview.cpp:349 src/agent/lockpreview.cpp:559
|
||||
#: src/agent/locktext.cpp:45
|
||||
msgid "Looking for your face…"
|
||||
msgstr "正在寻找你的脸…"
|
||||
|
||||
#: src/agent/lockscreencontroller.cpp:172
|
||||
msgid "Wrong password"
|
||||
msgstr "密码错误"
|
||||
|
||||
#: src/agent/main.cpp:185
|
||||
#: src/agent/locktext.cpp:48
|
||||
msgid "Face recognized"
|
||||
msgstr "已识别面容"
|
||||
|
||||
#: src/agent/main.cpp:244
|
||||
msgid "Face unlock for the lock screen, sudo and admin prompts"
|
||||
msgstr "用于锁屏、sudo 和管理员授权的人脸解锁"
|
||||
|
||||
#: src/agent/main.cpp:188
|
||||
#: src/agent/main.cpp:247
|
||||
msgid "Set up a face."
|
||||
msgstr "设置一张人脸。"
|
||||
|
||||
#: src/agent/main.cpp:189
|
||||
#: src/agent/main.cpp:248
|
||||
msgid "What to call the new face."
|
||||
msgstr "新人脸的名称。"
|
||||
|
||||
#: src/agent/main.cpp:190
|
||||
#: src/agent/main.cpp:249
|
||||
msgid "Lock the screen."
|
||||
msgstr "锁定屏幕。"
|
||||
|
||||
#: src/agent/main.cpp:191
|
||||
#: src/agent/main.cpp:250
|
||||
msgid "Play the bubble's animations once."
|
||||
msgstr "播放一次气泡动画。"
|
||||
|
||||
#: src/agent/main.cpp:193
|
||||
#: src/agent/main.cpp:252
|
||||
msgid "Bubble style for the demo: full or minimal."
|
||||
msgstr "演示用的气泡样式:full 或 minimal。"
|
||||
|
||||
#: src/agent/main.cpp:253
|
||||
msgid "Ask which lock screen to use, and print the answer."
|
||||
msgstr "询问使用哪个锁屏,并输出答案。"
|
||||
|
||||
#: src/pam/pam_face_unlock.c:356
|
||||
msgid "Look at the camera to unlock."
|
||||
msgstr "看着摄像头来解锁。"
|
||||
@@ -993,7 +1077,7 @@ msgstr ""
|
||||
msgid "Name (optional)"
|
||||
msgstr "名称(可选)"
|
||||
|
||||
#: src/agent/qml/Enroll.qml:177
|
||||
#: src/agent/qml/Enroll.qml:177 src/agent/qml/LockChoice.qml:255
|
||||
msgid "Cancel"
|
||||
msgstr "取消"
|
||||
|
||||
@@ -1013,14 +1097,63 @@ msgstr "开始"
|
||||
msgid "Done"
|
||||
msgstr "完成"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:171
|
||||
#: src/agent/qml/LockChoice.qml:52
|
||||
msgid "Choose your lock screen"
|
||||
msgstr "选择锁屏"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:198
|
||||
msgid "Your lock screen"
|
||||
msgstr "你的锁屏"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:209
|
||||
msgid ""
|
||||
"Your desktop leaves the lock screen to a program of your choice. Pick how "
|
||||
"face unlock shows up there. You can change it later under Settings."
|
||||
msgstr ""
|
||||
"你的桌面把锁屏交给你选择的程序。请选择 face unlock 在那里如何显示。之后可以在"
|
||||
"设置中更改。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:232
|
||||
msgid "face-unlock's lock screen"
|
||||
msgstr "face-unlock 的锁屏"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:233
|
||||
msgid ""
|
||||
"The bubble at the top, the time and your wallpaper. Your shortcut and idle "
|
||||
"lock then run face-unlock lock."
|
||||
msgstr ""
|
||||
"顶部的气泡、时间和你的壁纸。你的快捷键和空闲锁屏会运行 face-unlock lock。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:240
|
||||
msgid "Keep your lock screen"
|
||||
msgstr "保留你的锁屏"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:242
|
||||
msgid ""
|
||||
"It stays as it is. hyprlock shows a line of text at the top instead of the "
|
||||
"bubble. Enter on the empty password field scans."
|
||||
msgstr ""
|
||||
"保持不变。hyprlock 会在顶部显示一行文字,代替气泡。在空密码框中按 Enter 即可"
|
||||
"扫描。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:243
|
||||
msgid ""
|
||||
"It stays as it is, without the bubble. Enter on the empty password field "
|
||||
"scans."
|
||||
msgstr "保持不变,没有气泡。在空密码框中按 Enter 即可扫描。"
|
||||
|
||||
#: src/agent/qml/LockChoice.qml:260
|
||||
msgid "Continue"
|
||||
msgstr "继续"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:180
|
||||
msgid "Password"
|
||||
msgstr "密码"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:185
|
||||
#: src/agent/qml/LockScreen.qml:194
|
||||
msgid "Look at the camera or type your password"
|
||||
msgstr "看向摄像头或输入密码"
|
||||
|
||||
#: src/agent/qml/LockScreen.qml:186
|
||||
#: src/agent/qml/LockScreen.qml:195
|
||||
msgid "Type your password"
|
||||
msgstr "输入密码"
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 145 KiB |
+2
-1
@@ -1,7 +1,8 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
//
|
||||
// The lock screens that are programs of their own and take signals from
|
||||
// outside: hyprlock, swaylock and gtklock open on SIGUSR1.
|
||||
// outside: hyprlock, swaylock and gtklock open on SIGUSR1, hyprlock reads
|
||||
// its labels again on SIGUSR2.
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -0,0 +1,647 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include "lockpreview.h"
|
||||
|
||||
#include <KLocalizedString>
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QDir>
|
||||
#include <QElapsedTimer>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QHash>
|
||||
#include <QProcess>
|
||||
#include <QRegularExpression>
|
||||
#include <QPointF>
|
||||
#include <QStandardPaths>
|
||||
#include <QTime>
|
||||
#include <QVariantMap>
|
||||
|
||||
#include <algorithm>
|
||||
#include <pwd.h>
|
||||
#include <unistd.h>
|
||||
|
||||
namespace
|
||||
{
|
||||
QString readFile(const QString &path)
|
||||
{
|
||||
QFile f(path);
|
||||
return f.open(QIODevice::ReadOnly | QIODevice::Text) ? QString::fromUtf8(f.readAll()) : QString();
|
||||
}
|
||||
|
||||
QString expandHome(const QString &path)
|
||||
{
|
||||
return path == u"~" ? QDir::homePath() : path.startsWith(u"~/") ? QDir::homePath() + path.mid(1) : path;
|
||||
}
|
||||
|
||||
QString configHome()
|
||||
{
|
||||
return QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation);
|
||||
}
|
||||
|
||||
// The first file of name under the user's and then the system's config
|
||||
// directories, as hyprlock and swaylock look for theirs.
|
||||
QString findConfig(const QString &name)
|
||||
{
|
||||
QStringList dirs{configHome()};
|
||||
dirs += QStandardPaths::standardLocations(QStandardPaths::GenericConfigLocation);
|
||||
for (const QString &dir : std::as_const(dirs)) {
|
||||
if (QFileInfo::exists(dir + u'/' + name)) {
|
||||
return dir + u'/' + name;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
bool truthy(const QString &value)
|
||||
{
|
||||
return value == u"1" || value.compare(u"true", Qt::CaseInsensitive) == 0 || value.compare(u"yes", Qt::CaseInsensitive) == 0
|
||||
|| value.compare(u"on", Qt::CaseInsensitive) == 0;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// hyprlang, as far as a lock screen's config needs it
|
||||
|
||||
struct Section {
|
||||
QString name;
|
||||
QHash<QString, QString> values;
|
||||
};
|
||||
|
||||
// Sections, $variables, source = (with ~ and wildcards, relative to the
|
||||
// file), and # comments, where ## stands for a #.
|
||||
class Hyprlang
|
||||
{
|
||||
public:
|
||||
void parse(const QString &path, int depth = 0);
|
||||
|
||||
QList<Section> sections;
|
||||
|
||||
private:
|
||||
QString expand(const QString &value) const;
|
||||
|
||||
QHash<QString, QString> m_vars;
|
||||
QList<qsizetype> m_open;
|
||||
};
|
||||
|
||||
QString stripComment(const QString &line)
|
||||
{
|
||||
QString out;
|
||||
for (qsizetype i = 0; i < line.size(); ++i) {
|
||||
if (line.at(i) == u'#') {
|
||||
if (i + 1 < line.size() && line.at(i + 1) == u'#') {
|
||||
out += u'#';
|
||||
++i;
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
out += line.at(i);
|
||||
}
|
||||
return out.trimmed();
|
||||
}
|
||||
|
||||
void Hyprlang::parse(const QString &path, int depth)
|
||||
{
|
||||
if (depth > 8) {
|
||||
return;
|
||||
}
|
||||
const QString dir = QFileInfo(path).absolutePath();
|
||||
const QStringList lines = readFile(path).split(u'\n');
|
||||
for (const QString &raw : lines) {
|
||||
const QString line = stripComment(raw);
|
||||
if (line.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
if (line == u"}") {
|
||||
if (!m_open.isEmpty()) {
|
||||
m_open.removeLast();
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (line.endsWith(u'{')) {
|
||||
sections.append({line.chopped(1).trimmed(), {}});
|
||||
m_open.append(sections.size() - 1);
|
||||
continue;
|
||||
}
|
||||
const qsizetype eq = line.indexOf(u'=');
|
||||
if (eq < 0) {
|
||||
continue;
|
||||
}
|
||||
const QString key = line.left(eq).trimmed();
|
||||
const QString value = expand(line.mid(eq + 1).trimmed());
|
||||
if (key.startsWith(u'$')) {
|
||||
m_vars.insert(key.mid(1), value);
|
||||
} else if (key == u"source" && m_open.isEmpty()) {
|
||||
const QFileInfo pattern(QDir(dir).absoluteFilePath(expandHome(value)));
|
||||
const QStringList matches = QDir(pattern.absolutePath()).entryList({pattern.fileName()}, QDir::Files, QDir::Name);
|
||||
for (const QString &match : matches) {
|
||||
parse(pattern.absolutePath() + u'/' + match, depth + 1);
|
||||
}
|
||||
} else if (!m_open.isEmpty()) {
|
||||
sections[m_open.last()].values.insert(key, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
QString Hyprlang::expand(const QString &value) const
|
||||
{
|
||||
if (!value.contains(u'$') || m_vars.isEmpty()) {
|
||||
return value;
|
||||
}
|
||||
// Longest first, so $font does not eat the start of $fontsize.
|
||||
QStringList names = m_vars.keys();
|
||||
std::sort(names.begin(), names.end(), [](const QString &a, const QString &b) {
|
||||
return a.size() > b.size();
|
||||
});
|
||||
QString out = value;
|
||||
for (const QString &name : std::as_const(names)) {
|
||||
out.replace(u'$' + name, m_vars.value(name));
|
||||
}
|
||||
return out;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Values
|
||||
|
||||
// "rgba(a, b) rgba(c) 45deg": the colours and the angle.
|
||||
QVariantMap gradient(const QString &value)
|
||||
{
|
||||
QVariantList colors;
|
||||
double angle = 0;
|
||||
QString token;
|
||||
int depth = 0;
|
||||
const auto flush = [&] {
|
||||
const QString t = token.trimmed();
|
||||
token.clear();
|
||||
if (t.endsWith(u"deg")) {
|
||||
angle = t.chopped(3).toDouble();
|
||||
} else if (const QColor c = LockPreview::color(t); c.isValid()) {
|
||||
colors.append(c);
|
||||
}
|
||||
};
|
||||
for (const QChar ch : value) {
|
||||
if (ch == u'(') {
|
||||
++depth;
|
||||
} else if (ch == u')') {
|
||||
--depth;
|
||||
}
|
||||
if (ch.isSpace() && depth == 0) {
|
||||
flush();
|
||||
} else {
|
||||
token += ch;
|
||||
}
|
||||
}
|
||||
flush();
|
||||
return {{QStringLiteral("colors"), colors}, {QStringLiteral("angle"), angle}};
|
||||
}
|
||||
|
||||
// "x, y", each in pixels or percent of the screen.
|
||||
QPointF layout(const QString &value, const QSizeF &screen)
|
||||
{
|
||||
const QStringList parts = value.split(u',');
|
||||
const auto one = [](const QString &part, qreal whole) {
|
||||
const QString s = part.trimmed();
|
||||
return s.endsWith(u'%') ? s.chopped(1).toDouble() / 100.0 * whole : s.toDouble();
|
||||
};
|
||||
return {one(parts.value(0), screen.width()), one(parts.value(1), screen.height())};
|
||||
}
|
||||
|
||||
// A Pango font description ("Noto Sans Light 12") as family, weight and
|
||||
// slant.
|
||||
void font(const QString &description, QVariantMap &into)
|
||||
{
|
||||
static const QHash<QString, int> weights{
|
||||
{QStringLiteral("thin"), 100}, {QStringLiteral("ultra-light"), 200}, {QStringLiteral("extra-light"), 200},
|
||||
{QStringLiteral("ultralight"), 200}, {QStringLiteral("extralight"), 200}, {QStringLiteral("light"), 300},
|
||||
{QStringLiteral("semi-light"), 350}, {QStringLiteral("book"), 380}, {QStringLiteral("regular"), 400},
|
||||
{QStringLiteral("normal"), 400}, {QStringLiteral("medium"), 500}, {QStringLiteral("semi-bold"), 600},
|
||||
{QStringLiteral("semibold"), 600}, {QStringLiteral("demi-bold"), 600}, {QStringLiteral("demibold"), 600},
|
||||
{QStringLiteral("bold"), 700}, {QStringLiteral("ultra-bold"), 800}, {QStringLiteral("extra-bold"), 800},
|
||||
{QStringLiteral("extrabold"), 800}, {QStringLiteral("heavy"), 900}, {QStringLiteral("black"), 900},
|
||||
};
|
||||
QStringList words = description.section(u',', 0, 0).split(u' ', Qt::SkipEmptyParts);
|
||||
int weight = 400;
|
||||
bool italic = false;
|
||||
while (words.size() > 1) {
|
||||
const QString word = words.last().toLower();
|
||||
bool number = false;
|
||||
word.toDouble(&number);
|
||||
if (number) {
|
||||
words.removeLast();
|
||||
} else if (word == u"italic" || word == u"oblique") {
|
||||
italic = true;
|
||||
words.removeLast();
|
||||
} else if (weights.contains(word)) {
|
||||
weight = weights.value(word);
|
||||
words.removeLast();
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
into.insert(QStringLiteral("family"), words.isEmpty() ? QStringLiteral("Sans") : words.join(u' '));
|
||||
into.insert(QStringLiteral("weight"), weight);
|
||||
into.insert(QStringLiteral("italic"), italic);
|
||||
}
|
||||
|
||||
// Pango markup as Qt's StyledText: span becomes font, b and i, the rest of
|
||||
// Pango's tags go and their text stays.
|
||||
QString styled(const QString &markup)
|
||||
{
|
||||
static const QRegularExpression tag(QStringLiteral("<(/?)([a-zA-Z]+)([^>]*)>"));
|
||||
static const QRegularExpression attribute(QStringLiteral("([a-z_]+)\\s*=\\s*[\"']([^\"']*)[\"']"));
|
||||
QString out;
|
||||
QStringList closers;
|
||||
qsizetype last = 0;
|
||||
auto it = tag.globalMatch(markup);
|
||||
while (it.hasNext()) {
|
||||
const auto m = it.next();
|
||||
out += markup.mid(last, m.capturedStart() - last);
|
||||
last = m.capturedEnd();
|
||||
const bool closing = !m.captured(1).isEmpty();
|
||||
const QString name = m.captured(2).toLower();
|
||||
if (name == u"span") {
|
||||
if (closing) {
|
||||
out += closers.isEmpty() ? QString() : closers.takeLast();
|
||||
continue;
|
||||
}
|
||||
QString open;
|
||||
QString close;
|
||||
QString fontAttrs;
|
||||
auto attrs = attribute.globalMatch(m.captured(3));
|
||||
while (attrs.hasNext()) {
|
||||
const auto a = attrs.next();
|
||||
const QString key = a.captured(1);
|
||||
QString value = a.captured(2);
|
||||
if (key == u"foreground" || key == u"fgcolor" || key == u"color") {
|
||||
// Pango's #RRGGBBAA is Qt's #AARRGGBB.
|
||||
if (value.startsWith(u'#') && value.size() == 9) {
|
||||
value = u'#' + value.mid(7, 2) + value.mid(1, 6);
|
||||
}
|
||||
fontAttrs += QStringLiteral(" color=\"%1\"").arg(value);
|
||||
} else if (key == u"font_family" || key == u"face") {
|
||||
fontAttrs += QStringLiteral(" face=\"%1\"").arg(value);
|
||||
} else if ((key == u"weight" || key == u"font_weight") && (value.contains(u"bold") || value.contains(u"heavy") || value.toInt() >= 600)) {
|
||||
open += QStringLiteral("<b>");
|
||||
close.prepend(QStringLiteral("</b>"));
|
||||
} else if ((key == u"style" || key == u"font_style") && value == u"italic") {
|
||||
open += QStringLiteral("<i>");
|
||||
close.prepend(QStringLiteral("</i>"));
|
||||
}
|
||||
}
|
||||
if (!fontAttrs.isEmpty()) {
|
||||
open.prepend(QStringLiteral("<font%1>").arg(fontAttrs));
|
||||
close += QStringLiteral("</font>");
|
||||
}
|
||||
out += open;
|
||||
closers.append(close);
|
||||
} else if (name == u"b" || name == u"i" || name == u"u") {
|
||||
out += m.captured(0);
|
||||
}
|
||||
}
|
||||
out += markup.mid(last);
|
||||
out.replace(u'\n', QStringLiteral("<br>"));
|
||||
return out;
|
||||
}
|
||||
|
||||
// What a command prints, or nothing when it takes too long.
|
||||
QString run(const QString &command, QElapsedTimer &budget)
|
||||
{
|
||||
// A config full of slow commands (weather, music) must not keep the
|
||||
// window from opening.
|
||||
if (budget.elapsed() > 2000) {
|
||||
return {};
|
||||
}
|
||||
QProcess process;
|
||||
process.start(QStringLiteral("/bin/sh"), {QStringLiteral("-c"), command});
|
||||
if (!process.waitForFinished(700)) {
|
||||
process.kill();
|
||||
process.waitForFinished(100);
|
||||
return {};
|
||||
}
|
||||
return QString::fromUtf8(process.readAllStandardOutput());
|
||||
}
|
||||
|
||||
// A label's text as hyprlock would show it right after locking.
|
||||
QString labelText(QString text, bool trim, QElapsedTimer &budget)
|
||||
{
|
||||
const passwd *pw = getpwuid(getuid());
|
||||
text.replace(QStringLiteral("$DESC"), pw ? QString::fromLocal8Bit(pw->pw_gecos) : QString());
|
||||
text.replace(QStringLiteral("$USER"), pw ? QString::fromLocal8Bit(pw->pw_name) : QString());
|
||||
text.replace(QStringLiteral("<br/>"), QStringLiteral("\n"));
|
||||
const QTime now = QTime::currentTime();
|
||||
text.replace(QStringLiteral("$TIME12"), now.toString(QStringLiteral("hh:mm AP")));
|
||||
text.replace(QStringLiteral("$TIME"), now.toString(QStringLiteral("HH:mm")));
|
||||
static const QRegularExpression layoutVar(QStringLiteral("\\$LAYOUT(\\[([^\\]]*)\\])?"));
|
||||
auto layouts = layoutVar.globalMatch(text);
|
||||
while (layouts.hasNext()) {
|
||||
const auto m = layouts.next();
|
||||
const QString first = m.captured(2).section(u',', 0, 0).trimmed();
|
||||
text.replace(m.captured(0), first.isEmpty() ? QStringLiteral("en") : first);
|
||||
}
|
||||
// What only a lock screen that runs knows: nothing has failed yet.
|
||||
static const QRegularExpression runtime(QStringLiteral("\\$(ATTEMPTS(\\[[^\\]]*\\])?|PAMFAIL|FPRINTFAIL|FPRINTPROMPT|FAIL)"));
|
||||
text.remove(runtime);
|
||||
text.replace(QStringLiteral("$PAMPROMPT"), QStringLiteral("Password:"));
|
||||
|
||||
if (text.startsWith(u"cmd[") && text.contains(u']')) {
|
||||
const QString command = text.mid(text.indexOf(u']') + 1);
|
||||
// face-unlock's own line, as it reads during a scan.
|
||||
text = command.contains(u"face-unlock/lock-text") ? i18n("Looking for your face…").toHtmlEscaped() : run(command, budget);
|
||||
}
|
||||
return trim ? text.trimmed() : text;
|
||||
}
|
||||
|
||||
void place(const Section &s, const QString &position, const QSizeF &screen, QVariantMap &into)
|
||||
{
|
||||
const QPointF pos = layout(s.values.value(QStringLiteral("position"), position), screen);
|
||||
into.insert(QStringLiteral("x"), pos.x());
|
||||
into.insert(QStringLiteral("y"), pos.y());
|
||||
into.insert(QStringLiteral("halign"), s.values.value(QStringLiteral("halign"), QStringLiteral("center")));
|
||||
into.insert(QStringLiteral("valign"), s.values.value(QStringLiteral("valign"), QStringLiteral("center")));
|
||||
into.insert(QStringLiteral("rotate"), s.values.value(QStringLiteral("rotate"), QStringLiteral("0")).toDouble());
|
||||
}
|
||||
|
||||
QColor colorOr(const QString &value, const QColor &fallback)
|
||||
{
|
||||
const QColor c = LockPreview::color(value);
|
||||
return c.isValid() ? c : fallback;
|
||||
}
|
||||
|
||||
// swaylock's colours: RRGGBB or RRGGBBAA, without a #.
|
||||
QColor hexColor(const QString &value, const QColor &fallback)
|
||||
{
|
||||
QString v = value.trimmed();
|
||||
if (v.startsWith(u'#')) {
|
||||
v = v.mid(1);
|
||||
}
|
||||
bool ok = false;
|
||||
const uint n = v.toUInt(&ok, 16);
|
||||
if (!ok || (v.size() != 6 && v.size() != 8)) {
|
||||
return fallback;
|
||||
}
|
||||
return v.size() == 6 ? QColor((n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff) : QColor((n >> 24) & 0xff, (n >> 16) & 0xff, (n >> 8) & 0xff, n & 0xff);
|
||||
}
|
||||
|
||||
QVariantMap wallpaperOnly(const QUrl &wallpaper)
|
||||
{
|
||||
return {{QStringLiteral("type"), QStringLiteral("background")},
|
||||
{QStringLiteral("color"), QColor(0x11, 0x11, 0x11)},
|
||||
{QStringLiteral("source"), wallpaper},
|
||||
{QStringLiteral("fill"), QStringLiteral("fill")},
|
||||
{QStringLiteral("blur"), 0.0},
|
||||
{QStringLiteral("dim"), 0.0}};
|
||||
}
|
||||
} // namespace
|
||||
|
||||
QColor LockPreview::color(const QString &value)
|
||||
{
|
||||
const QString v = value.trimmed();
|
||||
static const QRegularExpression call(QStringLiteral("^(rgba?)\\((.*)\\)$"));
|
||||
const auto m = call.match(v);
|
||||
if (m.hasMatch()) {
|
||||
const QString inner = m.captured(2).trimmed();
|
||||
const QStringList parts = inner.split(u',');
|
||||
if (parts.size() >= 3) {
|
||||
QColor c(parts.at(0).trimmed().toInt(), parts.at(1).trimmed().toInt(), parts.at(2).trimmed().toInt());
|
||||
if (parts.size() >= 4) {
|
||||
c.setAlphaF(std::clamp(parts.at(3).trimmed().toDouble(), 0.0, 1.0));
|
||||
}
|
||||
return c;
|
||||
}
|
||||
return hexColor(inner, {});
|
||||
}
|
||||
bool ok = false;
|
||||
const qulonglong n = v.startsWith(u"0x", Qt::CaseInsensitive) ? v.mid(2).toULongLong(&ok, 16) : v.toULongLong(&ok, 10);
|
||||
if (!ok) {
|
||||
return {};
|
||||
}
|
||||
return QColor(int((n >> 16) & 0xff), int((n >> 8) & 0xff), int(n & 0xff), int((n >> 24) & 0xff));
|
||||
}
|
||||
|
||||
QString LockPreview::locker()
|
||||
{
|
||||
static const QStringList names{QStringLiteral("hyprlock"), QStringLiteral("swaylock"), QStringLiteral("gtklock"), QStringLiteral("waylock")};
|
||||
// Where a lock screen is started from: the idle daemons first, then the
|
||||
// keys. The first one named there, outside comments.
|
||||
static const QStringList places{QStringLiteral("hypr/hypridle.conf"), QStringLiteral("swayidle/config"), QStringLiteral("niri/config.kdl"),
|
||||
QStringLiteral("hypr/hyprland.lua"), QStringLiteral("hypr/hyprland.conf")};
|
||||
for (const QString &place : places) {
|
||||
for (const QString &line : readFile(configHome() + u'/' + place).split(u'\n')) {
|
||||
const QString code = line.trimmed();
|
||||
if (code.startsWith(u'#') || code.startsWith(u"//") || code.startsWith(u"--")) {
|
||||
continue;
|
||||
}
|
||||
qsizetype first = -1;
|
||||
QString found;
|
||||
for (const QString &name : names) {
|
||||
const qsizetype at = code.indexOf(name);
|
||||
if (at >= 0 && (first < 0 || at < first)) {
|
||||
first = at;
|
||||
found = name;
|
||||
}
|
||||
}
|
||||
if (!found.isEmpty()) {
|
||||
return found;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Started some other way (a script of its own): one that is set up.
|
||||
if (!QStandardPaths::findExecutable(QStringLiteral("hyprlock")).isEmpty() && !findConfig(QStringLiteral("hypr/hyprlock.conf")).isEmpty()) {
|
||||
return QStringLiteral("hyprlock");
|
||||
}
|
||||
for (const QString &name : names) {
|
||||
if (!QStandardPaths::findExecutable(name).isEmpty()) {
|
||||
return name;
|
||||
}
|
||||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
QVariantList LockPreview::hyprlock(const QString &configPath, const QSizeF &screen, const QString &output, const QUrl &wallpaper)
|
||||
{
|
||||
Hyprlang config;
|
||||
config.parse(configPath);
|
||||
|
||||
bool trim = true;
|
||||
for (const Section &s : std::as_const(config.sections)) {
|
||||
if (s.name == u"general" && s.values.contains(QStringLiteral("text_trim"))) {
|
||||
trim = truthy(s.values.value(QStringLiteral("text_trim")));
|
||||
}
|
||||
}
|
||||
|
||||
QElapsedTimer budget;
|
||||
budget.start();
|
||||
QList<QPair<int, QVariantMap>> placed;
|
||||
bool ourLine = false;
|
||||
bool background = false;
|
||||
for (const Section &s : std::as_const(config.sections)) {
|
||||
const auto value = [&s](const char *key, const char *fallback) {
|
||||
return s.values.value(QString::fromLatin1(key), QString::fromLatin1(fallback));
|
||||
};
|
||||
const QString monitor = value("monitor", "");
|
||||
if (!monitor.isEmpty() && monitor != output && !monitor.startsWith(u"desc:")) {
|
||||
continue;
|
||||
}
|
||||
QVariantMap w;
|
||||
int z = value("zindex", "0").toInt();
|
||||
if (s.name == u"background") {
|
||||
background = true;
|
||||
z = value("zindex", "-1").toInt();
|
||||
const QString path = value("path", "");
|
||||
const int passes = value("blur_passes", "0").toInt();
|
||||
w = wallpaperOnly(path == u"screenshot" ? wallpaper : path.isEmpty() ? QUrl() : QUrl::fromLocalFile(expandHome(path)));
|
||||
w.insert(QStringLiteral("color"), colorOr(value("color", ""), QColor(0x11, 0x11, 0x11)));
|
||||
w.insert(QStringLiteral("blur"), passes > 0 ? std::min(1.0, passes * value("blur_size", "8").toDouble() / 24.0) : 0.0);
|
||||
// hyprlock's blur also darkens, by its brightness.
|
||||
w.insert(QStringLiteral("dim"), passes > 0 ? std::clamp(1.0 - value("brightness", "0.8172").toDouble(), 0.0, 1.0) : 0.0);
|
||||
} else if (s.name == u"label") {
|
||||
const QString text = value("text", "Sample Text");
|
||||
ourLine = ourLine || text.contains(u"face-unlock/lock-text");
|
||||
w.insert(QStringLiteral("type"), QStringLiteral("label"));
|
||||
w.insert(QStringLiteral("text"), styled(labelText(text, trim, budget)));
|
||||
font(value("font_family", "Sans"), w);
|
||||
w.insert(QStringLiteral("size"), value("font_size", "16").toDouble());
|
||||
w.insert(QStringLiteral("color"), colorOr(value("color", ""), Qt::white));
|
||||
w.insert(QStringLiteral("align"), value("text_align", "center"));
|
||||
w.insert(QStringLiteral("shadow"), value("shadow_passes", "0").toInt() > 0);
|
||||
w.insert(QStringLiteral("shadowSize"), value("shadow_size", "3").toDouble());
|
||||
w.insert(QStringLiteral("shadowColor"), colorOr(value("shadow_color", ""), Qt::black));
|
||||
place(s, QStringLiteral("0,0"), screen, w);
|
||||
} else if (s.name == u"input-field") {
|
||||
const QPointF size = layout(value("size", "400,90"), screen);
|
||||
w.insert(QStringLiteral("type"), QStringLiteral("input"));
|
||||
w.insert(QStringLiteral("width"), size.x());
|
||||
w.insert(QStringLiteral("height"), size.y());
|
||||
w.insert(QStringLiteral("thickness"), value("outline_thickness", "4").toDouble());
|
||||
w.insert(QStringLiteral("outer"), gradient(value("outer_color", "0xFF111111")));
|
||||
w.insert(QStringLiteral("inner"), colorOr(value("inner_color", ""), QColor(0xdd, 0xdd, 0xdd)));
|
||||
w.insert(QStringLiteral("fontColor"), colorOr(value("font_color", ""), Qt::black));
|
||||
font(value("font_family", "Sans"), w);
|
||||
w.insert(QStringLiteral("placeholder"), styled(labelText(value("placeholder_text", "<i>Input Password</i>"), trim, budget)));
|
||||
w.insert(QStringLiteral("rounding"), value("rounding", "-1").toDouble());
|
||||
place(s, QStringLiteral("0,0"), screen, w);
|
||||
} else if (s.name == u"shape") {
|
||||
const QPointF size = layout(value("size", "100,100"), screen);
|
||||
w.insert(QStringLiteral("type"), QStringLiteral("shape"));
|
||||
w.insert(QStringLiteral("width"), size.x());
|
||||
w.insert(QStringLiteral("height"), size.y());
|
||||
w.insert(QStringLiteral("color"), colorOr(value("color", ""), QColor(0x11, 0x11, 0x11)));
|
||||
w.insert(QStringLiteral("rounding"), value("rounding", "0").toDouble());
|
||||
w.insert(QStringLiteral("borderSize"), value("border_size", "0").toDouble());
|
||||
w.insert(QStringLiteral("border"), gradient(value("border_color", "0xFF00CFE6")));
|
||||
place(s, QStringLiteral("0,0"), screen, w);
|
||||
} else if (s.name == u"image") {
|
||||
const QString path = value("path", "");
|
||||
if (path.isEmpty()) {
|
||||
continue;
|
||||
}
|
||||
w.insert(QStringLiteral("type"), QStringLiteral("image"));
|
||||
w.insert(QStringLiteral("source"), QUrl::fromLocalFile(expandHome(path)));
|
||||
w.insert(QStringLiteral("size"), value("size", "150").toDouble());
|
||||
w.insert(QStringLiteral("rounding"), value("rounding", "-1").toDouble());
|
||||
w.insert(QStringLiteral("borderSize"), value("border_size", "4").toDouble());
|
||||
w.insert(QStringLiteral("border"), gradient(value("border_color", "0xFFDDDDDD")));
|
||||
place(s, QStringLiteral("0,0"), screen, w);
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
placed.append({z, w});
|
||||
}
|
||||
|
||||
if (!background) {
|
||||
QVariantMap w = wallpaperOnly({});
|
||||
placed.append({-1, w});
|
||||
}
|
||||
// face-unlock's line, as the menu puts it in (fu_hyprlock_text_on),
|
||||
// for those who have not picked it yet.
|
||||
if (!ourLine) {
|
||||
QVariantMap w{{QStringLiteral("type"), QStringLiteral("label")},
|
||||
{QStringLiteral("text"), i18n("Looking for your face…").toHtmlEscaped()},
|
||||
{QStringLiteral("size"), 20.0},
|
||||
{QStringLiteral("color"), QColor(255, 255, 255, 242)},
|
||||
{QStringLiteral("align"), QStringLiteral("center")},
|
||||
{QStringLiteral("shadow"), true},
|
||||
{QStringLiteral("shadowSize"), 3.0},
|
||||
{QStringLiteral("shadowColor"), QColor(Qt::black)},
|
||||
{QStringLiteral("x"), 0.0},
|
||||
{QStringLiteral("y"), -48.0},
|
||||
{QStringLiteral("halign"), QStringLiteral("center")},
|
||||
{QStringLiteral("valign"), QStringLiteral("top")},
|
||||
{QStringLiteral("rotate"), 0.0}};
|
||||
font(QStringLiteral("Sans"), w);
|
||||
placed.append({10, w});
|
||||
}
|
||||
|
||||
std::stable_sort(placed.begin(), placed.end(), [](const auto &a, const auto &b) {
|
||||
return a.first < b.first;
|
||||
});
|
||||
QVariantList widgets;
|
||||
for (const auto &p : std::as_const(placed)) {
|
||||
widgets.append(p.second);
|
||||
}
|
||||
return widgets;
|
||||
}
|
||||
|
||||
QVariantList LockPreview::swaylock(const QString &configPath, const QUrl &wallpaper)
|
||||
{
|
||||
// One option per line, as on the command line without the dashes.
|
||||
QHash<QString, QString> o;
|
||||
for (const QString &raw : readFile(configPath).split(u'\n')) {
|
||||
const QString line = raw.trimmed();
|
||||
if (line.isEmpty() || line.startsWith(u'#')) {
|
||||
continue;
|
||||
}
|
||||
o.insert(line.section(u'=', 0, 0).trimmed(), line.contains(u'=') ? line.section(u'=', 1).trimmed() : QString());
|
||||
}
|
||||
|
||||
// An image may name its output first: [[<output>]:]<path>.
|
||||
QString image = o.value(QStringLiteral("image"));
|
||||
if (image.contains(u':') && !image.startsWith(u'/') && !image.startsWith(u'~')) {
|
||||
image = image.section(u':', 1);
|
||||
}
|
||||
QVariantMap bg = wallpaperOnly(o.contains(QStringLiteral("screenshots")) ? wallpaper
|
||||
: image.isEmpty() ? QUrl()
|
||||
: QUrl::fromLocalFile(expandHome(image)));
|
||||
bg.insert(QStringLiteral("color"), hexColor(o.value(QStringLiteral("color")), Qt::white));
|
||||
bg.insert(QStringLiteral("fill"), o.value(QStringLiteral("scaling"), QStringLiteral("fill")));
|
||||
// swaylock-effects: effect-blur=<radius>x<times>.
|
||||
const QString blur = o.value(QStringLiteral("effect-blur"));
|
||||
if (!blur.isEmpty()) {
|
||||
bg.insert(QStringLiteral("blur"), std::min(1.0, blur.section(u'x', 0, 0).toDouble() * blur.section(u'x', 1, 1).toDouble() / 24.0));
|
||||
}
|
||||
QVariantList widgets{bg};
|
||||
|
||||
// The ring shows only while typing, unless it is asked to stay.
|
||||
const bool clock = o.contains(QStringLiteral("clock"));
|
||||
if (o.contains(QStringLiteral("indicator")) || o.contains(QStringLiteral("indicator-idle-visible")) || clock) {
|
||||
const QDateTime now = QDateTime::currentDateTime();
|
||||
widgets.append(QVariantMap{
|
||||
{QStringLiteral("type"), QStringLiteral("ring")},
|
||||
{QStringLiteral("radius"), o.value(QStringLiteral("indicator-radius"), QStringLiteral("50")).toDouble()},
|
||||
{QStringLiteral("thickness"), o.value(QStringLiteral("indicator-thickness"), QStringLiteral("10")).toDouble()},
|
||||
{QStringLiteral("inside"), hexColor(o.value(QStringLiteral("inside-color")), QColor(0, 0, 0, 0xc0))},
|
||||
{QStringLiteral("ring"), hexColor(o.value(QStringLiteral("ring-color")), QColor(0x33, 0x7d, 0x00))},
|
||||
{QStringLiteral("textColor"), hexColor(o.value(QStringLiteral("text-color")), QColor(0xe5, 0xa4, 0x45))},
|
||||
{QStringLiteral("text"), clock ? now.toString(QStringLiteral("HH:mm")) + u'\n' + now.toString(QStringLiteral("yyyy-MM-dd")) : QString()},
|
||||
});
|
||||
}
|
||||
return widgets;
|
||||
}
|
||||
|
||||
QVariantList LockPreview::widgets(const QString &locker, const QSizeF &screen, const QString &output, const QUrl &wallpaper)
|
||||
{
|
||||
if (locker == u"hyprlock") {
|
||||
const QString path = findConfig(QStringLiteral("hypr/hyprlock.conf"));
|
||||
if (!path.isEmpty()) {
|
||||
return hyprlock(path, screen, output, wallpaper);
|
||||
}
|
||||
} else if (locker == u"swaylock") {
|
||||
QString path = findConfig(QStringLiteral("swaylock/config"));
|
||||
if (path.isEmpty() && QFileInfo::exists(QDir::homePath() + QStringLiteral("/.swaylock/config"))) {
|
||||
path = QDir::homePath() + QStringLiteral("/.swaylock/config");
|
||||
}
|
||||
return swaylock(path, wallpaper);
|
||||
}
|
||||
// Something this does not know how to draw: the desktop's picture.
|
||||
return {wallpaperOnly(wallpaper)};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
//
|
||||
// The user's own lock screen, rebuilt for its picture in the window that asks
|
||||
// which lock screen to use (LockChoice.qml): what hyprlock draws from its
|
||||
// config, with face-unlock's line at the top, or swaylock's background and
|
||||
// ring. A screenshot would take locking the screen. LockPreview.qml draws
|
||||
// what this returns.
|
||||
//
|
||||
// hyprlock places a widget from the corner or middle its halign and valign
|
||||
// name, with y upwards, and takes font sizes as points. Colours and sizes
|
||||
// here are hyprlang's: rgba(r, g, b, a), rgba(RRGGBBAA), 0xAARRGGBB, and
|
||||
// "x, y" in pixels or percent of the screen.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QColor>
|
||||
#include <QSizeF>
|
||||
#include <QString>
|
||||
#include <QUrl>
|
||||
#include <QVariantList>
|
||||
|
||||
namespace LockPreview
|
||||
{
|
||||
// The lock screen the user starts: the one their idle daemon or key runs,
|
||||
// else one that is installed. hyprlock, swaylock, another name, or empty.
|
||||
QString locker();
|
||||
|
||||
// That lock screen's widgets, bottom first, as maps for LockPreview.qml.
|
||||
// output names the screen, for widgets meant for one monitor; wallpaper is
|
||||
// the desktop's picture, for a background that is a screenshot.
|
||||
QVariantList widgets(const QString &locker, const QSizeF &screen, const QString &output, const QUrl &wallpaper);
|
||||
|
||||
// The pieces, apart for the tests.
|
||||
QVariantList hyprlock(const QString &configPath, const QSizeF &screen, const QString &output, const QUrl &wallpaper);
|
||||
QVariantList swaylock(const QString &configPath, const QUrl &wallpaper);
|
||||
QColor color(const QString &value);
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
#include "locktext.h"
|
||||
|
||||
#include "bubblecontroller.h"
|
||||
#include "lockers.h"
|
||||
#include "userconfig.h"
|
||||
|
||||
#include <KLocalizedString>
|
||||
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QFileInfo>
|
||||
#include <QSaveFile>
|
||||
#include <QStandardPaths>
|
||||
#include <QTimer>
|
||||
|
||||
#include <csignal>
|
||||
|
||||
LockText::LockText(BubbleController *bubble, UserConfig *config, QObject *parent)
|
||||
: QObject(parent)
|
||||
, m_bubble(bubble)
|
||||
, m_config(config)
|
||||
{
|
||||
connect(m_bubble, &BubbleController::phaseChanged, this, &LockText::update);
|
||||
connect(m_bubble, &BubbleController::messageChanged, this, &LockText::update);
|
||||
connect(m_config, &UserConfig::changed, this, &LockText::update);
|
||||
// Nothing left over from an agent before this one.
|
||||
write({});
|
||||
}
|
||||
|
||||
LockText::~LockText()
|
||||
{
|
||||
QFile::remove(path());
|
||||
}
|
||||
|
||||
QString LockText::path()
|
||||
{
|
||||
return QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation) + QStringLiteral("/face-unlock/lock-text");
|
||||
}
|
||||
|
||||
QString LockText::text(const QString &phase, const QString &message)
|
||||
{
|
||||
if (phase == u"scanning") {
|
||||
return message.isEmpty() ? i18n("Looking for your face…") : message;
|
||||
}
|
||||
if (phase == u"success") {
|
||||
return i18n("Face recognized");
|
||||
}
|
||||
// failure and lockout say why; hidden says nothing.
|
||||
return phase == u"hidden" ? QString() : message;
|
||||
}
|
||||
|
||||
void LockText::update()
|
||||
{
|
||||
const bool on = m_config->lockScreenStyle() == u"yours";
|
||||
const QString now = on ? text(m_bubble->phase(), m_bubble->message()) : QString();
|
||||
if (now != m_text) {
|
||||
write(now);
|
||||
// Left alone by those who did not pick it: their hyprlock has no
|
||||
// label to read it.
|
||||
m_tries = 0;
|
||||
refresh();
|
||||
}
|
||||
}
|
||||
|
||||
void LockText::refresh()
|
||||
{
|
||||
// A hyprlock that is only starting reads the file once it is up, but
|
||||
// may have read it just before this changed: asked again then.
|
||||
if (Lockers::signal(SIGUSR2, "hyprlock") > 0 && ++m_tries < 20) {
|
||||
QTimer::singleShot(250, this, &LockText::refresh);
|
||||
}
|
||||
}
|
||||
|
||||
void LockText::write(const QString &text)
|
||||
{
|
||||
m_text = text;
|
||||
QDir().mkpath(QFileInfo(path()).absolutePath());
|
||||
QSaveFile file(path());
|
||||
// hyprlock reads labels as Pango markup.
|
||||
if (file.open(QIODevice::WriteOnly)) {
|
||||
file.write(text.toHtmlEscaped().toUtf8());
|
||||
file.commit();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
//
|
||||
// The bubble as a line of text, for a lock screen that covers it: hyprlock.
|
||||
// When the user keeps their own lock screen (LockScreenStyle=yours), the
|
||||
// menu puts a label into hyprlock's config that shows the file at path()
|
||||
// (see src/lib/system.sh). This writes what the bubble shows into it, and
|
||||
// SIGUSR2 makes hyprlock read it again.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
|
||||
class BubbleController;
|
||||
class UserConfig;
|
||||
|
||||
class LockText : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
LockText(BubbleController *bubble, UserConfig *config, QObject *parent = nullptr);
|
||||
~LockText() override;
|
||||
|
||||
static QString path();
|
||||
// The line for a phase and message of the bubble.
|
||||
static QString text(const QString &phase, const QString &message);
|
||||
|
||||
private:
|
||||
void update();
|
||||
void refresh();
|
||||
void write(const QString &text);
|
||||
|
||||
BubbleController *m_bubble;
|
||||
UserConfig *m_config;
|
||||
QString m_text;
|
||||
int m_tries = 0;
|
||||
};
|
||||
+70
-1
@@ -10,6 +10,9 @@
|
||||
// Niri), else through logind with the desktop's
|
||||
// --demo play the bubble's animations once, for trying out a
|
||||
// style (--bubble-style minimal) and for screenshots
|
||||
// --choose-lock-screen
|
||||
// open the window that asks which lock screen to use
|
||||
// where it is a program of its own, and print the answer
|
||||
|
||||
#include "agentsocket.h"
|
||||
#include "bubblecontroller.h"
|
||||
@@ -17,9 +20,12 @@
|
||||
#include "bubblewindow.h"
|
||||
#include "enrollcontroller.h"
|
||||
#include "lockcontroller.h"
|
||||
#include "lockpreview.h"
|
||||
#include "lockscreencontroller.h"
|
||||
#include "locktext.h"
|
||||
#include "sessionlock.h"
|
||||
#include "userconfig.h"
|
||||
#include "wallpaper.h"
|
||||
#include "wayland.h"
|
||||
|
||||
#include "buildconfig.h"
|
||||
@@ -34,8 +40,11 @@
|
||||
#include <QGuiApplication>
|
||||
#include <QQmlApplicationEngine>
|
||||
#include <QQmlEngine>
|
||||
#include <QScreen>
|
||||
#include <QTimer>
|
||||
#include <QWindow>
|
||||
|
||||
#include <cstdio>
|
||||
#include <cstring>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
@@ -66,6 +75,56 @@ int runEnroll(QGuiApplication &app, const QString &name)
|
||||
return controller.state() == u"done" ? 0 : code;
|
||||
}
|
||||
|
||||
// The window of --choose-lock-screen. Prints "own" or "yours" for the menu,
|
||||
// which carries it out.
|
||||
int runChooseLockScreen(QGuiApplication &app)
|
||||
{
|
||||
app.setQuitOnLastWindowClosed(true);
|
||||
UserConfig config;
|
||||
|
||||
// Both choices show this screen as it would look: face-unlock's lock
|
||||
// screen as it is, with a scan going on, and the user's own rebuilt.
|
||||
const QScreen *screen = QGuiApplication::primaryScreen();
|
||||
const QString output = screen ? screen->name() : QString();
|
||||
const QSize size = screen ? screen->size() : QSize(1920, 1080);
|
||||
const QUrl desktop = Wallpaper::pick(Wallpaper::forLock({}), output);
|
||||
const QUrl ownWallpaper = config.lockWallpaper().isEmpty() ? desktop : Wallpaper::pick(Wallpaper::forLock(config.lockWallpaper()), output);
|
||||
const QString locker = LockPreview::locker();
|
||||
|
||||
LockScreenController lock;
|
||||
lock.setBlur(config.lockBlur());
|
||||
BubbleController bubble(&config);
|
||||
bubble.scanStarted();
|
||||
// A scan that goes on: the bubble closes by itself after a while.
|
||||
QTimer rescan;
|
||||
QObject::connect(&rescan, &QTimer::timeout, &bubble, &BubbleController::scanStarted);
|
||||
rescan.start(20000);
|
||||
|
||||
QQmlApplicationEngine engine;
|
||||
KLocalization::setupLocalizedContext(&engine);
|
||||
engine.setInitialProperties({{QStringLiteral("current"), config.lockScreenStyle()},
|
||||
{QStringLiteral("locker"), locker},
|
||||
{QStringLiteral("widgets"), LockPreview::widgets(locker, size, output, desktop)},
|
||||
{QStringLiteral("screenSize"), size},
|
||||
{QStringLiteral("ownWallpaper"), ownWallpaper},
|
||||
{QStringLiteral("lock"), QVariant::fromValue(&lock)},
|
||||
{QStringLiteral("bubble"), QVariant::fromValue(&bubble)}});
|
||||
engine.loadFromModule(QStringLiteral("FaceUnlock"), QStringLiteral("LockChoice"));
|
||||
auto *window = engine.rootObjects().isEmpty() ? nullptr : qobject_cast<QWindow *>(engine.rootObjects().constFirst());
|
||||
if (!window) {
|
||||
return 2;
|
||||
}
|
||||
// Shown only now, at the size its texts need (see LockChoice.qml).
|
||||
window->show();
|
||||
app.exec();
|
||||
const QString answer = window->property("answer").toString();
|
||||
if (answer.isEmpty()) {
|
||||
return 1;
|
||||
}
|
||||
std::printf("%s\n", qPrintable(answer));
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Where --lock tells the command that ran it that the screen is locked, when
|
||||
// it forked to stay behind as the lock screen. -1: it did not.
|
||||
int readyFd = -1;
|
||||
@@ -191,9 +250,14 @@ int main(int argc, char **argv)
|
||||
const QCommandLineOption demoOpt(QStringLiteral("demo"), i18n("Play the bubble's animations once."));
|
||||
// Not "--style": QGuiApplication takes that one for itself.
|
||||
const QCommandLineOption styleOpt(QStringLiteral("bubble-style"), i18n("Bubble style for the demo: full or minimal."), QStringLiteral("style"));
|
||||
parser.addOptions({enrollOpt, nameOpt, lockOpt, demoOpt, styleOpt});
|
||||
const QCommandLineOption chooseOpt(QStringLiteral("choose-lock-screen"), i18n("Ask which lock screen to use, and print the answer."));
|
||||
parser.addOptions({enrollOpt, nameOpt, lockOpt, demoOpt, styleOpt, chooseOpt});
|
||||
parser.process(app);
|
||||
|
||||
if (parser.isSet(chooseOpt)) {
|
||||
return runChooseLockScreen(app);
|
||||
}
|
||||
|
||||
if (parser.isSet(enrollOpt)) {
|
||||
QString name = parser.value(nameOpt);
|
||||
if (name.isEmpty()) {
|
||||
@@ -264,6 +328,11 @@ int main(int argc, char **argv)
|
||||
QObject::connect(lock, &SessionLock::confirmed, &socket, &AgentSocket::confirmLock);
|
||||
}
|
||||
LockController lock(&bubble, &config, sessionLock.get(), &screen);
|
||||
// hyprlock covers the bubble: it can show it as a line of text instead.
|
||||
std::unique_ptr<LockText> text;
|
||||
if (sessionLock && !lockNow) {
|
||||
text = std::make_unique<LockText>(&bubble, &config);
|
||||
}
|
||||
|
||||
if (lockNow) {
|
||||
// No agent was running, so this one is only here for the lock. It
|
||||
|
||||
@@ -0,0 +1,264 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
//
|
||||
// Where the lock screen is a program of the user's (Hyprland, Niri): lock
|
||||
// with face-unlock's own, with the bubble, or keep that program, which then
|
||||
// shows a line of text (hyprlock). Each choice shows the user's screen as it
|
||||
// would look: face-unlock's lock screen live, and their own rebuilt from its
|
||||
// config (see LockPreview). The pick goes back to the menu, which carries
|
||||
// it out.
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Effects
|
||||
import QtQuick.Window
|
||||
import FaceUnlock
|
||||
|
||||
Window {
|
||||
id: window
|
||||
|
||||
// "own", "yours", or empty when there is none yet.
|
||||
required property string current
|
||||
// The user's lock screen (see LockPreview::locker) and what it shows.
|
||||
required property string locker
|
||||
required property var widgets
|
||||
// The screen the pictures show, and the parts of face-unlock's own.
|
||||
required property size screenSize
|
||||
required property url ownWallpaper
|
||||
required property var lock
|
||||
required property var bubble
|
||||
// What was picked, empty when the window was closed.
|
||||
property string answer: ""
|
||||
property string selected: current
|
||||
|
||||
function pick() {
|
||||
if (selected.length > 0) {
|
||||
answer = selected
|
||||
close()
|
||||
}
|
||||
}
|
||||
|
||||
// One fixed size, so tiling compositors float it (see Enroll). The
|
||||
// height follows the texts, whose length depends on the language. It
|
||||
// is taken from them rather than from the Row and Column, which only lay
|
||||
// out once the window shows, and the agent shows it after that.
|
||||
readonly property int fitHeight: Math.ceil(36 + heading.height + 10 + intro.height + 28 + Math.max(own.needed, yours.needed) + 94)
|
||||
width: 800
|
||||
height: fitHeight
|
||||
minimumWidth: 800
|
||||
maximumWidth: 800
|
||||
minimumHeight: fitHeight
|
||||
maximumHeight: fitHeight
|
||||
visible: false
|
||||
color: Theme.panel
|
||||
title: i18n("Choose your lock screen")
|
||||
|
||||
Component {
|
||||
id: ownScene
|
||||
LockScreen {
|
||||
lock: window.lock
|
||||
bubble: window.bubble
|
||||
primary: true
|
||||
wallpaper: window.ownWallpaper
|
||||
interactive: false
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: yoursScene
|
||||
LockPreview {
|
||||
widgets: window.widgets
|
||||
}
|
||||
}
|
||||
|
||||
// One of the two: the screen, a radio button with the name, what it means.
|
||||
component Choice: Rectangle {
|
||||
id: card
|
||||
|
||||
required property string style
|
||||
required property Component scene
|
||||
required property string name
|
||||
required property string about
|
||||
readonly property bool chosen: window.selected === style
|
||||
// The height its text needs; both take the larger one.
|
||||
readonly property real needed: body.y + body.height + 20
|
||||
|
||||
width: 364
|
||||
radius: 18
|
||||
color: area.containsMouse && !chosen ? Qt.lighter(Theme.surface, 1.25) : Theme.surface
|
||||
border.width: 2
|
||||
border.color: chosen ? Theme.accent : "transparent"
|
||||
Behavior on border.color { ColorAnimation { duration: 150 } }
|
||||
Behavior on color { ColorAnimation { duration: 120 } }
|
||||
|
||||
// The whole screen, made small: filling the picture, cut at the
|
||||
// sides or at the top and bottom.
|
||||
Item {
|
||||
id: picture
|
||||
x: 14
|
||||
y: 14
|
||||
width: parent.width - 28
|
||||
height: Math.round(width * 10 / 16)
|
||||
clip: true
|
||||
layer.enabled: true
|
||||
layer.effect: MultiEffect {
|
||||
maskEnabled: true
|
||||
maskSource: mask
|
||||
}
|
||||
|
||||
Loader {
|
||||
sourceComponent: card.scene
|
||||
width: window.screenSize.width
|
||||
height: window.screenSize.height
|
||||
transformOrigin: Item.TopLeft
|
||||
scale: Math.max(picture.width / width, picture.height / height)
|
||||
x: (picture.width - width * scale) / 2
|
||||
y: (picture.height - height * scale) / 2
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: mask
|
||||
width: picture.width
|
||||
height: picture.height
|
||||
radius: 10
|
||||
visible: false
|
||||
layer.enabled: true
|
||||
}
|
||||
|
||||
// A radio button: a ring, filled when picked.
|
||||
Rectangle {
|
||||
id: radio
|
||||
x: 18
|
||||
y: title.y + 3
|
||||
width: 18
|
||||
height: 18
|
||||
radius: 9
|
||||
color: "transparent"
|
||||
border.width: 2
|
||||
border.color: card.chosen ? Theme.accent : Theme.textSecondary
|
||||
Rectangle {
|
||||
anchors.centerIn: parent
|
||||
width: 8
|
||||
height: 8
|
||||
radius: 4
|
||||
color: Theme.accent
|
||||
visible: card.chosen
|
||||
}
|
||||
}
|
||||
Text {
|
||||
id: title
|
||||
anchors.top: picture.bottom
|
||||
anchors.topMargin: 16
|
||||
x: radio.x + radio.width + 10
|
||||
width: parent.width - x - 18
|
||||
wrapMode: Text.WordWrap
|
||||
color: Theme.textPrimary
|
||||
font.pixelSize: 16
|
||||
font.weight: Font.DemiBold
|
||||
text: card.name
|
||||
}
|
||||
Text {
|
||||
id: body
|
||||
anchors.top: title.bottom
|
||||
anchors.topMargin: 8
|
||||
x: 18
|
||||
width: parent.width - 36
|
||||
wrapMode: Text.WordWrap
|
||||
color: Theme.textDetail
|
||||
font.pixelSize: 13
|
||||
lineHeight: 1.15
|
||||
text: card.about
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: area
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: window.selected = card.style
|
||||
onDoubleClicked: {
|
||||
window.selected = card.style
|
||||
window.pick()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Column {
|
||||
id: head
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 36
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: parent.width - 96
|
||||
spacing: 10
|
||||
|
||||
Text {
|
||||
id: heading
|
||||
width: parent.width
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
color: Theme.textPrimary
|
||||
font.pixelSize: 26
|
||||
font.weight: Font.Bold
|
||||
text: i18n("Your lock screen")
|
||||
}
|
||||
Text {
|
||||
id: intro
|
||||
width: parent.width
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
wrapMode: Text.WordWrap
|
||||
color: Theme.textSecondary
|
||||
font.pixelSize: 13
|
||||
font.weight: Font.Medium
|
||||
lineHeight: 1.15
|
||||
text: i18n("Your desktop leaves the lock screen to a program of your choice. Pick how face unlock shows up there. You can change it later under Settings.")
|
||||
}
|
||||
}
|
||||
|
||||
Row {
|
||||
id: cards
|
||||
anchors.top: head.bottom
|
||||
anchors.topMargin: 28
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: 24
|
||||
focus: true
|
||||
|
||||
Keys.onLeftPressed: window.selected = "own"
|
||||
Keys.onRightPressed: window.selected = "yours"
|
||||
Keys.onReturnPressed: window.pick()
|
||||
Keys.onEnterPressed: window.pick()
|
||||
Keys.onEscapePressed: window.close()
|
||||
|
||||
Choice {
|
||||
id: own
|
||||
height: Math.max(own.needed, yours.needed)
|
||||
style: "own"
|
||||
scene: ownScene
|
||||
name: i18n("face-unlock's lock screen")
|
||||
about: i18n("The bubble at the top, the time and your wallpaper. Your shortcut and idle lock then run face-unlock lock.")
|
||||
}
|
||||
Choice {
|
||||
id: yours
|
||||
height: own.height
|
||||
style: "yours"
|
||||
scene: yoursScene
|
||||
name: i18n("Keep your lock screen")
|
||||
about: window.locker === "hyprlock"
|
||||
? i18n("It stays as it is. hyprlock shows a line of text at the top instead of the bubble. Enter on the empty password field scans.")
|
||||
: i18n("It stays as it is, without the bubble. Enter on the empty password field scans.")
|
||||
}
|
||||
}
|
||||
|
||||
Row {
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: 32
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
spacing: 12
|
||||
|
||||
PillButton {
|
||||
primary: false
|
||||
text: i18n("Cancel")
|
||||
onClicked: window.close()
|
||||
}
|
||||
PillButton {
|
||||
enabled: window.selected.length > 0
|
||||
text: i18n("Continue")
|
||||
onClicked: window.pick()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,249 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
//
|
||||
// The user's own lock screen, drawn from what LockPreview (C++) read out of
|
||||
// its config, at the size of the screen. Whoever shows it scales it down.
|
||||
// Placement as in hyprlock: from the side or middle halign and valign name,
|
||||
// x to the right and y upwards. One Repeater per kind of widget, stacked in
|
||||
// the order hyprlock draws them.
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Effects
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
required property var widgets
|
||||
|
||||
readonly property var numbered: widgets.map((w, i) => Object.assign({order: i}, w))
|
||||
function only(type) {
|
||||
return numbered.filter(w => w.type === type)
|
||||
}
|
||||
function alignX(halign, size, offset) {
|
||||
return halign === "center" ? (width - size) / 2 + offset
|
||||
: halign === "right" ? width - size + offset
|
||||
: offset
|
||||
}
|
||||
function alignY(valign, size, offset) {
|
||||
const up = valign === "center" ? (height - size) / 2 + offset
|
||||
: valign === "top" ? height - size + offset
|
||||
: offset
|
||||
return height - up - size
|
||||
}
|
||||
|
||||
clip: true
|
||||
|
||||
Repeater {
|
||||
model: root.only("background")
|
||||
|
||||
Item {
|
||||
id: back
|
||||
required property var modelData
|
||||
readonly property var w: modelData
|
||||
z: w.order
|
||||
width: root.width
|
||||
height: root.height
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: back.w.color
|
||||
}
|
||||
Image {
|
||||
// Past the edges when blurred: the blur would pull in the
|
||||
// nothing beyond them and darken the rim.
|
||||
anchors.fill: parent
|
||||
anchors.margins: back.w.blur > 0 ? -Math.round(64 * back.w.blur) : 0
|
||||
visible: back.w.fill !== "solid_color"
|
||||
source: back.w.source
|
||||
asynchronous: true
|
||||
sourceSize: Qt.size(root.width, root.height)
|
||||
fillMode: back.w.fill === "fit" ? Image.PreserveAspectFit
|
||||
: back.w.fill === "stretch" ? Image.Stretch
|
||||
: back.w.fill === "center" ? Image.Pad
|
||||
: back.w.fill === "tile" ? Image.Tile
|
||||
: Image.PreserveAspectCrop
|
||||
layer.enabled: back.w.blur > 0
|
||||
layer.effect: MultiEffect {
|
||||
blurEnabled: true
|
||||
blur: 1
|
||||
blurMax: Math.round(64 * back.w.blur)
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
color: "black"
|
||||
opacity: back.w.dim
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: root.only("label")
|
||||
|
||||
Text {
|
||||
id: line
|
||||
required property var modelData
|
||||
readonly property var w: modelData
|
||||
z: w.order
|
||||
x: root.alignX(w.halign, width, w.x)
|
||||
y: root.alignY(w.valign, height, w.y)
|
||||
rotation: w.rotate
|
||||
text: w.text
|
||||
textFormat: Text.StyledText
|
||||
color: w.color
|
||||
font.family: w.family
|
||||
font.weight: w.weight
|
||||
font.italic: w.italic
|
||||
font.pointSize: w.size
|
||||
horizontalAlignment: w.align === "left" ? Text.AlignLeft : w.align === "right" ? Text.AlignRight : Text.AlignHCenter
|
||||
layer.enabled: w.shadow
|
||||
layer.effect: MultiEffect {
|
||||
shadowEnabled: true
|
||||
shadowColor: line.w.shadowColor
|
||||
shadowBlur: Math.min(1, line.w.shadowSize / 8)
|
||||
shadowHorizontalOffset: 0
|
||||
shadowVerticalOffset: 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: root.only("input")
|
||||
|
||||
// The outline is the outer colour around the inner one. A gradient
|
||||
// outline needs an opaque inside, which leaves it showing only at
|
||||
// the edge.
|
||||
Rectangle {
|
||||
id: field
|
||||
required property var modelData
|
||||
readonly property var w: modelData
|
||||
readonly property var outer: w.outer.colors
|
||||
readonly property bool blend: outer.length > 1 && w.inner.a >= 0.99
|
||||
z: w.order
|
||||
x: root.alignX(w.halign, width, w.x)
|
||||
y: root.alignY(w.valign, height, w.y)
|
||||
rotation: w.rotate
|
||||
width: w.width
|
||||
height: w.height
|
||||
radius: w.rounding < 0 ? height / 2 : Math.min(w.rounding, height / 2)
|
||||
color: blend ? "transparent" : w.inner
|
||||
border.width: blend ? 0 : w.thickness
|
||||
border.color: outer.length > 0 ? outer[0] : "transparent"
|
||||
gradient: blend ? outline : null
|
||||
|
||||
Gradient {
|
||||
id: outline
|
||||
orientation: Math.abs(Math.cos(field.w.outer.angle * Math.PI / 180)) >= Math.abs(Math.sin(field.w.outer.angle * Math.PI / 180))
|
||||
? Gradient.Horizontal : Gradient.Vertical
|
||||
GradientStop { position: 0; color: field.outer.length > 0 ? field.outer[0] : "transparent" }
|
||||
GradientStop { position: 1; color: field.outer.length > 0 ? field.outer[field.outer.length - 1] : "transparent" }
|
||||
}
|
||||
Rectangle {
|
||||
visible: field.blend
|
||||
anchors.fill: parent
|
||||
anchors.margins: field.w.thickness
|
||||
radius: Math.max(0, field.radius - field.w.thickness)
|
||||
color: field.w.inner
|
||||
}
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
text: field.w.placeholder
|
||||
textFormat: Text.StyledText
|
||||
color: field.w.fontColor
|
||||
font.family: field.w.family
|
||||
font.weight: field.w.weight
|
||||
font.italic: field.w.italic
|
||||
font.pointSize: Math.max(1, field.height / 4)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: root.only("shape")
|
||||
|
||||
Rectangle {
|
||||
required property var modelData
|
||||
readonly property var w: modelData
|
||||
z: w.order
|
||||
x: root.alignX(w.halign, width, w.x)
|
||||
y: root.alignY(w.valign, height, w.y)
|
||||
rotation: w.rotate
|
||||
width: w.width
|
||||
height: w.height
|
||||
radius: w.rounding < 0 ? Math.min(width, height) / 2 : Math.min(w.rounding, Math.min(width, height) / 2)
|
||||
color: w.color
|
||||
border.width: w.borderSize
|
||||
border.color: w.border.colors.length > 0 ? w.border.colors[0] : "transparent"
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: root.only("image")
|
||||
|
||||
Item {
|
||||
id: frame
|
||||
required property var modelData
|
||||
readonly property var w: modelData
|
||||
readonly property real round: w.rounding < 0 ? width / 2 : Math.min(w.rounding, width / 2)
|
||||
z: w.order
|
||||
x: root.alignX(w.halign, width, w.x)
|
||||
y: root.alignY(w.valign, height, w.y)
|
||||
rotation: w.rotate
|
||||
width: w.size + 2 * w.borderSize
|
||||
height: width
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
radius: frame.round
|
||||
color: frame.w.border.colors.length > 0 ? frame.w.border.colors[0] : "transparent"
|
||||
}
|
||||
Image {
|
||||
id: photo
|
||||
anchors.fill: parent
|
||||
anchors.margins: frame.w.borderSize
|
||||
source: frame.w.source
|
||||
fillMode: Image.PreserveAspectCrop
|
||||
asynchronous: true
|
||||
layer.enabled: true
|
||||
layer.effect: MultiEffect {
|
||||
maskEnabled: true
|
||||
maskSource: photoMask
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
id: photoMask
|
||||
width: photo.width
|
||||
height: photo.height
|
||||
radius: Math.max(0, frame.round - frame.w.borderSize)
|
||||
visible: false
|
||||
layer.enabled: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
model: root.only("ring")
|
||||
|
||||
// swaylock's indicator, in the middle.
|
||||
Rectangle {
|
||||
id: circle
|
||||
required property var modelData
|
||||
readonly property var w: modelData
|
||||
z: w.order
|
||||
anchors.centerIn: parent
|
||||
width: 2 * w.radius + 2 * w.thickness
|
||||
height: width
|
||||
radius: width / 2
|
||||
color: w.inside
|
||||
border.width: w.thickness
|
||||
border.color: w.ring
|
||||
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
text: circle.w.text
|
||||
color: circle.w.textColor
|
||||
font.pixelSize: circle.w.radius / 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,9 @@ Item {
|
||||
required property var bubble
|
||||
required property bool primary
|
||||
required property url wallpaper
|
||||
// Off for the picture in the window that asks which lock screen to use:
|
||||
// nothing to type into, no keys taken.
|
||||
property bool interactive: true
|
||||
|
||||
property date now: new Date()
|
||||
Timer {
|
||||
@@ -71,6 +74,7 @@ Item {
|
||||
// keys into the password.
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
enabled: root.interactive
|
||||
hoverEnabled: true
|
||||
acceptedButtons: Qt.AllButtons
|
||||
onPositionChanged: root.lock.activity()
|
||||
@@ -150,7 +154,8 @@ Item {
|
||||
selectionColor: Theme.accent
|
||||
font.pixelSize: 15
|
||||
clip: true
|
||||
focus: true
|
||||
focus: root.interactive
|
||||
enabled: root.interactive
|
||||
// The dots show how far it is; a blinking bar in the middle
|
||||
// of the empty field only cuts the word in it in two.
|
||||
cursorDelegate: Item {}
|
||||
@@ -162,7 +167,11 @@ Item {
|
||||
root.lock.activity()
|
||||
event.accepted = false
|
||||
}
|
||||
Component.onCompleted: forceActiveFocus()
|
||||
Component.onCompleted: {
|
||||
if (root.interactive) {
|
||||
forceActiveFocus()
|
||||
}
|
||||
}
|
||||
}
|
||||
Text {
|
||||
anchors.centerIn: parent
|
||||
|
||||
@@ -32,6 +32,7 @@ void UserConfig::load()
|
||||
m_enabled = kv.boolean(QStringLiteral("Enabled"), false);
|
||||
m_lockWallpaper = kv.value(QStringLiteral("LockWallpaper"));
|
||||
m_lockBlur = kv.boolean(QStringLiteral("LockBlur"), false);
|
||||
m_lockScreenStyle = kv.value(QStringLiteral("LockScreenStyle"));
|
||||
m_lockScreen = kv.boolean(QStringLiteral("LockScreen"), true);
|
||||
m_scanOnWake = kv.boolean(QStringLiteral("ScanOnWake"), true);
|
||||
m_scanOnLock = kv.boolean(QStringLiteral("ScanOnLock"), false);
|
||||
|
||||
@@ -29,6 +29,14 @@ public:
|
||||
{
|
||||
return m_lockWallpaper;
|
||||
}
|
||||
// Where the lock screen is a program of the user's (Hyprland, Niri):
|
||||
// "own" to lock with face-unlock's, "yours" to keep that program, which
|
||||
// then shows the bubble as a line of text (see LockText). Empty until
|
||||
// the user picked one.
|
||||
QString lockScreenStyle() const
|
||||
{
|
||||
return m_lockScreenStyle;
|
||||
}
|
||||
bool lockBlur() const
|
||||
{
|
||||
return m_lockBlur;
|
||||
@@ -90,6 +98,7 @@ private:
|
||||
QFileSystemWatcher m_watcher;
|
||||
bool m_enabled = false;
|
||||
QString m_lockWallpaper;
|
||||
QString m_lockScreenStyle;
|
||||
bool m_lockBlur = false;
|
||||
bool m_lockScreen = true;
|
||||
bool m_scanOnWake = true;
|
||||
|
||||
+7
-1
@@ -125,7 +125,13 @@ fu_do_enable() {
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
if fu_pam_lockers_here && fu_pam_lockers_enabled; then
|
||||
# Where the lock screen is a program of its own: face-unlock's, with the
|
||||
# bubble, or that program with a line of text. Asked once.
|
||||
if fu_own_lock_here && [[ -n ${WAYLAND_DISPLAY:-} && -z $(fu_config_get LockScreenStyle) ]]; then
|
||||
fu_say " $(fu_msg "Pick your lock screen in the window.")"
|
||||
fu_lock_choose || fu_note "$(fu_msg "No lock screen picked. You can do it later under Settings.")"
|
||||
fi
|
||||
if fu_pam_lockers_here && fu_pam_lockers_enabled && [[ $(fu_config_get LockScreenStyle) != own ]]; 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
|
||||
|
||||
|
||||
@@ -156,6 +156,8 @@ fu_head() { printf '\n%s%s%s\n\n' "$FU_C_BOLD$FU_C_BLUE" "$*" "$FU_C_RESET"; }
|
||||
fu_ok() { FU_UI_NOTICES+=("$FU_C_GREEN✔$FU_C_RESET $*"); printf '%s✔%s %s\n' "$FU_C_GREEN" "$FU_C_RESET" "$*"; }
|
||||
fu_bad() { FU_UI_NOTICES+=("$FU_C_RED✘$FU_C_RESET $*"); printf '%s✘%s %s\n' "$FU_C_RED" "$FU_C_RESET" "$*" >&2; }
|
||||
fu_note() { FU_UI_NOTICES+=("$FU_C_DIM•$FU_C_RESET $*"); printf '%s•%s %s\n' "$FU_C_DIM" "$FU_C_RESET" "$*"; }
|
||||
# A line of config to copy, under a note.
|
||||
fu_code() { FU_UI_NOTICES+=(" $*"); printf ' %s\n' "$*"; }
|
||||
|
||||
fu_have() { command -v "$1" > /dev/null 2>&1; }
|
||||
|
||||
|
||||
+28
-7
@@ -200,6 +200,8 @@ fu_value_label() {
|
||||
AnimationSpeed:slow) fu_msg "slow" ;;
|
||||
ScanSeconds:*) fu_msg "%s seconds" "$2" ;;
|
||||
Camera:auto) fu_msg "automatic" ;;
|
||||
LockScreenStyle:own) fu_msg "face-unlock's" ;;
|
||||
LockScreenStyle:*) fu_msg "yours" ;;
|
||||
*) printf '%s' "$2" ;;
|
||||
esac
|
||||
}
|
||||
@@ -277,10 +279,11 @@ fu_ui_status() {
|
||||
# scope user (this user's file), sys (the system file, through sudo),
|
||||
# pam (the service of that name, through sudo), or group for a
|
||||
# heading, with only the label after it
|
||||
# type bool, choice (steps through the choices), camera, or path (typed
|
||||
# in; empty for the desktop's picture)
|
||||
# needs a bool setting this one does nothing without; it is dimmed while
|
||||
# that is off
|
||||
# type bool, choice (steps through the choices), camera, path (typed
|
||||
# in; empty for the desktop's picture), or lockstyle (the window
|
||||
# with the two lock screens, see fu_lock_choose)
|
||||
# needs a bool setting this one does nothing without, or Key=value; it is
|
||||
# dimmed while that is not so
|
||||
# only lockers: only where the lock screen is a program of its own with a
|
||||
# PAM file (Hyprland, Niri), see fu_pam_lockers_here; ownlock: only
|
||||
# where face-unlock's own lock screen can be used
|
||||
@@ -289,8 +292,9 @@ FU_SETTINGS=(
|
||||
"user|LockScreen|bool|yes|Unlock with your face"
|
||||
"user|ScanOnWake|bool|yes|Scan when you come back||LockScreen"
|
||||
"user|ScanOnLock|bool|no|Scan right after locking||LockScreen"
|
||||
"user|LockWallpaper|path||Wallpaper|||ownlock"
|
||||
"user|LockBlur|bool|no|Blur the wallpaper|||ownlock"
|
||||
"user|LockScreenStyle|lockstyle|yours|Which lock screen|||ownlock"
|
||||
"user|LockWallpaper|path||Wallpaper||LockScreenStyle=own|ownlock"
|
||||
"user|LockBlur|bool|no|Blur the wallpaper||LockScreenStyle=own|ownlock"
|
||||
"group|Password prompts"
|
||||
"pam|sudo|bool|no|sudo in a terminal"
|
||||
"pam|polkit-1|bool|no|Admin prompts"
|
||||
@@ -328,6 +332,7 @@ fu_setting_help() {
|
||||
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." ;;
|
||||
sudo:*) fu_msg "sudo takes your face instead of the password. No match: you type the password as usual." ;;
|
||||
LockScreenStyle:*) fu_msg "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." ;;
|
||||
LockWallpaper:*) fu_msg "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." ;;
|
||||
LockBlur:*) fu_msg "Blurs the picture behind face-unlock's own lock screen." ;;
|
||||
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)" ;;
|
||||
@@ -483,6 +488,18 @@ _fu_setting_change() {
|
||||
bool) if fu_is_true "$current"; then next=no; else next=yes; fi ;;
|
||||
choice) next="$(_fu_next_choice "$current" "$options" "$step")" ;;
|
||||
camera) next="$(_fu_next_camera "$current" "$step")" ;;
|
||||
lockstyle)
|
||||
# The window with the pictures where there is a screen for it,
|
||||
# else the other one of the two.
|
||||
if [[ -n ${WAYLAND_DISPLAY:-} ]]; then
|
||||
fu_ui_cooked fu_lock_choose
|
||||
elif [[ $current == own ]]; then
|
||||
fu_lock_style_set yours
|
||||
else
|
||||
fu_lock_style_set own
|
||||
fi
|
||||
return 0
|
||||
;;
|
||||
path)
|
||||
printf '\n %s ' "$(fu_msg "Picture or folder:")"
|
||||
fu_ui_read_line "$current" || return 0
|
||||
@@ -612,7 +629,11 @@ fu_ui_settings() {
|
||||
before="${FU_C_BLUE}◂${FU_C_RESET} " after=" ${FU_C_BLUE}▸${FU_C_RESET}"
|
||||
fi
|
||||
dim=''
|
||||
[[ -n ${needs[i]} ]] && ! fu_is_true "${current[${needs[i]}]}" && dim="$FU_C_DIM"
|
||||
case "${needs[i]}" in
|
||||
'') ;;
|
||||
*=*) [[ ${current[${needs[i]%%=*}]} == "${needs[i]#*=}" ]] || dim="$FU_C_DIM" ;;
|
||||
*) fu_is_true "${current[${needs[i]}]}" || dim="$FU_C_DIM" ;;
|
||||
esac
|
||||
pad=$(( width + 2 - widths[i] ))
|
||||
if (( i == selected )); then marker="${FU_C_BLUE}▸${FU_C_RESET} "; else marker=' '; fi
|
||||
printf -v row ' %s%s%s%s%*s%s%s%s' "$marker" "$dim" "${labels[i]}" "$FU_C_RESET" "$pad" '' "$before" "$dim$shown$FU_C_RESET" "$after"
|
||||
|
||||
@@ -193,6 +193,129 @@ fu_gnome_extension_disable() {
|
||||
gsettings set org.gnome.shell enabled-extensions "$list" > /dev/null 2>&1 || true
|
||||
}
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# The lock screen where it is a program of its own (Hyprland, Niri)
|
||||
# ---------------------------------------------------------------------------
|
||||
# Either face-unlock's (`face-unlock lock`, with the bubble), or the user's
|
||||
# own program. hyprlock then shows what the bubble would as a line of text: a
|
||||
# label in its config reads a file the agent writes (see
|
||||
# src/agent/locktext.h). Asked once in a window, and under Settings.
|
||||
|
||||
FU_HYPRLOCK_SNIPPET="$FU_XDG_CONFIG/$FU_NAME/hyprlock.conf"
|
||||
FU_HYPRLOCK_MARK="# $FU_NAME: what face unlock is doing, at the top"
|
||||
|
||||
fu_own_lock_here() {
|
||||
[[ $FU_DESKTOP != plasma && $FU_DESKTOP != gnome ]]
|
||||
}
|
||||
|
||||
# fu_hyprlock_text_on
|
||||
# 0 done, 1 could not write, 2 no hyprlock, 3 hyprlock has no config here.
|
||||
fu_hyprlock_text_on() {
|
||||
local conf="$FU_XDG_CONFIG/hypr/hyprlock.conf"
|
||||
fu_have hyprlock || return 2
|
||||
[[ -f $conf ]] || return 3
|
||||
mkdir -p "${FU_HYPRLOCK_SNIPPET%/*}" || return 1
|
||||
cat > "$FU_HYPRLOCK_SNIPPET" <<- EOF || return 1
|
||||
# Written by $FU_NAME: what face unlock is doing, as a line at the top of
|
||||
# hyprlock. Picking $FU_NAME's lock screen in its menu takes it out again.
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:0:1] cat "\$XDG_RUNTIME_DIR/$FU_NAME/lock-text" 2>/dev/null
|
||||
color = rgba(255, 255, 255, 0.95)
|
||||
font_size = 20
|
||||
shadow_passes = 2
|
||||
shadow_size = 3
|
||||
halign = center
|
||||
valign = top
|
||||
position = 0, -48
|
||||
zindex = 10
|
||||
}
|
||||
EOF
|
||||
grep -qxF "$FU_HYPRLOCK_MARK" "$conf" && return 0
|
||||
# With ~ where it can, like a hand-written config. hyprlock expands it.
|
||||
local snippet="$FU_HYPRLOCK_SNIPPET"
|
||||
# shellcheck disable=SC2088 # for hyprlock, not for the shell
|
||||
[[ $snippet == "$HOME"/* ]] && snippet="~/${snippet#"$HOME"/}"
|
||||
printf '\n%s\nsource = %s\n' "$FU_HYPRLOCK_MARK" "$snippet" >> "$conf" || return 1
|
||||
}
|
||||
|
||||
# fu_hyprlock_text_off
|
||||
# The mark, the source line under it, and the empty lines before it. Written
|
||||
# back in place, so a hyprlock.conf that is a link to a dotfile stays one.
|
||||
fu_hyprlock_text_off() {
|
||||
local conf="$FU_XDG_CONFIG/hypr/hyprlock.conf" content
|
||||
rm -f "$FU_HYPRLOCK_SNIPPET"
|
||||
[[ -f $conf ]] && grep -qxF "$FU_HYPRLOCK_MARK" "$conf" || return 0
|
||||
content="$(awk -v mark="$FU_HYPRLOCK_MARK" '
|
||||
$0 == mark { held = ""; skip = 1; next }
|
||||
skip && /^[[:space:]]*source[[:space:]]*=/ { skip = 0; next }
|
||||
{ skip = 0 }
|
||||
/^[[:space:]]*$/ { held = held $0 "\n"; next }
|
||||
{ printf "%s", held; held = ""; print }
|
||||
' "$conf")" || return 1
|
||||
printf '%s\n' "$content" > "$conf"
|
||||
}
|
||||
|
||||
# fu_own_lock_hint
|
||||
# Where face-unlock's lock screen has to be started from: the user's key and
|
||||
# idle lock, which are theirs to change.
|
||||
fu_own_lock_hint() {
|
||||
# shellcheck disable=SC2088 # shown to the user, not a path to open
|
||||
case "$FU_DESKTOP" in
|
||||
hyprland)
|
||||
if [[ -f $FU_XDG_CONFIG/hypr/hyprland.lua ]]; then
|
||||
fu_note "$(fu_msg "To lock with it, add this to %s, and set %s in %s:" "~/.config/hypr/hyprland.lua" "lock_cmd = $FU_NAME lock" "hypridle.conf")"
|
||||
fu_code "hl.bind(\"SUPER + L\", hl.dsp.exec_cmd(\"$FU_NAME lock\"))"
|
||||
else
|
||||
fu_note "$(fu_msg "To lock with it, add this to %s, and set %s in %s:" "~/.config/hypr/hyprland.conf" "lock_cmd = $FU_NAME lock" "hypridle.conf")"
|
||||
fu_code "bind = SUPER, L, exec, $FU_NAME lock"
|
||||
fi
|
||||
;;
|
||||
niri)
|
||||
fu_note "$(fu_msg "To lock with it, add this to the binds in %s, and use %s in swayidle:" "~/.config/niri/config.kdl" "$FU_NAME lock")"
|
||||
fu_code "Mod+Alt+L { spawn \"$FU_NAME\" \"lock\"; }"
|
||||
;;
|
||||
*)
|
||||
fu_note "$(fu_msg "To lock with it, run %s where your lock screen is started now." "$FU_NAME lock")"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# fu_lock_style_set <own|yours>
|
||||
fu_lock_style_set() {
|
||||
# shellcheck disable=SC2088 # shown to the user, not a path to open
|
||||
local conf="~/.config/hypr/hyprlock.conf"
|
||||
case "$1" in
|
||||
own)
|
||||
fu_config_set LockScreenStyle own || { fu_bad "$(fu_msg "Could not save the setting.")"; return 1; }
|
||||
fu_hyprlock_text_off
|
||||
fu_ok "$(fu_msg "You lock with face-unlock's lock screen now.")"
|
||||
fu_own_lock_hint
|
||||
;;
|
||||
yours)
|
||||
fu_config_set LockScreenStyle yours || { fu_bad "$(fu_msg "Could not save the setting.")"; return 1; }
|
||||
fu_hyprlock_text_on
|
||||
case $? in
|
||||
0) fu_ok "$(fu_msg "hyprlock shows what face unlock is doing at the top, from the next time it locks.")" ;;
|
||||
1) fu_bad "$(fu_msg "Could not add the line to %s." "$conf")" ;;
|
||||
2) fu_ok "$(fu_msg "Your lock screen stays as it is. Press Enter on the empty password field to scan.")" ;;
|
||||
3) fu_note "$(fu_msg "hyprlock has no %s, so it cannot show the text." "$conf")" ;;
|
||||
esac
|
||||
;;
|
||||
*) return 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
# fu_lock_choose
|
||||
# Asks in a window which lock screen to use, and carries it out. 1 when the
|
||||
# window was closed or cannot open.
|
||||
fu_lock_choose() {
|
||||
local choice
|
||||
[[ -n ${WAYLAND_DISPLAY:-} ]] || return 1
|
||||
choice="$("$FU_AGENT" --choose-lock-screen 2> /dev/null)" || return 1
|
||||
fu_lock_style_set "$choice"
|
||||
}
|
||||
|
||||
fu_agent_disable() {
|
||||
systemctl --user disable --now "$FU_UNIT_AGENT" > /dev/null 2>&1 || true
|
||||
}
|
||||
@@ -0,0 +1,133 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
//
|
||||
// The user's own lock screen as the window that asks which one to use shows
|
||||
// it: hyprlock's and swaylock's configs read the way they read them.
|
||||
|
||||
#include "lockpreview.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QFile>
|
||||
#include <QTemporaryDir>
|
||||
#include <QVariantMap>
|
||||
|
||||
#include <cstdio>
|
||||
|
||||
namespace
|
||||
{
|
||||
int failures = 0;
|
||||
|
||||
void check(bool ok, const char *what)
|
||||
{
|
||||
std::printf("%s %s\n", ok ? "ok " : "FAIL", what);
|
||||
if (!ok) {
|
||||
++failures;
|
||||
}
|
||||
}
|
||||
|
||||
void write(const QString &path, const QByteArray &text)
|
||||
{
|
||||
QDir().mkpath(path.section(u'/', 0, -2));
|
||||
QFile f(path);
|
||||
if (f.open(QIODevice::WriteOnly)) {
|
||||
f.write(text);
|
||||
}
|
||||
}
|
||||
|
||||
QList<QVariantMap> ofType(const QVariantList &widgets, const QString &type)
|
||||
{
|
||||
QList<QVariantMap> found;
|
||||
for (const QVariant &w : widgets) {
|
||||
if (w.toMap().value(QStringLiteral("type")).toString() == type) {
|
||||
found.append(w.toMap());
|
||||
}
|
||||
}
|
||||
return found;
|
||||
}
|
||||
} // namespace
|
||||
|
||||
int main()
|
||||
{
|
||||
using LockPreview::color;
|
||||
check(color(QStringLiteral("rgba(255, 128, 0, 0.5)")).rgba() == QColor(255, 128, 0, 128).rgba(), "rgba() with numbers");
|
||||
check(color(QStringLiteral("rgba(33ccffee)")) == QColor(0x33, 0xcc, 0xff, 0xee), "rgba() in hex");
|
||||
check(color(QStringLiteral("rgb(10, 20, 30)")) == QColor(10, 20, 30), "rgb() with numbers");
|
||||
check(color(QStringLiteral("0x80112233")) == QColor(0x11, 0x22, 0x33, 0x80), "0xAARRGGBB");
|
||||
check(!color(QStringLiteral("blue-ish")).isValid(), "and nothing for a word");
|
||||
|
||||
QTemporaryDir dir;
|
||||
const QString conf = dir.filePath(QStringLiteral("hyprlock.conf"));
|
||||
write(conf, R"(
|
||||
$font = Noto Sans Light
|
||||
$white = rgba(255, 255, 255, 1.0)
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot
|
||||
blur_passes = 2
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "Hi ##1" # a comment
|
||||
font_family = $font
|
||||
font_size = 30
|
||||
color = $white
|
||||
position = 0, 10%
|
||||
halign = center
|
||||
valign = top
|
||||
}
|
||||
|
||||
label {
|
||||
monitor = HDMI-A-9
|
||||
text = only on another screen
|
||||
}
|
||||
|
||||
source = ./more/*.conf
|
||||
)");
|
||||
write(dir.filePath(QStringLiteral("more/field.conf")), R"(
|
||||
input-field {
|
||||
size = 20%, 50
|
||||
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
zindex = 5
|
||||
}
|
||||
)");
|
||||
|
||||
const QUrl desktop = QUrl::fromLocalFile(QStringLiteral("/w/desktop.jpg"));
|
||||
const QVariantList widgets = LockPreview::hyprlock(conf, QSizeF(1000, 500), QStringLiteral("eDP-1"), desktop);
|
||||
const auto backgrounds = ofType(widgets, QStringLiteral("background"));
|
||||
check(backgrounds.size() == 1 && backgrounds.first().value(QStringLiteral("source")).toUrl() == desktop, "a screenshot background shows the desktop's picture");
|
||||
check(backgrounds.first().value(QStringLiteral("blur")).toDouble() > 0, "and is blurred");
|
||||
|
||||
const auto labels = ofType(widgets, QStringLiteral("label"));
|
||||
check(labels.size() == 2, "the label for another screen is left out, face-unlock's line is added");
|
||||
const QVariantMap hi = labels.value(0);
|
||||
check(hi.value(QStringLiteral("text")).toString() == u"Hi #1", "a command's output, ## as #, the comment gone");
|
||||
check(hi.value(QStringLiteral("family")).toString() == u"Noto Sans" && hi.value(QStringLiteral("weight")).toInt() == 300, "a variable, and the font's style word as weight");
|
||||
check(hi.value(QStringLiteral("color")).value<QColor>() == QColor(Qt::white), "a colour through a variable");
|
||||
check(qFuzzyCompare(hi.value(QStringLiteral("y")).toDouble(), 50.0), "a position in percent of the screen");
|
||||
check(labels.value(1).value(QStringLiteral("valign")).toString() == u"top", "face-unlock's line at the top");
|
||||
|
||||
const auto fields = ofType(widgets, QStringLiteral("input"));
|
||||
check(fields.size() == 1, "a sourced file is read");
|
||||
check(qFuzzyCompare(fields.value(0).value(QStringLiteral("width")).toDouble(), 200.0), "a size in percent");
|
||||
const QVariantMap outer = fields.value(0).value(QStringLiteral("outer")).toMap();
|
||||
check(outer.value(QStringLiteral("colors")).toList().size() == 2 && qFuzzyCompare(outer.value(QStringLiteral("angle")).toDouble(), 45.0), "a gradient");
|
||||
check(widgets.last().toMap().value(QStringLiteral("type")).toString() == u"label", "drawn by zindex, the line on top");
|
||||
|
||||
// Once the menu has put the line in, it is not there twice.
|
||||
write(conf, "label {\n text = cmd[update:0:1] cat \"$XDG_RUNTIME_DIR/face-unlock/lock-text\"\n}\n");
|
||||
const auto ours = ofType(LockPreview::hyprlock(conf, QSizeF(1000, 500), QString(), desktop), QStringLiteral("label"));
|
||||
check(ours.size() == 1 && !ours.first().value(QStringLiteral("text")).toString().isEmpty(), "face-unlock's line once, saying what it would");
|
||||
|
||||
const QString sway = dir.filePath(QStringLiteral("swaylock"));
|
||||
write(sway, "# comment\nimage=eDP-1:~/pic.png\ncolor=102030\nindicator-idle-visible\nindicator-radius=80\n");
|
||||
const QVariantList swaylock = LockPreview::swaylock(sway, desktop);
|
||||
const QVariantMap back = swaylock.value(0).toMap();
|
||||
check(back.value(QStringLiteral("source")).toUrl() == QUrl::fromLocalFile(QDir::homePath() + QStringLiteral("/pic.png")), "swaylock: the image, without its output");
|
||||
check(back.value(QStringLiteral("color")).value<QColor>() == QColor(0x10, 0x20, 0x30), "swaylock: the colour");
|
||||
check(ofType(swaylock, QStringLiteral("ring")).value(0).value(QStringLiteral("radius")).toDouble() == 80, "swaylock: the ring when it stays visible");
|
||||
check(LockPreview::swaylock(QString(), desktop).value(0).toMap().value(QStringLiteral("color")).value<QColor>() == QColor(Qt::white), "swaylock without a config: white");
|
||||
|
||||
std::printf("\n%s\n", failures ? "SOME CHECKS FAILED" : "all checks passed");
|
||||
return failures ? 1 : 0;
|
||||
}
|
||||
Reference in new issue
Block a user