mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
feat(core,cli,gui): support two-password accounts without storing the mailbox password
A two-password account signed in with its login password as the mailbox password, so the key chain never unlocked and the daemon retried forever. Login now asks for the mailbox password and checks it against the account (proton-sdk 0.8 `unlock`), so a typo is a retry. The password is never stored: the keyring blob keeps the per-key passphrases instead, and for a two-password account only when the user opts in (`--remember`, or the "Keep unlocked on this computer" switch). By default they live in the kernel keyring for the login session and the account is locked after a reboot until `pdfs unlock` or the app supplies them again. - core: kernelkey module, Error::Locked / WrongMailboxPassword, unlock, lock, key_state, ready; blobs written by 3.0.x are migrated on first start; token refresh updates only the tokens in the stored blob - cli: `pdfs unlock [--remember]`, `pdfs lock [--forget]`; status and diagnose report the key state; the daemon waits while locked and is marked non-dumpable - gui: mailbox password dialog at sign-in and on open, locked tray state - po: all catalogs translated - bump to 3.1.0, depend on proton-sdk and proton-drive-rs 0.8.0 Refs #26.
This commit is contained in:
1 parent
f105159186
commit
9fa88ff397
24 files changed
+2871
-1417
No files matched your search
+198
-140
@@ -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-05 01:01+0200\n"
|
||||
"POT-Creation-Date: 2026-10-07 02:39+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"
|
||||
@@ -57,7 +57,7 @@ msgstr "%-d %b %Y"
|
||||
msgid "%A, %B %-d, %Y, %H:%M"
|
||||
msgstr "%A %-d %B %Y, %H:%M"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:743
|
||||
#: crates/pdfs-gui/src/app/main.rs:747
|
||||
#: crates/pdfs-gui/src/app/pages/activity_text.rs:539
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:454
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:819
|
||||
@@ -70,91 +70,91 @@ msgstr "%A %-d %B %Y, %H:%M"
|
||||
msgid "My files"
|
||||
msgstr "My files"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:746 crates/pdfs-gui/src/app/main.rs:1390
|
||||
#: crates/pdfs-gui/src/app/main.rs:750 crates/pdfs-gui/src/app/main.rs:1394
|
||||
#: crates/pdfs-gui/src/app/pages/albums.rs:638
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:842
|
||||
#: crates/pdfs-gui/src/app/pages/places.rs:441
|
||||
msgid "Photos"
|
||||
msgstr "Photos"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:751
|
||||
#: crates/pdfs-gui/src/app/main.rs:755
|
||||
#: crates/pdfs-gui/src/app/pages/shared.rs:168
|
||||
#: crates/pdfs-gui/src/app/pages/shared.rs:482
|
||||
msgid "Shared with me"
|
||||
msgstr "Shared with me"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:756
|
||||
#: crates/pdfs-gui/src/app/main.rs:760
|
||||
#: crates/pdfs-gui/src/app/pages/shared_by_me.rs:120
|
||||
msgid "Shared by me"
|
||||
msgstr "Shared by me"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:759
|
||||
#: crates/pdfs-gui/src/app/main.rs:763
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:140
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:481
|
||||
msgid "Computers"
|
||||
msgstr "Computers"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:760
|
||||
#: crates/pdfs-gui/src/app/main.rs:764
|
||||
#: crates/pdfs-gui/src/app/pages/trash.rs:101
|
||||
msgid "Trash"
|
||||
msgstr "Trash"
|
||||
|
||||
#. Translators: sidebar entry for the page listing this computer's synced folders.
|
||||
#: crates/pdfs-gui/src/app/main.rs:762
|
||||
#: crates/pdfs-gui/src/app/main.rs:766
|
||||
msgid "Sync"
|
||||
msgstr "Sync"
|
||||
|
||||
#. Translators: a failed action's toast. {what} says what failed, such as
|
||||
#. "Couldn't rename"; {detail} is the reason, usually untranslated text
|
||||
#. from the mount service.
|
||||
#: crates/pdfs-gui/src/app/main.rs:1079
|
||||
#: crates/pdfs-gui/src/app/main.rs:1083
|
||||
#, rust-format
|
||||
msgid "{what}: {detail}"
|
||||
msgstr "{what}: {detail}"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1098
|
||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
||||
msgid "You're offline"
|
||||
msgstr "You're offline"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1099
|
||||
#: crates/pdfs-gui/src/app/main.rs:1103
|
||||
msgid "That's not there any more"
|
||||
msgstr "That's not there any more"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1100
|
||||
#: crates/pdfs-gui/src/app/main.rs:1104
|
||||
msgid "You don't have access to that"
|
||||
msgstr "You don't have access to that"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1101
|
||||
#: crates/pdfs-gui/src/app/main.rs:1105
|
||||
msgid "Something changed this first"
|
||||
msgstr "Something changed this first"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1102
|
||||
#: crates/pdfs-gui/src/app/main.rs:1106
|
||||
msgid "Your Proton Drive is full"
|
||||
msgstr "Your Proton Drive is full"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1143 crates/pdfs-gui/src/app/main.rs:1372
|
||||
#: crates/pdfs-gui/src/app/main.rs:1147 crates/pdfs-gui/src/app/main.rs:1376
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:385
|
||||
msgid "Preferences"
|
||||
msgstr "Preferences"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1144
|
||||
#: crates/pdfs-gui/src/app/main.rs:1148
|
||||
#: crates/pdfs-gui/src/app/widgets/compat.rs:262
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr "Keyboard Shortcuts"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1146
|
||||
#: crates/pdfs-gui/src/app/main.rs:1150
|
||||
msgid "About Proton Drive for Linux"
|
||||
msgstr "About Proton Drive for Linux"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1151
|
||||
#: crates/pdfs-gui/src/app/main.rs:1155
|
||||
msgid "Main menu"
|
||||
msgstr "Main menu"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1207
|
||||
#: crates/pdfs-gui/src/app/main.rs:1211
|
||||
msgid "Proton Drive for Linux"
|
||||
msgstr "Proton Drive for Linux"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1215
|
||||
#: crates/pdfs-gui/src/app/main.rs:1219
|
||||
msgid ""
|
||||
"Files-on-demand Proton Drive for the Linux desktop.\n"
|
||||
"\n"
|
||||
@@ -166,23 +166,23 @@ msgstr ""
|
||||
"Unofficial client — not affiliated with, endorsed by, or supported by Proton "
|
||||
"AG."
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1220
|
||||
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||
msgid "Source Code"
|
||||
msgstr "Source Code"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1224
|
||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
||||
msgid "Proton Terms of Service"
|
||||
msgstr "Proton Terms of Service"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1228
|
||||
#: crates/pdfs-gui/src/app/main.rs:1232
|
||||
msgid "Proton Privacy Policy"
|
||||
msgstr "Proton Privacy Policy"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1233
|
||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||
msgid "Disclaimer"
|
||||
msgstr "Disclaimer"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1237
|
||||
#: crates/pdfs-gui/src/app/main.rs:1241
|
||||
msgid ""
|
||||
"This is an unofficial, community-built client. It is not affiliated with, "
|
||||
"endorsed by, or supported by Proton AG.\n"
|
||||
@@ -204,7 +204,7 @@ msgstr ""
|
||||
"This software is provided “as is”, without warranty of any kind. Keep a copy "
|
||||
"of any data you cannot afford to lose."
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1245
|
||||
#: crates/pdfs-gui/src/app/main.rs:1249
|
||||
msgid ""
|
||||
"Places are named with data from <a href=\"https://www.geonames.org/"
|
||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||
@@ -214,7 +214,7 @@ msgstr ""
|
||||
"\">GeoNames</a>, licensed under <a href=\"https://creativecommons.org/"
|
||||
"licenses/by/4.0/\">CC BY 4.0</a>."
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1253
|
||||
#: crates/pdfs-gui/src/app/main.rs:1257
|
||||
msgid ""
|
||||
"The places map is drawn from <a href=\"https://www.naturalearthdata.com/"
|
||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||
@@ -224,7 +224,7 @@ msgstr ""
|
||||
"\">Natural Earth</a> land outlines and country borders, which are in the "
|
||||
"public domain."
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1261
|
||||
#: crates/pdfs-gui/src/app/main.rs:1265
|
||||
msgid ""
|
||||
"The street map, when turned on, comes from <a href=\"https://openfreemap.org/"
|
||||
"\">OpenFreeMap</a> in the <a href=\"https://www.openmaptiles.org/"
|
||||
@@ -240,15 +240,15 @@ msgstr ""
|
||||
|
||||
#. Translators: replace with your name(s) and email address(es), one
|
||||
#. per line, to be credited in the About dialog.
|
||||
#: crates/pdfs-gui/src/app/main.rs:1272
|
||||
#: crates/pdfs-gui/src/app/main.rs:1276
|
||||
msgid "translator-credits"
|
||||
msgstr "Proton Drive for Linux contributors"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1310
|
||||
#: crates/pdfs-gui/src/app/main.rs:1314
|
||||
msgid "Stop Proton Drive?"
|
||||
msgstr "Stop Proton Drive?"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1311
|
||||
#: crates/pdfs-gui/src/app/main.rs:1315
|
||||
msgid ""
|
||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||
"Drive starts again at your next login."
|
||||
@@ -256,7 +256,7 @@ msgstr ""
|
||||
"My files goes offline and nothing syncs until you connect again. Proton "
|
||||
"Drive starts again at your next login."
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1313 crates/pdfs-gui/src/app/main.rs:1588
|
||||
#: crates/pdfs-gui/src/app/main.rs:1317 crates/pdfs-gui/src/app/main.rs:1592
|
||||
#: crates/pdfs-gui/src/app/pages/albums.rs:243
|
||||
#: crates/pdfs-gui/src/app/pages/albums.rs:428
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1892
|
||||
@@ -271,7 +271,8 @@ msgstr ""
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1013
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1488
|
||||
#: crates/pdfs-gui/src/app/pages/locations.rs:1538
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:312
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:378
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:492
|
||||
#: crates/pdfs-gui/src/app/pages/photos.rs:2055
|
||||
#: crates/pdfs-gui/src/app/pages/shared.rs:946
|
||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1027
|
||||
@@ -286,30 +287,30 @@ msgstr ""
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1314
|
||||
#: crates/pdfs-gui/src/app/main.rs:1318
|
||||
msgctxt "verb"
|
||||
msgid "Stop"
|
||||
msgstr "Stop"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1331
|
||||
#: crates/pdfs-gui/src/app/main.rs:1335
|
||||
msgid "Couldn't stop Proton Drive"
|
||||
msgstr "Couldn't stop Proton Drive"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1332
|
||||
#: crates/pdfs-gui/src/app/main.rs:1336
|
||||
msgid "The Proton Drive service did not stop."
|
||||
msgstr "The Proton Drive service did not stop."
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1368
|
||||
#: crates/pdfs-gui/src/app/main.rs:1372
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:254
|
||||
msgid "General"
|
||||
msgstr "General"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1370
|
||||
#: crates/pdfs-gui/src/app/main.rs:1374
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:247
|
||||
msgid "Search Drive"
|
||||
msgstr "Search Drive"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1371
|
||||
#: crates/pdfs-gui/src/app/main.rs:1375
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:957
|
||||
#: crates/pdfs-gui/src/app/pages/devices.rs:554
|
||||
#: crates/pdfs-gui/src/app/pages/shared.rs:586
|
||||
@@ -318,38 +319,38 @@ msgstr "Search Drive"
|
||||
msgid "Refresh"
|
||||
msgstr "Refresh"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1373
|
||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
||||
msgid "Keyboard shortcuts"
|
||||
msgstr "Keyboard shortcuts"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1377
|
||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
||||
msgid "Files"
|
||||
msgstr "Files"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1379
|
||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:294
|
||||
msgid "New folder"
|
||||
msgstr "New folder"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1380
|
||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:290
|
||||
msgid "Upload files"
|
||||
msgstr "Upload files"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1381
|
||||
#: crates/pdfs-gui/src/app/main.rs:1385
|
||||
msgid "Back / forward"
|
||||
msgstr "Back / forward"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1382
|
||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:1943
|
||||
msgid "Parent folder"
|
||||
msgstr "Parent folder"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1383
|
||||
#: crates/pdfs-gui/src/app/main.rs:1387
|
||||
msgid "Grid / list"
|
||||
msgstr "Grid / list"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1384
|
||||
#: crates/pdfs-gui/src/app/main.rs:1388
|
||||
#: 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
|
||||
@@ -358,7 +359,7 @@ msgstr "Grid / list"
|
||||
msgid "Rename"
|
||||
msgstr "Rename"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1385 crates/pdfs-gui/src/app/main.rs:1405
|
||||
#: crates/pdfs-gui/src/app/main.rs:1389 crates/pdfs-gui/src/app/main.rs:1409
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:357
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:900
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:932
|
||||
@@ -368,73 +369,73 @@ msgstr "Rename"
|
||||
msgid "Move to Trash"
|
||||
msgstr "Move to Trash"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1386
|
||||
#: crates/pdfs-gui/src/app/main.rs:1390
|
||||
msgid "Clear the selection"
|
||||
msgstr "Clear the selection"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1392
|
||||
#: crates/pdfs-gui/src/app/main.rs:1396
|
||||
msgid "Larger thumbnails"
|
||||
msgstr "Larger thumbnails"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1393
|
||||
#: crates/pdfs-gui/src/app/main.rs:1397
|
||||
msgid "Smaller thumbnails"
|
||||
msgstr "Smaller thumbnails"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1394
|
||||
#: crates/pdfs-gui/src/app/main.rs:1398
|
||||
msgid "Reset thumbnail size"
|
||||
msgstr "Reset thumbnail size"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1395
|
||||
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||
msgid "Select all"
|
||||
msgstr "Select all"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1399
|
||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||
msgid "Photo Viewer"
|
||||
msgstr "Photo Viewer"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1401
|
||||
#: crates/pdfs-gui/src/app/main.rs:1405
|
||||
msgid "Previous / next photo"
|
||||
msgstr "Previous / next photo"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1402
|
||||
#: crates/pdfs-gui/src/app/main.rs:1406
|
||||
msgid "First / last photo"
|
||||
msgstr "First / last photo"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1403
|
||||
#: crates/pdfs-gui/src/app/main.rs:1407
|
||||
msgid "Show details"
|
||||
msgstr "Show details"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1404
|
||||
#: crates/pdfs-gui/src/app/main.rs:1408
|
||||
msgid "Fullscreen"
|
||||
msgstr "Fullscreen"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1406
|
||||
#: crates/pdfs-gui/src/app/main.rs:1410
|
||||
msgid "Close"
|
||||
msgstr "Close"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1496
|
||||
#: crates/pdfs-gui/src/app/main.rs:1500
|
||||
msgid "Select a single item to rename it"
|
||||
msgstr "Select a single item to rename it"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1656
|
||||
#: crates/pdfs-gui/src/app/main.rs:1660
|
||||
#: crates/pdfs-gui/src/app/pages/albums.rs:85
|
||||
#: crates/pdfs-gui/src/app/pages/places.rs:104
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1370
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||
msgid "Not connected"
|
||||
msgstr "Not connected"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1657
|
||||
#: crates/pdfs-gui/src/app/main.rs:1661
|
||||
msgid "The Proton Drive service isn't running."
|
||||
msgstr "The Proton Drive service isn't running."
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1665
|
||||
#: crates/pdfs-gui/src/app/main.rs:1669
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:336
|
||||
#: crates/pdfs-gui/src/hud/mod.rs:274 crates/pdfs-gui/src/hud/mod.rs:595
|
||||
#: crates/pdfs-gui/src/main.rs:444
|
||||
#: crates/pdfs-gui/src/main.rs:453
|
||||
msgid "Connecting…"
|
||||
msgstr "Connecting…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/main.rs:1666
|
||||
#: crates/pdfs-gui/src/app/main.rs:1670
|
||||
msgid "Waiting for the Proton Drive service to start."
|
||||
msgstr "Waiting for the Proton Drive service to start."
|
||||
|
||||
@@ -1275,7 +1276,7 @@ msgstr "Couldn't load albums"
|
||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1006
|
||||
#: crates/pdfs-gui/src/app/pages/shared.rs:1122
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:750
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1517
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1518
|
||||
#: crates/pdfs-gui/src/app/pages/takeout.rs:424
|
||||
#: crates/pdfs-gui/src/app/pages/takeout.rs:617
|
||||
#: crates/pdfs-gui/src/app/widgets/share_dialog.rs:438
|
||||
@@ -1543,7 +1544,7 @@ msgid "Make available offline"
|
||||
msgstr "Make available offline"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/browser.rs:347
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1493
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1494
|
||||
msgid "Make online only"
|
||||
msgstr "Make online only"
|
||||
|
||||
@@ -2686,7 +2687,7 @@ msgid "Sync paused until you resume"
|
||||
msgstr "Sync paused until you resume"
|
||||
|
||||
#: 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
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1324 crates/pdfs-gui/src/main.rs:246
|
||||
msgid "Sync paused"
|
||||
msgstr "Sync paused"
|
||||
|
||||
@@ -3149,23 +3150,23 @@ msgstr "Enter your email and password."
|
||||
msgid "Signing in…"
|
||||
msgstr "Signing in…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:155
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:160
|
||||
msgid "Complete the verification to continue…"
|
||||
msgstr "Complete the verification to continue…"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:165
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:185
|
||||
msgid "login cancelled"
|
||||
msgstr "login cancelled"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:198
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
||||
msgid "Too many sign-in attempts. Wait a few minutes and try again."
|
||||
msgstr "Too many sign-in attempts. Wait a few minutes and try again."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:204
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:224
|
||||
msgid "Couldn't reach Proton. Check your internet connection and try again."
|
||||
msgstr "Couldn't reach Proton. Check your internet connection and try again."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:207
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:227
|
||||
msgid ""
|
||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||
@@ -3173,11 +3174,19 @@ msgstr ""
|
||||
"Signed in, but the session couldn't be saved to the system keyring. Make "
|
||||
"sure a keyring (GNOME Keyring or KWallet) is running and unlocked."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:210
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:230
|
||||
msgid "Sign-in cancelled: no two-factor code was entered."
|
||||
msgstr "Sign-in cancelled: no two-factor code was entered."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:213
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:233
|
||||
msgid "Sign-in cancelled: no mailbox password was entered."
|
||||
msgstr "Sign-in cancelled: no mailbox password was entered."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:236
|
||||
msgid "That mailbox password didn't unlock your account."
|
||||
msgstr "That mailbox password didn't unlock your account."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:239
|
||||
msgid ""
|
||||
"Sign-in cancelled: the verification wasn't completed. Sign in again to get a "
|
||||
"new one."
|
||||
@@ -3186,34 +3195,78 @@ msgstr ""
|
||||
"new one."
|
||||
|
||||
#. Translators: {error} is an error message, usually in English.
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:218
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:244
|
||||
#, rust-format
|
||||
msgid "Sign-in failed: {error}"
|
||||
msgstr "Sign-in failed: {error}"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:298
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:354
|
||||
msgid "That mailbox password didn't unlock your account. Try again."
|
||||
msgstr "That mailbox password didn't unlock your account. Try again."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:356
|
||||
msgid ""
|
||||
"This account has a separate mailbox password. Enter it to unlock your files."
|
||||
msgstr "This account has a separate mailbox password. Enter it to unlock your files."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:359
|
||||
msgid "Mailbox Password"
|
||||
msgstr "Mailbox Password"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:365
|
||||
msgid "Mailbox password"
|
||||
msgstr "Mailbox password"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:369
|
||||
msgid "Keep unlocked on this computer"
|
||||
msgstr "Keep unlocked on this computer"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:371
|
||||
msgid ""
|
||||
"Stores the unlock in the system keyring, so Proton Drive opens without "
|
||||
"asking after every login. Otherwise you enter the password once per session."
|
||||
msgstr "Stores the unlock in the system keyring, so Proton Drive opens without asking after every login. Otherwise you enter the password once per session."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:379
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:432
|
||||
msgid "Unlock"
|
||||
msgstr "Unlock"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:431
|
||||
msgid "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||
msgstr "Proton Drive is locked. Enter your mailbox password to unlock it."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:460
|
||||
msgid "Unlocked."
|
||||
msgstr "Unlocked."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:465
|
||||
msgid "Couldn't unlock"
|
||||
msgstr "Couldn't unlock"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:478
|
||||
msgid "Two-Factor Authentication"
|
||||
msgstr "Two-Factor Authentication"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:300
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:480
|
||||
msgid ""
|
||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||
msgstr ""
|
||||
"Enter the code from your authenticator app, or one of your recovery codes."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:306
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:486
|
||||
msgid "Authentication code"
|
||||
msgstr "Authentication code"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:313
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:493
|
||||
msgid "Confirm"
|
||||
msgstr "Confirm"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:341
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:521
|
||||
msgid "Sign Out?"
|
||||
msgstr "Sign Out?"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:343
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:523
|
||||
msgid ""
|
||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||
"already on this computer stay where they are."
|
||||
@@ -3221,7 +3274,7 @@ msgstr ""
|
||||
"Proton Drive will disconnect and stop syncing until you sign in again. Files "
|
||||
"already on this computer stay where they are."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:345
|
||||
#: crates/pdfs-gui/src/app/pages/login.rs:525
|
||||
msgid "Sign Out"
|
||||
msgstr "Sign Out"
|
||||
|
||||
@@ -4556,39 +4609,39 @@ msgid "Restart Now"
|
||||
msgstr "Restart Now"
|
||||
|
||||
#. Translators: {size} is an amount of storage, such as "1.2 GiB".
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:912
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:913
|
||||
#, rust-format
|
||||
msgid "{size} used"
|
||||
msgstr "{size} used"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:923
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:924
|
||||
#, rust-format
|
||||
msgid "{used} of {total} used ({percent}%)"
|
||||
msgstr "{used} of {total} used ({percent}%)"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:961
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:962
|
||||
msgid "Proton Drive connected"
|
||||
msgstr "Proton Drive connected"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:962
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:963
|
||||
msgid "Your files are available."
|
||||
msgstr "Your files are available."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:967
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:968
|
||||
msgid "Proton Drive disconnected"
|
||||
msgstr "Proton Drive disconnected"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:968
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:969
|
||||
msgid ""
|
||||
"The Proton Drive service stopped. Files aren't available until it restarts."
|
||||
msgstr ""
|
||||
"The Proton Drive service stopped. Files aren't available until it restarts."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1037
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1038
|
||||
msgid "Sync complete"
|
||||
msgstr "Sync complete"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1039
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1040
|
||||
#, rust-format
|
||||
msgid "{n} file finished transferring."
|
||||
msgid_plural "{n} files finished transferring."
|
||||
@@ -4597,27 +4650,27 @@ msgstr[1] "{n} files finished transferring."
|
||||
|
||||
#. Translators: a background job's progress. {title} is the job, such as
|
||||
#. "Scanning Photos"; {done} and {total} are counts.
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1117
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1118
|
||||
#, rust-format
|
||||
msgid "{title} — {done} of {total}"
|
||||
msgstr "{title} — {done} of {total}"
|
||||
|
||||
#. Translators: a background job's progress. {title} is the job, {detail}
|
||||
#. what it is working on; {done} and {total} are counts.
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1120
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1121
|
||||
#, rust-format
|
||||
msgid "{title} — {detail} ({done} of {total})"
|
||||
msgstr "{title} — {detail} ({done} of {total})"
|
||||
|
||||
#. Translators: a background job still running. {title} is the job.
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1122
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1123
|
||||
#, rust-format
|
||||
msgid "{title}…"
|
||||
msgstr "{title}…"
|
||||
|
||||
#. Translators: a background job still running. {title} is the job,
|
||||
#. {detail} what it is working on.
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1125
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1126
|
||||
#, rust-format
|
||||
msgid "{title} — {detail}…"
|
||||
msgstr "{title} — {detail}…"
|
||||
@@ -4625,7 +4678,7 @@ msgstr "{title} — {detail}…"
|
||||
#. Translators: a file being transferred. {arrow} is ↑ or ↓, {name} the
|
||||
#. file name, {done} the size moved so far and {speed} a size such as
|
||||
#. "1.2 MiB"; "/s" means per second.
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1154
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1155
|
||||
#, rust-format
|
||||
msgid "{arrow} {name} — {done} ({speed}/s)"
|
||||
msgstr "{arrow} {name} — {done} ({speed}/s)"
|
||||
@@ -4633,117 +4686,117 @@ msgstr "{arrow} {name} — {done} ({speed}/s)"
|
||||
#. Translators: a file being transferred. {arrow} is ↑ or ↓, {name} the
|
||||
#. file name, {done} and {total} sizes and {speed} a size such as
|
||||
#. "1.2 MiB"; "/s" means per second.
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1162
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1163
|
||||
#, rust-format
|
||||
msgid "{arrow} {name} — {done} of {total} ({speed}/s)"
|
||||
msgstr "{arrow} {name} — {done} of {total} ({speed}/s)"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1254
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1255
|
||||
#, rust-format
|
||||
msgid "{used} cached — no limit set"
|
||||
msgstr "{used} cached — no limit set"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1260
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1261
|
||||
#, rust-format
|
||||
msgid "{used} of {limit} used"
|
||||
msgstr "{used} of {limit} used"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1328
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1329
|
||||
#, rust-format
|
||||
msgid "{queued} · resumes {time}"
|
||||
msgstr "{queued} · resumes {time}"
|
||||
|
||||
#. Translators: {time} is when syncing resumes, such as "at 14:30"
|
||||
#. or "Tue 09:00".
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1333
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1334
|
||||
#, rust-format
|
||||
msgid "Resumes {time}"
|
||||
msgstr "Resumes {time}"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1335
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1336
|
||||
msgid "Until you resume"
|
||||
msgstr "Until you resume"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1342 crates/pdfs-gui/src/main.rs:239
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1343 crates/pdfs-gui/src/main.rs:248
|
||||
#, rust-format
|
||||
msgid "{n} change needs attention"
|
||||
msgid_plural "{n} changes need attention"
|
||||
msgstr[0] "{n} change needs attention"
|
||||
msgstr[1] "{n} changes need attention"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1352
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1353
|
||||
#: crates/pdfs-gui/src/app/widgets/details.rs:108
|
||||
msgctxt "state"
|
||||
msgid "Offline"
|
||||
msgstr "Offline"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1353
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1354
|
||||
msgid "Cached files only"
|
||||
msgstr "Cached files only"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1358
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1359
|
||||
msgctxt "state"
|
||||
msgid "Syncing"
|
||||
msgstr "Syncing"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1364
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1365
|
||||
msgid "Up to date"
|
||||
msgstr "Up to date"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1371
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1372
|
||||
#: crates/pdfs-gui/src/hud/mod.rs:608 crates/pdfs-gui/src/hud/mod.rs:622
|
||||
msgid "Proton Drive isn't running"
|
||||
msgstr "Proton Drive isn't running"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1376
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1377
|
||||
msgid "Not responding"
|
||||
msgstr "Not responding"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1377
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1378
|
||||
msgid "Proton Drive is taking too long to answer"
|
||||
msgstr "Proton Drive is taking too long to answer"
|
||||
|
||||
#. Translators: stands in for a time that could not be read, as in
|
||||
#. "Resumes later".
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1415
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1430
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1416
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1431
|
||||
msgid "later"
|
||||
msgstr "later"
|
||||
|
||||
#. Translators: strftime format for a time later today, such as "at 14:30".
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1419
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1420
|
||||
msgid "at %H:%M"
|
||||
msgstr "at %H:%M"
|
||||
|
||||
#. Translators: strftime format for a time within the next week, such as
|
||||
#. "Tue 09:00".
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1423
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1424
|
||||
msgid "%a %H:%M"
|
||||
msgstr "%a %H:%M"
|
||||
|
||||
#. Translators: strftime format for a date further ahead, such as "23 Sep".
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1426
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1427
|
||||
msgid "%e %b"
|
||||
msgstr "%e %b"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1456
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1457
|
||||
msgid "No files kept offline"
|
||||
msgstr "No files kept offline"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1458
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1459
|
||||
msgid "Right-click a file and choose “Make available offline”."
|
||||
msgstr "Right-click a file and choose “Make available offline”."
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1509
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1516
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1510
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1517
|
||||
msgid "Couldn't make it online only"
|
||||
msgstr "Couldn't make it online only"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1533
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1534
|
||||
msgid "Show fewer"
|
||||
msgstr "Show fewer"
|
||||
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1536
|
||||
#: crates/pdfs-gui/src/app/pages/status.rs:1537
|
||||
#, rust-format
|
||||
msgid "Show all {n} file"
|
||||
msgid_plural "Show all {n} files"
|
||||
@@ -5788,40 +5841,45 @@ msgstr[1] "↑ {n} uploading"
|
||||
msgid "Proton Drive isn't responding"
|
||||
msgstr "Proton Drive isn't responding"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:172
|
||||
#: crates/pdfs-gui/src/main.rs:173
|
||||
#, rust-format
|
||||
msgid "Signed in as {username} — locked"
|
||||
msgstr "Signed in as {username} — locked"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:181
|
||||
#, rust-format
|
||||
msgid "Signed in as {username} — not connected"
|
||||
msgstr "Signed in as {username} — not connected"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:177
|
||||
#: crates/pdfs-gui/src/main.rs:186
|
||||
msgid "Not signed in"
|
||||
msgstr "Not signed in"
|
||||
|
||||
#. Translators: {error} is an error message, in English.
|
||||
#: crates/pdfs-gui/src/main.rs:180
|
||||
#: crates/pdfs-gui/src/main.rs:189
|
||||
#, rust-format
|
||||
msgid "Error: {error}"
|
||||
msgstr "Error: {error}"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:201
|
||||
#: crates/pdfs-gui/src/main.rs:210
|
||||
msgid "Proton Drive sent an unexpected reply"
|
||||
msgstr "Proton Drive sent an unexpected reply"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:246
|
||||
#: crates/pdfs-gui/src/main.rs:255
|
||||
#, rust-format
|
||||
msgid "Up to date in {mountpoint} ({n} pinned)"
|
||||
msgid_plural "Up to date in {mountpoint} ({n} pinned)"
|
||||
msgstr[0] "Up to date in {mountpoint} ({n} pinned)"
|
||||
msgstr[1] "Up to date in {mountpoint} ({n} pinned)"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:253
|
||||
#: crates/pdfs-gui/src/main.rs:262
|
||||
#, rust-format
|
||||
msgid "Syncing — {queued} ({n} pinned)"
|
||||
msgid_plural "Syncing — {queued} ({n} pinned)"
|
||||
msgstr[0] "Syncing — {queued} ({n} pinned)"
|
||||
msgstr[1] "Syncing — {queued} ({n} pinned)"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:260
|
||||
#: crates/pdfs-gui/src/main.rs:269
|
||||
#, rust-format
|
||||
msgid "Offline — cached files only ({n} pinned)"
|
||||
msgid_plural "Offline — cached files only ({n} pinned)"
|
||||
@@ -5829,52 +5887,52 @@ msgstr[0] "Offline — cached files only ({n} pinned)"
|
||||
msgstr[1] "Offline — cached files only ({n} pinned)"
|
||||
|
||||
#. Translators: {queued} is a queue summary such as "3 uploads queued".
|
||||
#: crates/pdfs-gui/src/main.rs:266
|
||||
#: crates/pdfs-gui/src/main.rs:275
|
||||
#, rust-format
|
||||
msgid "Offline — {queued}"
|
||||
msgstr "Offline — {queued}"
|
||||
|
||||
#. Translators: a menu item that opens the list of failing changes.
|
||||
#: crates/pdfs-gui/src/main.rs:296
|
||||
#: crates/pdfs-gui/src/main.rs:305
|
||||
#, rust-format
|
||||
msgid "{n} issue — View"
|
||||
msgid_plural "{n} issues — View"
|
||||
msgstr[0] "{n} issue — View"
|
||||
msgstr[1] "{n} issues — View"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:402
|
||||
#: crates/pdfs-gui/src/main.rs:411
|
||||
msgid "Sign In…"
|
||||
msgstr "Sign In…"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:403
|
||||
#: crates/pdfs-gui/src/main.rs:412
|
||||
msgid "Open Proton Drive"
|
||||
msgstr "Open Proton Drive"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:409
|
||||
#: crates/pdfs-gui/src/main.rs:418
|
||||
msgid "Open Folder"
|
||||
msgstr "Open Folder"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:421
|
||||
#: crates/pdfs-gui/src/main.rs:430
|
||||
msgid "Resume Sync"
|
||||
msgstr "Resume Sync"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:423
|
||||
#: crates/pdfs-gui/src/main.rs:432
|
||||
msgid "Pause Sync"
|
||||
msgstr "Pause Sync"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:442
|
||||
#: crates/pdfs-gui/src/main.rs:451
|
||||
msgid "Connect"
|
||||
msgstr "Connect"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:449
|
||||
#: crates/pdfs-gui/src/main.rs:458
|
||||
msgid "Hide Tray Icon"
|
||||
msgstr "Hide Tray Icon"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:453
|
||||
#: crates/pdfs-gui/src/main.rs:462
|
||||
msgid "Stop Proton Drive…"
|
||||
msgstr "Stop Proton Drive…"
|
||||
|
||||
#: crates/pdfs-gui/src/main.rs:457
|
||||
#: crates/pdfs-gui/src/main.rs:466
|
||||
msgid "Quit"
|
||||
msgstr "Quit"
|
||||
|
||||
|
||||
Reference in new issue
Block a user