feat(fuse,core,cli,gui): move another computer's backup to this one

A user switching from a Windows PC to Linux had two half answers:
adopting the old device makes this machine back up as it, and restoring
its folders keeps them in the old device's tree. Neither puts the data
under this machine's own device.

Device roots are separate shares on the main volume, so each top-level
folder of the other device can move under this device's root in one
server-side move. Nothing is uploaded again, and the other device stays
registered, without those folders.

- core: `Request::MigrateDevice { uid }` and
  `Db::sync_folder_set_share`
- fuse: `Core::migrate_device` moves every folder, suffixes a name
  already taken here with the other device's name, keeps going past a
  failed folder, and re-points sync folders that already tracked a
  moved folder at the new share
- cli: `pdfs devices migrate UID [--yes]` confirms, moves, then runs
  the ordinary restore picker
- gui: "Move to This Computer…" on another computer's row, followed by
  the restore picker
- i18n: translate the new strings in every catalog
- docs: CLI.md, USER_GUIDE.md, RECOVERY.md, ARCHITECTURE.md, changelog
This commit is contained in:
nvrl committed 2026-10-08 13:34:28 +02:00
1 parent 8d0351124c
commit 3e3dd7db41
21 files changed
+1349 -694

No files matched your search

+113 -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-08 10:15+0200\n"
"POT-Creation-Date: 2026-10-08 13:23+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: Italian\n"
@@ -90,7 +90,7 @@ msgstr "Condivisi da me"
#: crates/pdfs-gui/src/app/main.rs:776
#: crates/pdfs-gui/src/app/pages/devices.rs:140
#: crates/pdfs-gui/src/app/pages/devices.rs:481
#: crates/pdfs-gui/src/app/pages/devices.rs:485
msgid "Computers"
msgstr "Computer"
@@ -262,11 +262,12 @@ msgstr ""
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
#: crates/pdfs-gui/src/app/pages/browser.rs:1968
#: crates/pdfs-gui/src/app/pages/browser.rs:2381
#: crates/pdfs-gui/src/app/pages/devices.rs:788
#: crates/pdfs-gui/src/app/pages/devices.rs:941
#: crates/pdfs-gui/src/app/pages/devices.rs:979
#: crates/pdfs-gui/src/app/pages/devices.rs:1031
#: crates/pdfs-gui/src/app/pages/devices.rs:1075
#: crates/pdfs-gui/src/app/pages/devices.rs:792
#: crates/pdfs-gui/src/app/pages/devices.rs:945
#: crates/pdfs-gui/src/app/pages/devices.rs:983
#: crates/pdfs-gui/src/app/pages/devices.rs:1035
#: crates/pdfs-gui/src/app/pages/devices.rs:1079
#: crates/pdfs-gui/src/app/pages/devices.rs:1119
#: crates/pdfs-gui/src/app/pages/locations.rs:809
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
@@ -312,7 +313,7 @@ msgstr "Cerca in Drive"
#: crates/pdfs-gui/src/app/main.rs:1388
#: crates/pdfs-gui/src/app/pages/browser.rs:957
#: crates/pdfs-gui/src/app/pages/devices.rs:554
#: crates/pdfs-gui/src/app/pages/devices.rs:558
#: crates/pdfs-gui/src/app/pages/shared.rs:586
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:526
#: crates/pdfs-gui/src/app/pages/trash.rs:246
@@ -354,7 +355,7 @@ msgstr "Griglia / elenco"
#: crates/pdfs-gui/src/app/pages/albums.rs:298
#: crates/pdfs-gui/src/app/pages/browser.rs:1871
#: crates/pdfs-gui/src/app/pages/browser.rs:1893
#: crates/pdfs-gui/src/app/pages/devices.rs:980
#: crates/pdfs-gui/src/app/pages/devices.rs:984
#: crates/pdfs-gui/src/app/widgets/details.rs:159
msgid "Rename"
msgstr "Rinomina"
@@ -682,7 +683,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:823
#: crates/pdfs-gui/src/app/pages/devices.rs:827
msgid "Couldn't restore folders"
msgstr "Impossibile ripristinare le cartelle"
@@ -1265,10 +1266,11 @@ msgstr "Impossibile caricare gli album"
#: crates/pdfs-gui/src/app/pages/browser.rs:1848
#: crates/pdfs-gui/src/app/pages/browser.rs:2315
#: crates/pdfs-gui/src/app/pages/browser.rs:2491
#: crates/pdfs-gui/src/app/pages/devices.rs:694
#: crates/pdfs-gui/src/app/pages/devices.rs:734
#: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/devices.rs:698
#: crates/pdfs-gui/src/app/pages/devices.rs:738
#: crates/pdfs-gui/src/app/pages/devices.rs:888
#: crates/pdfs-gui/src/app/pages/devices.rs:1156
#: crates/pdfs-gui/src/app/pages/devices.rs:1185
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:783
@@ -1300,7 +1302,7 @@ msgstr "Il servizio di Proton Drive non ha risposto."
#: crates/pdfs-gui/src/app/pages/albums.rs:206
#: crates/pdfs-gui/src/app/pages/browser.rs:840
#: crates/pdfs-gui/src/app/pages/devices.rs:530
#: crates/pdfs-gui/src/app/pages/devices.rs:534
#: crates/pdfs-gui/src/app/pages/photos.rs:3190
#: crates/pdfs-gui/src/app/pages/shared.rs:541
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:474
@@ -1314,7 +1316,7 @@ msgstr "Apri"
#: crates/pdfs-gui/src/app/pages/albums.rs:212
#: crates/pdfs-gui/src/app/pages/browser.rs:882
#: crates/pdfs-gui/src/app/pages/devices.rs:406
#: crates/pdfs-gui/src/app/pages/devices.rs:444
#: crates/pdfs-gui/src/app/pages/devices.rs:448
msgid "Rename…"
msgstr "Rinomina…"
@@ -1582,7 +1584,7 @@ msgstr "Dimensione icone"
#. Translators: {n} is how many items are selected: files and folders in My Files, photos here.
#: crates/pdfs-gui/src/app/pages/browser.rs:538
#: crates/pdfs-gui/src/app/pages/browser.rs:925
#: crates/pdfs-gui/src/app/pages/devices.rs:539
#: crates/pdfs-gui/src/app/pages/devices.rs:543
#: crates/pdfs-gui/src/app/pages/photos.rs:1988
#: crates/pdfs-gui/src/app/pages/shared.rs:565
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:507
@@ -1738,7 +1740,7 @@ msgid "New Folder…"
msgstr "Nuova cartella…"
#: crates/pdfs-gui/src/app/pages/browser.rs:953
#: crates/pdfs-gui/src/app/pages/devices.rs:550
#: crates/pdfs-gui/src/app/pages/devices.rs:554
#: crates/pdfs-gui/src/app/pages/shared.rs:582
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:522
#: crates/pdfs-gui/src/app/pages/trash.rs:242
@@ -1884,7 +1886,7 @@ msgid "{status}. {message}"
msgstr "{status}. {message}"
#: crates/pdfs-gui/src/app/pages/browser.rs:1875
#: crates/pdfs-gui/src/app/pages/devices.rs:973
#: crates/pdfs-gui/src/app/pages/devices.rs:977
msgid "New name"
msgstr "Nuovo nome"
@@ -1914,6 +1916,7 @@ msgid "Choose the folder to move into."
msgstr "Scegli la cartella di destinazione."
#: crates/pdfs-gui/src/app/pages/browser.rs:1969
#: crates/pdfs-gui/src/app/pages/devices.rs:1120
msgid "Move Here"
msgstr "Sposta qui"
@@ -2143,99 +2146,103 @@ msgstr "Sfoglia file"
msgid "Restore to This Computer…"
msgstr "Ripristina su questo computer…"
#: crates/pdfs-gui/src/app/pages/devices.rs:451
#: crates/pdfs-gui/src/app/pages/devices.rs:443
msgid "Move to This Computer…"
msgstr "Sposta su questo computer…"
#: crates/pdfs-gui/src/app/pages/devices.rs:455
msgid "Continue This Backup Here…"
msgstr "Continua questo backup qui…"
#: crates/pdfs-gui/src/app/pages/devices.rs:456
#: crates/pdfs-gui/src/app/pages/devices.rs:460
#: crates/pdfs-gui/src/app/pages/shared.rs:895
msgid "Remove…"
msgstr "Rimuovi…"
#: crates/pdfs-gui/src/app/pages/devices.rs:567
#: crates/pdfs-gui/src/app/pages/devices.rs:571
#, rust-format
msgid "{platform} · last backup {time}"
msgstr "{platform} · ultimo backup {time}"
#. Translators: {platform} is the device's platform, such as "Linux".
#: crates/pdfs-gui/src/app/pages/devices.rs:571
#: crates/pdfs-gui/src/app/pages/devices.rs:575
#, rust-format
msgid "{platform} · no backups yet"
msgstr "{platform} · ancora nessun backup"
#: crates/pdfs-gui/src/app/pages/devices.rs:587
#: crates/pdfs-gui/src/app/pages/devices.rs:591
msgid "No folders backed up yet"
msgstr "Ancora nessuna cartella sottoposta a backup"
#: crates/pdfs-gui/src/app/pages/devices.rs:590
#: crates/pdfs-gui/src/app/pages/devices.rs:594
#, rust-format
msgid "{n} folder backed up"
msgid_plural "{n} folders backed up"
msgstr[0] "{n} cartella sottoposta a backup"
msgstr[1] "{n} cartelle sottoposte a backup"
#: crates/pdfs-gui/src/app/pages/devices.rs:603
#: crates/pdfs-gui/src/app/pages/devices.rs:607
#, rust-format
msgid "{folders} · {n} needs attention"
msgid_plural "{folders} · {n} need attention"
msgstr[0] "{folders} · {n} richiede attenzione"
msgstr[1] "{folders} · {n} richiedono attenzione"
#: crates/pdfs-gui/src/app/pages/devices.rs:614
#: crates/pdfs-gui/src/app/pages/devices.rs:618
msgid "syncing…"
msgstr "sincronizzazione…"
#: crates/pdfs-gui/src/app/pages/devices.rs:615
#: crates/pdfs-gui/src/app/pages/devices.rs:619
msgid "sync error"
msgstr "errore di sincronizzazione"
#: crates/pdfs-gui/src/app/pages/devices.rs:616
#: crates/pdfs-gui/src/app/pages/devices.rs:620
msgid "needs attention"
msgstr "richiede attenzione"
#: crates/pdfs-gui/src/app/pages/devices.rs:617
#: crates/pdfs-gui/src/app/pages/devices.rs:621
msgid "up to date"
msgstr "aggiornato"
#: crates/pdfs-gui/src/app/pages/devices.rs:629
#: crates/pdfs-gui/src/app/pages/devices.rs:633
msgid "checking for changes…"
msgstr "controllo delle modifiche…"
#: crates/pdfs-gui/src/app/pages/devices.rs:632
#: crates/pdfs-gui/src/app/pages/devices.rs:636
#, rust-format
msgid "checking for changes — {done} of {total}"
msgstr "controllo delle modifiche: {done} di {total}"
#: crates/pdfs-gui/src/app/pages/devices.rs:644
#: crates/pdfs-gui/src/app/pages/devices.rs:648
#, rust-format
msgid "syncing {done} of {total}"
msgstr "sincronizzazione {done} di {total}"
#: crates/pdfs-gui/src/app/pages/devices.rs:650
#: crates/pdfs-gui/src/app/pages/devices.rs:654
#, rust-format
msgid "syncing {file} — {done} of {total}"
msgstr "sincronizzazione di {file}: {done} di {total}"
#: crates/pdfs-gui/src/app/pages/devices.rs:662
#: crates/pdfs-gui/src/app/pages/devices.rs:666
msgid "Add Folder to Sync"
msgstr "Aggiungi cartella da sincronizzare"
#: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/devices.rs:690
#: crates/pdfs-gui/src/app/pages/locations.rs:1593
msgid "Syncing folder…"
msgstr "Sincronizzazione della cartella…"
#: crates/pdfs-gui/src/app/pages/devices.rs:689
#: crates/pdfs-gui/src/app/pages/devices.rs:693
#: crates/pdfs-gui/src/app/pages/devices.rs:697
msgid "Couldn't add folder"
msgstr "Impossibile aggiungere la cartella"
#: crates/pdfs-gui/src/app/pages/devices.rs:727
#: crates/pdfs-gui/src/app/pages/devices.rs:733
#: crates/pdfs-gui/src/app/pages/devices.rs:731
#: crates/pdfs-gui/src/app/pages/devices.rs:737
msgid "Couldn't list folders to restore"
msgstr "Impossibile elencare le cartelle da ripristinare"
#: crates/pdfs-gui/src/app/pages/devices.rs:759
#: crates/pdfs-gui/src/app/pages/devices.rs:763
msgid ""
"Tick the folders to sync to this machine, and adjust where each one should "
"live."
@@ -2243,19 +2250,19 @@ msgstr ""
"Seleziona le cartelle da sincronizzare su questa macchina e regola dove deve "
"trovarsi ciascuna."
#: crates/pdfs-gui/src/app/pages/devices.rs:782
#: crates/pdfs-gui/src/app/pages/devices.rs:786
msgid "Restore Folders"
msgstr "Ripristina cartelle"
#: crates/pdfs-gui/src/app/pages/devices.rs:789
#: crates/pdfs-gui/src/app/pages/devices.rs:793
msgid "Restore"
msgstr "Ripristina"
#: crates/pdfs-gui/src/app/pages/devices.rs:822
#: crates/pdfs-gui/src/app/pages/devices.rs:826
msgid "Restoring folders…"
msgstr "Ripristino delle cartelle…"
#: crates/pdfs-gui/src/app/pages/devices.rs:834
#: crates/pdfs-gui/src/app/pages/devices.rs:838
#, rust-format
msgid ""
"These folders are backed up from “{name}”. Restored folders keep syncing "
@@ -2264,39 +2271,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:837
#: crates/pdfs-gui/src/app/pages/devices.rs:841
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:846
#: crates/pdfs-gui/src/app/pages/devices.rs:850
#, 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:849
#: crates/pdfs-gui/src/app/pages/devices.rs:853
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:873
#: crates/pdfs-gui/src/app/pages/devices.rs:877
msgid "Folder will switch to online only"
msgstr "La cartella passerà a solo online"
#: crates/pdfs-gui/src/app/pages/devices.rs:875
#: crates/pdfs-gui/src/app/pages/devices.rs:879
msgid "Folder will download and stay synced"
msgstr "La cartella verrà scaricata e resterà sincronizzata"
#: crates/pdfs-gui/src/app/pages/devices.rs:879
#: crates/pdfs-gui/src/app/pages/devices.rs:883
#: crates/pdfs-gui/src/app/pages/devices.rs:887
msgid "Couldn't change mode"
msgstr "Impossibile cambiare modalità"
#: crates/pdfs-gui/src/app/pages/devices.rs:915
#: crates/pdfs-gui/src/app/pages/devices.rs:919
#, rust-format
msgid ""
"Stop syncing “{path}”?\n"
@@ -2314,7 +2321,7 @@ msgstr ""
"cartella a Sincronizzata e attendi il completamento del download prima di "
"rimuoverla."
#: crates/pdfs-gui/src/app/pages/devices.rs:921
#: crates/pdfs-gui/src/app/pages/devices.rs:925
#, rust-format
msgid ""
"Stop syncing “{path}”?\n"
@@ -2327,68 +2334,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:926
#: crates/pdfs-gui/src/app/pages/devices.rs:930
msgid "Stop Syncing Folder?"
msgstr "Interrompere la sincronizzazione della cartella?"
#: crates/pdfs-gui/src/app/pages/devices.rs:931
#: crates/pdfs-gui/src/app/pages/devices.rs:935
msgid "Also delete from Proton Drive"
msgstr "Elimina anche da Proton Drive"
#: crates/pdfs-gui/src/app/pages/devices.rs:933
#: crates/pdfs-gui/src/app/pages/devices.rs:937
msgid "Deletes the only copy of these files."
msgstr "Elimina l'unica copia di questi file."
#: crates/pdfs-gui/src/app/pages/devices.rs:935
#: crates/pdfs-gui/src/app/pages/devices.rs:939
msgid "The local copy is unaffected."
msgstr "La copia locale non viene modificata."
#: crates/pdfs-gui/src/app/pages/devices.rs:942
#: crates/pdfs-gui/src/app/pages/devices.rs:946
msgid "Stop Syncing"
msgstr "Interrompi sincronizzazione"
#: crates/pdfs-gui/src/app/pages/devices.rs:955
#: crates/pdfs-gui/src/app/pages/devices.rs:959
msgid "Stopped syncing folder"
msgstr "Sincronizzazione della cartella interrotta"
#: crates/pdfs-gui/src/app/pages/devices.rs:956
#: crates/pdfs-gui/src/app/pages/devices.rs:960
msgid "Couldn't stop syncing the folder"
msgstr "Impossibile interrompere la sincronizzazione della cartella"
#: crates/pdfs-gui/src/app/pages/devices.rs:967
#: crates/pdfs-gui/src/app/pages/devices.rs:971
msgid "Rename Computer"
msgstr "Rinomina computer"
#. Translators: {name} is the computer's current name.
#: crates/pdfs-gui/src/app/pages/devices.rs:969
#: crates/pdfs-gui/src/app/pages/devices.rs:973
#, rust-format
msgid "Rename “{name}”."
msgstr "Rinomina “{name}”."
#: crates/pdfs-gui/src/app/pages/devices.rs:994
#: crates/pdfs-gui/src/app/pages/devices.rs:1006
#: crates/pdfs-gui/src/app/pages/devices.rs:998
#: crates/pdfs-gui/src/app/pages/devices.rs:1010
msgid "Couldn't rename the computer"
msgstr "Impossibile rinominare il computer"
#: crates/pdfs-gui/src/app/pages/devices.rs:995
#: crates/pdfs-gui/src/app/pages/devices.rs:999
msgid "A name is required."
msgstr "È richiesto un nome."
#: crates/pdfs-gui/src/app/pages/devices.rs:1005
#: crates/pdfs-gui/src/app/pages/devices.rs:1009
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:1018
#: crates/pdfs-gui/src/app/pages/devices.rs:1022
#, rust-format
msgid "Type “{name}” to confirm"
msgstr "Digita “{name}” per confermare"
#: crates/pdfs-gui/src/app/pages/devices.rs:1023
#: crates/pdfs-gui/src/app/pages/devices.rs:1027
msgid "Remove Computer?"
msgstr "Rimuovere il computer?"
#: crates/pdfs-gui/src/app/pages/devices.rs:1026
#: crates/pdfs-gui/src/app/pages/devices.rs:1030
#, rust-format
msgid ""
"Remove “{name}” from this account?\n"
@@ -2403,25 +2410,25 @@ 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:1032
#: crates/pdfs-gui/src/app/pages/devices.rs:1036
#: crates/pdfs-gui/src/app/pages/shared.rs:1028
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:529
msgid "Remove"
msgstr "Rimuovi"
#: crates/pdfs-gui/src/app/pages/devices.rs:1049
#: crates/pdfs-gui/src/app/pages/devices.rs:1053
msgid "Computer removed"
msgstr "Computer rimosso"
#: crates/pdfs-gui/src/app/pages/devices.rs:1050
#: crates/pdfs-gui/src/app/pages/devices.rs:1054
msgid "Couldn't remove the computer"
msgstr "Impossibile rimuovere il computer"
#: crates/pdfs-gui/src/app/pages/devices.rs:1068
#: crates/pdfs-gui/src/app/pages/devices.rs:1072
msgid "Continue This Backup Here?"
msgstr "Continuare questo backup qui?"
#: crates/pdfs-gui/src/app/pages/devices.rs:1071
#: crates/pdfs-gui/src/app/pages/devices.rs:1075
#, rust-format
msgid ""
"This computer takes over the backup of “{name}”, for example after a "
@@ -2440,20 +2447,50 @@ 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:1076
#: crates/pdfs-gui/src/app/pages/devices.rs:1080
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:1083
#: crates/pdfs-gui/src/app/pages/devices.rs:1087
#, rust-format
msgid "Now backing up as “{name}”"
msgstr "Ora il backup avviene come “{name}”"
#: crates/pdfs-gui/src/app/pages/devices.rs:1092
#: crates/pdfs-gui/src/app/pages/devices.rs:1096
msgid "Couldn't continue that backup here"
msgstr "Impossibile continuare quel backup qui"
#: crates/pdfs-gui/src/app/pages/devices.rs:1112
msgid "Move Backup to This Computer?"
msgstr "Spostare il backup su questo computer?"
#: crates/pdfs-gui/src/app/pages/devices.rs:1115
#, rust-format
msgid ""
"The folders backed up by “{name}” move into this computer's backup in Proton "
"Drive, and you choose where they go on this computer. “{name}” stays in your "
"account, without those folders.\n"
"\n"
"Stop Proton Drive on “{name}” first. Otherwise it sees its folders disappear."
msgstr ""
"Le cartelle di cui “{name}” esegue il backup passano nel backup di questo "
"computer su Proton Drive, e scegli tu dove metterle su questo computer. "
"“{name}” resta nel tuo account, senza quelle cartelle.\n"
"\n"
"Chiudi prima Proton Drive su “{name}”. Altrimenti vedrà sparire le sue "
"cartelle."
#. Translators: {name} is the name of the computer whose folders moved to this one.
#: crates/pdfs-gui/src/app/pages/devices.rs:1127
#, rust-format
msgid "Moved the backup of “{name}”"
msgstr "Backup di “{name}” spostato"
#: crates/pdfs-gui/src/app/pages/devices.rs:1141
msgid "Couldn't move that backup"
msgstr "Impossibile spostare quel backup"
#: crates/pdfs-gui/src/app/pages/duplicates.rs:81
msgctxt "duplicates"
msgid "Exact"