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: Italian\n"
|
||||
@@ -311,7 +311,6 @@ msgstr "Rinomina"
|
||||
#: 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
|
||||
@@ -763,7 +762,7 @@ msgstr "Impossibile creare l'album"
|
||||
#: 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
|
||||
@@ -1904,28 +1903,82 @@ msgstr "Identità adottata"
|
||||
msgid "Couldn't adopt that computer"
|
||||
msgstr "Impossibile adottare quel computer"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:15
|
||||
msgid "Looking for duplicates…"
|
||||
msgstr "Ricerca dei duplicati…"
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:79
|
||||
msgctxt "duplicates"
|
||||
msgid "Exact"
|
||||
msgstr "Esatti"
|
||||
|
||||
#: 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 salvate più di una volta"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:84
|
||||
msgctxt "duplicates"
|
||||
msgid "Similar"
|
||||
msgstr "Simili"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:85
|
||||
msgid "Photos that look alike"
|
||||
msgstr "Foto che si somigliano"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:102
|
||||
msgid "Duplicates"
|
||||
msgstr "Duplicati"
|
||||
|
||||
#: 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 "Ricerca dei duplicati…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:152
|
||||
msgid "Looking for similar photos…"
|
||||
msgstr "Ricerca delle foto simili…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:176
|
||||
msgid "Couldn't look for duplicates"
|
||||
msgstr "Impossibile cercare i duplicati"
|
||||
|
||||
#: 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 "Impossibile cercare le foto simili"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:185
|
||||
msgid "Comparing photos…"
|
||||
msgstr "Confronto delle foto…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:187
|
||||
msgid "Photos are compared by their thumbnails. The first time takes a while."
|
||||
msgstr "Le foto vengono confrontate in base alle miniature. La prima volta richiede un po’ di tempo."
|
||||
|
||||
#. 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} di {total}"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:233
|
||||
msgid "No duplicates"
|
||||
msgstr "Nessun duplicato"
|
||||
|
||||
#: 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 "Ogni foto della libreria è salvata una sola volta."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:88
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:239
|
||||
msgid "No similar photos"
|
||||
msgstr "Nessuna foto simile"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:241
|
||||
msgid "No two photos in your library look alike."
|
||||
msgstr "Nella libreria non ci sono due foto che si somigliano."
|
||||
|
||||
#: 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 non è stata confrontata perché non ha ancora una miniatura."
|
||||
msgstr[1] "{n} foto non sono state confrontate perché non hanno ancora una miniatura."
|
||||
|
||||
#: 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."
|
||||
@@ -1933,21 +1986,40 @@ msgstr ""
|
||||
"Queste foto sono salvate più di una volta. Le copie che non tieni vengono "
|
||||
"spostate nel cestino, da dove puoi ripristinarle."
|
||||
|
||||
#: 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 "Queste foto si somigliano. Possono essere copie di una stessa foto o scatti diversi di uno stesso momento, quindi vengono tenute tutte finché non le deselezioni. Le foto che non tieni vengono spostate nel cestino, da dove puoi ripristinarle."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:323
|
||||
#, rust-format
|
||||
msgid "{date}, {n} copy"
|
||||
msgid_plural "{date}, {n} copies"
|
||||
msgstr[0] "{date}, {n} copia"
|
||||
msgstr[1] "{date}, {n} copie"
|
||||
|
||||
#: 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"
|
||||
|
||||
#: 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] "Sposta {n} copia nel cestino"
|
||||
msgstr[1] "Sposta {n} copie nel cestino"
|
||||
|
||||
#: 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] "Sposta {n} foto nel cestino"
|
||||
msgstr[1] "Sposta {n} foto nel cestino"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/duplicates.rs:465
|
||||
msgid "Keep"
|
||||
msgstr "Tieni"
|
||||
|
||||
@@ -2998,13 +3070,6 @@ msgid_plural "{n} years ago"
|
||||
msgstr[0] "{n} anno fa"
|
||||
msgstr[1] "{n} anni fa"
|
||||
|
||||
#: 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"
|
||||
|
||||
#. 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