diff --git a/crates/pdfs-cli/src/main.rs b/crates/pdfs-cli/src/main.rs index 58e6dcb..ccba21b 100644 --- a/crates/pdfs-cli/src/main.rs +++ b/crates/pdfs-cli/src/main.rs @@ -2025,6 +2025,7 @@ fn cmd_status() -> Result<()> { paused, paused_until, session_expired, + tokens_unsaved, .. }) => { let state = match (online, paused) { @@ -2061,6 +2062,11 @@ fn cmd_status() -> Result<()> { failing_error.as_deref().unwrap_or("no error recorded"), ); } + if tokens_unsaved { + println!( + "Keyring refuses the refreshed sign-in; unlock it, or a reboot needs `pdfs login`" + ); + } } Ok(other) => println!("Mount: unexpected response {other:?}"), Err(_) => println!("Mount: not running."), @@ -3435,6 +3441,7 @@ fn cmd_diagnose() -> Result<()> { mountpoint, online, session_expired, + tokens_unsaved, pending_uploads, pending_changes, .. @@ -3456,6 +3463,15 @@ fn cmd_diagnose() -> Result<()> { |kind| format!("{mountpoint} ({kind})"), ), ); + // The keyring check above read the blob, which still holds the + // tokens the daemon could not replace. + if tokens_unsaved { + report.finding( + DiagnoseLevel::Warn, + " session tokens", + "the keyring refuses the refreshed ones; unlock it, or a reboot needs `pdfs login`", + ); + } // A refused session reads as offline too, but no connection will // bring it back, and the keyring check above cannot tell. if session_expired { diff --git a/crates/pdfs-core/src/auth.rs b/crates/pdfs-core/src/auth.rs index 46e909a..796db3c 100644 --- a/crates/pdfs-core/src/auth.rs +++ b/crates/pdfs-core/src/auth.rs @@ -750,6 +750,16 @@ pub fn stored_session_is_newer() -> bool { } } +/// Whether a session in this process holds refreshed tokens the keyring has +/// not taken yet. They are retried and kept in the kernel keyring meanwhile, +/// which a reboot clears, so the user is asked to unlock the keyring (B61). +pub fn tokens_unsaved() -> bool { + TOKEN_SINKS + .lock() + .values() + .any(|sink| sink.state.lock().unsaved.is_some()) +} + /// Where each live session in this process writes its rotated tokens, by /// session id, for [`persist`] to find. static TOKEN_SINKS: parking_lot::Mutex>> = diff --git a/crates/pdfs-core/src/control.rs b/crates/pdfs-core/src/control.rs index 0620556..f2eebd4 100644 --- a/crates/pdfs-core/src/control.rs +++ b/crates/pdfs-core/src/control.rs @@ -1964,6 +1964,11 @@ pub enum Response { /// connection brings it back: only signing in again does. #[serde(default)] session_expired: bool, + /// True while the keyring refuses the session's refreshed tokens. The + /// daemon keeps retrying; until it succeeds, a reboot signs the user + /// out. + #[serde(default)] + tokens_unsaved: bool, }, /// A human-readable success message. Ok { message: String }, diff --git a/crates/pdfs-fuse/src/control.rs b/crates/pdfs-fuse/src/control.rs index efe5ae2..86646fd 100644 --- a/crates/pdfs-fuse/src/control.rs +++ b/crates/pdfs-fuse/src/control.rs @@ -335,6 +335,7 @@ pub(crate) fn status_response(core: &Core, username: &str, mountpoint: &Path) -> pins, online: core.online.load(Ordering::Relaxed), session_expired: core.session_expired(), + tokens_unsaved: pdfs_core::auth::tokens_unsaved(), pending_uploads: queued.uploads.max(0) as u64 + landing, pending_changes: queued.changes.max(0) as u64, } diff --git a/crates/pdfs-fuse/src/events.rs b/crates/pdfs-fuse/src/events.rs index 72cafa8..90c7462 100644 --- a/crates/pdfs-fuse/src/events.rs +++ b/crates/pdfs-fuse/src/events.rs @@ -236,6 +236,7 @@ fn status_keys(status: &CtlResponse) -> (String, String) { budget, online, session_expired, + tokens_unsaved, pending_uploads, pending_changes, .. @@ -248,7 +249,7 @@ fn status_keys(status: &CtlResponse) -> (String, String) { ); let key = format!( "{queue}/{staged_bytes}/{paused}/{paused_until:?}/{username}/{mountpoint}/{pinned}/\ - {used}/{budget}/{online}/{session_expired}" + {used}/{budget}/{online}/{session_expired}/{tokens_unsaved}" ); (key, queue) } @@ -327,6 +328,7 @@ mod tests { pins: Vec::new(), online: true, session_expired: false, + tokens_unsaved: false, pending_uploads: 1, pending_changes: 0, }; diff --git a/crates/pdfs-gui/src/app/pages/status.rs b/crates/pdfs-gui/src/app/pages/status.rs index 3f93c45..19e674e 100644 --- a/crates/pdfs-gui/src/app/pages/status.rs +++ b/crates/pdfs-gui/src/app/pages/status.rs @@ -1229,6 +1229,7 @@ pub(crate) fn paint_status(ui: &Rc, status: Response) { paused, paused_until, session_expired, + tokens_unsaved, .. } = status else { @@ -1241,6 +1242,8 @@ pub(crate) fn paint_status(ui: &Rc, status: Response) { let queued = i18n::pending_summary(pending_uploads, pending_changes); let state = if session_expired { SyncState::SessionExpired { queued } + } else if tokens_unsaved { + SyncState::TokensUnsaved } else if paused { SyncState::Paused { until: paused_until, @@ -1309,6 +1312,9 @@ pub(crate) enum SyncState { SessionExpired { queued: Option, }, + /// The keyring refuses the session's refreshed tokens. Sync goes on, but + /// a reboot before the keyring takes them signs the user out. + TokensUnsaved, /// The user paused syncing; nothing goes up until it resumes. Outranks /// everything else, because it is the reason for everything else. Paused { @@ -1358,6 +1364,14 @@ fn paint_sync_status(ui: &Rc, state: SyncState) { None => gettext("Sign in again to sync"), }), ), + SyncState::TokensUnsaved => ( + "dialog-warning-symbolic", + Some("warning"), + gettext("Sign-in not saved"), + Some(gettext( + "Unlock your keyring, or the next reboot signs you out", + )), + ), SyncState::Paused { until, queued } => ( "media-playback-pause-symbolic", Some("warning"), diff --git a/crates/pdfs-gui/src/main.rs b/crates/pdfs-gui/src/main.rs index 3e21160..fd4b53a 100644 --- a/crates/pdfs-gui/src/main.rs +++ b/crates/pdfs-gui/src/main.rs @@ -238,6 +238,7 @@ fn status_state( failing_ops, paused, session_expired, + tokens_unsaved, .. } = status else { @@ -247,6 +248,8 @@ fn status_state( let queued = i18n::pending_summary(*pending_uploads, *pending_changes); let phase = if *session_expired { Phase::SessionExpired + } else if *tokens_unsaved { + Phase::Attention } else { phase_of( paused, @@ -260,6 +263,8 @@ fn status_state( // Outranks everything: it is why nothing else moves, and the one // thing that fixes it is the user's to do. _ if *session_expired => gettext("Session expired — sign in again"), + // Sync goes on meanwhile, but a reboot ends it until the next login. + _ if *tokens_unsaved => gettext("Sign-in not saved — unlock your keyring"), _ if paused => gettext("Sync paused"), _ if failing_ops > 0 => ngettext_f( "{n} change needs attention", @@ -642,6 +647,19 @@ mod tests { assert_eq!(state.line, "Session expired — sign in again"); } + /// B61: the keyring refusing the refreshed tokens was only in the log. + #[test] + fn a_sign_in_the_keyring_refused_needs_attention() { + let state = status_state( + &status(r#","tokens_unsaved":true"#), + &[], + &[], + Path::new("/m"), + ); + assert_eq!(state.phase, Phase::Attention); + assert_eq!(state.line, "Sign-in not saved — unlock your keyring"); + } + #[test] fn a_daemon_that_does_not_say_has_a_live_session() { let state = status_state(&status(""), &[], &[], Path::new("/m")); diff --git a/docs/BUGS.md b/docs/BUGS.md index 7dab2d2..10d0c81 100644 --- a/docs/BUGS.md +++ b/docs/BUGS.md @@ -87,7 +87,6 @@ original wording. | [B68](#b68--profile-backup-cannot-be-written-to-the-device-root) | Profile backup cannot be written to the device root | Backup health is not shown in the app; the restore was not re-run | | [B64](#b64--stable-publishing-lacks-data-safety-and-recovery-gates-crit-12) | Stable publishing lacks data-safety and recovery gates (CRIT-12) | Recovery approval before a release | | [B63](#b63--release-version-identity-is-inconsistent-and-unenforced-high-20) | Release version identity is inconsistent and unenforced (HIGH-20) | Protocol version identity | -| [B61](#b61--rotated-single-use-credentials-can-be-lost-high-18) | Rotated single-use credentials can be lost (HIGH-18) | A crash or SIGKILL before a retried write lands still loses it; the GUI is not told | | [B57](#b57--event-cursor-can-advance-past-unapplied-state-high-14) | Event cursor can advance past unapplied state (HIGH-14) | Database and apply fault tests | | [B56](#b56--database-schema-version-parsing-fails-open-high-13) | Database schema version parsing fails open (HIGH-13) | Malformed schema versions | | [B12](#b12--cold-enumeration-is-slow-per-entry-and-goes-superlinear-past-500) | Cold enumeration is slow per entry, and goes superlinear past ~500 | The attribute-invalidation follow-up is unverified | @@ -193,6 +192,7 @@ a live account since. | [B81](#b81--prompt-labels-every-drive-hit-my-files-including-device-folders) | Prompt labels every Drive hit "My files", including device folders | | [B80](#b80--29-of-the-account-is-absent-from-the-search-index) | 29% of the account is absent from the search index | | [B62](#b62--debian-artifact-omits-required-service-and-autostart-units-high-19) | Debian artifact omits required service and autostart units (HIGH-19) | +| [B61](#b61--rotated-single-use-credentials-can-be-lost-high-18) | Rotated single-use credentials can be lost (HIGH-18) | | [B60](#b60--config-writes-are-non-atomic-and-parse-errors-are-overwritten-high-17) | Config writes are non-atomic and parse errors are overwritten (HIGH-17) | | [B59](#b59--private-state-permission-enforcement-fails-open-high-16) | Private state permission enforcement fails open (HIGH-16) | | [B58](#b58--control-socket-has-unbounded-frames-and-connections-high-15) | Control socket has unbounded frames and connections (HIGH-15) | @@ -4951,7 +4951,7 @@ daemon/tray/FUSE, upgrade, rollback, and uninstall without deleting user state. ### B61 — Rotated single-use credentials can be lost (HIGH-18) -**Status:** Partly fixed. Only the log says that the keyring refused a rotation. +**Status:** Fixed, not verified live **Found:** 2026-07-22, 1.0 authentication audit **Where:** `crates/pdfs-core/src/auth.rs`, refresh callback @@ -4973,11 +4973,15 @@ Until it is written, the rotation also waits in the kernel keyring (`kernelkey:: so a crash or SIGKILL before a retry lands no longer loses it. The next resume, by the daemon or `pdfs unlock`, puts it back in when the blob still holds the refresh token it spent, and writes it. One that belongs to an older login is dropped. The kernel keyring lasts until the user's last -session ends, so a refused write followed by a crash and a logout still loses the rotation. Left: -telling the GUI. +session ends, so a refused write followed by a crash and a logout still loses the rotation. + +While a rotation waits, `Response::Status` carries `tokens_unsaved`. The tray says "Sign-in not +saved — unlock your keyring" and needs attention, the app's status says the same, `pdfs status` +prints a `Keyring` line and `pdfs diagnose` warns. **Test:** `auth::tests::a_rotation_the_keyring_refused_is_written_once_it_takes_it` and -`auth::tests::an_unsaved_rotation_goes_only_into_the_blob_it_was_refused_for`. +`auth::tests::an_unsaved_rotation_goes_only_into_the_blob_it_was_refused_for`, and the tray's +`tests::a_sign_in_the_keyring_refused_needs_attention`. --- diff --git a/po/de.po b/po/de.po index ce1a53e..c9e8ce9 100644 --- a/po/de.po +++ b/po/de.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: German\n" @@ -413,7 +413,7 @@ msgstr "Zum Umbenennen genau ein Element auswählen" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Nicht verbunden" @@ -424,7 +424,7 @@ msgstr "Der Proton-Drive-Dienst läuft nicht." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Verbindung wird hergestellt …" @@ -1279,7 +1279,7 @@ msgstr "Alben konnten nicht geladen werden" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1547,7 +1547,7 @@ msgid "Make available offline" msgstr "Offline verfügbar machen" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Nur online verfügbar machen" @@ -2755,7 +2755,7 @@ msgid "Sync paused until you resume" msgstr "Synchronisierung bis zur Fortsetzung pausiert" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Synchronisierung pausiert" @@ -4852,126 +4852,134 @@ msgstr "{arrow} {name} – {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name} – {done} von {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} zwischengespeichert – keine Grenze festgelegt" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "{used} von {limit} belegt" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Sitzung abgelaufen" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · zum Synchronisieren erneut anmelden" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Zum Synchronisieren erneut anmelden" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Anmeldung nicht gespeichert" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Entsperren Sie Ihren Schlüsselbund, sonst werden Sie beim nächsten Neustart abgemeldet" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "{queued} · wird {time} fortgesetzt" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Wird {time} fortgesetzt" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Bis zur manuellen Fortsetzung" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" msgstr[0] "{n} Änderung erfordert Aufmerksamkeit" msgstr[1] "{n} Änderungen erfordern Aufmerksamkeit" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Nur zwischengespeicherte Dateien" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Wird synchronisiert" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "Auf dem neuesten Stand" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: 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 läuft nicht" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "Reagiert nicht" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "Proton Drive braucht zu lange für eine Antwort" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 msgid "later" msgstr "später" #. Translators: strftime format for a time later today, such as "at 14:30". -#: crates/pdfs-gui/src/app/pages/status.rs:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "um %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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 msgid "%a %H:%M" msgstr "am %a um %H:%M" #. Translators: strftime format for a date further ahead, such as "23 Sep". -#: crates/pdfs-gui/src/app/pages/status.rs:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "am %-d. %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "Keine offline verfügbaren Dateien" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "" "Mit einem Rechtsklick auf eine Datei „Offline verfügbar machen“ auswählen." -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "Konnte nicht auf „nur online“ umgestellt werden" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Weniger anzeigen" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -6056,25 +6064,29 @@ msgstr "Fehler: {error}" msgid "Proton Drive sent an unexpected reply" msgstr "Proton Drive hat unerwartet geantwortet" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Sitzung abgelaufen – erneut anmelden" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Anmeldung nicht gespeichert – Schlüsselbund entsperren" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" msgstr[0] "Aktuell in {mountpoint} ({n} angeheftet)" msgstr[1] "Aktuell in {mountpoint} ({n} angeheftet)" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" msgstr[0] "Wird synchronisiert – {queued} ({n} angeheftet)" msgstr[1] "Wird synchronisiert – {queued} ({n} angeheftet)" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -6082,56 +6094,56 @@ msgstr[0] "Offline – nur zwischengespeicherte Dateien ({n} angeheftet)" msgstr[1] "Offline – nur zwischengespeicherte Dateien ({n} angeheftet)" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, 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:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" msgstr[0] "{n} Problem – Anzeigen" msgstr[1] "{n} Probleme – Anzeigen" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Anmelden …" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Erneut anmelden …" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Proton Drive öffnen" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Ordner öffnen" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Synchronisierung fortsetzen" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Synchronisierung pausieren" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Verbinden" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Symbol im Benachrichtigungsfeld ausblenden" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Proton Drive beenden …" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Beenden" diff --git a/po/en_GB.po b/po/en_GB.po index 8e6783c..68e7a3b 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+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" @@ -409,7 +409,7 @@ msgstr "Select a single item to rename it" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Not connected" @@ -420,7 +420,7 @@ msgstr "The Proton Drive service isn't running." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Connecting…" @@ -1267,7 +1267,7 @@ msgstr "Couldn't load albums" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1535,7 +1535,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:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Make online only" @@ -2716,7 +2716,7 @@ msgid "Sync paused until you resume" msgstr "Sync paused until you resume" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Sync paused" @@ -4755,125 +4755,133 @@ msgstr "{arrow} {name} — {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name} — {done} of {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} cached — no limit set" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "{used} of {limit} used" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Session expired" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · sign in again to sync" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Sign in again to sync" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Sign-in not saved" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Unlock your keyring, or the next reboot signs you out" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, 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:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Resumes {time}" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Until you resume" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, 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:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Cached files only" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Syncing" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "Up to date" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: 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:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "Not responding" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 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:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 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:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 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:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "%e %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "No files kept offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 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:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "Couldn't make it online only" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Show fewer" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -5939,25 +5947,29 @@ msgstr "Error: {error}" msgid "Proton Drive sent an unexpected reply" msgstr "Proton Drive sent an unexpected reply" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Session expired — sign in again" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Sign-in not saved — unlock your keyring" + +#: crates/pdfs-gui/src/main.rs:277 #, 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:279 +#: crates/pdfs-gui/src/main.rs:284 #, 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:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -5965,56 +5977,56 @@ 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:292 +#: crates/pdfs-gui/src/main.rs:297 #, 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:330 +#: crates/pdfs-gui/src/main.rs:335 #, 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:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Sign In…" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Sign In Again…" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Open Proton Drive" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Open Folder" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Resume Sync" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Pause Sync" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Connect" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Hide Tray Icon" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Stop Proton Drive…" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Quit" diff --git a/po/es.po b/po/es.po index 6810b1c..e99dcff 100644 --- a/po/es.po +++ b/po/es.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Spanish\n" @@ -411,7 +411,7 @@ msgstr "Seleccione un único elemento para renombrarlo" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Sin conexión" @@ -422,7 +422,7 @@ msgstr "El servicio de Proton Drive no está en ejecución." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Conectando…" @@ -1273,7 +1273,7 @@ msgstr "No se pudieron cargar los álbumes" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1541,7 +1541,7 @@ msgid "Make available offline" msgstr "Hacer disponible sin conexión" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Hacer solo en línea" @@ -2738,7 +2738,7 @@ msgid "Sync paused until you resume" msgstr "Sincronización en pausa hasta que la reanude" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Sincronización en pausa" @@ -4812,127 +4812,135 @@ msgstr "{arrow} {name}: {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name}: {done} de {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} en caché — sin límite" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "{used} de {limit} usados" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Sesión caducada" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · vuelva a iniciar sesión para sincronizar" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Vuelva a iniciar sesión para sincronizar" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Inicio de sesión no guardado" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Desbloquee el depósito de claves o el próximo reinicio cerrará su sesión" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "{queued} · se reanuda {time}" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Se reanuda {time}" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Hasta que la reanude" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" msgstr[0] "{n} cambio requiere atención" msgstr[1] "{n} cambios requieren atención" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Sin conexión" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Solo archivos en caché" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Sincronizando" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "Actualizado" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: 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 no está en ejecución" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "No responde" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "Proton Drive está tardando demasiado en responder" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 msgid "later" msgstr "más tarde" #. Translators: strftime format for a time later today, such as "at 14:30". -#: crates/pdfs-gui/src/app/pages/status.rs:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "a las %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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 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:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "%-d %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "No hay archivos disponibles sin conexión" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "" "Pulse con el botón derecho en un archivo y elija “Hacer disponible sin " "conexión”." -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "No se pudo hacer solo en línea" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Mostrar menos" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -6015,25 +6023,29 @@ msgstr "Error: {error}" msgid "Proton Drive sent an unexpected reply" msgstr "Proton Drive envió una respuesta inesperada" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Sesión caducada: vuelva a iniciar sesión" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Inicio de sesión no guardado: desbloquee el depósito de claves" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" msgstr[0] "Actualizado en {mountpoint} ({n} fijado)" msgstr[1] "Actualizado en {mountpoint} ({n} fijados)" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" msgstr[0] "Sincronizando: {queued} ({n} anclado)" msgstr[1] "Sincronizando: {queued} ({n} anclados)" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -6041,56 +6053,56 @@ msgstr[0] "Sin conexión: solo archivos en caché ({n} anclado)" msgstr[1] "Sin conexión: solo archivos en caché ({n} anclados)" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, rust-format msgid "Offline — {queued}" msgstr "Sin conexión: {queued}" #. Translators: a menu item that opens the list of failing changes. -#: crates/pdfs-gui/src/main.rs:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" msgstr[0] "{n} problema: ver" msgstr[1] "{n} problemas: ver" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Iniciar sesión…" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Volver a iniciar sesión…" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Abrir Proton Drive" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Abrir carpeta" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Reanudar la sincronización" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Pausar la sincronización" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Conectar" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Ocultar el icono de la bandeja" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Detener Proton Drive…" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Salir" diff --git a/po/fr.po b/po/fr.po index 440e2e9..5dfaa8b 100644 --- a/po/fr.po +++ b/po/fr.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: French\n" @@ -413,7 +413,7 @@ msgstr "Sélectionnez un seul élément pour le renommer" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Non connecté" @@ -424,7 +424,7 @@ msgstr "Le service Proton Drive n’est pas en cours d’exécution." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Connexion…" @@ -1284,7 +1284,7 @@ msgstr "Impossible de charger les albums" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1552,7 +1552,7 @@ msgid "Make available offline" msgstr "Rendre disponible hors ligne" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Garder en ligne uniquement" @@ -2755,7 +2755,7 @@ msgid "Sync paused until you resume" msgstr "Synchronisation en pause jusqu’à la reprise" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Synchronisation en pause" @@ -4853,127 +4853,135 @@ msgstr "{arrow} {name} — {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name} — {done} sur {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} en cache — aucune limite définie" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "{used} utilisés sur {limit}" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Session expirée" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · reconnectez-vous pour synchroniser" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Reconnectez-vous pour synchroniser" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Connexion non enregistrée" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Déverrouillez votre trousseau, sinon le prochain redémarrage vous déconnectera" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "{queued} · reprise {time}" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Reprise {time}" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Jusqu’à la reprise" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" msgstr[0] "{n} modification requiert votre attention" msgstr[1] "{n} modifications requièrent votre attention" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Hors ligne" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Fichiers en cache uniquement" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Synchronisation" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "À jour" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: 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 n’est pas en cours d’exécution" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "Ne répond pas" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "Proton Drive met trop de temps à répondre" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 msgid "later" msgstr "plus tard" #. Translators: strftime format for a time later today, such as "at 14:30". -#: crates/pdfs-gui/src/app/pages/status.rs:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "à %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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 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:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "%e %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "Aucun fichier disponible hors ligne" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "" "Faites un clic droit sur un fichier et choisissez « Rendre disponible hors " "ligne »." -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "Impossible de le garder en ligne uniquement" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Afficher moins" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -6060,25 +6068,29 @@ msgstr "Erreur : {error}" msgid "Proton Drive sent an unexpected reply" msgstr "Proton Drive a envoyé une réponse inattendue" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Session expirée — reconnectez-vous" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Connexion non enregistrée — déverrouillez votre trousseau" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" msgstr[0] "À jour dans {mountpoint} ({n} épinglé)" msgstr[1] "À jour dans {mountpoint} ({n} épinglés)" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" msgstr[0] "Synchronisation — {queued} ({n} épinglé)" msgstr[1] "Synchronisation — {queued} ({n} épinglés)" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -6086,56 +6098,56 @@ msgstr[0] "Hors ligne — fichiers en cache uniquement ({n} épinglé)" msgstr[1] "Hors ligne — fichiers en cache uniquement ({n} épinglés)" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, rust-format msgid "Offline — {queued}" msgstr "Hors ligne — {queued}" #. Translators: a menu item that opens the list of failing changes. -#: crates/pdfs-gui/src/main.rs:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" msgstr[0] "{n} problème — Afficher" msgstr[1] "{n} problèmes — Afficher" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Se connecter…" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Se reconnecter…" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Ouvrir Proton Drive" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Ouvrir le dossier" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Reprendre la synchronisation" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Mettre en pause la synchronisation" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Connecter" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Masquer l’icône de la zone de notification" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Arrêter Proton Drive…" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Quitter" diff --git a/po/it.po b/po/it.po index 30d0479..07ba03f 100644 --- a/po/it.po +++ b/po/it.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Italian\n" @@ -409,7 +409,7 @@ msgstr "Seleziona un solo elemento per rinominarlo" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Non connesso" @@ -420,7 +420,7 @@ msgstr "Il servizio di Proton Drive non è in esecuzione." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Connessione…" @@ -1278,7 +1278,7 @@ msgstr "Impossibile caricare gli album" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1546,7 +1546,7 @@ msgid "Make available offline" msgstr "Rendi disponibile offline" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Rendi solo online" @@ -2753,7 +2753,7 @@ msgid "Sync paused until you resume" msgstr "Sincronizzazione in pausa finché non riprendi" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Sincronizzazione in pausa" @@ -4831,125 +4831,133 @@ msgstr "{arrow} {name}: {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name}: {done} di {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} in cache — nessun limite impostato" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "{used} di {limit} utilizzati" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Sessione scaduta" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · accedi di nuovo per sincronizzare" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Accedi di nuovo per sincronizzare" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Accesso non salvato" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Sblocca il portachiavi, altrimenti il prossimo riavvio ti disconnetterà" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "{queued} · riprende {time}" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Riprende {time}" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Finché non riprendi" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" msgstr[0] "{n} modifica richiede attenzione" msgstr[1] "{n} modifiche richiedono attenzione" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Solo file in cache" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Sincronizzazione in corso" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "Aggiornato" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: 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 non è in esecuzione" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "Non risponde" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "Proton Drive impiega troppo tempo a rispondere" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 msgid "later" msgstr "più tardi" #. Translators: strftime format for a time later today, such as "at 14:30". -#: crates/pdfs-gui/src/app/pages/status.rs:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "alle %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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 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:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "%e %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "Nessun file mantenuto offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "Fai clic destro su un file e scegli “Rendi disponibile offline”." -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "Impossibile renderlo solo online" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Mostra meno" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -6037,25 +6045,29 @@ msgstr "Errore: {error}" msgid "Proton Drive sent an unexpected reply" msgstr "Proton Drive ha inviato una risposta inattesa" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Sessione scaduta: accedi di nuovo" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Accesso non salvato: sblocca il portachiavi" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" msgstr[0] "Aggiornato in {mountpoint} ({n} fissato)" msgstr[1] "Aggiornato in {mountpoint} ({n} fissati)" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" msgstr[0] "Sincronizzazione: {queued} ({n} fissato)" msgstr[1] "Sincronizzazione: {queued} ({n} fissati)" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -6063,56 +6075,56 @@ msgstr[0] "Offline: solo file in cache ({n} fissato)" msgstr[1] "Offline: solo file in cache ({n} fissati)" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, 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:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" msgstr[0] "{n} problema: visualizza" msgstr[1] "{n} problemi: visualizza" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Accedi…" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Accedi di nuovo…" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Apri Proton Drive" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Apri cartella" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Riprendi sincronizzazione" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Metti in pausa sincronizzazione" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Connetti" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Nascondi icona nell'area di notifica" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Arresta Proton Drive…" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Esci" diff --git a/po/nl.po b/po/nl.po index 36db83e..58056c6 100644 --- a/po/nl.po +++ b/po/nl.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Dutch\n" @@ -410,7 +410,7 @@ msgstr "Selecteer één item om het te hernoemen" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Niet verbonden" @@ -421,7 +421,7 @@ msgstr "De Proton Drive-service draait niet." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Verbinden…" @@ -1274,7 +1274,7 @@ msgstr "Kon albums niet laden" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1542,7 +1542,7 @@ msgid "Make available offline" msgstr "Offline beschikbaar maken" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Alleen online maken" @@ -2743,7 +2743,7 @@ msgid "Sync paused until you resume" msgstr "Synchronisatie gepauzeerd totdat je hervat" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Synchronisatie gepauzeerd" @@ -4825,125 +4825,133 @@ msgstr "{arrow} {name} — {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name} — {done} van {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} in cache — geen limiet ingesteld" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "{used} van {limit} gebruikt" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Sessie verlopen" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · meld je opnieuw aan om te synchroniseren" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Meld je opnieuw aan om te synchroniseren" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Aanmelding niet opgeslagen" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Ontgrendel je sleutelbos, anders word je bij de volgende herstart afgemeld" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "{queued} · hervat {time}" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Hervat {time}" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Totdat je hervat" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" msgstr[0] "{n} wijziging vereist aandacht" msgstr[1] "{n} wijzigingen vereisen aandacht" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Alleen bestanden in cache" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Synchroniseren" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "Bijgewerkt" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: 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 draait niet" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "Reageert niet" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "Proton Drive doet er te lang over om te antwoorden" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 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:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "om %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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 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:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "%e %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "Geen offline bewaarde bestanden" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "Klik met rechts op een bestand en kies “Offline beschikbaar maken”." -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "Kon het niet alleen online maken" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Minder tonen" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -6024,25 +6032,29 @@ msgstr "Fout: {error}" msgid "Proton Drive sent an unexpected reply" msgstr "Proton Drive gaf een onverwacht antwoord" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Sessie verlopen — meld je opnieuw aan" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Aanmelding niet opgeslagen — ontgrendel je sleutelbos" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" msgstr[0] "Bijgewerkt in {mountpoint} ({n} vastgezet)" msgstr[1] "Bijgewerkt in {mountpoint} ({n} vastgezet)" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" msgstr[0] "Synchroniseren — {queued} ({n} vastgezet)" msgstr[1] "Synchroniseren — {queued} ({n} vastgezet)" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -6050,56 +6062,56 @@ msgstr[0] "Offline — alleen bestanden in cache ({n} vastgezet)" msgstr[1] "Offline — alleen bestanden in cache ({n} vastgezet)" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, 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:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" msgstr[0] "{n} probleem — Bekijken" msgstr[1] "{n} problemen — Bekijken" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Aanmelden…" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Opnieuw aanmelden…" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Proton Drive openen" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Map openen" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Synchronisatie hervatten" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Synchronisatie pauzeren" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Verbinden" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Pictogram in systeemvak verbergen" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Proton Drive stoppen…" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Afsluiten" diff --git a/po/pdfs.pot b/po/pdfs.pot index 74e79cf..a6bd097 100644 --- a/po/pdfs.pot +++ b/po/pdfs.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: proton-drive-linux 3.2.0\n" "Report-Msgid-Bugs-To: https://github.com/narrrl/proton-drive-linux/issues\n" -"POT-Creation-Date: 2026-10-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -386,7 +386,7 @@ msgstr "" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "" @@ -397,7 +397,7 @@ msgstr "" #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "" @@ -1232,7 +1232,7 @@ msgstr "" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1500,7 +1500,7 @@ msgid "Make available offline" msgstr "" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "" @@ -2641,7 +2641,7 @@ msgid "Sync paused until you resume" msgstr "" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "" @@ -4618,125 +4618,133 @@ msgstr "" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: crates/pdfs-gui/src/hud/mod.rs:608 crates/pdfs-gui/src/hud/mod.rs:622 msgid "Proton Drive isn't running" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 msgid "later" msgstr "" #. Translators: strftime format for a time later today, such as "at 14:30". -#: crates/pdfs-gui/src/app/pages/status.rs:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "" #. Translators: strftime format for a time within the next week, such as #. "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 msgid "%a %H:%M" msgstr "" #. Translators: strftime format for a date further ahead, such as "23 Sep". -#: crates/pdfs-gui/src/app/pages/status.rs:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -5782,25 +5790,29 @@ msgstr "" msgid "Proton Drive sent an unexpected reply" msgstr "" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -5808,56 +5820,56 @@ msgstr[0] "" msgstr[1] "" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, rust-format msgid "Offline — {queued}" msgstr "" #. Translators: a menu item that opens the list of failing changes. -#: crates/pdfs-gui/src/main.rs:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" msgstr[0] "" msgstr[1] "" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "" diff --git a/po/pl.po b/po/pl.po index 8bf4ddf..81d53f2 100644 --- a/po/pl.po +++ b/po/pl.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Polish\n" @@ -414,7 +414,7 @@ msgstr "Należy zaznaczyć jeden element, aby zmienić jego nazwę" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Brak połączenia" @@ -425,7 +425,7 @@ msgstr "Usługa Proton Drive nie jest uruchomiona." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Łączenie…" @@ -1305,7 +1305,7 @@ msgstr "Nie można wczytać albumów" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1578,7 +1578,7 @@ msgid "Make available offline" msgstr "Oznacz jako dostępne offline" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Oznacz jako tylko online" @@ -2802,7 +2802,7 @@ msgid "Sync paused until you resume" msgstr "Wstrzymano synchronizację do czasu wznowienia" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Wstrzymano synchronizację" @@ -4898,46 +4898,54 @@ msgstr "{arrow} {name} — {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name} — {done} z {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} w pamięci podręcznej — bez limitu" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "Użyto {used} z {limit}" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Sesja wygasła" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · zaloguj się ponownie, aby synchronizować" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Zaloguj się ponownie, aby synchronizować" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Logowanie nie zostało zapisane" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Odblokuj bazę kluczy, inaczej następne ponowne uruchomienie spowoduje wylogowanie" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "{queued} · wznowienie {time}" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Wznowienie {time}" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Do czasu wznowienia" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" @@ -4945,81 +4953,81 @@ msgstr[0] "{n} zmiana wymaga uwagi" msgstr[1] "{n} zmiany wymagają uwagi" msgstr[2] "{n} zmian wymaga uwagi" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Tylko pliki w pamięci podręcznej" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Synchronizowanie" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "Aktualne" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: 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 nie jest uruchomiony" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "Nie odpowiada" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "Proton Drive zbyt długo nie odpowiada" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 msgid "later" msgstr "później" #. Translators: strftime format for a time later today, such as "at 14:30". -#: crates/pdfs-gui/src/app/pages/status.rs:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "o %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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 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:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "%-d %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "Brak plików dostępnych offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "" "Należy kliknąć plik prawym przyciskiem myszy i wybrać „Oznacz jako dostępne " "offline”." -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "Nie można oznaczyć jako tylko online" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Wyświetl mniej" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -6118,11 +6126,15 @@ msgstr "Błąd: {error}" msgid "Proton Drive sent an unexpected reply" msgstr "Proton Drive wysłał nieoczekiwaną odpowiedź" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Sesja wygasła — zaloguj się ponownie" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Logowanie nie zostało zapisane — odblokuj bazę kluczy" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" @@ -6130,7 +6142,7 @@ msgstr[0] "Aktualne w {mountpoint} ({n} przypięty)" msgstr[1] "Aktualne w {mountpoint} ({n} przypięte)" msgstr[2] "Aktualne w {mountpoint} ({n} przypiętych)" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" @@ -6138,7 +6150,7 @@ msgstr[0] "Synchronizowanie — {queued} (przypięte: {n})" msgstr[1] "Synchronizowanie — {queued} (przypięte: {n})" msgstr[2] "Synchronizowanie — {queued} (przypięte: {n})" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -6147,13 +6159,13 @@ msgstr[1] "Offline — tylko pliki w pamięci podręcznej (przypięte: {n})" msgstr[2] "Offline — tylko pliki w pamięci podręcznej (przypięte: {n})" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, 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:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" @@ -6161,43 +6173,43 @@ msgstr[0] "{n} problem — wyświetl" msgstr[1] "{n} problemy — wyświetl" msgstr[2] "{n} problemów — wyświetl" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Zaloguj się…" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Zaloguj się ponownie…" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Otwórz Proton Drive" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Otwórz katalog" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Wznów synchronizację" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Wstrzymaj synchronizację" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Połącz" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Ukryj ikonę w obszarze powiadamiania" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Zatrzymaj Proton Drive…" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Zakończ" diff --git a/po/pt_BR.po b/po/pt_BR.po index 2fababe..4e205d5 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -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-09 11:21+0200\n" +"POT-Creation-Date: 2026-10-09 12:17+0200\n" "PO-Revision-Date: 2026-09-23 12:00+0200\n" "Last-Translator: Proton Drive for Linux contributors\n" "Language-Team: Portuguese (Brazil)\n" @@ -409,7 +409,7 @@ msgstr "Selecione um único item para renomeá-lo" #: crates/pdfs-gui/src/app/main.rs:1662 #: 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:1412 +#: crates/pdfs-gui/src/app/pages/status.rs:1425 msgid "Not connected" msgstr "Não conectado" @@ -420,7 +420,7 @@ msgstr "O serviço do Proton Drive não está em execução." #: crates/pdfs-gui/src/app/main.rs:1671 #: 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:481 +#: crates/pdfs-gui/src/main.rs:486 msgid "Connecting…" msgstr "Conectando…" @@ -1275,7 +1275,7 @@ msgstr "Não foi possível carregar os álbuns" #: crates/pdfs-gui/src/app/pages/shared.rs:999 #: crates/pdfs-gui/src/app/pages/shared.rs:1115 #: crates/pdfs-gui/src/app/pages/status.rs:761 -#: crates/pdfs-gui/src/app/pages/status.rs:1560 +#: crates/pdfs-gui/src/app/pages/status.rs:1573 #: 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:449 @@ -1543,7 +1543,7 @@ msgid "Make available offline" msgstr "Disponibilizar offline" #: crates/pdfs-gui/src/app/pages/browser.rs:347 -#: crates/pdfs-gui/src/app/pages/status.rs:1536 +#: crates/pdfs-gui/src/app/pages/status.rs:1549 msgid "Make online only" msgstr "Tornar somente online" @@ -2739,7 +2739,7 @@ msgid "Sync paused until you resume" msgstr "Sincronização pausada até você retomar" #: crates/pdfs-gui/src/app/pages/locations.rs:552 -#: crates/pdfs-gui/src/app/pages/status.rs:1365 crates/pdfs-gui/src/main.rs:263 +#: crates/pdfs-gui/src/app/pages/status.rs:1378 crates/pdfs-gui/src/main.rs:268 msgid "Sync paused" msgstr "Sincronização pausada" @@ -4810,126 +4810,134 @@ msgstr "{arrow} {name} — {done} ({speed}/s)" msgid "{arrow} {name} — {done} of {total} ({speed}/s)" msgstr "{arrow} {name} — {done} de {total} ({speed}/s)" -#: crates/pdfs-gui/src/app/pages/status.rs:1276 +#: crates/pdfs-gui/src/app/pages/status.rs:1279 #, rust-format msgid "{used} cached — no limit set" msgstr "{used} em cache — sem limite definido" -#: crates/pdfs-gui/src/app/pages/status.rs:1282 +#: crates/pdfs-gui/src/app/pages/status.rs:1285 #, rust-format msgid "{used} of {limit} used" msgstr "{used} de {limit} usados" -#: crates/pdfs-gui/src/app/pages/status.rs:1351 +#: crates/pdfs-gui/src/app/pages/status.rs:1357 msgid "Session expired" msgstr "Sessão expirada" -#: crates/pdfs-gui/src/app/pages/status.rs:1356 +#: crates/pdfs-gui/src/app/pages/status.rs:1362 #, rust-format msgid "{queued} · sign in again to sync" msgstr "{queued} · entre novamente para sincronizar" -#: crates/pdfs-gui/src/app/pages/status.rs:1359 +#: crates/pdfs-gui/src/app/pages/status.rs:1364 msgid "Sign in again to sync" msgstr "Entre novamente para sincronizar" #: crates/pdfs-gui/src/app/pages/status.rs:1370 +msgid "Sign-in not saved" +msgstr "Login não salvo" + +#: crates/pdfs-gui/src/app/pages/status.rs:1372 +msgid "Unlock your keyring, or the next reboot signs you out" +msgstr "Desbloqueie o chaveiro, ou a próxima reinicialização encerrará sua sessão" + +#: crates/pdfs-gui/src/app/pages/status.rs:1383 #, rust-format msgid "{queued} · resumes {time}" msgstr "{queued} · retoma {time}" #. Translators: {time} is when syncing resumes, such as "at 14:30" #. or "Tue 09:00". -#: crates/pdfs-gui/src/app/pages/status.rs:1375 +#: crates/pdfs-gui/src/app/pages/status.rs:1388 #, rust-format msgid "Resumes {time}" msgstr "Retoma {time}" -#: crates/pdfs-gui/src/app/pages/status.rs:1377 +#: crates/pdfs-gui/src/app/pages/status.rs:1390 msgid "Until you resume" msgstr "Até você retomar" -#: crates/pdfs-gui/src/app/pages/status.rs:1384 crates/pdfs-gui/src/main.rs:265 +#: crates/pdfs-gui/src/app/pages/status.rs:1397 crates/pdfs-gui/src/main.rs:270 #, rust-format msgid "{n} change needs attention" msgid_plural "{n} changes need attention" msgstr[0] "{n} alteração requer atenção" msgstr[1] "{n} alterações requerem atenção" -#: crates/pdfs-gui/src/app/pages/status.rs:1394 +#: crates/pdfs-gui/src/app/pages/status.rs:1407 #: crates/pdfs-gui/src/app/widgets/details.rs:108 msgctxt "state" msgid "Offline" msgstr "Offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1395 +#: crates/pdfs-gui/src/app/pages/status.rs:1408 msgid "Cached files only" msgstr "Somente arquivos em cache" -#: crates/pdfs-gui/src/app/pages/status.rs:1400 +#: crates/pdfs-gui/src/app/pages/status.rs:1413 msgctxt "state" msgid "Syncing" msgstr "Sincronizando" -#: crates/pdfs-gui/src/app/pages/status.rs:1406 +#: crates/pdfs-gui/src/app/pages/status.rs:1419 msgid "Up to date" msgstr "Atualizado" -#: crates/pdfs-gui/src/app/pages/status.rs:1413 +#: crates/pdfs-gui/src/app/pages/status.rs:1426 #: crates/pdfs-gui/src/hud/mod.rs:608 crates/pdfs-gui/src/hud/mod.rs:622 msgid "Proton Drive isn't running" msgstr "O Proton Drive não está em execução" -#: crates/pdfs-gui/src/app/pages/status.rs:1418 +#: crates/pdfs-gui/src/app/pages/status.rs:1431 msgid "Not responding" msgstr "Não está respondendo" -#: crates/pdfs-gui/src/app/pages/status.rs:1419 +#: crates/pdfs-gui/src/app/pages/status.rs:1432 msgid "Proton Drive is taking too long to answer" msgstr "O Proton Drive está demorando demais para responder" #. Translators: stands in for a time that could not be read, as in #. "Resumes later". -#: crates/pdfs-gui/src/app/pages/status.rs:1458 -#: crates/pdfs-gui/src/app/pages/status.rs:1473 +#: crates/pdfs-gui/src/app/pages/status.rs:1471 +#: crates/pdfs-gui/src/app/pages/status.rs:1486 msgid "later" msgstr "mais tarde" #. Translators: strftime format for a time later today, such as "at 14:30". -#: crates/pdfs-gui/src/app/pages/status.rs:1462 +#: crates/pdfs-gui/src/app/pages/status.rs:1475 msgid "at %H:%M" msgstr "às %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:1466 +#: crates/pdfs-gui/src/app/pages/status.rs:1479 msgid "%a %H:%M" msgstr "%a às %H:%M" #. Translators: strftime format for a date further ahead, such as "23 Sep". -#: crates/pdfs-gui/src/app/pages/status.rs:1469 +#: crates/pdfs-gui/src/app/pages/status.rs:1482 msgid "%e %b" msgstr "em %-d de %b" -#: crates/pdfs-gui/src/app/pages/status.rs:1499 +#: crates/pdfs-gui/src/app/pages/status.rs:1512 msgid "No files kept offline" msgstr "Nenhum arquivo mantido offline" -#: crates/pdfs-gui/src/app/pages/status.rs:1501 +#: crates/pdfs-gui/src/app/pages/status.rs:1514 msgid "Right-click a file and choose “Make available offline”." msgstr "" "Clique com o botão direito em um arquivo e escolha “Disponibilizar offline”." -#: crates/pdfs-gui/src/app/pages/status.rs:1552 -#: crates/pdfs-gui/src/app/pages/status.rs:1559 +#: crates/pdfs-gui/src/app/pages/status.rs:1565 +#: crates/pdfs-gui/src/app/pages/status.rs:1572 msgid "Couldn't make it online only" msgstr "Não foi possível torná-lo somente online" -#: crates/pdfs-gui/src/app/pages/status.rs:1576 +#: crates/pdfs-gui/src/app/pages/status.rs:1589 msgid "Show fewer" msgstr "Mostrar menos" -#: crates/pdfs-gui/src/app/pages/status.rs:1579 +#: crates/pdfs-gui/src/app/pages/status.rs:1592 #, rust-format msgid "Show all {n} file" msgid_plural "Show all {n} files" @@ -6012,25 +6020,29 @@ msgstr "Erro: {error}" msgid "Proton Drive sent an unexpected reply" msgstr "O Proton Drive enviou uma resposta inesperada" -#: crates/pdfs-gui/src/main.rs:262 +#: crates/pdfs-gui/src/main.rs:265 msgid "Session expired — sign in again" msgstr "Sessão expirada — entre novamente" -#: crates/pdfs-gui/src/main.rs:272 +#: crates/pdfs-gui/src/main.rs:267 +msgid "Sign-in not saved — unlock your keyring" +msgstr "Login não salvo — desbloqueie o chaveiro" + +#: crates/pdfs-gui/src/main.rs:277 #, rust-format msgid "Up to date in {mountpoint} ({n} pinned)" msgid_plural "Up to date in {mountpoint} ({n} pinned)" msgstr[0] "Atualizado em {mountpoint} ({n} fixado)" msgstr[1] "Atualizado em {mountpoint} ({n} fixados)" -#: crates/pdfs-gui/src/main.rs:279 +#: crates/pdfs-gui/src/main.rs:284 #, rust-format msgid "Syncing — {queued} ({n} pinned)" msgid_plural "Syncing — {queued} ({n} pinned)" msgstr[0] "Sincronizando — {queued} ({n} fixado)" msgstr[1] "Sincronizando — {queued} ({n} fixados)" -#: crates/pdfs-gui/src/main.rs:286 +#: crates/pdfs-gui/src/main.rs:291 #, rust-format msgid "Offline — cached files only ({n} pinned)" msgid_plural "Offline — cached files only ({n} pinned)" @@ -6038,56 +6050,56 @@ msgstr[0] "Offline — somente arquivos em cache ({n} fixado)" msgstr[1] "Offline — somente arquivos em cache ({n} fixados)" #. Translators: {queued} is a queue summary such as "3 uploads queued". -#: crates/pdfs-gui/src/main.rs:292 +#: crates/pdfs-gui/src/main.rs:297 #, 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:330 +#: crates/pdfs-gui/src/main.rs:335 #, rust-format msgid "{n} issue — View" msgid_plural "{n} issues — View" msgstr[0] "{n} problema — Ver" msgstr[1] "{n} problemas — Ver" -#: crates/pdfs-gui/src/main.rs:436 +#: crates/pdfs-gui/src/main.rs:441 msgid "Sign In…" msgstr "Entrar…" -#: crates/pdfs-gui/src/main.rs:437 +#: crates/pdfs-gui/src/main.rs:442 msgid "Sign In Again…" msgstr "Entrar novamente…" -#: crates/pdfs-gui/src/main.rs:440 +#: crates/pdfs-gui/src/main.rs:445 msgid "Open Proton Drive" msgstr "Abrir o Proton Drive" -#: crates/pdfs-gui/src/main.rs:446 +#: crates/pdfs-gui/src/main.rs:451 msgid "Open Folder" msgstr "Abrir pasta" -#: crates/pdfs-gui/src/main.rs:458 +#: crates/pdfs-gui/src/main.rs:463 msgid "Resume Sync" msgstr "Retomar sincronização" -#: crates/pdfs-gui/src/main.rs:460 +#: crates/pdfs-gui/src/main.rs:465 msgid "Pause Sync" msgstr "Pausar sincronização" -#: crates/pdfs-gui/src/main.rs:479 +#: crates/pdfs-gui/src/main.rs:484 msgid "Connect" msgstr "Conectar" -#: crates/pdfs-gui/src/main.rs:486 +#: crates/pdfs-gui/src/main.rs:491 msgid "Hide Tray Icon" msgstr "Ocultar ícone da bandeja" -#: crates/pdfs-gui/src/main.rs:490 +#: crates/pdfs-gui/src/main.rs:495 msgid "Stop Proton Drive…" msgstr "Parar o Proton Drive…" -#: crates/pdfs-gui/src/main.rs:494 +#: crates/pdfs-gui/src/main.rs:499 msgid "Quit" msgstr "Sair"