mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
feat(core,fuse,gui): find photos that look alike
The duplicate finder gains an Exact / Similar switch. Similar asks the daemon for PhotoSimilar, which starts a background pass that hashes the thumbnail of every shot not hashed yet and replies at once with the sets found so far and how far hashing has got. The dialog shows a progress bar and asks again until the pass is done, then lists the sets. The pass takes thumbnails from the server only: a photo without one is skipped for the run instead of downloaded whole, and the dialog says how many photos could not be compared. Decoding and hashing are spread over the machine's cores. Every similar photo starts ticked Keep, since photos that look alike can be different shots. A similar photo stands for its whole shot, so one not kept goes to Trash with the rest of its shot.
This commit is contained in:
1 parent
c98ed0d83b
commit
a90eeecda9
16 files changed
+1276
-250
No files matched your search
@@ -5,7 +5,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: proton-drive-linux 2.1.0\n"
|
||||
"Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n"
|
||||
"POT-Creation-Date: 2026-09-28 03:11+0200\n"
|
||||
"POT-Creation-Date: 2026-09-28 03:33+0200\n"
|
||||
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
|
||||
"Last-Translator: Proton Drive for Linux contributors\n"
|
||||
"Language-Team: Dutch\n"
|
||||
@@ -312,7 +312,6 @@ msgstr "Hernoemen"
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:414
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1306
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1338
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:24
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:607
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2063
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2067
|
||||
@@ -764,7 +763,7 @@ msgstr "Kon het album niet aanmaken"
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:532
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:682
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:912
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:63
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:223
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:342
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:516
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:739
|
||||
@@ -1902,28 +1901,82 @@ msgstr "Identiteit overgenomen"
|
||||
msgid "Couldn't adopt that computer"
|
||||
msgstr "Kon die computer niet overnemen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:15
|
||||
msgid "Looking for duplicates…"
|
||||
msgstr "Duplicaten zoeken…"
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:79
|
||||
msgctxt "duplicates"
|
||||
msgid "Exact"
|
||||
msgstr "Exact"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:42
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:80
|
||||
msgid "Photos stored more than once"
|
||||
msgstr "Foto's die meer dan eens zijn opgeslagen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:84
|
||||
msgctxt "duplicates"
|
||||
msgid "Similar"
|
||||
msgstr "Vergelijkbaar"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:85
|
||||
msgid "Photos that look alike"
|
||||
msgstr "Foto's die op elkaar lijken"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:102
|
||||
msgid "Duplicates"
|
||||
msgstr "Duplicaten"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:56
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:62
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:151
|
||||
msgid "Looking for duplicates…"
|
||||
msgstr "Duplicaten zoeken…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:152
|
||||
msgid "Looking for similar photos…"
|
||||
msgstr "Vergelijkbare foto's zoeken…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:176
|
||||
msgid "Couldn't look for duplicates"
|
||||
msgstr "Kon niet naar duplicaten zoeken"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:69
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:177
|
||||
msgid "Couldn't look for similar photos"
|
||||
msgstr "Kon niet naar vergelijkbare foto's zoeken"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:185
|
||||
msgid "Comparing photos…"
|
||||
msgstr "Foto's vergelijken…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:187
|
||||
msgid "Photos are compared by their thumbnails. The first time takes a while."
|
||||
msgstr "Foto's worden vergeleken aan de hand van hun miniaturen. De eerste keer duurt dat even."
|
||||
|
||||
#. Translators: {done} and {total} are numbers of photos.
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:196
|
||||
#, rust-format
|
||||
msgid "{done} of {total}"
|
||||
msgstr "{done} van {total}"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:233
|
||||
msgid "No duplicates"
|
||||
msgstr "Geen duplicaten"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:71
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:235
|
||||
msgid "Every photo in your library is stored once."
|
||||
msgstr "Elke foto in je bibliotheek is maar één keer opgeslagen."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:88
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:239
|
||||
msgid "No similar photos"
|
||||
msgstr "Geen vergelijkbare foto's"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:241
|
||||
msgid "No two photos in your library look alike."
|
||||
msgstr "Er zijn geen twee foto's in je bibliotheek die op elkaar lijken."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:263
|
||||
#, rust-format
|
||||
msgid "{n} photo couldn't be compared because it has no thumbnail yet."
|
||||
msgid_plural "{n} photos couldn't be compared because they have no thumbnail yet."
|
||||
msgstr[0] "{n} foto kon niet worden vergeleken omdat die nog geen miniatuur heeft."
|
||||
msgstr[1] "{n} foto's konden niet worden vergeleken omdat ze nog geen miniatuur hebben."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:286
|
||||
msgid ""
|
||||
"These photos are stored more than once. The copies you don't keep move to "
|
||||
"Trash, where you can restore them."
|
||||
@@ -1931,21 +1984,40 @@ msgstr ""
|
||||
"Deze foto's zijn meer dan eens opgeslagen. De kopieën die je niet houdt, "
|
||||
"gaan naar de prullenbak, waar je ze kunt terugzetten."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:111
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:289
|
||||
msgid "These photos look alike. They can be copies of one photo or different shots of one moment, so all of them are kept until you untick them. The photos you don't keep move to Trash, where you can restore them."
|
||||
msgstr "Deze foto's lijken op elkaar. Het kunnen kopieën van één foto zijn of verschillende opnamen van één moment, dus ze worden allemaal gehouden tot je ze uitvinkt. De foto's die je niet houdt, gaan naar de prullenbak, waar je ze kunt terugzetten."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:323
|
||||
#, rust-format
|
||||
msgid "{date}, {n} copy"
|
||||
msgid_plural "{date}, {n} copies"
|
||||
msgstr[0] "{date}, {n} kopie"
|
||||
msgstr[1] "{date}, {n} kopieën"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:143
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:330
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2994
|
||||
#, rust-format
|
||||
msgid "{date}, {n} photo"
|
||||
msgid_plural "{date}, {n} photos"
|
||||
msgstr[0] "{date}, {n} foto"
|
||||
msgstr[1] "{date}, {n} foto's"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:364
|
||||
#, rust-format
|
||||
msgid "Move {n} copy to Trash"
|
||||
msgid_plural "Move {n} copies to Trash"
|
||||
msgstr[0] "{n} kopie naar prullenbak verplaatsen"
|
||||
msgstr[1] "{n} kopieën naar prullenbak verplaatsen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:235
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:370
|
||||
#, rust-format
|
||||
msgid "Move {n} photo to Trash"
|
||||
msgid_plural "Move {n} photos to Trash"
|
||||
msgstr[0] "{n} foto naar prullenbak verplaatsen"
|
||||
msgstr[1] "{n} foto's naar prullenbak verplaatsen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:465
|
||||
msgid "Keep"
|
||||
msgstr "Houden"
|
||||
|
||||
@@ -2998,13 +3070,6 @@ msgid_plural "{n} years ago"
|
||||
msgstr[0] "{n} jaar geleden"
|
||||
msgstr[1] "{n} jaar geleden"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2994
|
||||
#, rust-format
|
||||
msgid "{date}, {n} photo"
|
||||
msgid_plural "{date}, {n} photos"
|
||||
msgstr[0] "{date}, {n} foto"
|
||||
msgstr[1] "{date}, {n} foto's"
|
||||
|
||||
#. Translators: a check item in a photo's menu, on while the photo is a favorite.
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:3231
|
||||
msgctxt "state"
|
||||
|
||||
Reference in new issue
Block a user