feat(core,fuse,cli,gui): report changes Drive refuses as sync issues

A change Drive refuses because the storage is full, access was taken away,
its folder is gone, a folder limit is reached or the change was rejected
used to look like any other failure until six attempts had passed. The
drain now sorts the refusal into an issue and stores it on the queued op
(schema 38), so it needs attention at once in the app, tray and CLI. The
change stays queued and is retried; nothing is deleted.

The queue listing carries the issue and whether the op has file content.
ExportPendingOp copies that content to a new file: the Sync page offers it
as an Export button next to each issue, and the CLI as
`pdfs sync export <id> <dest>`. `pdfs sync issues` lists what needs
attention, and `pdfs sync queue` shows the issue per change.

docs/MILESTONE-3.0.0-STATUS.md tracks what is left for 3.0.0.
This commit is contained in:
nvrl committed 2026-10-04 03:18:57 +02:00
1 parent 77d0f254fc
commit a6f36d56f3
21 files changed
+2251 -1092

No files matched your search

+179 -119
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-09-29 00:18+0200\n"
"POT-Creation-Date: 2026-10-04 03:16+0200\n"
"PO-Revision-Date: 2026-09-23 12:00+0200\n"
"Last-Translator: Proton Drive for Linux contributors\n"
"Language-Team: English (United Kingdom)\n"
@@ -64,7 +64,7 @@ msgstr "%A %-d %B %Y, %H:%M"
#: crates/pdfs-gui/src/app/pages/browser.rs:1217
#: crates/pdfs-gui/src/app/pages/browser.rs:2090
#: crates/pdfs-gui/src/app/pages/browser.rs:2167
#: crates/pdfs-gui/src/app/pages/locations.rs:1471
#: crates/pdfs-gui/src/app/pages/locations.rs:1554
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:252
#: crates/pdfs-gui/src/app/pages/trash.rs:191 crates/pdfs-gui/src/prompt.rs:171
msgid "My files"
@@ -267,9 +267,9 @@ msgstr ""
#: 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/locations.rs:860
#: crates/pdfs-gui/src/app/pages/locations.rs:1335
#: crates/pdfs-gui/src/app/pages/locations.rs:1385
#: crates/pdfs-gui/src/app/pages/locations.rs:943
#: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1468
#: crates/pdfs-gui/src/app/pages/login.rs:312
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
#: crates/pdfs-gui/src/app/pages/shared.rs:946
@@ -473,8 +473,8 @@ msgstr "Nothing in the recent log fits this filter."
#: crates/pdfs-gui/src/app/pages/activity.rs:186
#: crates/pdfs-gui/src/app/pages/browser.rs:281
#: crates/pdfs-gui/src/app/pages/devices.rs:114
#: crates/pdfs-gui/src/app/pages/locations.rs:183
#: crates/pdfs-gui/src/app/pages/locations.rs:680
#: crates/pdfs-gui/src/app/pages/locations.rs:184
#: crates/pdfs-gui/src/app/pages/locations.rs:685
#: crates/pdfs-gui/src/app/pages/photos.rs:465
#: crates/pdfs-gui/src/app/pages/shared.rs:183
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:94
@@ -510,8 +510,8 @@ msgstr "View Options"
#: crates/pdfs-gui/src/app/pages/browser.rs:2635
#: crates/pdfs-gui/src/app/pages/browser.rs:2639
#: crates/pdfs-gui/src/app/pages/devices.rs:325
#: crates/pdfs-gui/src/app/pages/locations.rs:191
#: crates/pdfs-gui/src/app/pages/locations.rs:970
#: crates/pdfs-gui/src/app/pages/locations.rs:192
#: crates/pdfs-gui/src/app/pages/locations.rs:1053
#: crates/pdfs-gui/src/app/pages/shared.rs:422
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:347
#: crates/pdfs-gui/src/app/pages/trash.rs:284
@@ -1013,7 +1013,7 @@ msgstr ""
#. Translators: {name} is the file the conflicting copy was made from.
#: crates/pdfs-gui/src/app/pages/activity_text.rs:346
#: crates/pdfs-gui/src/app/pages/locations.rs:795
#: crates/pdfs-gui/src/app/pages/locations.rs:878
#, rust-format
msgid "Differs from {name}"
msgstr "Differs from {name}"
@@ -1200,11 +1200,12 @@ msgstr "Couldn't load albums"
#: crates/pdfs-gui/src/app/pages/devices.rs:884
#: crates/pdfs-gui/src/app/pages/devices.rs:1120
#: crates/pdfs-gui/src/app/pages/duplicates.rs:220
#: crates/pdfs-gui/src/app/pages/locations.rs:535
#: crates/pdfs-gui/src/app/pages/locations.rs:710
#: crates/pdfs-gui/src/app/pages/locations.rs:929
#: crates/pdfs-gui/src/app/pages/locations.rs:1427
#: crates/pdfs-gui/src/app/pages/locations.rs:1447
#: crates/pdfs-gui/src/app/pages/locations.rs:536
#: crates/pdfs-gui/src/app/pages/locations.rs:769
#: crates/pdfs-gui/src/app/pages/locations.rs:793
#: crates/pdfs-gui/src/app/pages/locations.rs:1012
#: crates/pdfs-gui/src/app/pages/locations.rs:1510
#: crates/pdfs-gui/src/app/pages/locations.rs:1530
#: crates/pdfs-gui/src/app/pages/photo_viewer.rs:1425
#: crates/pdfs-gui/src/app/pages/photos.rs:1420
#: crates/pdfs-gui/src/app/pages/photos.rs:2140
@@ -2141,7 +2142,7 @@ msgid "Add Folder to Sync"
msgstr "Add Folder to Sync"
#: crates/pdfs-gui/src/app/pages/devices.rs:686
#: crates/pdfs-gui/src/app/pages/locations.rs:1440
#: crates/pdfs-gui/src/app/pages/locations.rs:1523
msgid "Syncing folder…"
msgstr "Syncing folder…"
@@ -2494,19 +2495,19 @@ msgstr[1] "Move {n} photos to Trash"
msgid "Keep"
msgstr "Keep"
#: crates/pdfs-gui/src/app/pages/locations.rs:125
#: crates/pdfs-gui/src/app/pages/locations.rs:126
msgid "Add Folder"
msgstr "Add Folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:130
#: crates/pdfs-gui/src/app/pages/locations.rs:131
msgid "Back a local folder up to this computer's Proton Drive device"
msgstr "Back a local folder up to this computer's Proton Drive device"
#: crates/pdfs-gui/src/app/pages/locations.rs:140
#: crates/pdfs-gui/src/app/pages/locations.rs:141
msgid "Conflicts"
msgstr "Conflicts"
#: crates/pdfs-gui/src/app/pages/locations.rs:142
#: crates/pdfs-gui/src/app/pages/locations.rs:143
msgid ""
"Files changed in two places at once. Both versions were kept; choose which "
"one stays."
@@ -2514,7 +2515,7 @@ msgstr ""
"Files changed in two places at once. Both versions were kept; choose which "
"one stays."
#: crates/pdfs-gui/src/app/pages/locations.rs:158
#: crates/pdfs-gui/src/app/pages/locations.rs:159
msgid ""
"Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it."
@@ -2522,133 +2523,133 @@ msgstr ""
"Synced folders keep a full copy on this computer. Online-only folders fetch "
"each file when you open it."
#: crates/pdfs-gui/src/app/pages/locations.rs:169
#: crates/pdfs-gui/src/app/pages/locations.rs:170
msgid "About Sync Modes"
msgstr "About Sync Modes"
#: crates/pdfs-gui/src/app/pages/locations.rs:178
#: crates/pdfs-gui/src/app/pages/locations.rs:179
#: crates/pdfs-gui/src/prompt.rs:65
msgid "Folders"
msgstr "Folders"
#: crates/pdfs-gui/src/app/pages/locations.rs:213
#: crates/pdfs-gui/src/app/pages/locations.rs:214
msgctxt "sync view"
msgid "Overview"
msgstr "Overview"
#: crates/pdfs-gui/src/app/pages/locations.rs:219
#: crates/pdfs-gui/src/app/pages/locations.rs:220
msgctxt "sync view"
msgid "Folders"
msgstr "Folders"
#: crates/pdfs-gui/src/app/pages/locations.rs:225
#: crates/pdfs-gui/src/app/pages/locations.rs:226
msgctxt "sync view"
msgid "History"
msgstr "History"
#: crates/pdfs-gui/src/app/pages/locations.rs:232
#: crates/pdfs-gui/src/app/pages/locations.rs:233
#: crates/pdfs-gui/src/app/pages/shared.rs:210
msgid "Review"
msgstr "Review"
#: crates/pdfs-gui/src/app/pages/locations.rs:363
#: crates/pdfs-gui/src/app/pages/locations.rs:364
#, rust-format
msgid "{n} change couldn't be uploaded"
msgid_plural "{n} changes couldn't be uploaded"
msgstr[0] "{n} change couldn't be uploaded"
msgstr[1] "{n} changes couldn't be uploaded"
#: crates/pdfs-gui/src/app/pages/locations.rs:369
#: crates/pdfs-gui/src/app/pages/locations.rs:370
#, rust-format
msgid "{n} file was changed in two places at once"
msgid_plural "{n} files were changed in two places at once"
msgstr[0] "{n} file was changed in two places at once"
msgstr[1] "{n} files were changed in two places at once"
#: crates/pdfs-gui/src/app/pages/locations.rs:374
#: crates/pdfs-gui/src/app/pages/locations.rs:375
msgid "Some files need your attention"
msgstr "Some files need your attention"
#: crates/pdfs-gui/src/app/pages/locations.rs:391
#: crates/pdfs-gui/src/app/pages/locations.rs:392
msgid "Checking…"
msgstr "Checking…"
#: crates/pdfs-gui/src/app/pages/locations.rs:419
#: crates/pdfs-gui/src/app/pages/locations.rs:420
msgid "Pause for 1 Hour"
msgstr "Pause for 1 Hour"
#: crates/pdfs-gui/src/app/pages/locations.rs:423
#: crates/pdfs-gui/src/app/pages/locations.rs:424
msgid "Pause for 8 Hours"
msgstr "Pause for 8 Hours"
#: crates/pdfs-gui/src/app/pages/locations.rs:427
#: crates/pdfs-gui/src/app/pages/locations.rs:428
msgid "Pause for 24 Hours"
msgstr "Pause for 24 Hours"
#: crates/pdfs-gui/src/app/pages/locations.rs:431
#: crates/pdfs-gui/src/app/pages/locations.rs:467
#: crates/pdfs-gui/src/app/pages/locations.rs:432
#: crates/pdfs-gui/src/app/pages/locations.rs:468
msgctxt "verb"
msgid "Pause"
msgstr "Pause"
#: crates/pdfs-gui/src/app/pages/locations.rs:435
#: crates/pdfs-gui/src/app/pages/locations.rs:472
#: crates/pdfs-gui/src/app/pages/locations.rs:436
#: crates/pdfs-gui/src/app/pages/locations.rs:473
msgid "Stop uploading until you resume. Files still open as usual."
msgstr "Stop uploading until you resume. Files still open as usual."
#: crates/pdfs-gui/src/app/pages/locations.rs:437
#: crates/pdfs-gui/src/app/pages/locations.rs:438
msgid "Pause for a while"
msgstr "Pause for a while"
#: crates/pdfs-gui/src/app/pages/locations.rs:465
#: crates/pdfs-gui/src/app/pages/locations.rs:466
msgctxt "verb"
msgid "Resume"
msgstr "Resume"
#: crates/pdfs-gui/src/app/pages/locations.rs:470
#: crates/pdfs-gui/src/app/pages/locations.rs:471
msgid "Upload everything that waited while sync was paused"
msgstr "Upload everything that waited while sync was paused"
#: crates/pdfs-gui/src/app/pages/locations.rs:518
#: crates/pdfs-gui/src/app/pages/locations.rs:519
msgid "Couldn't pause sync"
msgstr "Couldn't pause sync"
#: crates/pdfs-gui/src/app/pages/locations.rs:520
#: crates/pdfs-gui/src/app/pages/locations.rs:521
msgid "Couldn't resume sync"
msgstr "Couldn't resume sync"
#: crates/pdfs-gui/src/app/pages/locations.rs:526
#: crates/pdfs-gui/src/app/pages/locations.rs:527
msgid "Sync resumed"
msgstr "Sync resumed"
#: crates/pdfs-gui/src/app/pages/locations.rs:527
#: crates/pdfs-gui/src/app/pages/locations.rs:528
msgid "Sync paused until you resume"
msgstr "Sync paused until you resume"
#: crates/pdfs-gui/src/app/pages/locations.rs:528
#: crates/pdfs-gui/src/app/pages/locations.rs:529
#: crates/pdfs-gui/src/app/pages/status.rs:1323 crates/pdfs-gui/src/main.rs:237
msgid "Sync paused"
msgstr "Sync paused"
#: crates/pdfs-gui/src/app/pages/locations.rs:546
#: crates/pdfs-gui/src/app/pages/locations.rs:547
msgid "Retry All"
msgstr "Retry All"
#: crates/pdfs-gui/src/app/pages/locations.rs:548
#: crates/pdfs-gui/src/app/pages/locations.rs:549
msgid "Try every failed change again now"
msgstr "Try every failed change again now"
#: crates/pdfs-gui/src/app/pages/locations.rs:553
#: crates/pdfs-gui/src/app/pages/locations.rs:554
msgid "Waiting to Upload"
msgstr "Waiting to Upload"
#: crates/pdfs-gui/src/app/pages/locations.rs:555
#: crates/pdfs-gui/src/app/pages/locations.rs:614
#: crates/pdfs-gui/src/app/pages/locations.rs:556
#: crates/pdfs-gui/src/app/pages/locations.rs:615
msgid "Changes made on this computer that are not on Proton Drive yet."
msgstr "Changes made on this computer that are not on Proton Drive yet."
#. Translators: {shown} is how many rows are listed (50), {n} the total number of queued changes.
#: crates/pdfs-gui/src/app/pages/locations.rs:612
#: crates/pdfs-gui/src/app/pages/locations.rs:613
#, rust-format
msgid ""
"Changes made on this computer that are not on Proton Drive yet. Showing the "
@@ -2663,89 +2664,152 @@ msgstr[1] ""
"Changes made on this computer that are not on Proton Drive yet. Showing the "
"first {shown} of {n}."
#: crates/pdfs-gui/src/app/pages/locations.rs:629
#: crates/pdfs-gui/src/app/pages/locations.rs:630
msgid "Upload changes"
msgstr "Upload changes"
#: crates/pdfs-gui/src/app/pages/locations.rs:630
#: crates/pdfs-gui/src/app/pages/locations.rs:631
msgid "Upload new file"
msgstr "Upload new file"
#: crates/pdfs-gui/src/app/pages/locations.rs:631
#: crates/pdfs-gui/src/app/pages/locations.rs:632
msgid "Create folder"
msgstr "Create folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:632
#: crates/pdfs-gui/src/app/pages/locations.rs:633
msgid "Rename or move"
msgstr "Rename or move"
#: crates/pdfs-gui/src/app/pages/locations.rs:633
#: crates/pdfs-gui/src/app/pages/locations.rs:634
msgid "Move to trash"
msgstr "Move to trash"
#. Translators: a queued change of an unknown kind.
#: crates/pdfs-gui/src/app/pages/locations.rs:635
#: crates/pdfs-gui/src/app/pages/locations.rs:636
msgctxt "noun"
msgid "Change"
msgstr "Change"
#: crates/pdfs-gui/src/app/pages/locations.rs:638
#: crates/pdfs-gui/src/app/pages/locations.rs:639
msgid "waiting for the app writing it to finish"
msgstr "waiting for the app writing it to finish"
#. Translators: {time} is when the next attempt happens, such as "14:30".
#: crates/pdfs-gui/src/app/pages/locations.rs:641
#: crates/pdfs-gui/src/app/pages/locations.rs:642
#, rust-format
msgid "retrying {time}"
msgstr "retrying {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:643
#: crates/pdfs-gui/src/app/pages/locations.rs:644
msgid "waiting for sync to resume"
msgstr "waiting for sync to resume"
#: crates/pdfs-gui/src/app/pages/locations.rs:644
#: crates/pdfs-gui/src/app/pages/locations.rs:645
msgid "up next"
msgstr "up next"
#: crates/pdfs-gui/src/app/pages/locations.rs:648
#: crates/pdfs-gui/src/app/pages/locations.rs:649
#, rust-format
msgid "{action} · {state}"
msgstr "{action} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:655
#: crates/pdfs-gui/src/app/pages/locations.rs:660
#, rust-format
msgid "Failed {n} time: {error}"
msgid_plural "Failed {n} times: {error}"
msgstr[0] "Failed {n} time: {error}"
msgstr[1] "Failed {n} times: {error}"
#: crates/pdfs-gui/src/app/pages/locations.rs:681
#: crates/pdfs-gui/src/app/pages/locations.rs:686
msgid "Retry now"
msgstr "Retry now"
#: crates/pdfs-gui/src/app/pages/locations.rs:700
#: crates/pdfs-gui/src/app/pages/locations.rs:697
msgid "Export"
msgstr "Export"
#: crates/pdfs-gui/src/app/pages/locations.rs:698
msgid "Save a copy of this file's content elsewhere"
msgstr "Save a copy of this file's content elsewhere"
#: crates/pdfs-gui/src/app/pages/locations.rs:719
msgid ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
msgstr ""
"Your Proton Drive storage is full. Free up space or upgrade your plan, and "
"this change uploads on its own."
#: crates/pdfs-gui/src/app/pages/locations.rs:722
msgid ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
msgstr ""
"You can no longer change this on Proton Drive. Ask the owner for edit "
"access, or export the file to keep your version."
#: crates/pdfs-gui/src/app/pages/locations.rs:725
msgid ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
msgstr ""
"The folder this change belongs in is gone from Proton Drive. Export the file "
"to keep your version."
#: crates/pdfs-gui/src/app/pages/locations.rs:728
msgid ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
msgstr ""
"Proton Drive's limit on items in a folder or on folder depth is reached. "
"Make room in the folder, then retry."
#: crates/pdfs-gui/src/app/pages/locations.rs:731
msgid "Proton Drive refused this change. It stays queued and is tried again."
msgstr "Proton Drive refused this change. It stays queued and is tried again."
#: crates/pdfs-gui/src/app/pages/locations.rs:741
msgid "Export File"
msgstr "Export File"
#: crates/pdfs-gui/src/app/pages/locations.rs:750
#: crates/pdfs-gui/src/app/pages/locations.rs:764
#: crates/pdfs-gui/src/app/pages/locations.rs:768
msgid "Couldn't export the file"
msgstr "Couldn't export the file"
#: crates/pdfs-gui/src/app/pages/locations.rs:751
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "That location isn't a local file."
#: crates/pdfs-gui/src/app/pages/locations.rs:762
msgid "File exported"
msgstr "File exported"
#: crates/pdfs-gui/src/app/pages/locations.rs:783
msgid "Retrying now…"
msgstr "Retrying now…"
#: crates/pdfs-gui/src/app/pages/locations.rs:705
#: crates/pdfs-gui/src/app/pages/locations.rs:709
#: crates/pdfs-gui/src/app/pages/locations.rs:788
#: crates/pdfs-gui/src/app/pages/locations.rs:792
msgid "Couldn't retry"
msgstr "Couldn't retry"
#: crates/pdfs-gui/src/app/pages/locations.rs:779
#: crates/pdfs-gui/src/app/pages/locations.rs:862
#, rust-format
msgid "{size}, changed {time}"
msgstr "{size}, changed {time}"
#: crates/pdfs-gui/src/app/pages/locations.rs:789
#: crates/pdfs-gui/src/app/pages/locations.rs:872
msgid "The original is gone; only this copy is left"
msgstr "The original is gone; only this copy is left"
#: crates/pdfs-gui/src/app/pages/locations.rs:791
#: crates/pdfs-gui/src/app/pages/locations.rs:874
msgid "Same content as the original"
msgstr "Same content as the original"
#: crates/pdfs-gui/src/app/pages/locations.rs:832
#: crates/pdfs-gui/src/app/pages/locations.rs:915
#, rust-format
msgid ""
"“{name}” was changed here and elsewhere at the same time.\n"
@@ -2762,7 +2826,7 @@ msgstr ""
"\n"
"Whatever is not kept goes to Trash, where it can be restored."
#: crates/pdfs-gui/src/app/pages/locations.rs:844
#: crates/pdfs-gui/src/app/pages/locations.rs:927
#, rust-format
msgid ""
"The original “{name}” no longer exists; only the copy is left ({copy}).\n"
@@ -2773,110 +2837,110 @@ msgstr ""
"\n"
"Keep the copy to give it the original name back."
#: crates/pdfs-gui/src/app/pages/locations.rs:850
#: crates/pdfs-gui/src/app/pages/locations.rs:933
msgid "Resolve Conflict"
msgstr "Resolve Conflict"
#: crates/pdfs-gui/src/app/pages/locations.rs:855
#: crates/pdfs-gui/src/app/pages/locations.rs:938
msgid "Name for the copy, if keeping both"
msgstr "Name for the copy, if keeping both"
#: crates/pdfs-gui/src/app/pages/locations.rs:862
#: crates/pdfs-gui/src/app/pages/locations.rs:945
msgid "Keep Original"
msgstr "Keep Original"
#: crates/pdfs-gui/src/app/pages/locations.rs:863
#: crates/pdfs-gui/src/app/pages/locations.rs:946
msgid "Keep Both"
msgstr "Keep Both"
#: crates/pdfs-gui/src/app/pages/locations.rs:865
#: crates/pdfs-gui/src/app/pages/locations.rs:948
msgid "Keep Copy"
msgstr "Keep Copy"
#: crates/pdfs-gui/src/app/pages/locations.rs:922
#: crates/pdfs-gui/src/app/pages/locations.rs:928
#: crates/pdfs-gui/src/app/pages/locations.rs:1005
#: crates/pdfs-gui/src/app/pages/locations.rs:1011
msgid "Couldn't resolve the conflict"
msgstr "Couldn't resolve the conflict"
#: crates/pdfs-gui/src/app/pages/locations.rs:971
#: crates/pdfs-gui/src/app/pages/locations.rs:1054
msgid "Reading this computer's Proton Drive locations."
msgstr "Reading this computer's Proton Drive locations."
#: crates/pdfs-gui/src/app/pages/locations.rs:992
#: crates/pdfs-gui/src/app/pages/locations.rs:1075
msgid "Unavailable"
msgstr "Unavailable"
#: crates/pdfs-gui/src/app/pages/locations.rs:1075
#: crates/pdfs-gui/src/app/pages/locations.rs:1158
msgid "No folders yet"
msgstr "No folders yet"
#: crates/pdfs-gui/src/app/pages/locations.rs:1077
#: crates/pdfs-gui/src/app/pages/locations.rs:1160
msgid "The Proton Drive service hasn't reported its folder yet."
msgstr "The Proton Drive service hasn't reported its folder yet."
#: crates/pdfs-gui/src/app/pages/locations.rs:1100
#: crates/pdfs-gui/src/app/pages/locations.rs:1183
#, rust-format
msgid "{path} · {state}"
msgstr "{path} · {state}"
#: crates/pdfs-gui/src/app/pages/locations.rs:1143
#: crates/pdfs-gui/src/app/pages/locations.rs:1226
msgid "Read-only"
msgstr "Read-only"
#: crates/pdfs-gui/src/app/pages/locations.rs:1159
#: crates/pdfs-gui/src/app/pages/locations.rs:1242
msgid "Open in Files"
msgstr "Open in Files"
#: crates/pdfs-gui/src/app/pages/locations.rs:1164
#: crates/pdfs-gui/src/app/pages/locations.rs:1247
msgid "Change Location…"
msgstr "Change Location…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1216
#: crates/pdfs-gui/src/app/pages/locations.rs:1299
msgid "Choose whether this folder keeps a full copy on this computer"
msgstr "Choose whether this folder keeps a full copy on this computer"
#: crates/pdfs-gui/src/app/pages/locations.rs:1232
#: crates/pdfs-gui/src/app/pages/locations.rs:1315
msgid "Keep every file on this computer and in Proton Drive."
msgstr "Keep every file on this computer and in Proton Drive."
#: crates/pdfs-gui/src/app/pages/locations.rs:1237
#: crates/pdfs-gui/src/app/pages/locations.rs:1320
msgid "Keep the files in Proton Drive and download each one when you open it."
msgstr "Keep the files in Proton Drive and download each one when you open it."
#. Translators: a folder mode: files are kept in Proton Drive and fetched when opened.
#: crates/pdfs-gui/src/app/pages/locations.rs:1291
#: crates/pdfs-gui/src/app/pages/locations.rs:1374
msgctxt "folder mode"
msgid "Online only"
msgstr "Online only"
#. Translators: a folder mode: a full copy is kept on this computer.
#: crates/pdfs-gui/src/app/pages/locations.rs:1294
#: crates/pdfs-gui/src/app/pages/locations.rs:1377
msgctxt "folder mode"
msgid "Synced"
msgstr "Synced"
#: crates/pdfs-gui/src/app/pages/locations.rs:1305
#: crates/pdfs-gui/src/app/pages/locations.rs:1388
msgid "Sync Now"
msgstr "Sync Now"
#: crates/pdfs-gui/src/app/pages/locations.rs:1309
#: crates/pdfs-gui/src/app/pages/locations.rs:1392
msgid "Resume Syncing"
msgstr "Resume Syncing"
#: crates/pdfs-gui/src/app/pages/locations.rs:1311
#: crates/pdfs-gui/src/app/pages/locations.rs:1394
msgid "Pause Syncing"
msgstr "Pause Syncing"
#: crates/pdfs-gui/src/app/pages/locations.rs:1322
#: crates/pdfs-gui/src/app/pages/locations.rs:1405
msgid "Stop Syncing…"
msgstr "Stop Syncing…"
#: crates/pdfs-gui/src/app/pages/locations.rs:1331
#: crates/pdfs-gui/src/app/pages/locations.rs:1414
msgid "Make Folder Online Only?"
msgstr "Make Folder Online Only?"
#. Translators: {path} is a local folder path.
#: crates/pdfs-gui/src/app/pages/locations.rs:1333
#: crates/pdfs-gui/src/app/pages/locations.rs:1416
#, rust-format
msgid ""
"Files in {path} will be removed from this computer and kept in Proton Drive "
@@ -2885,11 +2949,11 @@ msgstr ""
"Files in {path} will be removed from this computer and kept in Proton Drive "
"only. Each file downloads again when you open it."
#: crates/pdfs-gui/src/app/pages/locations.rs:1336
#: crates/pdfs-gui/src/app/pages/locations.rs:1419
msgid "Make Online Only"
msgstr "Make Online Only"
#: crates/pdfs-gui/src/app/pages/locations.rs:1372
#: crates/pdfs-gui/src/app/pages/locations.rs:1455
#, rust-format
msgid ""
"Every file in {path} will download to this computer and stay synced. {free} "
@@ -2898,59 +2962,59 @@ msgstr ""
"Every file in {path} will download to this computer and stay synced. {free} "
"is free on this disk."
#: crates/pdfs-gui/src/app/pages/locations.rs:1377
#: crates/pdfs-gui/src/app/pages/locations.rs:1460
#, rust-format
msgid "Every file in {path} will download to this computer and stay synced."
msgstr "Every file in {path} will download to this computer and stay synced."
#: crates/pdfs-gui/src/app/pages/locations.rs:1382
#: crates/pdfs-gui/src/app/pages/locations.rs:1465
msgid "Download Folder?"
msgstr "Download Folder?"
#: crates/pdfs-gui/src/app/pages/locations.rs:1386
#: crates/pdfs-gui/src/app/pages/locations.rs:1469
msgid "Download"
msgstr "Download"
#: crates/pdfs-gui/src/app/pages/locations.rs:1410
#: crates/pdfs-gui/src/app/pages/locations.rs:1493
msgid "Couldn't pause the folder"
msgstr "Couldn't pause the folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:1411
#: crates/pdfs-gui/src/app/pages/locations.rs:1494
msgid "Couldn't resume the folder"
msgstr "Couldn't resume the folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:1417
#: crates/pdfs-gui/src/app/pages/locations.rs:1500
msgid "Folder paused"
msgstr "Folder paused"
#: crates/pdfs-gui/src/app/pages/locations.rs:1418
#: crates/pdfs-gui/src/app/pages/locations.rs:1501
msgid "Folder resumed"
msgstr "Folder resumed"
#: crates/pdfs-gui/src/app/pages/locations.rs:1442
#: crates/pdfs-gui/src/app/pages/locations.rs:1446
#: crates/pdfs-gui/src/app/pages/locations.rs:1525
#: crates/pdfs-gui/src/app/pages/locations.rs:1529
msgid "Couldn't sync"
msgstr "Couldn't sync"
#: crates/pdfs-gui/src/app/pages/locations.rs:1472
#: crates/pdfs-gui/src/app/pages/locations.rs:1555
msgid "Shared folder"
msgstr "Shared folder"
#: crates/pdfs-gui/src/app/pages/locations.rs:1474
#: crates/pdfs-gui/src/app/pages/locations.rs:1557
msgid "Going online only"
msgstr "Going online only"
#: crates/pdfs-gui/src/app/pages/locations.rs:1475
#: crates/pdfs-gui/src/app/pages/locations.rs:1558
msgid "Switching to synced"
msgstr "Switching to synced"
#: crates/pdfs-gui/src/app/pages/locations.rs:1485
#: crates/pdfs-gui/src/app/pages/locations.rs:1568
msgctxt "state"
msgid "paused"
msgstr "paused"
#. Translators: a folder's files can't be opened right now.
#: crates/pdfs-gui/src/app/pages/locations.rs:1496
#: crates/pdfs-gui/src/app/pages/locations.rs:1579
msgid "not available"
msgstr "not available"
@@ -5408,10 +5472,6 @@ msgstr "Save version"
msgid "Couldn't save that version"
msgstr "Couldn't save that version"
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:351
msgid "That location isn't a local file."
msgstr "That location isn't a local file."
#: crates/pdfs-gui/src/app/widgets/versions_dialog.rs:358
msgid "Version saved"
msgstr "Version saved"