fix(gui,cli): count what a folder's first scan has checked (#46)

The first pass over a synced folder has no baseline to estimate from, so
its scan showed only "checking for changes…" in the app and "scanning…"
in `pdfs sync list`. For a large folder that scan reads every item on
Proton Drive before anything downloads, which takes many minutes and
looked stuck. Both now show how many items the scan has checked so far.
This commit is contained in:
nvrl committed 2026-10-26 22:28:46 +01:00
1 parent a5acae41b3
commit 0e7ffe1261
12 files changed
+833 -687

No files matched your search

+87 -76
View File
@@ -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-10-26 17:16+0100\n"
"POT-Creation-Date: 2026-10-26 22:26+0100\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Italian\n"
@@ -245,13 +245,13 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/browser.rs:1917
#: crates/pdfs-gui/src/app/pages/browser.rs:2039
#: crates/pdfs-gui/src/app/pages/browser.rs:2540
#: crates/pdfs-gui/src/app/pages/devices.rs:796
#: crates/pdfs-gui/src/app/pages/devices.rs:949
#: crates/pdfs-gui/src/app/pages/devices.rs:987
#: crates/pdfs-gui/src/app/pages/devices.rs:1039
#: crates/pdfs-gui/src/app/pages/devices.rs:1083
#: crates/pdfs-gui/src/app/pages/devices.rs:1123
#: crates/pdfs-gui/src/app/pages/devices.rs:1186
#: crates/pdfs-gui/src/app/pages/devices.rs:804
#: crates/pdfs-gui/src/app/pages/devices.rs:957
#: crates/pdfs-gui/src/app/pages/devices.rs:995
#: crates/pdfs-gui/src/app/pages/devices.rs:1047
#: crates/pdfs-gui/src/app/pages/devices.rs:1091
#: crates/pdfs-gui/src/app/pages/devices.rs:1131
#: crates/pdfs-gui/src/app/pages/devices.rs:1194
#: crates/pdfs-gui/src/app/pages/locations.rs:850
#: crates/pdfs-gui/src/app/pages/locations.rs:1054
#: crates/pdfs-gui/src/app/pages/locations.rs:1537
@@ -346,7 +346,7 @@ msgstr "Griglia / elenco"
#: crates/pdfs-gui/src/app/pages/albums.rs:298
#: crates/pdfs-gui/src/app/pages/browser.rs:1896
#: crates/pdfs-gui/src/app/pages/browser.rs:1918
#: crates/pdfs-gui/src/app/pages/devices.rs:988
#: crates/pdfs-gui/src/app/pages/devices.rs:996
#: crates/pdfs-gui/src/app/widgets/details.rs:161
msgid "Rename"
msgstr "Rinomina"
@@ -678,7 +678,7 @@ msgid "Couldn't add a sync folder"
msgstr "Impossibile aggiungere una cartella sincronizzata"
#: crates/pdfs-gui/src/app/pages/activity_text.rs:58
#: crates/pdfs-gui/src/app/pages/devices.rs:831
#: crates/pdfs-gui/src/app/pages/devices.rs:839
msgid "Couldn't restore folders"
msgstr "Impossibile ripristinare le cartelle"
@@ -1273,12 +1273,12 @@ msgstr "Impossibile caricare gli album"
#: crates/pdfs-gui/src/app/pages/browser.rs:1873
#: crates/pdfs-gui/src/app/pages/browser.rs:2500
#: crates/pdfs-gui/src/app/pages/browser.rs:2650
#: crates/pdfs-gui/src/app/pages/devices.rs:699
#: crates/pdfs-gui/src/app/pages/devices.rs:739
#: crates/pdfs-gui/src/app/pages/devices.rs:892
#: crates/pdfs-gui/src/app/pages/devices.rs:1162
#: crates/pdfs-gui/src/app/pages/devices.rs:1223
#: crates/pdfs-gui/src/app/pages/devices.rs:1252
#: crates/pdfs-gui/src/app/pages/devices.rs:707
#: crates/pdfs-gui/src/app/pages/devices.rs:747
#: crates/pdfs-gui/src/app/pages/devices.rs:900
#: crates/pdfs-gui/src/app/pages/devices.rs:1170
#: crates/pdfs-gui/src/app/pages/devices.rs:1231
#: crates/pdfs-gui/src/app/pages/devices.rs:1260
#: crates/pdfs-gui/src/app/pages/duplicates.rs:221
#: crates/pdfs-gui/src/app/pages/locations.rs:577
#: crates/pdfs-gui/src/app/pages/locations.rs:824
@@ -1927,7 +1927,7 @@ msgid "{status}. {message}"
msgstr "{status}. {message}"
#: crates/pdfs-gui/src/app/pages/browser.rs:1900
#: crates/pdfs-gui/src/app/pages/devices.rs:981
#: crates/pdfs-gui/src/app/pages/devices.rs:989
msgid "New name"
msgstr "Nuovo nome"
@@ -1952,7 +1952,7 @@ msgstr "Scegli la cartella di destinazione."
#: crates/pdfs-gui/src/app/pages/browser.rs:1989
#: crates/pdfs-gui/src/app/pages/browser.rs:1994
#: crates/pdfs-gui/src/app/pages/devices.rs:1187
#: crates/pdfs-gui/src/app/pages/devices.rs:1195
msgid "Move Here"
msgstr "Sposta qui"
@@ -2298,46 +2298,53 @@ msgstr "richiede attenzione"
msgid "up to date"
msgstr "aggiornato"
#: crates/pdfs-gui/src/app/pages/devices.rs:634
#: crates/pdfs-gui/src/app/pages/devices.rs:632
msgid "checking for changes…"
msgstr "controllo delle modifiche…"
#: crates/pdfs-gui/src/app/pages/devices.rs:637
#: crates/pdfs-gui/src/app/pages/devices.rs:638
#, rust-format
msgid "checking for changes — {n} item checked"
msgid_plural "checking for changes — {n} items checked"
msgstr[0] "controllo delle modifiche: {n} elemento controllato"
msgstr[1] "controllo delle modifiche: {n} elementi controllati"
#: crates/pdfs-gui/src/app/pages/devices.rs:645
#, rust-format
msgid "checking for changes — {done} of {total}"
msgstr "controllo delle modifiche: {done} di {total}"
#: crates/pdfs-gui/src/app/pages/devices.rs:649
#: crates/pdfs-gui/src/app/pages/devices.rs:657
#, rust-format
msgid "syncing {done} of {total}"
msgstr "sincronizzazione {done} di {total}"
#: crates/pdfs-gui/src/app/pages/devices.rs:655
#: crates/pdfs-gui/src/app/pages/devices.rs:663
#, rust-format
msgid "syncing {file} — {done} of {total}"
msgstr "sincronizzazione di {file}: {done} di {total}"
#: crates/pdfs-gui/src/app/pages/devices.rs:667
#: crates/pdfs-gui/src/app/pages/devices.rs:675
msgid "Add Folder to Sync"
msgstr "Aggiungi cartella da sincronizzare"
#: crates/pdfs-gui/src/app/pages/devices.rs:691
#: crates/pdfs-gui/src/app/pages/devices.rs:699
#: crates/pdfs-gui/src/app/pages/locations.rs:1559
#: crates/pdfs-gui/src/app/pages/locations.rs:1686
msgid "Syncing folder…"
msgstr "Sincronizzazione della cartella…"
#: crates/pdfs-gui/src/app/pages/devices.rs:694
#: crates/pdfs-gui/src/app/pages/devices.rs:698
#: crates/pdfs-gui/src/app/pages/devices.rs:702
#: crates/pdfs-gui/src/app/pages/devices.rs:706
msgid "Couldn't add folder"
msgstr "Impossibile aggiungere la cartella"
#: crates/pdfs-gui/src/app/pages/devices.rs:732
#: crates/pdfs-gui/src/app/pages/devices.rs:738
#: crates/pdfs-gui/src/app/pages/devices.rs:740
#: crates/pdfs-gui/src/app/pages/devices.rs:746
msgid "Couldn't list folders to restore"
msgstr "Impossibile elencare le cartelle da ripristinare"
#: crates/pdfs-gui/src/app/pages/devices.rs:764
#: crates/pdfs-gui/src/app/pages/devices.rs:772
msgid ""
"Tick the folders to sync to this machine, and adjust where each one should "
"live."
@@ -2345,19 +2352,19 @@ msgstr ""
"Seleziona le cartelle da sincronizzare su questa macchina e regola dove deve "
"trovarsi ciascuna."
#: crates/pdfs-gui/src/app/pages/devices.rs:790
#: crates/pdfs-gui/src/app/pages/devices.rs:798
msgid "Restore Folders"
msgstr "Ripristina cartelle"
#: crates/pdfs-gui/src/app/pages/devices.rs:797
#: crates/pdfs-gui/src/app/pages/devices.rs:805
msgid "Restore"
msgstr "Ripristina"
#: crates/pdfs-gui/src/app/pages/devices.rs:830
#: crates/pdfs-gui/src/app/pages/devices.rs:838
msgid "Restoring folders…"
msgstr "Ripristino delle cartelle…"
#: crates/pdfs-gui/src/app/pages/devices.rs:842
#: crates/pdfs-gui/src/app/pages/devices.rs:850
#, rust-format
msgid ""
"These folders are backed up from “{name}”. Restored folders keep syncing "
@@ -2366,39 +2373,39 @@ msgstr ""
"Queste cartelle sono sottoposte a backup da “{name}”. Le cartelle "
"ripristinate continuano a sincronizzarsi con la copia di quel computer."
#: crates/pdfs-gui/src/app/pages/devices.rs:845
#: crates/pdfs-gui/src/app/pages/devices.rs:853
msgid "These folders are backed up under this computer in Proton Drive."
msgstr ""
"Queste cartelle sono sottoposte a backup sotto questo computer in Proton "
"Drive."
#: crates/pdfs-gui/src/app/pages/devices.rs:854
#: crates/pdfs-gui/src/app/pages/devices.rs:862
#, rust-format
msgid "Nothing to restore — “{name}”'s folders are all synced here."
msgstr ""
"Niente da ripristinare: le cartelle di “{name}” sono già tutte sincronizzate "
"qui."
#: crates/pdfs-gui/src/app/pages/devices.rs:857
#: crates/pdfs-gui/src/app/pages/devices.rs:865
msgid "Nothing to restore — this computer's folders are all synced here."
msgstr ""
"Niente da ripristinare: le cartelle di questo computer sono già tutte "
"sincronizzate qui."
#: crates/pdfs-gui/src/app/pages/devices.rs:881
#: crates/pdfs-gui/src/app/pages/devices.rs:889
msgid "Folder will switch to online only"
msgstr "La cartella passerà a solo online"
#: crates/pdfs-gui/src/app/pages/devices.rs:883
#: crates/pdfs-gui/src/app/pages/devices.rs:891
msgid "Folder will download and stay synced"
msgstr "La cartella verrà scaricata e resterà sincronizzata"
#: crates/pdfs-gui/src/app/pages/devices.rs:887
#: crates/pdfs-gui/src/app/pages/devices.rs:891
#: crates/pdfs-gui/src/app/pages/devices.rs:895
#: crates/pdfs-gui/src/app/pages/devices.rs:899
msgid "Couldn't change mode"
msgstr "Impossibile cambiare modalità"
#: crates/pdfs-gui/src/app/pages/devices.rs:923
#: crates/pdfs-gui/src/app/pages/devices.rs:931
#, rust-format
msgid ""
"Stop syncing “{path}”?\n"
@@ -2416,7 +2423,7 @@ msgstr ""
"cartella a Sincronizzata e attendi il completamento del download prima di "
"rimuoverla."
#: crates/pdfs-gui/src/app/pages/devices.rs:929
#: crates/pdfs-gui/src/app/pages/devices.rs:937
#, rust-format
msgid ""
"Stop syncing “{path}”?\n"
@@ -2429,68 +2436,68 @@ msgstr ""
"I file locali restano su questo disco e semplicemente smettono di essere "
"sincronizzati. Scegli se eliminare anche la copia in Proton Drive."
#: crates/pdfs-gui/src/app/pages/devices.rs:934
#: crates/pdfs-gui/src/app/pages/devices.rs:942
msgid "Stop Syncing Folder?"
msgstr "Interrompere la sincronizzazione della cartella?"
#: crates/pdfs-gui/src/app/pages/devices.rs:939
#: crates/pdfs-gui/src/app/pages/devices.rs:947
msgid "Also delete from Proton Drive"
msgstr "Elimina anche da Proton Drive"
#: crates/pdfs-gui/src/app/pages/devices.rs:941
#: crates/pdfs-gui/src/app/pages/devices.rs:949
msgid "Deletes the only copy of these files."
msgstr "Elimina l'unica copia di questi file."
#: crates/pdfs-gui/src/app/pages/devices.rs:943
#: crates/pdfs-gui/src/app/pages/devices.rs:951
msgid "The local copy is unaffected."
msgstr "La copia locale non viene modificata."
#: crates/pdfs-gui/src/app/pages/devices.rs:950
#: crates/pdfs-gui/src/app/pages/devices.rs:958
msgid "Stop Syncing"
msgstr "Interrompi sincronizzazione"
#: crates/pdfs-gui/src/app/pages/devices.rs:963
#: crates/pdfs-gui/src/app/pages/devices.rs:971
msgid "Stopped syncing folder"
msgstr "Sincronizzazione della cartella interrotta"
#: crates/pdfs-gui/src/app/pages/devices.rs:964
#: crates/pdfs-gui/src/app/pages/devices.rs:972
msgid "Couldn't stop syncing the folder"
msgstr "Impossibile interrompere la sincronizzazione della cartella"
#: crates/pdfs-gui/src/app/pages/devices.rs:975
#: crates/pdfs-gui/src/app/pages/devices.rs:983
msgid "Rename Computer"
msgstr "Rinomina computer"
#. Translators: {name} is the computer's current name.
#: crates/pdfs-gui/src/app/pages/devices.rs:977
#: crates/pdfs-gui/src/app/pages/devices.rs:985
#, rust-format
msgid "Rename “{name}”."
msgstr "Rinomina “{name}”."
#: crates/pdfs-gui/src/app/pages/devices.rs:1002
#: crates/pdfs-gui/src/app/pages/devices.rs:1014
#: crates/pdfs-gui/src/app/pages/devices.rs:1010
#: crates/pdfs-gui/src/app/pages/devices.rs:1022
msgid "Couldn't rename the computer"
msgstr "Impossibile rinominare il computer"
#: crates/pdfs-gui/src/app/pages/devices.rs:1003
#: crates/pdfs-gui/src/app/pages/devices.rs:1011
msgid "A name is required."
msgstr "È richiesto un nome."
#: crates/pdfs-gui/src/app/pages/devices.rs:1013
#: crates/pdfs-gui/src/app/pages/devices.rs:1021
msgid "Computer renamed"
msgstr "Computer rinominato"
#. Translators: {name} is the computer's name, which the user must type.
#: crates/pdfs-gui/src/app/pages/devices.rs:1026
#: crates/pdfs-gui/src/app/pages/devices.rs:1034
#, rust-format
msgid "Type “{name}” to confirm"
msgstr "Digita “{name}” per confermare"
#: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1039
msgid "Remove Computer?"
msgstr "Rimuovere il computer?"
#: crates/pdfs-gui/src/app/pages/devices.rs:1034
#: crates/pdfs-gui/src/app/pages/devices.rs:1042
#, rust-format
msgid ""
"Remove “{name}” from this account?\n"
@@ -2505,26 +2512,26 @@ msgstr ""
"insieme a esso. I file su quel computer non vengono toccati, ma questa "
"operazione non può essere annullata da qui."
#: crates/pdfs-gui/src/app/pages/devices.rs:1040
#: crates/pdfs-gui/src/app/pages/devices.rs:1048
#: crates/pdfs-gui/src/app/pages/shared.rs:1025
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:634
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:876
msgid "Remove"
msgstr "Rimuovi"
#: crates/pdfs-gui/src/app/pages/devices.rs:1057
#: crates/pdfs-gui/src/app/pages/devices.rs:1065
msgid "Computer removed"
msgstr "Computer rimosso"
#: crates/pdfs-gui/src/app/pages/devices.rs:1058
#: crates/pdfs-gui/src/app/pages/devices.rs:1066
msgid "Couldn't remove the computer"
msgstr "Impossibile rimuovere il computer"
#: crates/pdfs-gui/src/app/pages/devices.rs:1076
#: crates/pdfs-gui/src/app/pages/devices.rs:1084
msgid "Continue This Backup Here?"
msgstr "Continuare questo backup qui?"
#: crates/pdfs-gui/src/app/pages/devices.rs:1079
#: crates/pdfs-gui/src/app/pages/devices.rs:1087
#, rust-format
msgid ""
"This computer takes over the backup of “{name}”, for example after a "
@@ -2543,25 +2550,25 @@ msgstr ""
"qui non vengono spostate. Usa poi “Ripristina su questo computer” per "
"recuperare ciò che “{name}” sincronizzava."
#: crates/pdfs-gui/src/app/pages/devices.rs:1084
#: crates/pdfs-gui/src/app/pages/devices.rs:1092
msgid "Continue Here"
msgstr "Continua qui"
#. Translators: {name} is the name of the computer whose backup this one took over.
#: crates/pdfs-gui/src/app/pages/devices.rs:1091
#: crates/pdfs-gui/src/app/pages/devices.rs:1099
#, rust-format
msgid "Now backing up as “{name}”"
msgstr "Ora il backup avviene come “{name}”"
#: crates/pdfs-gui/src/app/pages/devices.rs:1100
#: crates/pdfs-gui/src/app/pages/devices.rs:1108
msgid "Couldn't continue that backup here"
msgstr "Impossibile continuare quel backup qui"
#: crates/pdfs-gui/src/app/pages/devices.rs:1116
#: crates/pdfs-gui/src/app/pages/devices.rs:1124
msgid "Sync With This Computer?"
msgstr "Sincronizzare con questo computer?"
#: crates/pdfs-gui/src/app/pages/devices.rs:1119
#: crates/pdfs-gui/src/app/pages/devices.rs:1127
#, rust-format
msgid ""
"This computer and “{name}” keep the same folders in step. A change or a "
@@ -2578,25 +2585,25 @@ msgstr ""
"in Proton Drive. Le cartelle già sincronizzate qui restano dove sono. Poi "
"scegli quali delle sue cartelle sincronizzare qui."
#: crates/pdfs-gui/src/app/pages/devices.rs:1124
#: crates/pdfs-gui/src/app/pages/devices.rs:1132
msgid "Sync Here"
msgstr "Sincronizza qui"
#. Translators: {name} is the name of the other computer this one now syncs with.
#: crates/pdfs-gui/src/app/pages/devices.rs:1131
#: crates/pdfs-gui/src/app/pages/devices.rs:1139
#, rust-format
msgid "Now syncing with “{name}”"
msgstr "Ora sincronizzato con “{name}”"
#: crates/pdfs-gui/src/app/pages/devices.rs:1147
#: crates/pdfs-gui/src/app/pages/devices.rs:1155
msgid "Couldn't sync with that computer"
msgstr "Impossibile sincronizzare con quel computer"
#: crates/pdfs-gui/src/app/pages/devices.rs:1179
#: crates/pdfs-gui/src/app/pages/devices.rs:1187
msgid "Move Backup to This Computer?"
msgstr "Spostare il backup su questo computer?"
#: crates/pdfs-gui/src/app/pages/devices.rs:1182
#: crates/pdfs-gui/src/app/pages/devices.rs:1190
#, rust-format
msgid ""
"The folders backed up by “{name}” move into this computer's backup in Proton "
@@ -2613,12 +2620,12 @@ msgstr ""
"cartelle."
#. Translators: {name} is the name of the computer whose folders moved to this one.
#: crates/pdfs-gui/src/app/pages/devices.rs:1194
#: crates/pdfs-gui/src/app/pages/devices.rs:1202
#, rust-format
msgid "Moved the backup of “{name}”"
msgstr "Backup di “{name}” spostato"
#: crates/pdfs-gui/src/app/pages/devices.rs:1208
#: crates/pdfs-gui/src/app/pages/devices.rs:1216
msgid "Couldn't move that backup"
msgstr "Impossibile spostare quel backup"
@@ -3263,7 +3270,11 @@ msgid ""
"This computer forgets what it synced in {path} before and compares the "
"folder with Proton Drive again. Nothing is deleted: a file on one side only "
"is copied to the other, and a file that differs keeps both versions."
msgstr "Questo computer dimentica ciò che ha sincronizzato finora in {path} e confronta di nuovo la cartella con Proton Drive. Non viene eliminato nulla: un file presente su un solo lato viene copiato sull’altro e di un file diverso vengono mantenute entrambe le versioni."
msgstr ""
"Questo computer dimentica ciò che ha sincronizzato finora in {path} e "
"confronta di nuovo la cartella con Proton Drive. Non viene eliminato nulla: "
"un file presente su un solo lato viene copiato sull’altro e di un file "
"diverso vengono mantenute entrambe le versioni."
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
msgid "Sync From Scratch"