From d6c9fdf6c712b3af853536081bd6cdbf1796dd76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Romero?= Date: Thu, 5 Nov 2026 02:10:21 +0100 Subject: [PATCH] feat: open mailto links from other apps --- Cargo.toml | 4 +- crates/flectar-mail-core/src/lib.rs | 64 +++ lang/da/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- lang/de/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- lang/es/LC_MESSAGES/flectar-mail.po | 560 +++++++++++---------- lang/flectar-mail.pot | 598 ++++++++++++----------- lang/fr/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- lang/it/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- lang/ja/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- lang/nl/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- lang/ru/LC_MESSAGES/flectar-mail.po | 560 +++++++++++---------- lang/tr/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- lang/zh_Hans/LC_MESSAGES/flectar-mail.po | 558 +++++++++++---------- src/account_controller.rs | 2 + src/mail.rs | 11 + src/mailto_links.rs | 339 +++++++++++++ src/mailto_links/macos.rs | 118 +++++ src/main.rs | 36 +- src/reader_validation.rs | 95 +++- src/renderer_input_controller.rs | 22 +- src/single_instance.rs | 189 +++++-- ui/app.slint | 4 + ui/components/composer-fields.slint | 4 + 23 files changed, 4007 insertions(+), 3063 deletions(-) create mode 100644 src/mailto_links.rs create mode 100644 src/mailto_links/macos.rs diff --git a/Cargo.toml b/Cargo.toml index 2621c7bd..3befd44b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -172,8 +172,8 @@ slint = { version = "1.18.1", default-features = false, features = ["backend-win # These AppKit bindings are already in the build. [target.'cfg(target_os = "macos")'.dependencies] objc2 = { version = "0.6", default-features = false, features = ["std"] } -objc2-app-kit = { version = "0.3", default-features = false, features = ["std", "objc2-core-foundation", "NSApplication", "NSButton", "NSControl", "NSImage", "NSResponder", "NSView", "NSWindow"] } -objc2-foundation = { version = "0.3", default-features = false, features = ["std", "objc2-core-foundation", "NSAppleEventManager", "NSData", "NSError", "NSGeometry", "NSString", "NSUserDefaults"] } +objc2-app-kit = { version = "0.3", default-features = false, features = ["std", "objc2-core-foundation", "NSApplication", "NSButton", "NSControl", "NSImage", "NSResponder", "NSRunningApplication", "NSView", "NSWindow"] } +objc2-foundation = { version = "0.3", default-features = false, features = ["std", "objc2-core-foundation", "NSAppleEventManager", "NSData", "NSError", "NSGeometry", "NSNotification", "NSString", "NSUserDefaults"] } # Registers the bundled sign-in agent with Login Items (macOS 13+). objc2-service-management = { version = "0.3", default-features = false, features = ["std", "objc2", "objc2-foundation", "SMAppService"] } diff --git a/crates/flectar-mail-core/src/lib.rs b/crates/flectar-mail-core/src/lib.rs index ad8240c0..3f4de2b4 100644 --- a/crates/flectar-mail-core/src/lib.rs +++ b/crates/flectar-mail-core/src/lib.rs @@ -3341,6 +3341,25 @@ impl Core { Ok(detail) } + /// The stored message of `account_id` with this RFC Message-ID (with or + /// without angle brackets), so a mailto link's In-Reply-To can thread the + /// reply it starts. + pub async fn message_by_header_id( + &self, + account_id: i64, + message_id: &str, + ) -> Result> { + let message_id = message_id.trim().trim_matches(['<', '>']).to_owned(); + if message_id.is_empty() { + return Ok(None); + } + self.db + .read(move |conn| { + Ok(repo::messages::by_message_id(conn, account_id, &message_id)?.map(|row| row.id)) + }) + .await + } + /// Newest message of `thread_id` that can be unsubscribed from, or None /// when the thread genuinely offers no list unsubscribe. /// @@ -10375,6 +10394,51 @@ mod startup_connection_tests { } } +#[cfg(test)] +mod message_by_header_id_tests { + use super::*; + + #[tokio::test] + async fn finds_the_account_message_with_or_without_brackets() { + let temp = tempfile::tempdir().unwrap(); + let core = Core::start_mail_ui(Paths::for_tests(temp.path())) + .await + .unwrap(); + let id = core + .db + .write(|conn| { + db::testutil::seed_account(conn); + let (_, id) = db::testutil::seed_message(conn, "list@test.dev", "Topic", false); + conn.execute( + "UPDATE messages SET message_id = 'abc.123@mail.test' WHERE id = ?1", + [id], + )?; + Ok(id) + }) + .await + .unwrap(); + + for header in [ + "", + "abc.123@mail.test", + " ", + ] { + assert_eq!( + core.message_by_header_id(1, header).await.unwrap(), + Some(id) + ); + } + assert_eq!( + core.message_by_header_id(2, "") + .await + .unwrap(), + None, + "another account's message must not be found" + ); + assert_eq!(core.message_by_header_id(1, "<>").await.unwrap(), None); + } +} + #[cfg(test)] mod draft_staging_tests { use super::*; diff --git a/lang/da/LC_MESSAGES/flectar-mail.po b/lang/da/LC_MESSAGES/flectar-mail.po index bdb9f0dd..c22e0a85 100644 --- a/lang/da/LC_MESSAGES/flectar-mail.po +++ b/lang/da/LC_MESSAGES/flectar-mail.po @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "" @@ -399,11 +399,11 @@ msgstr[1] "" msgid "Last contacted {}" msgstr "" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "" @@ -736,1064 +736,1082 @@ msgid "Could not open link: {}" msgstr "" #: ui/app.slint:305 -msgid "Copied HTML source" +msgid "This email link is too long to open." msgstr "" #: ui/app.slint:306 -msgid "Copied selected text" +msgid "The email link will open when you close this message." msgstr "" #: ui/app.slint:307 -msgid "Copied email text" +msgid "The message you were writing was saved to Drafts." msgstr "" #: ui/app.slint:308 -msgid "Copied link" +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" msgstr "" #: ui/app.slint:309 -msgid "Blitz software selection render failed: {}" +msgid "Copied HTML source" msgstr "" #: ui/app.slint:310 -msgid "Blitz software tile render failed: {}" +msgid "Copied selected text" msgstr "" #: ui/app.slint:311 -msgid "Message ready." +msgid "Copied email text" msgstr "" #: ui/app.slint:312 -msgid "System tray behavior is unavailable in this package." +msgid "Copied link" msgstr "" #: ui/app.slint:313 -msgid "Close-to-tray is active for this session." +msgid "Blitz software selection render failed: {}" msgstr "" #: ui/app.slint:314 -msgid "Saving close behavior…" +msgid "Blitz software tile render failed: {}" msgstr "" #: ui/app.slint:315 -msgid "Closing the window will now keep Flectar Mail in the tray." +msgid "Message ready." msgstr "" #: ui/app.slint:316 -msgid "Closing the window will now quit Flectar Mail." +msgid "System tray behavior is unavailable in this package." msgstr "" #: ui/app.slint:317 -msgid "Could not save close behavior: {}" +msgid "Close-to-tray is active for this session." msgstr "" #: ui/app.slint:318 -msgid "Flectar Mail will start when you sign in." +msgid "Saving close behavior…" msgstr "" #: ui/app.slint:319 -msgid "Flectar Mail will no longer start when you sign in." +msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" #: ui/app.slint:320 -msgid "Could not change startup behavior: {}" +msgid "Closing the window will now quit Flectar Mail." msgstr "" #: ui/app.slint:321 -msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgid "Could not save close behavior: {}" msgstr "" #: ui/app.slint:322 +msgid "Flectar Mail will start when you sign in." +msgstr "" + +#: ui/app.slint:323 +msgid "Flectar Mail will no longer start when you sign in." +msgstr "" + +#: ui/app.slint:324 +msgid "Could not change startup behavior: {}" +msgstr "" + +#: ui/app.slint:325 +msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgstr "" + +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "" -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "" -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -2617,35 +2635,35 @@ msgstr "" msgid "Account" msgstr "" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "" diff --git a/lang/de/LC_MESSAGES/flectar-mail.po b/lang/de/LC_MESSAGES/flectar-mail.po index c9b14547..03cb6575 100644 --- a/lang/de/LC_MESSAGES/flectar-mail.po +++ b/lang/de/LC_MESSAGES/flectar-mail.po @@ -386,7 +386,7 @@ msgstr "Gesprächsverlauf verfügbar" msgid "New address-book entry" msgstr "Neuer Adressbuch-Eintrag" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "Kein verknüpftes Konto" @@ -401,11 +401,11 @@ msgstr[1] "{n} Interaktionen" msgid "Last contacted {}" msgstr "" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "Lade lokale Daten…" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "Lokale Daten bereit." @@ -738,1067 +738,1085 @@ msgid "Could not open link: {}" msgstr "" #: ui/app.slint:305 -msgid "Copied HTML source" +msgid "This email link is too long to open." msgstr "" #: ui/app.slint:306 -msgid "Copied selected text" +msgid "The email link will open when you close this message." msgstr "" #: ui/app.slint:307 -msgid "Copied email text" +msgid "The message you were writing was saved to Drafts." msgstr "" #: ui/app.slint:308 -msgid "Copied link" +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" msgstr "" #: ui/app.slint:309 -msgid "Blitz software selection render failed: {}" +msgid "Copied HTML source" msgstr "" #: ui/app.slint:310 -msgid "Blitz software tile render failed: {}" +msgid "Copied selected text" msgstr "" #: ui/app.slint:311 -msgid "Message ready." +msgid "Copied email text" msgstr "" #: ui/app.slint:312 -msgid "System tray behavior is unavailable in this package." +msgid "Copied link" msgstr "" #: ui/app.slint:313 -msgid "Close-to-tray is active for this session." +msgid "Blitz software selection render failed: {}" msgstr "" #: ui/app.slint:314 -msgid "Saving close behavior…" +msgid "Blitz software tile render failed: {}" msgstr "" #: ui/app.slint:315 -msgid "Closing the window will now keep Flectar Mail in the tray." +msgid "Message ready." msgstr "" #: ui/app.slint:316 -msgid "Closing the window will now quit Flectar Mail." +msgid "System tray behavior is unavailable in this package." msgstr "" #: ui/app.slint:317 -msgid "Could not save close behavior: {}" +msgid "Close-to-tray is active for this session." msgstr "" #: ui/app.slint:318 -msgid "Flectar Mail will start when you sign in." +msgid "Saving close behavior…" msgstr "" #: ui/app.slint:319 -msgid "Flectar Mail will no longer start when you sign in." +msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" #: ui/app.slint:320 -msgid "Could not change startup behavior: {}" +msgid "Closing the window will now quit Flectar Mail." msgstr "" #: ui/app.slint:321 -msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgid "Could not save close behavior: {}" msgstr "" #: ui/app.slint:322 +msgid "Flectar Mail will start when you sign in." +msgstr "" + +#: ui/app.slint:323 +msgid "Flectar Mail will no longer start when you sign in." +msgstr "" + +#: ui/app.slint:324 +msgid "Could not change startup behavior: {}" +msgstr "" + +#: ui/app.slint:325 +msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgstr "" + +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" "Geben Sie einen Namen, eine E-Mail-Adresse oder eine Telefonnummer ein und " "speichern Sie den Kontakt." -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "" -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Lokaler Kalender" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "Die Einstellungen für gesendete Kopien erfordern lokale E-Mail-Daten." -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "Einstellungen für gesendete Kopien werden aktualisiert…" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "Einstellungen für gesendete Kopien aktualisiert." -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "" "Einstellungen für gesendete Kopien konnten nicht aktualisiert werden: {}" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "" -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -2622,35 +2640,35 @@ msgstr "" msgid "Account" msgstr "" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "" diff --git a/lang/es/LC_MESSAGES/flectar-mail.po b/lang/es/LC_MESSAGES/flectar-mail.po index 4a572b08..290b0ddf 100644 --- a/lang/es/LC_MESSAGES/flectar-mail.po +++ b/lang/es/LC_MESSAGES/flectar-mail.po @@ -386,7 +386,7 @@ msgstr "Historial de conversaciones disponible" msgid "New address-book entry" msgstr "Nueva entrada de contactos" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "No hay ninguna cuenta conectada" @@ -401,11 +401,11 @@ msgstr[1] "{n} interacciones" msgid "Last contacted {}" msgstr "Último contacto: {}" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "Cargando datos locales…" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "Datos locales listos." @@ -748,100 +748,120 @@ msgid "Could not open link: {}" msgstr "No se pudo abrir el enlace: {}" #: ui/app.slint:305 +msgid "This email link is too long to open." +msgstr "Este enlace de correo es demasiado largo para abrirlo." + +#: ui/app.slint:306 +msgid "The email link will open when you close this message." +msgstr "El enlace de correo se abrirá cuando cierres este mensaje." + +#: ui/app.slint:307 +msgid "The message you were writing was saved to Drafts." +msgstr "El mensaje que estabas escribiendo se guardó en Borradores." + +#: ui/app.slint:308 +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" +msgstr "" +"Los enlaces nunca adjuntan archivos por ti. Adjúntalos tú si confías en " +"ellos: {}" + +#: ui/app.slint:309 msgid "Copied HTML source" msgstr "Código fuente HTML copiado" -#: ui/app.slint:306 +#: ui/app.slint:310 msgid "Copied selected text" msgstr "Texto seleccionado copiado" -#: ui/app.slint:307 +#: ui/app.slint:311 msgid "Copied email text" msgstr "Texto del correo copiado" -#: ui/app.slint:308 +#: ui/app.slint:312 msgid "Copied link" msgstr "Enlace copiado" -#: ui/app.slint:309 +#: ui/app.slint:313 msgid "Blitz software selection render failed: {}" msgstr "Falló la renderización por software de la selección en Blitz: {}" -#: ui/app.slint:310 +#: ui/app.slint:314 msgid "Blitz software tile render failed: {}" msgstr "Falló la renderización por software de los mosaicos en Blitz: {}" -#: ui/app.slint:311 +#: ui/app.slint:315 msgid "Message ready." msgstr "Mensaje listo." -#: ui/app.slint:312 +#: ui/app.slint:316 msgid "System tray behavior is unavailable in this package." msgstr "" "El comportamiento de la bandeja del sistema no está disponible en este " "paquete." -#: ui/app.slint:313 +#: ui/app.slint:317 msgid "Close-to-tray is active for this session." msgstr "Cerrar a la bandeja está activo durante esta sesión." -#: ui/app.slint:314 +#: ui/app.slint:318 msgid "Saving close behavior…" msgstr "Guardando el comportamiento de cierre…" -#: ui/app.slint:315 +#: ui/app.slint:319 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "Al cerrar la ventana, Flectar Mail permanecerá en la bandeja." -#: ui/app.slint:316 +#: ui/app.slint:320 msgid "Closing the window will now quit Flectar Mail." msgstr "Al cerrar la ventana, Flectar Mail se cerrará por completo." -#: ui/app.slint:317 +#: ui/app.slint:321 msgid "Could not save close behavior: {}" msgstr "No se pudo guardar el comportamiento de cierre: {}" -#: ui/app.slint:318 +#: ui/app.slint:322 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail se iniciará al iniciar sesión." -#: ui/app.slint:319 +#: ui/app.slint:323 msgid "Flectar Mail will no longer start when you sign in." msgstr "Flectar Mail ya no se iniciará al iniciar sesión." -#: ui/app.slint:320 +#: ui/app.slint:324 msgid "Could not change startup behavior: {}" msgstr "No se pudo cambiar el comportamiento de inicio: {}" -#: ui/app.slint:321 +#: ui/app.slint:325 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" "Para terminar, permite Flectar Mail en Ítems de inicio de Ajustes del " "Sistema." -#: ui/app.slint:322 +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" "Para terminar, activa Flectar Mail en Aplicaciones de inicio de " "Configuración de Windows." -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "Instantánea de la base de datos exportada a {}." -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "Elige dónde exportar el correo" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "Exportando el correo…" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "Correo exportado a {}." -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." @@ -849,398 +869,398 @@ msgstr "" "Correo exportado a {}. Algunos mensajes no se encontraron ni en este " "dispositivo ni en el servidor de correo." -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "No se pudo exportar el correo: {}" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "No se pudo exportar la instantánea de la base de datos: {}" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "Orden de las cuentas guardado." -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "No se pudo guardar el orden de las cuentas: {}" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" "Historial de correo actualizado. La sincronización en segundo plano se está " "ajustando." -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "Cuenta eliminada de este dispositivo." -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "Cuenta eliminada. Se volverá a intentar actualizar el correo." -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "Cuenta eliminada; hay que volver a intentar la limpieza local: {}" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "No se pudo eliminar la cuenta: {}" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "Eliminando cuenta…" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "Eliminando el correo de este dispositivo…" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "Se eliminó el correo de este dispositivo." -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" "Se eliminó el correo de este dispositivo. Se volverá a intentar actualizar " "el correo." -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" "Se eliminó el correo de este dispositivo; hay que volver a intentar la " "limpieza local: {}" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "No se pudo eliminar el correo de este dispositivo: {}" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "Sincronizando cuenta…" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "No se pudo actualizar el historial de correo: {}" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "Se conectó {}. La sincronización inicial se ejecuta en segundo plano." -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "Falló la configuración de la cuenta: {}" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "Falló OAuth: {}" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "Se volvió a conectar {}. La sincronización se está reanudando." -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "Falló la reconexión: {}" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "Calendario conectado y sincronización inicial iniciada." -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "No se pudo conectar el calendario: {}" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "Sincronización del calendario activada." -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "Sincronización del calendario en pausa." -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "No se pudo actualizar la sincronización del calendario: {}" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "CalDAV conectado y sincronización inicial iniciada." -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "No se pudo conectar CalDAV: {}" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "Calendario eliminado." -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "No se pudo eliminar el calendario: {}" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "CardDAV conectado y sincronización inicial iniciada." -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "No se pudo conectar CardDAV: {}" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "Sincronización de CardDAV activada." -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "Sincronización de CardDAV en pausa." -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "No se pudo actualizar la sincronización de CardDAV: {}" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "CardDAV desconectado." -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "No se pudo desconectar CardDAV: {}" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "Conecta una cuenta antes de crear una copia de seguridad." -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "Exportar copia de seguridad de cuentas de Flectar Mail" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "Copia de seguridad de Flectar Mail" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "Importar cuentas y correo" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "Elige un perfil de Thunderbird o una carpeta de correo" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "Mensajes importados" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "Elige dónde exportar la instantánea de la base de datos" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" "Copia de seguridad exportada. No se incluyeron contraseñas ni tokens de " "OAuth." -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "No se pudo exportar la copia de seguridad: {}" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "" "El almacenamiento de datos locales no está disponible. Vuelve a intentar el " "inicio." -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "Creando una instantánea verificada de la base de datos…" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "Se eliminaron todos los datos locales de Flectar Mail." -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "No se pudieron eliminar todos los datos locales: {}" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "Eliminando las cuentas locales y los datos en caché…" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "Falló la actualización del correo en segundo plano: {}" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "No hay conversaciones en esta carpeta" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "Ninguna conversación coincide con esta búsqueda" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" "El núcleo de correo está listo para sincronizar cuentas y realizar acciones " "con mensajes." -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "Mensaje grande renderizado en modo de compatibilidad." -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "Falló la renderización por software del correo: {}" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "Renderizado por software tras un error de la GPU: {}" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Falló la renderización de Blitz (GPU: {}; software: {})" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" "Introduce un nombre, una dirección de correo o un número de teléfono y " "guarda el contacto." -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "No se pudo guardar: el almacenamiento de contactos no está disponible." -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "No se pudo guardar el contacto: {}" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "Contacto guardado." -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "Guardado en contactos." -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "" "No se pudo eliminar: el almacenamiento de contactos no está disponible." -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "No se pudo eliminar el contacto: {}" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "Contacto eliminado." -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "No se pudieron cargar los contactos: {}" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "El almacenamiento local de contactos aún se está iniciando…" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "Cargando contactos…" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Calendario local" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "Calendario" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "No se pudo cargar el calendario: {}" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "Calendario visible y sincronizándose." -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "Calendario oculto y sincronización en pausa." -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "Falló la actualización del calendario: {}" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "Solo se pueden editar los eventos creados en Flectar Mail." -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "Solo se pueden eliminar los eventos creados en Flectar Mail." -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "El almacenamiento del calendario no está disponible." -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "No se pudo eliminar el evento: {}" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "El evento se eliminó, pero falló la actualización: {}" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "Evento eliminado." -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "Usa AAAA-MM-DD para la fecha y una hora como {}." -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "La duración del evento debe ser un número de minutos." -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "Añade un título y elige una duración de entre 15 y 1440 minutos." -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "Esa hora local no existe en la zona horaria actual." -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "No se pudo guardar el evento: {}" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "El evento se guardó, pero falló la actualización: {}" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" "Evento guardado. La sincronización del proveedor se ejecutará cuando esté " "activada." -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "Falló la renderización de un recurso del correo: {}" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "Falló la actualización del mensaje: {}" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "Falló la carga del mensaje: {}" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." @@ -1248,315 +1268,315 @@ msgstr "" "No se pudo abrir tu buzón local. No se inició ninguna operación de cuenta. " "Vuelve a intentarlo o copia el diagnóstico para solicitar asistencia." -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "Falló el inicio del almacenamiento local." -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "No se pudo identificar la cuenta arrastrada." -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "Para ordenar las cuentas se necesitan los datos de correo locales." -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "No se encontró la cuenta que se iba a reordenar." -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "Guardando el orden de las cuentas…" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "La configuración de copias enviadas requiere datos de correo locales." -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "Actualizando la configuración de copias enviadas…" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "Configuración de copias enviadas actualizada." -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "No se pudo actualizar la configuración de copias enviadas: {}" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" "La configuración del correo en el servidor requiere datos de correo locales." -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "Actualizando la configuración del correo en el servidor…" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "Configuración del correo en el servidor actualizada." -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "No se pudo actualizar la configuración del correo en el servidor: {}" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "El historial de correo necesita los datos de correo locales." -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "Actualizando el historial de correo…" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "Las imágenes remotas no están disponibles en esta compilación mínima." -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "No se pudo guardar el ajuste de imágenes remotas: {}" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "Los iconos remotos de los remitentes no están disponibles: {}" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "Las imágenes remotas no están disponibles: {}" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "Imágenes remotas del cuerpo e iconos de remitentes activados." -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "Imágenes remotas bloqueadas." -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "No se pudieron actualizar las imágenes del mensaje: {}" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "La carga de imágenes remotas está desactivada." -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "No se pudieron cargar las imágenes del mensaje: {}" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "La sincronización terminó, pero falló la actualización: {}" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "Sincronización completada." -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "Falló la sincronización: {}" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" "Los datos de correo locales no están disponibles; los datos de vista previa " "son de solo lectura." -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "Sincronizando cuentas…" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "Acción del mensaje completada." -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" "Eliminación permanente en cola. Los mensajes desaparecerán cuando el " "servidor la confirme." -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "Falló la acción del mensaje: {}" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "Falló la acción del mensaje: el mensaje ya no está disponible" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "Etiqueta agregada." -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "Etiqueta eliminada." -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "Etiqueta creada y agregada." -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "Etiqueta creada." -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "Etiqueta actualizada." -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "Etiqueta eliminada." -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "No se pudo actualizar la etiqueta: {}" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "No se pudo guardar la etiqueta: {}" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "No se pudo eliminar la etiqueta: {}" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "Carpeta creada." -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "Carpeta renombrada." -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "Carpeta eliminada." -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "No se pudo crear la carpeta: {}" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "No se pudo renombrar la carpeta: {}" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "No se pudo eliminar la carpeta: {}" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "No se pudo cerrar la vista previa: {}" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "Se abrió la vista de impresión del sistema." -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "No se pudo imprimir el mensaje: {}" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "Se abrió el mensaje en el navegador." -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "No se pudo abrir el mensaje en el navegador: {}" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "Conecta una cuenta antes de responder o reenviar." -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "Elige primero un mensaje." -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "Solo se pueden volver a abrir borradores para editarlos." -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "No se pudo abrir el borrador: {}" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "" "No se pudo abrir el borrador: el identificador de la cuenta no es válido" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "Cuenta conectada" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "No se pudo abrir el editor: {}" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "Añade una cuenta para enviar correo." -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "En este dispositivo" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "No se pudo abrir el editor: el identificador de la cuenta no es válido" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "El {}, {} escribió:" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "{} escribió:" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "Mensaje reenviado" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "De: {}" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Fecha: {}" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Asunto: {}" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "Para: {}" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "Adjuntar archivos a este correo" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "No se pudieron añadir los archivos adjuntos: {}" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "Se añadió 1 archivo adjunto." -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "Se añadieron {} archivos adjuntos." -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." @@ -1564,125 +1584,125 @@ msgstr "" "Archivos adjuntos añadidos: {}. Omitidos: {} (duplicados, ilegibles o por " "superar el límite total de 25 MB)." -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "Archivo adjunto eliminado." -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "Elige la cuenta desde la que se debe enviar este mensaje." -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "Elige una identidad de remitente verificada para este mensaje." -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "Conecta una cuenta antes de guardar o enviar correo." -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "Mensaje en cola para su entrega (acción {})." -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "Enviando mensaje…" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "Mensaje enviado." -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "El mensaje no se envió: {} El borrador se ha conservado." -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "Borrador guardado localmente (#{})." -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "Falló la redacción: {}" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "Conecta una cuenta antes de gestionar plantillas de correo." -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "No se pudieron cargar las plantillas de correo: {}" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "Escribe un nombre para la plantilla." -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "Añade un asunto o mensaje a la plantilla." -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "Plantilla de correo guardada." -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "No se pudo guardar la plantilla de correo: {}" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "Plantilla de correo eliminada." -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "No se pudo eliminar la plantilla de correo: {}" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "La plantilla de correo ya no está disponible." -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "Plantilla de correo insertada." -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "Plantilla de correo insertada, pero no se pudo guardar su uso: {}" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "Elige un tipo de cuenta y una seguridad de la conexión compatibles." -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "El puerto IMAP debe estar entre 1 y 65535." -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "El puerto POP3 debe estar entre 1 y 65535." -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "El puerto SMTP debe estar entre 1 y 65535." -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "" "Los datos de correo locales no están disponibles. Vuelve a intentar el " "inicio." -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "Detectando JMAP y comprobando sus capacidades…" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "Certificado importado. Conecta para verificar el servidor." -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "No se pudieron cargar las preferencias de la cuenta: {}" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1690,19 +1710,19 @@ msgstr "" "Se conservó la firma que editaste. Elige Sin firma para mantenerla como " "texto del mensaje antes de insertar otra." -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "Error al importar el certificado: {}" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "Comprobando las conexiones IMAP y SMTP…" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "Comprobando las conexiones POP3 y SMTP…" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." @@ -1710,150 +1730,150 @@ msgstr "" "Ya hay otra autorización del navegador en curso; termínala o selecciona " "Cancelar." -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" "Añade claves de aplicación en los ajustes de inicio de sesión para habilitar " "este proveedor." -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "Elige OAuth de Gmail o Outlook." -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" "Completa el inicio de sesión en el navegador o selecciona Cancelar aquí." -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "Cancelando el inicio de sesión en el navegador…" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "Finalizando el inicio de sesión en el navegador…" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "No se pudo usar esa dirección del navegador: {}" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "El núcleo del calendario no está disponible." -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "La cuenta ya no existe." -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "Autoriza el acceso al calendario en el navegador." -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "Claves de la aplicación OAuth guardadas." -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "Ajustes de OAuth de {} guardados." -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "Fallaron los ajustes de OAuth: {}" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "Falló la actualización del correo: {}" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "Falló el filtro de correo: {}" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "Falló la paginación del correo: {}" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "No se pudo marcar el mensaje como leído: {}" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "Cargando mensaje…" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "Etiquetas globales (solo locales)" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "¿Vaciar la papelera?" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "¿Eliminar permanentemente?" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" "¿Eliminar permanentemente todos los mensajes de la papelera de todas las " "cuentas conectadas?" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" "¿Eliminar permanentemente todos los mensajes de la papelera de esta cuenta?" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" "¿Eliminar permanentemente las conversaciones seleccionadas de la papelera?" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "¿Eliminar permanentemente esta conversación de la papelera?" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "Esta acción no se puede deshacer." -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "Vaciar la papelera" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "Eliminar permanentemente" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "Error al iniciar el buzón" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail no pudo abrir el almacenamiento local" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "ID de diagnóstico: {}" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "ID de diagnóstico {}" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "Reintentar" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "Copiar datos de diagnóstico" @@ -2725,35 +2745,35 @@ msgstr "Nuevo mensaje" msgid "Account" msgstr "Cuenta" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "Para" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "nombre@ejemplo.com · separa con comas" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "Cc" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "Copia" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "Cco" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "Copia oculta" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "Asunto" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "¿De qué trata este correo?" diff --git a/lang/flectar-mail.pot b/lang/flectar-mail.pot index c22bdc62..7bae38f6 100644 --- a/lang/flectar-mail.pot +++ b/lang/flectar-mail.pot @@ -384,8 +384,8 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 ui/dialogs/compose-dialog.slint:37 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "" @@ -399,11 +399,11 @@ msgstr[1] "" msgid "Last contacted {}" msgstr "" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "" @@ -736,1075 +736,1093 @@ msgid "Could not open link: {}" msgstr "" #: ui/app.slint:305 -msgid "Copied HTML source" +msgid "This email link is too long to open." msgstr "" #: ui/app.slint:306 -msgid "Copied selected text" +msgid "The email link will open when you close this message." msgstr "" #: ui/app.slint:307 -msgid "Copied email text" +msgid "The message you were writing was saved to Drafts." msgstr "" #: ui/app.slint:308 -msgid "Copied link" +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" msgstr "" #: ui/app.slint:309 -msgid "Blitz software selection render failed: {}" +msgid "Copied HTML source" msgstr "" #: ui/app.slint:310 -msgid "Blitz software tile render failed: {}" +msgid "Copied selected text" msgstr "" #: ui/app.slint:311 -msgid "Message ready." +msgid "Copied email text" msgstr "" #: ui/app.slint:312 -msgid "System tray behavior is unavailable in this package." +msgid "Copied link" msgstr "" #: ui/app.slint:313 -msgid "Close-to-tray is active for this session." +msgid "Blitz software selection render failed: {}" msgstr "" #: ui/app.slint:314 -msgid "Saving close behavior…" +msgid "Blitz software tile render failed: {}" msgstr "" #: ui/app.slint:315 -msgid "Closing the window will now keep Flectar Mail in the tray." +msgid "Message ready." msgstr "" #: ui/app.slint:316 -msgid "Closing the window will now quit Flectar Mail." +msgid "System tray behavior is unavailable in this package." msgstr "" #: ui/app.slint:317 -msgid "Could not save close behavior: {}" +msgid "Close-to-tray is active for this session." msgstr "" #: ui/app.slint:318 -msgid "Flectar Mail will start when you sign in." +msgid "Saving close behavior…" msgstr "" #: ui/app.slint:319 -msgid "Flectar Mail will no longer start when you sign in." +msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" #: ui/app.slint:320 -msgid "Could not change startup behavior: {}" +msgid "Closing the window will now quit Flectar Mail." msgstr "" #: ui/app.slint:321 -msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgid "Could not save close behavior: {}" msgstr "" #: ui/app.slint:322 +msgid "Flectar Mail will start when you sign in." +msgstr "" + +#: ui/app.slint:323 +msgid "Flectar Mail will no longer start when you sign in." +msgstr "" + +#: ui/app.slint:324 +msgid "Could not change startup behavior: {}" +msgstr "" + +#: ui/app.slint:325 +msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgstr "" + +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 ui/views/onboarding-view.slint:223 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "" -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:420 ui/components/calendar.slint:273 -#: ui/app.slint:420 ui/components/calendar.slint:273 ui/components/calendar.slint:321 -#: ui/app.slint:420 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:420 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:420 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:420 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 -#: ui/app.slint:420 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:424 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 ui/components/calendar.slint:321 +#: ui/app.slint:424 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:424 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:424 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:424 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 +#: ui/app.slint:424 ui/components/calendar.slint:273 ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "" -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 ui/views/mail-reading-pane.slint:1279 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2231 ui/components/calendar.slint:947 -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2232 ui/views/files-view.slint:660 -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -2675,37 +2693,37 @@ msgstr "" msgid "Account" msgstr "" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "" -#: ui/components/composer-fields.slint:359 -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "" -#: ui/components/composer-fields.slint:370 -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "" diff --git a/lang/fr/LC_MESSAGES/flectar-mail.po b/lang/fr/LC_MESSAGES/flectar-mail.po index f76b5c08..6bc92491 100644 --- a/lang/fr/LC_MESSAGES/flectar-mail.po +++ b/lang/fr/LC_MESSAGES/flectar-mail.po @@ -391,7 +391,7 @@ msgstr "Historique de conversation disponible" msgid "New address-book entry" msgstr "Nouvelle entrée dans le carnet d’adresses" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "Aucun compte connecté" @@ -406,11 +406,11 @@ msgstr[1] "{n} intéractions" msgid "Last contacted {}" msgstr "Dernier contact : {}" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "Chargement des données locales…" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "Données locales prêtes." @@ -795,579 +795,597 @@ msgid "Could not open link: {}" msgstr "Impossible d’ouvrir le lien : {}" #: ui/app.slint:305 +msgid "This email link is too long to open." +msgstr "" + +#: ui/app.slint:306 +msgid "The email link will open when you close this message." +msgstr "" + +#: ui/app.slint:307 +msgid "The message you were writing was saved to Drafts." +msgstr "" + +#: ui/app.slint:308 +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" +msgstr "" + +#: ui/app.slint:309 #, fuzzy msgid "Copied HTML source" msgstr "Source HTML copiée" -#: ui/app.slint:306 +#: ui/app.slint:310 #, fuzzy msgid "Copied selected text" msgstr "Texte sélectionné copié" -#: ui/app.slint:307 +#: ui/app.slint:311 #, fuzzy msgid "Copied email text" msgstr "Texte du message copié" -#: ui/app.slint:308 +#: ui/app.slint:312 #, fuzzy msgid "Copied link" msgstr "Lien copié" -#: ui/app.slint:309 +#: ui/app.slint:313 #, fuzzy msgid "Blitz software selection render failed: {}" msgstr "Échec du rendu de la sélection logicielle Blitz : {}" -#: ui/app.slint:310 +#: ui/app.slint:314 #, fuzzy msgid "Blitz software tile render failed: {}" msgstr "Échec du rendu de la tuile logicielle Blitz : {}" -#: ui/app.slint:311 +#: ui/app.slint:315 msgid "Message ready." msgstr "Message prêt." -#: ui/app.slint:312 +#: ui/app.slint:316 #, fuzzy msgid "System tray behavior is unavailable in this package." msgstr "" "L’icône dans la zone de notification n’est pas disponible dans cette version." -#: ui/app.slint:313 +#: ui/app.slint:317 #, fuzzy msgid "Close-to-tray is active for this session." msgstr "La fermeture vers la zone de notification s’applique à cette session." -#: ui/app.slint:314 +#: ui/app.slint:318 #, fuzzy msgid "Saving close behavior…" msgstr "Enregistrement du comportement à la fermeture…" -#: ui/app.slint:315 +#: ui/app.slint:319 #, fuzzy msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" "Fermer la fenêtre conservera désormais Flectar Mail dans la zone de " "notification." -#: ui/app.slint:316 +#: ui/app.slint:320 #, fuzzy msgid "Closing the window will now quit Flectar Mail." msgstr "Fermer la fenêtre quittera désormais Flectar Mail." -#: ui/app.slint:317 +#: ui/app.slint:321 #, fuzzy msgid "Could not save close behavior: {}" msgstr "Impossible d’enregistrer le comportement à la fermeture : {}" -#: ui/app.slint:318 +#: ui/app.slint:322 msgid "Flectar Mail will start when you sign in." msgstr "" -#: ui/app.slint:319 +#: ui/app.slint:323 msgid "Flectar Mail will no longer start when you sign in." msgstr "" -#: ui/app.slint:320 +#: ui/app.slint:324 msgid "Could not change startup behavior: {}" msgstr "" -#: ui/app.slint:321 +#: ui/app.slint:325 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" -#: ui/app.slint:322 +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 #, fuzzy msgid "Database snapshot exported to {}." msgstr "Instantané de la base de données exporté vers {}." -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 #, fuzzy msgid "Could not export database snapshot: {}" msgstr "Impossible d’exporter l’instantané de la base de données : {}" -#: ui/app.slint:334 +#: ui/app.slint:338 #, fuzzy msgid "Account order saved." msgstr "Ordre des comptes enregistré." -#: ui/app.slint:335 +#: ui/app.slint:339 #, fuzzy msgid "Could not save account order: {}" msgstr "Impossible d’enregistrer l’ordre des comptes : {}" -#: ui/app.slint:336 +#: ui/app.slint:340 #, fuzzy msgid "Mail history updated. Background sync is adjusting now." msgstr "" "Historique des messages mis à jour. La synchronisation en arrière-plan " "s’adapte." -#: ui/app.slint:337 +#: ui/app.slint:341 #, fuzzy msgid "Account removed from this device." msgstr "Compte supprimé de cet appareil." -#: ui/app.slint:338 +#: ui/app.slint:342 #, fuzzy msgid "Account removed. Mail refresh will retry." msgstr "Compte supprimé. Une nouvelle actualisation des messages sera tentée." -#: ui/app.slint:339 +#: ui/app.slint:343 #, fuzzy msgid "Account removed; local cleanup needs a retry: {}" msgstr "Compte supprimé ; le nettoyage local doit être réessayé : {}" -#: ui/app.slint:340 +#: ui/app.slint:344 #, fuzzy msgid "Could not remove account: {}" msgstr "Impossible de supprimer le compte : {}" -#: ui/app.slint:341 +#: ui/app.slint:345 #, fuzzy msgid "Removing account…" msgstr "Suppression du compte…" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 #, fuzzy msgid "Synchronizing account…" msgstr "Synchronisation du compte…" -#: ui/app.slint:348 +#: ui/app.slint:352 #, fuzzy msgid "Could not update mail history: {}" msgstr "Impossible de mettre à jour l’historique des messages : {}" -#: ui/app.slint:349 +#: ui/app.slint:353 #, fuzzy msgid "Connected {}. Initial sync is running in the background." msgstr "{} connecté. Synchronisation initiale en cours en arrière-plan." -#: ui/app.slint:350 +#: ui/app.slint:354 #, fuzzy msgid "Account setup failed: {}" msgstr "Échec de la configuration du compte : {}" -#: ui/app.slint:351 +#: ui/app.slint:355 #, fuzzy msgid "OAuth failed: {}" msgstr "Échec d’OAuth : {}" -#: ui/app.slint:352 +#: ui/app.slint:356 #, fuzzy msgid "Reconnected {}. Synchronization is resuming." msgstr "{} reconnecté. Reprise de la synchronisation." -#: ui/app.slint:353 +#: ui/app.slint:357 #, fuzzy msgid "Reconnection failed: {}" msgstr "Échec de la reconnexion : {}" -#: ui/app.slint:354 +#: ui/app.slint:358 #, fuzzy msgid "Calendar connected and initial sync started." msgstr "Calendrier connecté et synchronisation initiale démarrée." -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 #, fuzzy msgid "Could not connect calendar: {}" msgstr "Impossible de connecter le calendrier : {}" -#: ui/app.slint:356 +#: ui/app.slint:360 #, fuzzy msgid "Calendar sync enabled." msgstr "Synchronisation du calendrier activée." -#: ui/app.slint:357 +#: ui/app.slint:361 #, fuzzy msgid "Calendar sync paused." msgstr "Synchronisation du calendrier suspendue." -#: ui/app.slint:358 +#: ui/app.slint:362 #, fuzzy msgid "Could not update calendar sync: {}" msgstr "Impossible de modifier la synchronisation du calendrier : {}" -#: ui/app.slint:359 +#: ui/app.slint:363 #, fuzzy msgid "CalDAV connected and initial sync started." msgstr "CalDAV connecté et synchronisation initiale démarrée." -#: ui/app.slint:360 +#: ui/app.slint:364 #, fuzzy msgid "Could not connect CalDAV: {}" msgstr "Impossible de connecter CalDAV : {}" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 #, fuzzy msgid "CardDAV connected and initial sync started." msgstr "CardDAV connecté et synchronisation initiale démarrée." -#: ui/app.slint:364 +#: ui/app.slint:368 #, fuzzy msgid "Could not connect CardDAV: {}" msgstr "Impossible de connecter CardDAV : {}" -#: ui/app.slint:365 +#: ui/app.slint:369 #, fuzzy msgid "CardDAV sync enabled." msgstr "Synchronisation CardDAV activée." -#: ui/app.slint:366 +#: ui/app.slint:370 #, fuzzy msgid "CardDAV sync paused." msgstr "Synchronisation CardDAV suspendue." -#: ui/app.slint:367 +#: ui/app.slint:371 #, fuzzy msgid "Could not update CardDAV sync: {}" msgstr "Impossible de modifier la synchronisation CardDAV : {}" -#: ui/app.slint:368 +#: ui/app.slint:372 #, fuzzy msgid "CardDAV disconnected." msgstr "CardDAV déconnecté." -#: ui/app.slint:369 +#: ui/app.slint:373 #, fuzzy msgid "Could not disconnect CardDAV: {}" msgstr "Impossible de déconnecter CardDAV : {}" -#: ui/app.slint:374 +#: ui/app.slint:378 #, fuzzy msgid "Connect an account before creating a backup." msgstr "Connectez un compte avant de créer une sauvegarde." -#: ui/app.slint:375 +#: ui/app.slint:379 #, fuzzy msgid "Export Flectar Mail account backup" msgstr "Exporter une sauvegarde des comptes Flectar Mail" -#: ui/app.slint:376 +#: ui/app.slint:380 #, fuzzy msgid "Flectar Mail backup" msgstr "Sauvegarde Flectar Mail" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 #, fuzzy msgid "Choose where to export the database snapshot" msgstr "Choisissez où exporter l’instantané de la base de données" -#: ui/app.slint:381 +#: ui/app.slint:385 #, fuzzy msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" "Sauvegarde exportée. Les mots de passe et jetons OAuth n’ont pas été inclus." -#: ui/app.slint:382 +#: ui/app.slint:386 #, fuzzy msgid "Could not export backup: {}" msgstr "Impossible d’exporter la sauvegarde : {}" -#: ui/app.slint:383 +#: ui/app.slint:387 #, fuzzy msgid "Local data storage is unavailable. Retry startup." msgstr "Stockage local indisponible. Relancez l’application." -#: ui/app.slint:384 +#: ui/app.slint:388 #, fuzzy msgid "Creating verified database snapshot…" msgstr "Création d’un instantané vérifié de la base de données…" -#: ui/app.slint:385 +#: ui/app.slint:389 #, fuzzy msgid "All local Flectar Mail data was deleted." msgstr "Toutes les données locales de Flectar Mail ont été supprimées." -#: ui/app.slint:386 +#: ui/app.slint:390 #, fuzzy msgid "Could not delete all local data: {}" msgstr "Impossible de supprimer toutes les données locales : {}" -#: ui/app.slint:387 +#: ui/app.slint:391 #, fuzzy msgid "Deleting local accounts and cached data…" msgstr "Suppression des comptes locaux et des données en cache…" -#: ui/app.slint:392 +#: ui/app.slint:396 #, fuzzy msgid "Background mail refresh failed: {}" msgstr "Échec de l’actualisation des messages en arrière-plan : {}" -#: ui/app.slint:393 +#: ui/app.slint:397 #, fuzzy msgid "No conversations in this folder" msgstr "Aucune conversation dans ce dossier" -#: ui/app.slint:394 +#: ui/app.slint:398 #, fuzzy msgid "No conversations match this search" msgstr "Aucune conversation ne correspond à cette recherche" -#: ui/app.slint:395 +#: ui/app.slint:399 #, fuzzy msgid "Mail core is ready for account synchronization and message actions." msgstr "" "Le moteur de messagerie est prêt pour la synchronisation des comptes et les " "actions sur les messages." -#: ui/app.slint:396 +#: ui/app.slint:400 #, fuzzy msgid "Large message rendered in compatibility mode." msgstr "Message volumineux affiché en mode de compatibilité." -#: ui/app.slint:397 +#: ui/app.slint:401 #, fuzzy msgid "Software email render failed: {}" msgstr "Échec du rendu logiciel du message : {}" -#: ui/app.slint:398 +#: ui/app.slint:402 #, fuzzy msgid "Rendered with software fallback after GPU error: {}" msgstr "Rendu effectué avec le logiciel de secours après une erreur GPU : {}" -#: ui/app.slint:399 +#: ui/app.slint:403 #, fuzzy msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Échec du rendu Blitz (GPU : {} ; logiciel : {})" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" "Saisissez un nom, une adresse e-mail ou un numéro de téléphone, puis " "enregistrez le contact." -#: ui/app.slint:405 +#: ui/app.slint:409 #, fuzzy msgid "Could not save: contact storage is unavailable." msgstr "Enregistrement impossible : le stockage des contacts est indisponible." -#: ui/app.slint:406 +#: ui/app.slint:410 #, fuzzy msgid "Could not save contact: {}" msgstr "Impossible d’enregistrer le contact : {}" -#: ui/app.slint:407 +#: ui/app.slint:411 #, fuzzy msgid "Contact saved." msgstr "Contact enregistré." -#: ui/app.slint:408 +#: ui/app.slint:412 #, fuzzy msgid "Saved to contacts." msgstr "Ajouté aux contacts." -#: ui/app.slint:409 +#: ui/app.slint:413 #, fuzzy msgid "Could not delete: contact storage is unavailable." msgstr "Suppression impossible : le stockage des contacts est indisponible." -#: ui/app.slint:410 +#: ui/app.slint:414 #, fuzzy msgid "Could not delete contact: {}" msgstr "Impossible de supprimer le contact : {}" -#: ui/app.slint:411 +#: ui/app.slint:415 #, fuzzy msgid "Contact deleted." msgstr "Contact supprimé." -#: ui/app.slint:412 +#: ui/app.slint:416 #, fuzzy msgid "Could not load contacts: {}" msgstr "Impossible de charger les contacts : {}" -#: ui/app.slint:413 +#: ui/app.slint:417 #, fuzzy msgid "Local contact storage is still starting…" msgstr "Initialisation du stockage local des contacts…" -#: ui/app.slint:414 +#: ui/app.slint:418 #, fuzzy msgid "Loading contacts…" msgstr "Chargement des contacts…" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 #, fuzzy msgid "Local calendar" msgstr "Calendrier local" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 #, fuzzy msgid "Calendar" msgstr "Calendrier" -#: ui/app.slint:421 +#: ui/app.slint:425 #, fuzzy msgid "Could not load calendar: {}" msgstr "Impossible de charger le calendrier : {}" -#: ui/app.slint:422 +#: ui/app.slint:426 #, fuzzy msgid "Calendar shown and syncing." msgstr "Calendrier affiché et en cours de synchronisation." -#: ui/app.slint:423 +#: ui/app.slint:427 #, fuzzy msgid "Calendar hidden and sync paused." msgstr "Calendrier masqué et synchronisation suspendue." -#: ui/app.slint:424 +#: ui/app.slint:428 #, fuzzy msgid "Calendar update failed: {}" msgstr "Échec de la mise à jour du calendrier : {}" -#: ui/app.slint:425 +#: ui/app.slint:429 #, fuzzy msgid "Only events created in Flectar Mail can be edited." msgstr "Seuls les événements créés dans Flectar Mail peuvent être modifiés." -#: ui/app.slint:426 +#: ui/app.slint:430 #, fuzzy msgid "Only events created in Flectar Mail can be deleted." msgstr "Seuls les événements créés dans Flectar Mail peuvent être supprimés." -#: ui/app.slint:427 +#: ui/app.slint:431 #, fuzzy msgid "Calendar storage is unavailable." msgstr "Le stockage du calendrier est indisponible." -#: ui/app.slint:428 +#: ui/app.slint:432 #, fuzzy msgid "Could not delete event: {}" msgstr "Impossible de supprimer l’événement : {}" -#: ui/app.slint:429 +#: ui/app.slint:433 #, fuzzy msgid "Event deleted, but refresh failed: {}" msgstr "Événement supprimé, mais échec de l’actualisation : {}" -#: ui/app.slint:430 +#: ui/app.slint:434 #, fuzzy msgid "Event deleted." msgstr "Événement supprimé." -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "Utilisez AAAA-MM-JJ pour la date et une heure comme {}." -#: ui/app.slint:432 +#: ui/app.slint:436 #, fuzzy msgid "Event duration must be a number of minutes." msgstr "La durée de l’événement doit être indiquée en minutes." -#: ui/app.slint:433 +#: ui/app.slint:437 #, fuzzy msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "Ajoutez un titre et choisissez une durée de 15 à 1 440 minutes." -#: ui/app.slint:434 +#: ui/app.slint:438 #, fuzzy msgid "That local time does not exist in the current time zone." msgstr "Cette heure locale n’existe pas dans le fuseau horaire actuel." -#: ui/app.slint:435 +#: ui/app.slint:439 #, fuzzy msgid "Could not save event: {}" msgstr "Impossible d’enregistrer l’événement : {}" -#: ui/app.slint:436 +#: ui/app.slint:440 #, fuzzy msgid "Event saved, but refresh failed: {}" msgstr "Événement enregistré, mais échec de l’actualisation : {}" -#: ui/app.slint:437 +#: ui/app.slint:441 #, fuzzy msgid "Event saved. Provider sync will run when enabled." msgstr "" "Événement enregistré. La synchronisation avec le fournisseur démarrera si " "elle est activée." -#: ui/app.slint:442 +#: ui/app.slint:446 #, fuzzy msgid "Email resource render failed: {}" msgstr "Échec du rendu d’une ressource du message : {}" -#: ui/app.slint:443 +#: ui/app.slint:447 #, fuzzy msgid "Message refresh failed: {}" msgstr "Échec de l’actualisation du message : {}" -#: ui/app.slint:444 +#: ui/app.slint:448 #, fuzzy msgid "Message load failed: {}" msgstr "Échec du chargement du message : {}" -#: ui/app.slint:445 +#: ui/app.slint:449 #, fuzzy msgid "" "Your local mailbox could not be opened. No account operation was started. " @@ -1376,155 +1394,155 @@ msgstr "" "Impossible d’ouvrir votre boîte aux lettres locale. Aucune opération sur les " "comptes n’a été lancée. Réessayez ou copiez le diagnostic pour l’assistance." -#: ui/app.slint:446 +#: ui/app.slint:450 #, fuzzy msgid "Local storage startup failed." msgstr "Échec de l’initialisation du stockage local." -#: ui/app.slint:453 +#: ui/app.slint:457 #, fuzzy msgid "Could not identify the dragged account." msgstr "Impossible d’identifier le compte déplacé." -#: ui/app.slint:454 +#: ui/app.slint:458 #, fuzzy msgid "Account ordering requires local mail data." msgstr "" "Le réordonnancement des comptes nécessite les données locales des messages." -#: ui/app.slint:455 +#: ui/app.slint:459 #, fuzzy msgid "Could not find the account to reorder." msgstr "Impossible de trouver le compte à déplacer." -#: ui/app.slint:456 +#: ui/app.slint:460 #, fuzzy msgid "Saving account order…" msgstr "Enregistrement de l’ordre des comptes…" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "" "Les paramètres des copies envoyées nécessitent des données de messagerie " "locales." -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "Mise à jour des paramètres des copies envoyées…" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "Paramètres des copies envoyées mis à jour." -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "Impossible de mettre à jour les paramètres des copies envoyées : {}" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 #, fuzzy msgid "Mail history requires local mail data." msgstr "L’historique des messages nécessite les données locales des messages." -#: ui/app.slint:466 +#: ui/app.slint:470 #, fuzzy msgid "Updating mail history…" msgstr "Mise à jour de l’historique des messages…" -#: ui/app.slint:467 +#: ui/app.slint:471 #, fuzzy msgid "Remote images are unavailable in this minimal build." msgstr "" "Les images distantes ne sont pas disponibles dans cette version minimale." -#: ui/app.slint:468 +#: ui/app.slint:472 #, fuzzy msgid "Could not save remote-image setting: {}" msgstr "Impossible d’enregistrer le réglage des images distantes : {}" -#: ui/app.slint:469 +#: ui/app.slint:473 #, fuzzy msgid "Remote sender icons unavailable: {}" msgstr "Icônes d’expéditeurs distantes indisponibles : {}" -#: ui/app.slint:470 +#: ui/app.slint:474 #, fuzzy msgid "Remote images unavailable: {}" msgstr "Images distantes indisponibles : {}" -#: ui/app.slint:471 +#: ui/app.slint:475 #, fuzzy msgid "Remote body images and sender favicons enabled." msgstr "Images distantes des messages et favicons des expéditeurs activés." -#: ui/app.slint:472 +#: ui/app.slint:476 #, fuzzy msgid "Remote images blocked." msgstr "Images distantes bloquées." -#: ui/app.slint:473 +#: ui/app.slint:477 #, fuzzy msgid "Could not refresh message images: {}" msgstr "Impossible d’actualiser les images du message : {}" -#: ui/app.slint:474 +#: ui/app.slint:478 #, fuzzy msgid "Remote-image loading is disabled." msgstr "Le chargement des images distantes est désactivé." -#: ui/app.slint:475 +#: ui/app.slint:479 #, fuzzy msgid "Could not load message images: {}" msgstr "Impossible de charger les images du message : {}" -#: ui/app.slint:476 +#: ui/app.slint:480 #, fuzzy msgid "Sync finished, refresh failed: {}" msgstr "Synchronisation terminée, mais échec de l’actualisation : {}" -#: ui/app.slint:477 +#: ui/app.slint:481 #, fuzzy msgid "Sync complete." msgstr "Synchronisation terminée." -#: ui/app.slint:478 +#: ui/app.slint:482 #, fuzzy msgid "Sync failed: {}" msgstr "Échec de la synchronisation : {}" -#: ui/app.slint:479 +#: ui/app.slint:483 #, fuzzy msgid "Local mail data is unavailable; preview data is read-only." msgstr "" "Données locales des messages indisponibles ; les données d’aperçu sont en " "lecture seule." -#: ui/app.slint:480 +#: ui/app.slint:484 #, fuzzy msgid "Synchronizing accounts…" msgstr "Synchronisation des comptes…" -#: ui/app.slint:485 +#: ui/app.slint:489 #, fuzzy msgid "Message action completed." msgstr "Action sur le message terminée." -#: ui/app.slint:486 +#: ui/app.slint:490 #, fuzzy msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." @@ -1532,217 +1550,217 @@ msgstr "" "Suppression définitive en attente. Le message disparaîtra après confirmation " "du serveur." -#: ui/app.slint:487 +#: ui/app.slint:491 #, fuzzy msgid "Message action failed: {}" msgstr "Échec de l’action sur le message : {}" -#: ui/app.slint:488 +#: ui/app.slint:492 #, fuzzy msgid "Message action failed: message is no longer available" msgstr "Échec de l’action : le message n’est plus disponible" -#: ui/app.slint:489 +#: ui/app.slint:493 #, fuzzy msgid "Label added." msgstr "Étiquette ajoutée." -#: ui/app.slint:490 +#: ui/app.slint:494 #, fuzzy msgid "Label removed." msgstr "Étiquette retirée." -#: ui/app.slint:491 +#: ui/app.slint:495 #, fuzzy msgid "Label created and added." msgstr "Étiquette créée et ajoutée." -#: ui/app.slint:492 +#: ui/app.slint:496 #, fuzzy msgid "Label created." msgstr "Étiquette créée." -#: ui/app.slint:493 +#: ui/app.slint:497 #, fuzzy msgid "Label updated." msgstr "Étiquette mise à jour." -#: ui/app.slint:494 +#: ui/app.slint:498 #, fuzzy msgid "Label deleted." msgstr "Étiquette supprimée." -#: ui/app.slint:495 +#: ui/app.slint:499 #, fuzzy msgid "Could not update label: {}" msgstr "Impossible de modifier l’étiquette : {}" -#: ui/app.slint:496 +#: ui/app.slint:500 #, fuzzy msgid "Could not save label: {}" msgstr "Impossible d’enregistrer l’étiquette : {}" -#: ui/app.slint:497 +#: ui/app.slint:501 #, fuzzy msgid "Could not delete label: {}" msgstr "Impossible de supprimer l’étiquette : {}" -#: ui/app.slint:498 +#: ui/app.slint:502 #, fuzzy msgid "Folder created." msgstr "Dossier créé." -#: ui/app.slint:499 +#: ui/app.slint:503 #, fuzzy msgid "Folder renamed." msgstr "Dossier renommé." -#: ui/app.slint:500 +#: ui/app.slint:504 #, fuzzy msgid "Folder deleted." msgstr "Dossier supprimé." -#: ui/app.slint:501 +#: ui/app.slint:505 #, fuzzy msgid "Could not create folder: {}" msgstr "Impossible de créer le dossier : {}" -#: ui/app.slint:502 +#: ui/app.slint:506 #, fuzzy msgid "Could not rename folder: {}" msgstr "Impossible de renommer le dossier : {}" -#: ui/app.slint:503 +#: ui/app.slint:507 #, fuzzy msgid "Could not delete folder: {}" msgstr "Impossible de supprimer le dossier : {}" -#: ui/app.slint:504 +#: ui/app.slint:508 #, fuzzy msgid "Could not close preview: {}" msgstr "Impossible de fermer l’aperçu : {}" -#: ui/app.slint:505 +#: ui/app.slint:509 #, fuzzy msgid "Opened the system print view." msgstr "Fenêtre d’impression du système ouverte." -#: ui/app.slint:506 +#: ui/app.slint:510 #, fuzzy msgid "Could not print message: {}" msgstr "Impossible d’imprimer le message : {}" -#: ui/app.slint:507 +#: ui/app.slint:511 #, fuzzy msgid "Opened the message in your browser." msgstr "Message ouvert dans votre navigateur." -#: ui/app.slint:508 +#: ui/app.slint:512 #, fuzzy msgid "Could not open message in browser: {}" msgstr "Impossible d’ouvrir le message dans le navigateur : {}" -#: ui/app.slint:509 +#: ui/app.slint:513 #, fuzzy msgid "Connect an account before replying or forwarding." msgstr "Connectez un compte avant de répondre ou de transférer." -#: ui/app.slint:510 +#: ui/app.slint:514 #, fuzzy msgid "Choose a message first." msgstr "Sélectionnez d’abord un message." -#: ui/app.slint:511 +#: ui/app.slint:515 #, fuzzy msgid "Only drafts can be reopened for editing." msgstr "Seuls les brouillons peuvent être rouverts pour modification." -#: ui/app.slint:512 +#: ui/app.slint:516 #, fuzzy msgid "Could not open draft: {}" msgstr "Impossible d’ouvrir le brouillon : {}" -#: ui/app.slint:513 +#: ui/app.slint:517 #, fuzzy msgid "Could not open draft: invalid account identifier" msgstr "Impossible d’ouvrir le brouillon : identifiant de compte invalide" -#: ui/app.slint:514 +#: ui/app.slint:518 #, fuzzy msgid "Connected account" msgstr "Compte connecté" -#: ui/app.slint:515 +#: ui/app.slint:519 #, fuzzy msgid "Could not open composer: {}" msgstr "Impossible d’ouvrir l’éditeur de message : {}" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 #, fuzzy msgid "Could not open composer: invalid account identifier" msgstr "Impossible d’ouvrir l’éditeur : identifiant de compte invalide" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "Le {}, {} a écrit :" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "{} a écrit :" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "Message transféré" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "De : {}" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Date : {}" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Objet : {}" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "À : {}" -#: ui/app.slint:531 +#: ui/app.slint:535 #, fuzzy msgid "Attach files to this email" msgstr "Joindre des fichiers à cet e-mail" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:537 #, fuzzy msgid "Added 1 attachment." msgstr "1 pièce jointe ajoutée." -#: ui/app.slint:534 +#: ui/app.slint:538 #, fuzzy msgid "Added {} attachments." msgstr "{} pièces jointes ajoutées." -#: ui/app.slint:535 +#: ui/app.slint:539 #, fuzzy msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " @@ -1751,150 +1769,150 @@ msgstr "" "Pièces jointes ajoutées : {}. Ignorées : {} (doublons, illisibles ou " "dépassement de la limite totale de 25 Mo)." -#: ui/app.slint:536 +#: ui/app.slint:540 #, fuzzy msgid "Attachment removed." msgstr "Pièce jointe retirée." -#: ui/app.slint:537 +#: ui/app.slint:541 #, fuzzy msgid "Choose the account this message should be sent from." msgstr "Choisissez le compte depuis lequel envoyer ce message." -#: ui/app.slint:538 +#: ui/app.slint:542 #, fuzzy msgid "Choose a verified sender identity for this message." msgstr "Choisissez une identité d’expéditeur vérifiée pour ce message." -#: ui/app.slint:539 +#: ui/app.slint:543 #, fuzzy msgid "Connect an account before saving or sending mail." msgstr "Connectez un compte avant d’enregistrer ou d’envoyer des messages." -#: ui/app.slint:540 +#: ui/app.slint:544 #, fuzzy msgid "Message queued for delivery (action {})." msgstr "Message en attente d’envoi (action {})." -#: ui/app.slint:541 +#: ui/app.slint:545 #, fuzzy msgid "Sending message…" msgstr "Envoi du message…" -#: ui/app.slint:542 +#: ui/app.slint:546 #, fuzzy msgid "Message sent." msgstr "Message envoyé." -#: ui/app.slint:543 +#: ui/app.slint:547 #, fuzzy msgid "Message was not sent: {} Your draft is preserved." msgstr "Message non envoyé : {} Votre brouillon est conservé." -#: ui/app.slint:544 +#: ui/app.slint:548 #, fuzzy msgid "Draft saved locally (#{})." msgstr "Brouillon enregistré localement (n° {})." -#: ui/app.slint:545 +#: ui/app.slint:549 #, fuzzy msgid "Compose failed: {}" msgstr "Échec de la rédaction du message : {}" -#: ui/app.slint:546 +#: ui/app.slint:550 #, fuzzy msgid "Connect an account before managing email templates." msgstr "Connectez un compte avant de gérer les modèles d’e-mails." -#: ui/app.slint:547 +#: ui/app.slint:551 #, fuzzy msgid "Could not load email templates: {}" msgstr "Impossible de charger les modèles d’e-mails : {}" -#: ui/app.slint:548 +#: ui/app.slint:552 #, fuzzy msgid "Enter a template name." msgstr "Saisissez un nom de modèle." -#: ui/app.slint:549 +#: ui/app.slint:553 #, fuzzy msgid "Add a subject or message to the template." msgstr "Ajoutez un objet ou un corps de message au modèle." -#: ui/app.slint:550 +#: ui/app.slint:554 #, fuzzy msgid "Email template saved." msgstr "Modèle d’e-mail enregistré." -#: ui/app.slint:551 +#: ui/app.slint:555 #, fuzzy msgid "Could not save email template: {}" msgstr "Impossible d’enregistrer le modèle d’e-mail : {}" -#: ui/app.slint:552 +#: ui/app.slint:556 #, fuzzy msgid "Email template deleted." msgstr "Modèle d’e-mail supprimé." -#: ui/app.slint:553 +#: ui/app.slint:557 #, fuzzy msgid "Could not delete email template: {}" msgstr "Impossible de supprimer le modèle d’e-mail : {}" -#: ui/app.slint:554 +#: ui/app.slint:558 #, fuzzy msgid "Email template is no longer available." msgstr "Le modèle d’e-mail n’est plus disponible." -#: ui/app.slint:555 +#: ui/app.slint:559 #, fuzzy msgid "Email template inserted." msgstr "Modèle d’e-mail inséré." -#: ui/app.slint:556 +#: ui/app.slint:560 #, fuzzy msgid "Email template inserted, but its usage could not be saved: {}" msgstr "Modèle inséré, mais impossible d’enregistrer son utilisation : {}" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 #, fuzzy msgid "IMAP port must be between 1 and 65535." msgstr "Le port IMAP doit être compris entre 1 et 65535." -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 #, fuzzy msgid "SMTP port must be between 1 and 65535." msgstr "Le port SMTP doit être compris entre 1 et 65535." -#: ui/app.slint:561 +#: ui/app.slint:565 #, fuzzy msgid "Local mail data is unavailable. Retry startup." msgstr "Données locales des messages indisponibles. Relancez l’application." -#: ui/app.slint:562 +#: ui/app.slint:566 #, fuzzy msgid "Discovering JMAP and checking capabilities…" msgstr "Recherche du serveur JMAP et vérification de ses capacités…" -#: ui/app.slint:563 +#: ui/app.slint:567 #, fuzzy msgid "Certificate imported. Connect to verify the server." msgstr "Certificat importé. Connectez-vous pour vérifier le serveur." -#: ui/app.slint:564 +#: ui/app.slint:568 #, fuzzy msgid "Could not load account preferences: {}" msgstr "Impossible de charger les préférences du compte : {}" -#: ui/app.slint:565 +#: ui/app.slint:569 #, fuzzy msgid "" "Your edited signature was preserved. Choose No signature to keep it as " @@ -1903,21 +1921,21 @@ msgstr "" "Votre signature modifiée a été conservée. Choisissez Sans signature pour la " "garder comme texte du message avant d’en insérer une autre." -#: ui/app.slint:566 +#: ui/app.slint:570 #, fuzzy msgid "Certificate import failed: {}" msgstr "Échec de l’importation du certificat : {}" -#: ui/app.slint:567 +#: ui/app.slint:571 #, fuzzy msgid "Testing IMAP and SMTP connections…" msgstr "Test des connexions IMAP et SMTP…" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 #, fuzzy msgid "" "Another browser authorization is already in progress; finish it or choose " @@ -1926,7 +1944,7 @@ msgstr "" "Une autre autorisation via navigateur est déjà en cours ; terminez-la ou " "choisissez Annuler." -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 #, fuzzy msgid "Add app keys in Sign-in settings to enable this provider." @@ -1934,109 +1952,109 @@ msgstr "" "Ajoutez les clés d’application dans les paramètres de connexion pour activer " "ce fournisseur." -#: ui/app.slint:575 +#: ui/app.slint:579 #, fuzzy msgid "Choose Gmail or Outlook OAuth." msgstr "Choisissez l’authentification OAuth Gmail ou Outlook." -#: ui/app.slint:576 +#: ui/app.slint:580 #, fuzzy msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "Terminez la connexion dans votre navigateur ou choisissez Annuler ici." -#: ui/app.slint:577 +#: ui/app.slint:581 #, fuzzy msgid "Cancelling browser sign-in…" msgstr "Annulation de la connexion via navigateur…" -#: ui/app.slint:578 +#: ui/app.slint:582 #, fuzzy msgid "Finishing browser sign-in…" msgstr "Finalisation de la connexion via navigateur…" -#: ui/app.slint:579 +#: ui/app.slint:583 #, fuzzy msgid "Could not use that browser address: {}" msgstr "Impossible d’utiliser cette adresse du navigateur : {}" -#: ui/app.slint:580 +#: ui/app.slint:584 #, fuzzy msgid "Calendar core is unavailable." msgstr "Le moteur de calendrier est indisponible." -#: ui/app.slint:581 +#: ui/app.slint:585 #, fuzzy msgid "Account no longer exists." msgstr "Le compte n’existe plus." -#: ui/app.slint:582 +#: ui/app.slint:586 #, fuzzy msgid "Authorize calendar access in your browser." msgstr "Autorisez l’accès au calendrier dans votre navigateur." -#: ui/app.slint:583 +#: ui/app.slint:587 #, fuzzy msgid "OAuth app keys saved." msgstr "Clés d’application OAuth enregistrées." -#: ui/app.slint:584 +#: ui/app.slint:588 #, fuzzy msgid "{} OAuth settings saved." msgstr "Paramètres OAuth de {} enregistrés." -#: ui/app.slint:585 +#: ui/app.slint:589 #, fuzzy msgid "OAuth settings failed: {}" msgstr "Échec des paramètres OAuth : {}" -#: ui/app.slint:586 +#: ui/app.slint:590 #, fuzzy msgid "Mail refresh failed: {}" msgstr "Échec de l’actualisation des messages : {}" -#: ui/app.slint:587 +#: ui/app.slint:591 #, fuzzy msgid "Mail filter failed: {}" msgstr "Échec du filtrage des messages : {}" -#: ui/app.slint:588 +#: ui/app.slint:592 #, fuzzy msgid "Mail pagination failed: {}" msgstr "Échec de la pagination des messages : {}" -#: ui/app.slint:589 +#: ui/app.slint:593 #, fuzzy msgid "Could not mark message as read: {}" msgstr "Impossible de marquer le message comme lu : {}" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 #, fuzzy msgid "Loading message…" msgstr "Chargement du message…" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 #, fuzzy msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 #, fuzzy msgid "Global Labels (local only)" msgstr "Étiquettes globales (locales uniquement)" -#: ui/app.slint:2222 +#: ui/app.slint:2226 #, fuzzy msgid "Empty Trash?" msgstr "Vider la corbeille ?" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 #, fuzzy msgid "Delete permanently?" msgstr "Supprimer définitivement ?" -#: ui/app.slint:2226 +#: ui/app.slint:2230 #, fuzzy msgid "" "Permanently delete all messages in Trash across every connected account?" @@ -2044,64 +2062,64 @@ msgstr "" "Supprimer définitivement tous les messages de la corbeille de tous les " "comptes connectés ?" -#: ui/app.slint:2227 +#: ui/app.slint:2231 #, fuzzy msgid "Permanently delete all messages in this account’s Trash?" msgstr "" "Supprimer définitivement tous les messages de la corbeille de ce compte ?" -#: ui/app.slint:2229 +#: ui/app.slint:2233 #, fuzzy msgid "Permanently delete the selected conversations from Trash?" msgstr "" "Supprimer définitivement les conversations sélectionnées dans la corbeille ?" -#: ui/app.slint:2230 +#: ui/app.slint:2234 #, fuzzy msgid "Permanently delete this conversation from Trash?" msgstr "Supprimer définitivement cette conversation de la corbeille ?" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 #, fuzzy msgid "This action cannot be undone." msgstr "Cette action est irréversible." -#: ui/app.slint:2232 +#: ui/app.slint:2236 #, fuzzy msgid "Empty Trash" msgstr "Vider la corbeille" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 #, fuzzy msgid "Delete permanently" msgstr "Supprimer définitivement" -#: ui/app.slint:2406 +#: ui/app.slint:2410 #, fuzzy msgid "Mailbox startup failed" msgstr "Échec de l’initialisation de la boîte aux lettres" -#: ui/app.slint:2412 +#: ui/app.slint:2416 #, fuzzy msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail n’a pas pu ouvrir le stockage local" -#: ui/app.slint:2425 +#: ui/app.slint:2429 #, fuzzy msgid "Diagnostic ID: {}" msgstr "Identifiant de diagnostic : {}" -#: ui/app.slint:2428 +#: ui/app.slint:2432 #, fuzzy msgid "Diagnostic ID {}" msgstr "Identifiant de diagnostic {}" -#: ui/app.slint:2433 +#: ui/app.slint:2437 #, fuzzy msgid "Retry" msgstr "Réessayer" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 #, fuzzy msgid "Copy diagnostics" msgstr "Copier le diagnostic" @@ -3133,42 +3151,42 @@ msgstr "Nouveau message" msgid "Account" msgstr "Compte" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 #, fuzzy msgid "To" msgstr "À" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 #, fuzzy msgid "name@example.com · separate with commas" msgstr "nom@example.com · séparer par des virgules" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 #, fuzzy msgid "Cc" msgstr "Cc" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 #, fuzzy msgid "Carbon copy" msgstr "Copie carbone" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 #, fuzzy msgid "Bcc" msgstr "Cci" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 #, fuzzy msgid "Blind carbon copy" msgstr "Copie carbone invisible" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 #, fuzzy msgid "Subject" msgstr "Objet" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 #, fuzzy msgid "What is this email about?" msgstr "Quel est l’objet de cet e-mail ?" diff --git a/lang/it/LC_MESSAGES/flectar-mail.po b/lang/it/LC_MESSAGES/flectar-mail.po index 28eca7f0..aa3b48c6 100644 --- a/lang/it/LC_MESSAGES/flectar-mail.po +++ b/lang/it/LC_MESSAGES/flectar-mail.po @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "" @@ -399,11 +399,11 @@ msgstr[1] "" msgid "Last contacted {}" msgstr "" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "" @@ -736,1064 +736,1082 @@ msgid "Could not open link: {}" msgstr "" #: ui/app.slint:305 -msgid "Copied HTML source" +msgid "This email link is too long to open." msgstr "" #: ui/app.slint:306 -msgid "Copied selected text" +msgid "The email link will open when you close this message." msgstr "" #: ui/app.slint:307 -msgid "Copied email text" +msgid "The message you were writing was saved to Drafts." msgstr "" #: ui/app.slint:308 -msgid "Copied link" +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" msgstr "" #: ui/app.slint:309 -msgid "Blitz software selection render failed: {}" +msgid "Copied HTML source" msgstr "" #: ui/app.slint:310 -msgid "Blitz software tile render failed: {}" +msgid "Copied selected text" msgstr "" #: ui/app.slint:311 -msgid "Message ready." +msgid "Copied email text" msgstr "" #: ui/app.slint:312 -msgid "System tray behavior is unavailable in this package." +msgid "Copied link" msgstr "" #: ui/app.slint:313 -msgid "Close-to-tray is active for this session." +msgid "Blitz software selection render failed: {}" msgstr "" #: ui/app.slint:314 -msgid "Saving close behavior…" +msgid "Blitz software tile render failed: {}" msgstr "" #: ui/app.slint:315 -msgid "Closing the window will now keep Flectar Mail in the tray." +msgid "Message ready." msgstr "" #: ui/app.slint:316 -msgid "Closing the window will now quit Flectar Mail." +msgid "System tray behavior is unavailable in this package." msgstr "" #: ui/app.slint:317 -msgid "Could not save close behavior: {}" +msgid "Close-to-tray is active for this session." msgstr "" #: ui/app.slint:318 -msgid "Flectar Mail will start when you sign in." +msgid "Saving close behavior…" msgstr "" #: ui/app.slint:319 -msgid "Flectar Mail will no longer start when you sign in." +msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" #: ui/app.slint:320 -msgid "Could not change startup behavior: {}" +msgid "Closing the window will now quit Flectar Mail." msgstr "" #: ui/app.slint:321 -msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgid "Could not save close behavior: {}" msgstr "" #: ui/app.slint:322 +msgid "Flectar Mail will start when you sign in." +msgstr "" + +#: ui/app.slint:323 +msgid "Flectar Mail will no longer start when you sign in." +msgstr "" + +#: ui/app.slint:324 +msgid "Could not change startup behavior: {}" +msgstr "" + +#: ui/app.slint:325 +msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgstr "" + +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "" -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "" -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -2617,35 +2635,35 @@ msgstr "" msgid "Account" msgstr "" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "" diff --git a/lang/ja/LC_MESSAGES/flectar-mail.po b/lang/ja/LC_MESSAGES/flectar-mail.po index abd2c30d..b9365629 100644 --- a/lang/ja/LC_MESSAGES/flectar-mail.po +++ b/lang/ja/LC_MESSAGES/flectar-mail.po @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "" @@ -399,11 +399,11 @@ msgstr[1] "" msgid "Last contacted {}" msgstr "" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "" @@ -736,1064 +736,1082 @@ msgid "Could not open link: {}" msgstr "" #: ui/app.slint:305 -msgid "Copied HTML source" +msgid "This email link is too long to open." msgstr "" #: ui/app.slint:306 -msgid "Copied selected text" +msgid "The email link will open when you close this message." msgstr "" #: ui/app.slint:307 -msgid "Copied email text" +msgid "The message you were writing was saved to Drafts." msgstr "" #: ui/app.slint:308 -msgid "Copied link" +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" msgstr "" #: ui/app.slint:309 -msgid "Blitz software selection render failed: {}" +msgid "Copied HTML source" msgstr "" #: ui/app.slint:310 -msgid "Blitz software tile render failed: {}" +msgid "Copied selected text" msgstr "" #: ui/app.slint:311 -msgid "Message ready." +msgid "Copied email text" msgstr "" #: ui/app.slint:312 -msgid "System tray behavior is unavailable in this package." +msgid "Copied link" msgstr "" #: ui/app.slint:313 -msgid "Close-to-tray is active for this session." +msgid "Blitz software selection render failed: {}" msgstr "" #: ui/app.slint:314 -msgid "Saving close behavior…" +msgid "Blitz software tile render failed: {}" msgstr "" #: ui/app.slint:315 -msgid "Closing the window will now keep Flectar Mail in the tray." +msgid "Message ready." msgstr "" #: ui/app.slint:316 -msgid "Closing the window will now quit Flectar Mail." +msgid "System tray behavior is unavailable in this package." msgstr "" #: ui/app.slint:317 -msgid "Could not save close behavior: {}" +msgid "Close-to-tray is active for this session." msgstr "" #: ui/app.slint:318 -msgid "Flectar Mail will start when you sign in." +msgid "Saving close behavior…" msgstr "" #: ui/app.slint:319 -msgid "Flectar Mail will no longer start when you sign in." +msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" #: ui/app.slint:320 -msgid "Could not change startup behavior: {}" +msgid "Closing the window will now quit Flectar Mail." msgstr "" #: ui/app.slint:321 -msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgid "Could not save close behavior: {}" msgstr "" #: ui/app.slint:322 +msgid "Flectar Mail will start when you sign in." +msgstr "" + +#: ui/app.slint:323 +msgid "Flectar Mail will no longer start when you sign in." +msgstr "" + +#: ui/app.slint:324 +msgid "Could not change startup behavior: {}" +msgstr "" + +#: ui/app.slint:325 +msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgstr "" + +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "" -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "" -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -2616,35 +2634,35 @@ msgstr "" msgid "Account" msgstr "" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "" diff --git a/lang/nl/LC_MESSAGES/flectar-mail.po b/lang/nl/LC_MESSAGES/flectar-mail.po index b0dd4b80..55255cf8 100644 --- a/lang/nl/LC_MESSAGES/flectar-mail.po +++ b/lang/nl/LC_MESSAGES/flectar-mail.po @@ -384,7 +384,7 @@ msgstr "" msgid "New address-book entry" msgstr "" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "" @@ -399,11 +399,11 @@ msgstr[1] "" msgid "Last contacted {}" msgstr "" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "" @@ -736,1064 +736,1082 @@ msgid "Could not open link: {}" msgstr "" #: ui/app.slint:305 -msgid "Copied HTML source" +msgid "This email link is too long to open." msgstr "" #: ui/app.slint:306 -msgid "Copied selected text" +msgid "The email link will open when you close this message." msgstr "" #: ui/app.slint:307 -msgid "Copied email text" +msgid "The message you were writing was saved to Drafts." msgstr "" #: ui/app.slint:308 -msgid "Copied link" +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" msgstr "" #: ui/app.slint:309 -msgid "Blitz software selection render failed: {}" +msgid "Copied HTML source" msgstr "" #: ui/app.slint:310 -msgid "Blitz software tile render failed: {}" +msgid "Copied selected text" msgstr "" #: ui/app.slint:311 -msgid "Message ready." +msgid "Copied email text" msgstr "" #: ui/app.slint:312 -msgid "System tray behavior is unavailable in this package." +msgid "Copied link" msgstr "" #: ui/app.slint:313 -msgid "Close-to-tray is active for this session." +msgid "Blitz software selection render failed: {}" msgstr "" #: ui/app.slint:314 -msgid "Saving close behavior…" +msgid "Blitz software tile render failed: {}" msgstr "" #: ui/app.slint:315 -msgid "Closing the window will now keep Flectar Mail in the tray." +msgid "Message ready." msgstr "" #: ui/app.slint:316 -msgid "Closing the window will now quit Flectar Mail." +msgid "System tray behavior is unavailable in this package." msgstr "" #: ui/app.slint:317 -msgid "Could not save close behavior: {}" +msgid "Close-to-tray is active for this session." msgstr "" #: ui/app.slint:318 -msgid "Flectar Mail will start when you sign in." +msgid "Saving close behavior…" msgstr "" #: ui/app.slint:319 -msgid "Flectar Mail will no longer start when you sign in." +msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" #: ui/app.slint:320 -msgid "Could not change startup behavior: {}" +msgid "Closing the window will now quit Flectar Mail." msgstr "" #: ui/app.slint:321 -msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgid "Could not save close behavior: {}" msgstr "" #: ui/app.slint:322 +msgid "Flectar Mail will start when you sign in." +msgstr "" + +#: ui/app.slint:323 +msgid "Flectar Mail will no longer start when you sign in." +msgstr "" + +#: ui/app.slint:324 +msgid "Could not change startup behavior: {}" +msgstr "" + +#: ui/app.slint:325 +msgid "Allow Flectar Mail under Login Items in System Settings to finish." +msgstr "" + +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "" -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "" -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "" -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "" -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "" -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "" -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "" -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "" -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "" -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "" -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "" -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "" -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "" -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "" -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "" -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "" -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "" -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "" -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "" -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "" -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "" -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "" -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "" -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "" -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "" -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "" -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "" -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "" -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "" -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "" -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "" -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "" -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "" -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "" -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "" -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "" -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "" -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "" -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "" -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "" -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "" -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "" -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "" -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "" -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "" -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "" -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "" -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "" -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "" -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "" -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "" -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "" -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "" -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "" -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "" -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "" -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "" -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "" -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "" -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "" -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "" -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "" -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "" -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "" -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "" -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "" -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "" -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "" -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "" -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "" -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "" -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "" -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "" -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "" -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "" -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "" -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "" -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "" -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "" -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "" -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "" -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "" -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." msgstr "" -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "" -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "" -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "" -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "" -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "" -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "" -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "" -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "" -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "" -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "" @@ -2617,35 +2635,35 @@ msgstr "" msgid "Account" msgstr "" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "" diff --git a/lang/ru/LC_MESSAGES/flectar-mail.po b/lang/ru/LC_MESSAGES/flectar-mail.po index 901a25d6..f9fe8d72 100644 --- a/lang/ru/LC_MESSAGES/flectar-mail.po +++ b/lang/ru/LC_MESSAGES/flectar-mail.po @@ -388,7 +388,7 @@ msgstr "История переписки доступна" msgid "New address-book entry" msgstr "Новая запись в адресной книге" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "Нет подключённой учётной записи" @@ -404,11 +404,11 @@ msgstr[2] "{n} взаимодействий" msgid "Last contacted {}" msgstr "Последний контакт: {}" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "Загрузка локальных данных…" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "Локальные данные готовы." @@ -742,98 +742,118 @@ msgid "Could not open link: {}" msgstr "Не удалось открыть ссылку: {}" #: ui/app.slint:305 +msgid "This email link is too long to open." +msgstr "Эта почтовая ссылка слишком длинная, чтобы её открыть." + +#: ui/app.slint:306 +msgid "The email link will open when you close this message." +msgstr "Почтовая ссылка откроется, когда вы закроете это сообщение." + +#: ui/app.slint:307 +msgid "The message you were writing was saved to Drafts." +msgstr "Сообщение, которое вы писали, сохранено в «Черновиках»." + +#: ui/app.slint:308 +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" +msgstr "" +"Ссылки никогда не прикрепляют файлы за вас. Прикрепите их сами, если " +"доверяете им: {}" + +#: ui/app.slint:309 msgid "Copied HTML source" msgstr "Исходный код HTML скопирован" -#: ui/app.slint:306 +#: ui/app.slint:310 msgid "Copied selected text" msgstr "Выделенный текст скопирован" -#: ui/app.slint:307 +#: ui/app.slint:311 msgid "Copied email text" msgstr "Текст письма скопирован" -#: ui/app.slint:308 +#: ui/app.slint:312 msgid "Copied link" msgstr "Ссылка скопирована" -#: ui/app.slint:309 +#: ui/app.slint:313 msgid "Blitz software selection render failed: {}" msgstr "Ошибка отрисовки выделения программным способом Blitz: {}" -#: ui/app.slint:310 +#: ui/app.slint:314 msgid "Blitz software tile render failed: {}" msgstr "Ошибка отрисовки плитки программным способом Blitz: {}" -#: ui/app.slint:311 +#: ui/app.slint:315 msgid "Message ready." msgstr "Сообщение готово." -#: ui/app.slint:312 +#: ui/app.slint:316 msgid "System tray behavior is unavailable in this package." msgstr "Поведение системного трея недоступно в этой сборке." -#: ui/app.slint:313 +#: ui/app.slint:317 msgid "Close-to-tray is active for this session." msgstr "Сворачивание в трей активно для этого сеанса." -#: ui/app.slint:314 +#: ui/app.slint:318 msgid "Saving close behavior…" msgstr "Сохранение поведения при закрытии…" -#: ui/app.slint:315 +#: ui/app.slint:319 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "Теперь при закрытии окна Flectar Mail останется в трее." -#: ui/app.slint:316 +#: ui/app.slint:320 msgid "Closing the window will now quit Flectar Mail." msgstr "Теперь при закрытии окна Flectar Mail завершит работу." -#: ui/app.slint:317 +#: ui/app.slint:321 msgid "Could not save close behavior: {}" msgstr "Не удалось сохранить поведение при закрытии: {}" -#: ui/app.slint:318 +#: ui/app.slint:322 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail будет запускаться при входе в систему." -#: ui/app.slint:319 +#: ui/app.slint:323 msgid "Flectar Mail will no longer start when you sign in." msgstr "Flectar Mail больше не будет запускаться при входе в систему." -#: ui/app.slint:320 +#: ui/app.slint:324 msgid "Could not change startup behavior: {}" msgstr "Не удалось изменить параметры автозапуска: {}" -#: ui/app.slint:321 +#: ui/app.slint:325 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" "Чтобы завершить, разрешите Flectar Mail в разделе «Объекты входа» в " "Системных настройках." -#: ui/app.slint:322 +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" "Чтобы завершить, включите Flectar Mail в разделе «Автозагрузка» в Параметрах " "Windows." -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "Снимок базы данных экспортирован в {}." -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "Выберите место для экспорта почты" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "Экспорт почты…" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "Почта экспортирована в {}." -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." @@ -841,387 +861,387 @@ msgstr "" "Почта экспортирована в {}. Некоторые письма не найдены ни на этом " "устройстве, ни на почтовом сервере." -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "Не удалось экспортировать почту: {}" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "Не удалось экспортировать снимок базы данных: {}" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "Порядок учётных записей сохранён." -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "Не удалось сохранить порядок учётных записей: {}" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "История почты обновлена. Фоновая синхронизация сейчас настраивается." -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "Учётная запись удалена с этого устройства." -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "Учётная запись удалена. Обновление почты будет повторено." -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "Учётная запись удалена; локальная очистка требует повтора: {}" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "Не удалось удалить учётную запись: {}" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "Удаление учётной записи…" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "Удаление почты с этого устройства…" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "Почта на этом устройстве удалена." -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "Почта на этом устройстве удалена. Обновление почты будет повторено." -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" "Почта на этом устройстве удалена; локальная очистка требует повтора: {}" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "Не удалось удалить почту с этого устройства: {}" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "Синхронизация учётной записи…" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "Не удалось обновить историю почты: {}" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "Подключено {}. Первоначальная синхронизация выполняется в фоне." -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "Настройка учётной записи не удалась: {}" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "Ошибка OAuth: {}" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "Повторно подключено {}. Синхронизация возобновляется." -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "Повторное подключение не удалось: {}" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "Календарь подключён, начата первоначальная синхронизация." -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "Не удалось подключить календарь: {}" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "Синхронизация календаря включена." -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "Синхронизация календаря приостановлена." -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "Не удалось обновить синхронизацию календаря: {}" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "CalDAV подключён, начата первоначальная синхронизация." -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "Не удалось подключить CalDAV: {}" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "Календарь удалён." -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "Не удалось удалить календарь: {}" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "CardDAV подключён, начата первоначальная синхронизация." -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "Не удалось подключить CardDAV: {}" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "Синхронизация CardDAV включена." -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "Синхронизация CardDAV приостановлена." -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "Не удалось обновить синхронизацию CardDAV: {}" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "CardDAV отключён." -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "Не удалось отключить CardDAV: {}" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "Подключите учётную запись перед созданием резервной копии." -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "Экспорт резервной копии учётных записей Flectar Mail" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "Резервная копия Flectar Mail" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "Импорт учётных записей и почты" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "Выберите профиль Thunderbird или папку с почтой" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "Импортированные письма" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "Выберите место для экспорта снимка базы данных" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "Резервная копия экспортирована. Пароли и токены OAuth не включены." -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "Не удалось экспортировать резервную копию: {}" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "Локальное хранилище данных недоступно. Повторите запуск." -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "Создание проверенного снимка базы данных…" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "Все локальные данные Flectar Mail удалены." -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "Не удалось удалить все локальные данные: {}" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "Удаление локальных учётных записей и кешированных данных…" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "Фоновое обновление почты не удалось: {}" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "В этой папке нет переписок" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "Нет переписок, соответствующих этому поиску" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "" "Почтовое ядро готово к синхронизации учётных записей и действиям с " "сообщениями." -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "Большое сообщение отображено в режиме совместимости." -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "Ошибка программной отрисовки письма: {}" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "Отображено программно после ошибки GPU: {}" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Ошибка отрисовки Blitz (GPU: {}; программно: {})" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "" "Введите имя, адрес электронной почты или номер телефона, затем сохраните " "контакт." -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "Не удалось сохранить: хранилище контактов недоступно." -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "Не удалось сохранить контакт: {}" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "Контакт сохранён." -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "Сохранено в контактах." -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "Не удалось удалить: хранилище контактов недоступно." -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "Не удалось удалить контакт: {}" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "Контакт удалён." -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "Не удалось загрузить контакты: {}" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "Локальное хранилище контактов ещё запускается…" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "Загрузка контактов…" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Локальный календарь" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "Календарь" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "Не удалось загрузить календарь: {}" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "Календарь отображён и синхронизируется." -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "Календарь скрыт, синхронизация приостановлена." -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "Обновление календаря не удалось: {}" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "Редактировать можно только события, созданные в Flectar Mail." -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "Удалять можно только события, созданные в Flectar Mail." -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "Хранилище календаря недоступно." -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "Не удалось удалить событие: {}" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "Событие удалено, но обновление не удалось: {}" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "Событие удалено." -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "Используйте формат ГГГГ-ММ-ДД для даты и время, например {}." -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "Продолжительность события должна быть указана в минутах." -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "Добавьте название и выберите продолжительность от 15 до 1440 минут." -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "Такое местное время не существует в текущем часовом поясе." -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "Не удалось сохранить событие: {}" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "Событие сохранено, но обновление не удалось: {}" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" "Событие сохранено. Синхронизация с провайдером выполнится при включении." -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "Ошибка отрисовки ресурса письма: {}" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "Обновление сообщения не удалось: {}" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "Загрузка сообщения не удалась: {}" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." @@ -1230,315 +1250,315 @@ msgstr "" "запускалась. Повторите попытку или скопируйте диагностику для службы " "поддержки." -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "Запуск локального хранилища не удался." -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "Не удалось определить перетаскиваемую учётную запись." -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "Для упорядочивания учётных записей требуются локальные данные почты." -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "Не удалось найти учётную запись для перестановки." -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "Сохранение порядка учётных записей…" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "Для настройки копий отправленных писем нужны локальные данные почты." -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "Обновление настроек копий отправленных писем…" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "Настройки копий отправленных писем обновлены." -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "Не удалось обновить настройки копий отправленных писем: {}" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "Для настроек почты на сервере нужны локальные данные почты." -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "Обновление настроек почты на сервере…" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "Настройки почты на сервере обновлены." -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "Не удалось обновить настройки почты на сервере: {}" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "Для истории почты требуются локальные данные почты." -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "Обновление истории почты…" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "Внешние изображения недоступны в этой минимальной сборке." -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "Не удалось сохранить настройку внешних изображений: {}" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "Внешние значки отправителей недоступны: {}" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "Внешние изображения недоступны: {}" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "" "Загрузка внешних изображений в письмах и значков отправителей включена." -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "Внешние изображения заблокированы." -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "Не удалось обновить изображения сообщения: {}" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "Загрузка внешних изображений отключена." -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "Не удалось загрузить изображения сообщения: {}" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "Синхронизация завершена, обновление не удалось: {}" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "Синхронизация завершена." -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "Синхронизация не удалась: {}" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "" "Локальные данные почты недоступны; данные предпросмотра доступны только для " "чтения." -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "Синхронизация учётных записей…" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "Действие с сообщением выполнено." -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" "Безвозвратное удаление запланировано. Письма исчезнут после подтверждения " "сервера." -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "Действие с сообщением не удалось: {}" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "Действие с сообщением не удалось: сообщение больше недоступно" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "Метка добавлена." -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "Метка удалена." -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "Метка создана и добавлена." -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "Метка создана." -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "Метка обновлена." -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "Метка удалена." -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "Не удалось обновить метку: {}" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "Не удалось сохранить метку: {}" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "Не удалось удалить метку: {}" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "Папка создана." -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "Папка переименована." -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "Папка удалена." -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "Не удалось создать папку: {}" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "Не удалось переименовать папку: {}" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "Не удалось удалить папку: {}" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "Не удалось закрыть предпросмотр: {}" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "Открыт системный просмотр печати." -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "Не удалось напечатать сообщение: {}" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "Сообщение открыто в браузере." -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "Не удалось открыть сообщение в браузере: {}" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "Подключите учётную запись перед ответом или пересылкой." -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "Сначала выберите сообщение." -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "Только черновики можно снова открыть для редактирования." -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "Не удалось открыть черновик: {}" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "Не удалось открыть черновик: неверный идентификатор учётной записи" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "Подключённая учётная запись" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "Не удалось открыть редактор письма: {}" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "Добавьте учётную запись, чтобы отправлять почту." -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "На этом устройстве" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "" "Не удалось открыть редактор письма: неверный идентификатор учётной записи" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "{}, {} пишет:" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "{} пишет:" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "Пересылаемое сообщение" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "От: {}" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Дата: {}" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Тема: {}" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "Кому: {}" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "Прикрепить файлы к этому письму" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "Не удалось добавить вложения: {}" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "Добавлено одно вложение." -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "Добавлено вложений: {}." -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." @@ -1546,124 +1566,124 @@ msgstr "" "Добавлено вложений: {}. Пропущено: {} (дубликаты, недоступные для чтения или " "превышающие общий лимит 25 МБ)." -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "Вложение удалено." -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "Выберите учётную запись, с которой нужно отправить это сообщение." -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "Выберите подтверждённые данные отправителя для этого письма." -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "Подключите учётную запись перед сохранением или отправкой почты." -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "Сообщение поставлено в очередь на отправку (действие {})." -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "Отправка сообщения…" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "Сообщение отправлено." -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "Сообщение не отправлено: {} Ваш черновик сохранён." -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "Черновик сохранён локально (#{})." -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "Создание письма не удалось: {}" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "Подключите учётную запись перед управлением шаблонами писем." -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "Не удалось загрузить шаблоны писем: {}" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "Введите имя шаблона." -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "Добавьте тему или сообщение в шаблон." -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "Шаблон письма сохранён." -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "Не удалось сохранить шаблон письма: {}" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "Шаблон письма удалён." -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "Не удалось удалить шаблон письма: {}" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "Шаблон письма больше недоступен." -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "Шаблон письма вставлен." -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "" "Шаблон письма вставлен, но сведения о его использовании не сохранены: {}" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "Выберите поддерживаемый тип учётной записи и безопасность соединения." -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "Порт IMAP должен быть в диапазоне от 1 до 65535." -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "Порт POP3 должен быть в диапазоне от 1 до 65535." -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "Порт SMTP должен быть в диапазоне от 1 до 65535." -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "Локальные данные почты недоступны. Повторите запуск." -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "Обнаружение JMAP и проверка возможностей…" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "Сертификат импортирован. Подключитесь для проверки сервера." -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "Не удалось загрузить настройки учётной записи: {}" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1671,19 +1691,19 @@ msgstr "" "Ваша изменённая подпись сохранена. Выберите «Без подписи», чтобы оставить её " "как текст сообщения перед вставкой другой." -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "Импорт сертификата не удался: {}" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "Проверка подключений IMAP и SMTP…" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "Проверка подключений POP3 и SMTP…" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." @@ -1691,147 +1711,147 @@ msgstr "" "Другая авторизация в браузере уже выполняется; завершите её или выберите " "«Отмена»." -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" "Добавьте ключи приложения в настройках входа, чтобы включить этого " "провайдера." -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "Выберите OAuth Gmail или Outlook." -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "Завершите вход в браузере или выберите «Отмена» здесь." -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "Отмена входа через браузер…" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "Завершение входа через браузер…" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "Не удалось использовать этот адрес браузера: {}" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "Ядро календаря недоступно." -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "Учётная запись больше не существует." -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "Авторизуйте доступ к календарю в браузере." -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "Ключи приложения OAuth сохранены." -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "Настройки OAuth {} сохранены." -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "Настройки OAuth не удались: {}" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "Обновление почты не удалось: {}" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "Фильтрация почты не удалась: {}" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "Постраничная навигация по почте не удалась: {}" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "Не удалось отметить сообщение как прочитанное: {}" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "Загрузка сообщения…" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "Глобальные метки (только локально)" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "Очистить корзину?" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "Удалить безвозвратно?" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" "Безвозвратно удалить все письма из корзины во всех подключённых учётных " "записях?" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "Безвозвратно удалить все письма из корзины этой учётной записи?" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "Безвозвратно удалить выбранные переписки из корзины?" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "Безвозвратно удалить эту переписку из корзины?" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "Это действие нельзя отменить." -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "Очистить корзину" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "Удалить безвозвратно" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "Запуск почтового ящика не удался" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail не смог открыть локальное хранилище" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "Идентификатор диагностики: {}" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "Идентификатор диагностики {}" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "Повторить" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "Копировать диагностику" @@ -2699,35 +2719,35 @@ msgstr "Новое сообщение" msgid "Account" msgstr "Учётная запись" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "Кому" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "name@example.com · разделяйте запятыми" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "Копия" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "Копия" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "Скрытая копия" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "Скрытая копия" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "Тема" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "О чём это письмо?" diff --git a/lang/tr/LC_MESSAGES/flectar-mail.po b/lang/tr/LC_MESSAGES/flectar-mail.po index a423dc6f..d84488ce 100644 --- a/lang/tr/LC_MESSAGES/flectar-mail.po +++ b/lang/tr/LC_MESSAGES/flectar-mail.po @@ -384,7 +384,7 @@ msgstr "Konuşma geçmişi mevcut" msgid "New address-book entry" msgstr "Yeni adres defteri kaydı" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "Bağlı hesap yok" @@ -399,11 +399,11 @@ msgstr[1] "{n} etkileşim" msgid "Last contacted {}" msgstr "Son iletişim: {}" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "Yerel veriler yükleniyor…" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "Yerel veriler hazır." @@ -736,479 +736,497 @@ msgid "Could not open link: {}" msgstr "Bağlantı açılamadı: {}" #: ui/app.slint:305 +msgid "This email link is too long to open." +msgstr "" + +#: ui/app.slint:306 +msgid "The email link will open when you close this message." +msgstr "" + +#: ui/app.slint:307 +msgid "The message you were writing was saved to Drafts." +msgstr "" + +#: ui/app.slint:308 +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" +msgstr "" + +#: ui/app.slint:309 msgid "Copied HTML source" msgstr "HTML kaynağı kopyalandı" -#: ui/app.slint:306 +#: ui/app.slint:310 msgid "Copied selected text" msgstr "Seçili metin kopyalandı" -#: ui/app.slint:307 +#: ui/app.slint:311 msgid "Copied email text" msgstr "E-posta metni kopyalandı" -#: ui/app.slint:308 +#: ui/app.slint:312 msgid "Copied link" msgstr "Bağlantı kopyalandı" -#: ui/app.slint:309 +#: ui/app.slint:313 msgid "Blitz software selection render failed: {}" msgstr "Blitz yazılım seçim oluşturması başarısız: {}" -#: ui/app.slint:310 +#: ui/app.slint:314 msgid "Blitz software tile render failed: {}" msgstr "Blitz yazılım döşeme oluşturması başarısız: {}" -#: ui/app.slint:311 +#: ui/app.slint:315 msgid "Message ready." msgstr "İleti hazır." -#: ui/app.slint:312 +#: ui/app.slint:316 msgid "System tray behavior is unavailable in this package." msgstr "Sistem tepsisi davranışı bu pakette kullanılamıyor." -#: ui/app.slint:313 +#: ui/app.slint:317 msgid "Close-to-tray is active for this session." msgstr "Tepsiye küçültme bu oturum için etkin." -#: ui/app.slint:314 +#: ui/app.slint:318 msgid "Saving close behavior…" msgstr "Kapatma davranışı kaydediliyor…" -#: ui/app.slint:315 +#: ui/app.slint:319 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "" "Pencere kapatıldığında Flectar Mail artık tepside çalışmaya devam edecek." -#: ui/app.slint:316 +#: ui/app.slint:320 msgid "Closing the window will now quit Flectar Mail." msgstr "Pencere kapatıldığında Flectar Mail artık kapanacak." -#: ui/app.slint:317 +#: ui/app.slint:321 msgid "Could not save close behavior: {}" msgstr "Kapatma davranışı kaydedilemedi: {}" -#: ui/app.slint:318 +#: ui/app.slint:322 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail oturum açtığınızda başlatılacak." -#: ui/app.slint:319 +#: ui/app.slint:323 msgid "Flectar Mail will no longer start when you sign in." msgstr "Flectar Mail artık oturum açtığınızda başlatılmayacak." -#: ui/app.slint:320 +#: ui/app.slint:324 msgid "Could not change startup behavior: {}" msgstr "Başlangıç davranışı değiştirilemedi: {}" -#: ui/app.slint:321 +#: ui/app.slint:325 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "" "Tamamlamak için Sistem Ayarları'ndaki Giriş Öğeleri bölümünde Flectar Mail'e " "izin verin." -#: ui/app.slint:322 +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "Veritabanı anlık görüntüsü {} konumuna dışa aktarıldı." -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "Veritabanı anlık görüntüsü dışa aktarılamadı: {}" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "Hesap sırası kaydedildi." -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "Hesap sırası kaydedilemedi: {}" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "" "E-posta geçmişi güncellendi. Arka plan eşitlemesi şimdi buna uyum sağlıyor." -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "Hesap bu cihazdan kaldırıldı." -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "Hesap kaldırıldı. E-posta yenilemesi yeniden denenecek." -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "Hesap kaldırıldı; yerel temizlik yeniden denenmeli: {}" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "Hesap kaldırılamadı: {}" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "Hesap kaldırılıyor…" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "Hesap eşitleniyor…" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "E-posta geçmişi güncellenemedi: {}" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "{} bağlandı. İlk eşitleme arka planda çalışıyor." -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "Hesap kurulumu başarısız oldu: {}" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "OAuth başarısız oldu: {}" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "{} yeniden bağlandı. Eşitleme sürdürülüyor." -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "Yeniden bağlanma başarısız: {}" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "Takvim bağlandı ve ilk eşitleme başladı." -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "Takvim bağlanamadı: {}" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "Takvim eşitlemesi etkinleştirildi." -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "Takvim eşitlemesi duraklatıldı." -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "Takvim eşitlemesi güncellenemedi: {}" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "CalDAV bağlandı ve ilk eşitleme başladı." -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "CalDAV bağlanamadı: {}" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "CardDAV bağlandı ve ilk eşitleme başladı." -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "CardDAV bağlanamadı: {}" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "CardDAV eşitlemesi etkinleştirildi." -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "CardDAV eşitlemesi duraklatıldı." -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "CardDAV eşitlemesi güncellenemedi: {}" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "CardDAV bağlantısı kesildi." -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "CardDAV bağlantısı kesilemedi: {}" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "Yedek oluşturmadan önce bir hesap bağlayın." -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "Flectar Mail hesap yedeğini dışa aktar" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "Flectar Mail yedeği" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "Veritabanı anlık görüntüsünün nereye aktarılacağını seçin" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "Yedek dışa aktarıldı. Parolalar ve OAuth belirteçleri dahil edilmedi." -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "Yedek dışa aktarılamadı: {}" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "Yerel veri deposu kullanılamıyor. Başlatmayı yeniden deneyin." -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "Doğrulanmış veritabanı anlık görüntüsü oluşturuluyor…" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "Tüm yerel Flectar Mail verileri silindi." -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "Tüm yerel veriler silinemedi: {}" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "Yerel hesaplar ve önbellek verileri siliniyor…" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "Arka plan e-posta yenilemesi başarısız: {}" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "Bu klasörde konuşma yok" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "Bu aramayla eşleşen konuşma yok" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "E-posta çekirdeği hesap eşitlemesi ve ileti işlemleri için hazır." -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "Büyük ileti uyumluluk modunda görüntülendi." -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "E-postanın yazılımla görüntülenmesi başarısız oldu: {}" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "GPU hatasından sonra yazılım yedeğiyle görüntülendi: {}" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Blitz oluşturması başarısız (GPU: {}; yazılım: {})" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "Bir ad, e-posta adresi veya telefon numarası girin, ardından kaydedin." -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "Kaydedilemedi: kişi deposu kullanılamıyor." -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "Kişi kaydedilemedi: {}" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "Kişi kaydedildi." -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "Kişilere kaydedildi." -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "Silinemedi: kişi deposu kullanılamıyor." -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "Kişi silinemedi: {}" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "Kişi silindi." -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "Kişiler yüklenemedi: {}" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "Yerel kişi deposu hâlâ başlıyor…" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "Kişiler yükleniyor…" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "Yerel takvim" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "Takvim" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "Takvim yüklenemedi: {}" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "Takvim gösteriliyor ve eşitleniyor." -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "Takvim gizlendi ve eşitleme duraklatıldı." -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "Takvim güncellemesi başarısız: {}" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "Yalnızca Flectar Mail'de oluşturulan etkinlikler düzenlenebilir." -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "Yalnızca Flectar Mail'de oluşturulan etkinlikler silinebilir." -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "Takvim deposu kullanılamıyor." -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "Etkinlik silinemedi: {}" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "Etkinlik silindi, ancak yenileme başarısız: {}" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "Etkinlik silindi." -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "Tarih için YYYY-AA-GG biçimini ve {} gibi bir saat kullanın." -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "Etkinlik süresi dakika cinsinden bir sayı olmalıdır." -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "Bir başlık ekleyin ve 15 ile 1440 dakika arasında bir süre seçin." -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "Bu yerel saat geçerli saat diliminde mevcut değil." -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "Etkinlik kaydedilemedi: {}" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "Etkinlik kaydedildi, ancak yenileme başarısız: {}" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "" "Etkinlik kaydedildi. Sağlayıcı eşitlemesi etkinleştirildiğinde çalışacak." -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "E-posta kaynağı görüntülenemedi: {}" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "İleti yenilemesi başarısız: {}" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "İleti yüklenemedi: {}" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." @@ -1216,309 +1234,309 @@ msgstr "" "Yerel posta kutunuz açılamadı. Hiçbir hesap işlemi başlatılmadı. Yeniden " "deneyin veya destek için tanılama bilgilerini kopyalayın." -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "Yerel depolama başlatılamadı." -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "Sürüklenen hesap tanımlanamadı." -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "Hesap sıralaması yerel e-posta verisi gerektirir." -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "Yeniden sıralanacak hesap bulunamadı." -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "Hesap sırası kaydediliyor…" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "Gönderilen kopya ayarları yerel posta verileri gerektirir." -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "Gönderilen kopya ayarları güncelleniyor…" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "Gönderilen kopya ayarları güncellendi." -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "Gönderilen kopya ayarları güncellenemedi: {}" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "E-posta geçmişi yerel e-posta verisi gerektirir." -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "E-posta geçmişi güncelleniyor…" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "Uzak görseller bu minimal derlemede kullanılamıyor." -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "Uzak görsel ayarı kaydedilemedi: {}" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "Uzak gönderen simgeleri kullanılamıyor: {}" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "Uzak görseller kullanılamıyor: {}" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "Gövde içi uzak görseller ve gönderen favikonları etkinleştirildi." -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "Uzak görseller engellendi." -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "İleti görselleri yenilenemedi: {}" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "Uzak görsel yükleme devre dışı." -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "İleti görselleri yüklenemedi: {}" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "Eşitleme tamamlandı, yenileme başarısız: {}" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "Eşitleme tamamlandı." -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "Eşitleme başarısız: {}" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "Yerel e-posta verisi kullanılamıyor; önizleme verisi salt okunur." -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "Hesaplar eşitleniyor…" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "İleti işlemi tamamlandı." -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "İleti işlemi başarısız: {}" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "İleti işlemi başarısız: ileti artık mevcut değil" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "Etiket eklendi." -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "Etiket kaldırıldı." -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "Etiket oluşturuldu ve eklendi." -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "Etiket oluşturuldu." -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "Etiket güncellendi." -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "Etiket silindi." -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "Etiket güncellenemedi: {}" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "Etiket kaydedilemedi: {}" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "Etiket silinemedi: {}" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "Klasör oluşturuldu." -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "Klasör yeniden adlandırıldı." -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "Klasör silindi." -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "Klasör oluşturulamadı: {}" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "Klasör yeniden adlandırılamadı: {}" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "Klasör silinemedi: {}" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "Önizleme kapatılamadı: {}" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "Sistem yazdırma görünümü açıldı." -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "İleti yazdırılamadı: {}" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "İleti tarayıcınızda açıldı." -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "İleti tarayıcıda açılamadı: {}" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "Yanıtlamadan veya iletmeden önce bir hesap bağlayın." -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "Önce bir ileti seçin." -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "Yalnızca taslaklar düzenlenmek üzere yeniden açılabilir." -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "Taslak açılamadı: {}" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "Taslak açılamadı: geçersiz hesap tanımlayıcısı" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "Bağlı hesap" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "Oluşturucu açılamadı: {}" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "Oluşturucu açılamadı: geçersiz hesap tanımlayıcısı" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "{} tarihinde {} şunu yazdı:" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "{} şunu yazdı:" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "İletilen ileti" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "Kimden: {}" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "Tarih: {}" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "Konu: {}" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "Kime: {}" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "Bu e-postaya dosya ekleyin" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "Ekler eklenemedi: {}" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "1 ek eklendi." -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "{} ek eklendi." -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." @@ -1526,123 +1544,123 @@ msgstr "" "Eklenen ekler: {}. Atlananlar: {} (yinelenen, okunamayan veya toplam 25 MB " "sınırını aşan)." -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "Ek kaldırıldı." -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "Bu iletinin hangi hesaptan gönderileceğini seçin." -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "Bu ileti için doğrulanmış bir gönderen kimliği seçin." -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "E-posta kaydetmeden veya göndermeden önce bir hesap bağlayın." -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "İleti gönderilmek üzere kuyruğa alındı (eylem {})." -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "İleti gönderiliyor…" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "İleti gönderildi." -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "İleti gönderilemedi: {} Taslağınız korunuyor." -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "Taslak yerel olarak kaydedildi (#{})." -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "Oluşturma başarısız: {}" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "E-posta şablonlarını yönetmeden önce bir hesap bağlayın." -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "E-posta şablonları yüklenemedi: {}" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "Bir şablon adı girin." -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "Şablona bir konu veya ileti ekleyin." -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "E-posta şablonu kaydedildi." -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "E-posta şablonu kaydedilemedi: {}" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "E-posta şablonu silindi." -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "E-posta şablonu silinemedi: {}" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "E-posta şablonu artık mevcut değil." -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "E-posta şablonu eklendi." -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "E-posta şablonu eklendi, ancak kullanımı kaydedilemedi: {}" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "IMAP bağlantı noktası 1 ile 65535 arasında olmalıdır." -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "SMTP bağlantı noktası 1 ile 65535 arasında olmalıdır." -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "Yerel e-posta verisi kullanılamıyor. Başlatmayı yeniden deneyin." -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "JMAP keşfediliyor ve yetenekler denetleniyor…" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "Sertifika içe aktarıldı. Sunucuyu doğrulamak için bağlanın." -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "Hesap tercihleri yüklenemedi: {}" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1650,19 +1668,19 @@ msgstr "" "Düzenlediğiniz imza korundu. Başka birini eklemeden önce onu ileti metni " "olarak tutmak için İmza yok'u seçin." -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "Sertifika içe aktarılamadı: {}" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "IMAP ve SMTP bağlantıları sınanıyor…" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." @@ -1670,145 +1688,145 @@ msgstr "" "Başka bir tarayıcı yetkilendirmesi zaten sürüyor; onu bitirin veya İptal'i " "seçin." -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "" "Bu sağlayıcıyı etkinleştirmek için Oturum açma ayarlarında uygulama " "anahtarları ekleyin." -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "Gmail veya Outlook OAuth seçin." -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "Oturum açmayı tarayıcınızda tamamlayın veya burada İptal'i seçin." -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "Tarayıcıyla oturum açma iptal ediliyor…" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "Tarayıcıyla oturum açma tamamlanıyor…" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "O tarayıcı adresi kullanılamadı: {}" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "Takvim çekirdeği kullanılamıyor." -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "Hesap artık yok." -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "Takvim erişimini tarayıcınızda yetkilendirin." -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "OAuth uygulama anahtarları kaydedildi." -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "{} OAuth ayarları kaydedildi." -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "OAuth ayarları başarısız: {}" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "E-posta yenilemesi başarısız: {}" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "E-posta filtresi başarısız: {}" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "E-posta sayfalaması başarısız: {}" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "İleti okundu olarak işaretlenemedi: {}" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "İleti yükleniyor…" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "Genel Etiketler (yalnızca yerel)" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "Kalıcı olarak silinsin mi?" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "Bu işlem geri alınamaz." -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "Kalıcı olarak sil" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "Posta kutusu başlatılamadı" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail yerel depolamayı açamadı" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "Tanılama kimliği: {}" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "Tanılama kimliği {}" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "Yeniden dene" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "Tanılama bilgilerini kopyala" @@ -2659,35 +2677,35 @@ msgstr "Yeni ileti" msgid "Account" msgstr "Hesap" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "Kime" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "ad@ornek.com · virgülle ayırın" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "Cc" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "Karbon kopya" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "Bcc" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "Gizli karbon kopya" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "Konu" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "Bu e-posta ne hakkında?" diff --git a/lang/zh_Hans/LC_MESSAGES/flectar-mail.po b/lang/zh_Hans/LC_MESSAGES/flectar-mail.po index 6f5c143a..750bc2f9 100644 --- a/lang/zh_Hans/LC_MESSAGES/flectar-mail.po +++ b/lang/zh_Hans/LC_MESSAGES/flectar-mail.po @@ -386,7 +386,7 @@ msgstr "有往来邮件记录" msgid "New address-book entry" msgstr "新建通讯录条目" -#: ui/app.slint:179 ui/app.slint:1037 ui/components/composer-fields.slint:66 +#: ui/app.slint:179 ui/app.slint:1041 ui/components/composer-fields.slint:66 #: ui/dialogs/compose-dialog.slint:37 msgid "No connected account" msgstr "未连接账户" @@ -400,11 +400,11 @@ msgstr[0] "{n} 次互动" msgid "Last contacted {}" msgstr "上次联系于 {}" -#: ui/app.slint:184 ui/app.slint:447 +#: ui/app.slint:184 ui/app.slint:451 msgid "Loading local data…" msgstr "正在加载本地数据…" -#: ui/app.slint:185 ui/app.slint:448 +#: ui/app.slint:185 ui/app.slint:452 msgid "Local data ready." msgstr "本地数据已就绪。" @@ -737,905 +737,923 @@ msgid "Could not open link: {}" msgstr "无法打开链接:{}" #: ui/app.slint:305 +msgid "This email link is too long to open." +msgstr "" + +#: ui/app.slint:306 +msgid "The email link will open when you close this message." +msgstr "" + +#: ui/app.slint:307 +msgid "The message you were writing was saved to Drafts." +msgstr "" + +#: ui/app.slint:308 +msgid "" +"Files from links are never attached for you. Attach them yourself if you " +"trust them: {}" +msgstr "" + +#: ui/app.slint:309 msgid "Copied HTML source" msgstr "已复制 HTML 源码" -#: ui/app.slint:306 +#: ui/app.slint:310 msgid "Copied selected text" msgstr "已复制选中文本" -#: ui/app.slint:307 +#: ui/app.slint:311 msgid "Copied email text" msgstr "已复制邮件正文" -#: ui/app.slint:308 +#: ui/app.slint:312 msgid "Copied link" msgstr "已复制链接" -#: ui/app.slint:309 +#: ui/app.slint:313 msgid "Blitz software selection render failed: {}" msgstr "Blitz 软件方式渲染选区失败:{}" -#: ui/app.slint:310 +#: ui/app.slint:314 msgid "Blitz software tile render failed: {}" msgstr "Blitz 软件方式渲染分块失败:{}" -#: ui/app.slint:311 +#: ui/app.slint:315 msgid "Message ready." msgstr "邮件已就绪。" -#: ui/app.slint:312 +#: ui/app.slint:316 msgid "System tray behavior is unavailable in this package." msgstr "当前版本不支持系统托盘行为。" -#: ui/app.slint:313 +#: ui/app.slint:317 msgid "Close-to-tray is active for this session." msgstr "关闭时最小化到托盘仅在本次会话中生效。" -#: ui/app.slint:314 +#: ui/app.slint:318 msgid "Saving close behavior…" msgstr "正在保存关闭行为…" -#: ui/app.slint:315 +#: ui/app.slint:319 msgid "Closing the window will now keep Flectar Mail in the tray." msgstr "现在关闭窗口会将 Flectar Mail 保留在托盘中。" -#: ui/app.slint:316 +#: ui/app.slint:320 msgid "Closing the window will now quit Flectar Mail." msgstr "现在关闭窗口将退出 Flectar Mail。" -#: ui/app.slint:317 +#: ui/app.slint:321 msgid "Could not save close behavior: {}" msgstr "无法保存关闭行为:{}" -#: ui/app.slint:318 +#: ui/app.slint:322 msgid "Flectar Mail will start when you sign in." msgstr "Flectar Mail 将在您登录时启动。" -#: ui/app.slint:319 +#: ui/app.slint:323 msgid "Flectar Mail will no longer start when you sign in." msgstr "Flectar Mail 将不再在您登录时启动。" -#: ui/app.slint:320 +#: ui/app.slint:324 msgid "Could not change startup behavior: {}" msgstr "无法更改启动行为:{}" -#: ui/app.slint:321 +#: ui/app.slint:325 msgid "Allow Flectar Mail under Login Items in System Settings to finish." msgstr "请在“系统设置”的“登录项”中允许 Flectar Mail 以完成设置。" -#: ui/app.slint:322 +#: ui/app.slint:326 msgid "Turn on Flectar Mail under Startup apps in Windows Settings to finish." msgstr "" -#: ui/app.slint:327 +#: ui/app.slint:331 msgid "Database snapshot exported to {}." msgstr "数据库快照已导出至 {}。" -#: ui/app.slint:328 +#: ui/app.slint:332 msgid "Choose where to export the mail" msgstr "" -#: ui/app.slint:329 +#: ui/app.slint:333 msgid "Exporting mail…" msgstr "" -#: ui/app.slint:330 +#: ui/app.slint:334 msgid "Mail exported to {}." msgstr "" -#: ui/app.slint:331 +#: ui/app.slint:335 msgid "" "Mail exported to {}. Some messages could not be found on this device or the " "mail server." msgstr "" -#: ui/app.slint:332 +#: ui/app.slint:336 msgid "Could not export mail: {}" msgstr "" -#: ui/app.slint:333 +#: ui/app.slint:337 msgid "Could not export database snapshot: {}" msgstr "无法导出数据库快照:{}" -#: ui/app.slint:334 +#: ui/app.slint:338 msgid "Account order saved." msgstr "账户顺序已保存。" -#: ui/app.slint:335 +#: ui/app.slint:339 msgid "Could not save account order: {}" msgstr "无法保存账户顺序:{}" -#: ui/app.slint:336 +#: ui/app.slint:340 msgid "Mail history updated. Background sync is adjusting now." msgstr "邮件同步范围已更新,后台同步正在调整。" -#: ui/app.slint:337 +#: ui/app.slint:341 msgid "Account removed from this device." msgstr "账户已从此设备移除。" -#: ui/app.slint:338 +#: ui/app.slint:342 msgid "Account removed. Mail refresh will retry." msgstr "账户已移除,邮件刷新将重试。" -#: ui/app.slint:339 +#: ui/app.slint:343 msgid "Account removed; local cleanup needs a retry: {}" msgstr "账户已移除,但本地清理需要重试:{}" -#: ui/app.slint:340 +#: ui/app.slint:344 msgid "Could not remove account: {}" msgstr "无法移除账户:{}" -#: ui/app.slint:341 +#: ui/app.slint:345 msgid "Removing account…" msgstr "正在移除账户…" -#: ui/app.slint:342 +#: ui/app.slint:346 msgid "Deleting mail on this device…" msgstr "" -#: ui/app.slint:343 +#: ui/app.slint:347 msgid "Mail on this device deleted." msgstr "" -#: ui/app.slint:344 +#: ui/app.slint:348 msgid "Mail on this device deleted. Mail refresh will retry." msgstr "" -#: ui/app.slint:345 +#: ui/app.slint:349 msgid "Mail on this device deleted; local cleanup needs a retry: {}" msgstr "" -#: ui/app.slint:346 +#: ui/app.slint:350 msgid "Could not delete mail on this device: {}" msgstr "" -#: ui/app.slint:347 +#: ui/app.slint:351 msgid "Synchronizing account…" msgstr "正在同步账户…" -#: ui/app.slint:348 +#: ui/app.slint:352 msgid "Could not update mail history: {}" msgstr "无法更新邮件同步范围:{}" -#: ui/app.slint:349 +#: ui/app.slint:353 msgid "Connected {}. Initial sync is running in the background." msgstr "已连接 {},首次同步正在后台运行。" -#: ui/app.slint:350 +#: ui/app.slint:354 msgid "Account setup failed: {}" msgstr "账户设置失败:{}" -#: ui/app.slint:351 +#: ui/app.slint:355 msgid "OAuth failed: {}" msgstr "OAuth 授权失败:{}" -#: ui/app.slint:352 +#: ui/app.slint:356 msgid "Reconnected {}. Synchronization is resuming." msgstr "已重新连接 {},同步正在恢复。" -#: ui/app.slint:353 +#: ui/app.slint:357 msgid "Reconnection failed: {}" msgstr "重新连接失败:{}" -#: ui/app.slint:354 +#: ui/app.slint:358 msgid "Calendar connected and initial sync started." msgstr "日历已连接,首次同步已开始。" -#: ui/app.slint:355 ui/components/account-calendars.slint:270 +#: ui/app.slint:359 ui/components/account-calendars.slint:270 msgid "Could not connect calendar: {}" msgstr "无法连接日历:{}" -#: ui/app.slint:356 +#: ui/app.slint:360 msgid "Calendar sync enabled." msgstr "日历同步已启用。" -#: ui/app.slint:357 +#: ui/app.slint:361 msgid "Calendar sync paused." msgstr "日历同步已暂停。" -#: ui/app.slint:358 +#: ui/app.slint:362 msgid "Could not update calendar sync: {}" msgstr "无法更新日历同步:{}" -#: ui/app.slint:359 +#: ui/app.slint:363 msgid "CalDAV connected and initial sync started." msgstr "CalDAV 已连接,首次同步已开始。" -#: ui/app.slint:360 +#: ui/app.slint:364 msgid "Could not connect CalDAV: {}" msgstr "无法连接 CalDAV:{}" -#: ui/app.slint:361 +#: ui/app.slint:365 msgid "Calendar removed." msgstr "" -#: ui/app.slint:362 +#: ui/app.slint:366 msgid "Could not remove calendar: {}" msgstr "" -#: ui/app.slint:363 +#: ui/app.slint:367 msgid "CardDAV connected and initial sync started." msgstr "CardDAV 已连接,首次同步已开始。" -#: ui/app.slint:364 +#: ui/app.slint:368 msgid "Could not connect CardDAV: {}" msgstr "无法连接 CardDAV:{}" -#: ui/app.slint:365 +#: ui/app.slint:369 msgid "CardDAV sync enabled." msgstr "CardDAV 同步已启用。" -#: ui/app.slint:366 +#: ui/app.slint:370 msgid "CardDAV sync paused." msgstr "CardDAV 同步已暂停。" -#: ui/app.slint:367 +#: ui/app.slint:371 msgid "Could not update CardDAV sync: {}" msgstr "无法更新 CardDAV 同步:{}" -#: ui/app.slint:368 +#: ui/app.slint:372 msgid "CardDAV disconnected." msgstr "CardDAV 已断开连接。" -#: ui/app.slint:369 +#: ui/app.slint:373 msgid "Could not disconnect CardDAV: {}" msgstr "无法断开 CardDAV:{}" -#: ui/app.slint:374 +#: ui/app.slint:378 msgid "Connect an account before creating a backup." msgstr "请先连接账户再创建备份。" -#: ui/app.slint:375 +#: ui/app.slint:379 msgid "Export Flectar Mail account backup" msgstr "导出 Flectar Mail 账户备份" -#: ui/app.slint:376 +#: ui/app.slint:380 msgid "Flectar Mail backup" msgstr "Flectar Mail 备份" -#: ui/app.slint:377 ui/dialogs/import-dialog.slint:407 +#: ui/app.slint:381 ui/dialogs/import-dialog.slint:407 #: ui/views/onboarding-view.slint:223 msgid "Import accounts and mail" msgstr "" -#: ui/app.slint:378 +#: ui/app.slint:382 msgid "Choose a Thunderbird profile or a folder of mail" msgstr "" -#: ui/app.slint:379 +#: ui/app.slint:383 msgid "Imported messages" msgstr "" -#: ui/app.slint:380 +#: ui/app.slint:384 msgid "Choose where to export the database snapshot" msgstr "选择数据库快照的导出位置" -#: ui/app.slint:381 +#: ui/app.slint:385 msgid "Backup exported. Passwords and OAuth tokens were not included." msgstr "备份已导出,其中不包含密码和 OAuth 令牌。" -#: ui/app.slint:382 +#: ui/app.slint:386 msgid "Could not export backup: {}" msgstr "无法导出备份:{}" -#: ui/app.slint:383 +#: ui/app.slint:387 msgid "Local data storage is unavailable. Retry startup." msgstr "本地数据存储不可用,请重新启动。" -#: ui/app.slint:384 +#: ui/app.slint:388 msgid "Creating verified database snapshot…" msgstr "正在创建已验证的数据库快照…" -#: ui/app.slint:385 +#: ui/app.slint:389 msgid "All local Flectar Mail data was deleted." msgstr "Flectar Mail 的全部本地数据已删除。" -#: ui/app.slint:386 +#: ui/app.slint:390 msgid "Could not delete all local data: {}" msgstr "无法删除全部本地数据:{}" -#: ui/app.slint:387 +#: ui/app.slint:391 msgid "Deleting local accounts and cached data…" msgstr "正在删除本地账户和缓存数据…" -#: ui/app.slint:392 +#: ui/app.slint:396 msgid "Background mail refresh failed: {}" msgstr "后台邮件刷新失败:{}" -#: ui/app.slint:393 +#: ui/app.slint:397 msgid "No conversations in this folder" msgstr "此文件夹中没有会话" -#: ui/app.slint:394 +#: ui/app.slint:398 msgid "No conversations match this search" msgstr "没有符合该搜索条件的会话" -#: ui/app.slint:395 +#: ui/app.slint:399 msgid "Mail core is ready for account synchronization and message actions." msgstr "邮件核心已就绪,可进行账户同步和邮件操作。" -#: ui/app.slint:396 +#: ui/app.slint:400 msgid "Large message rendered in compatibility mode." msgstr "大型邮件已使用兼容模式渲染。" -#: ui/app.slint:397 +#: ui/app.slint:401 msgid "Software email render failed: {}" msgstr "软件方式渲染邮件失败:{}" -#: ui/app.slint:398 +#: ui/app.slint:402 msgid "Rendered with software fallback after GPU error: {}" msgstr "GPU 出错后已改用软件方式渲染:{}" -#: ui/app.slint:399 +#: ui/app.slint:403 msgid "Blitz render failed (GPU: {}; software: {})" msgstr "Blitz 渲染失败(GPU:{};软件:{})" -#: ui/app.slint:404 +#: ui/app.slint:408 msgid "Enter a name, email address, or phone number, then save." msgstr "输入姓名、邮箱地址或电话号码,然后保存。" -#: ui/app.slint:405 +#: ui/app.slint:409 msgid "Could not save: contact storage is unavailable." msgstr "无法保存:联系人存储不可用。" -#: ui/app.slint:406 +#: ui/app.slint:410 msgid "Could not save contact: {}" msgstr "无法保存联系人:{}" -#: ui/app.slint:407 +#: ui/app.slint:411 msgid "Contact saved." msgstr "联系人已保存。" -#: ui/app.slint:408 +#: ui/app.slint:412 msgid "Saved to contacts." msgstr "已保存到联系人。" -#: ui/app.slint:409 +#: ui/app.slint:413 msgid "Could not delete: contact storage is unavailable." msgstr "无法删除:联系人存储不可用。" -#: ui/app.slint:410 +#: ui/app.slint:414 msgid "Could not delete contact: {}" msgstr "无法删除联系人:{}" -#: ui/app.slint:411 +#: ui/app.slint:415 msgid "Contact deleted." msgstr "联系人已删除。" -#: ui/app.slint:412 +#: ui/app.slint:416 msgid "Could not load contacts: {}" msgstr "无法加载联系人:{}" -#: ui/app.slint:413 +#: ui/app.slint:417 msgid "Local contact storage is still starting…" msgstr "本地联系人存储仍在启动中…" -#: ui/app.slint:414 +#: ui/app.slint:418 msgid "Loading contacts…" msgstr "正在加载联系人…" -#: ui/app.slint:419 ui/components/calendar-agenda.slint:235 +#: ui/app.slint:423 ui/components/calendar-agenda.slint:235 msgid "Local calendar" msgstr "本地日历" -#: ui/app.slint:420 ui/components/calendar.slint:273 +#: ui/app.slint:424 ui/components/calendar.slint:273 #: ui/components/calendar.slint:321 ui/components/calendar.slint:439 msgid "Calendar" msgstr "日历" -#: ui/app.slint:421 +#: ui/app.slint:425 msgid "Could not load calendar: {}" msgstr "无法加载日历:{}" -#: ui/app.slint:422 +#: ui/app.slint:426 msgid "Calendar shown and syncing." msgstr "日历已显示,正在同步。" -#: ui/app.slint:423 +#: ui/app.slint:427 msgid "Calendar hidden and sync paused." msgstr "日历已隐藏,同步已暂停。" -#: ui/app.slint:424 +#: ui/app.slint:428 msgid "Calendar update failed: {}" msgstr "日历更新失败:{}" -#: ui/app.slint:425 +#: ui/app.slint:429 msgid "Only events created in Flectar Mail can be edited." msgstr "只能编辑在 Flectar Mail 中创建的日程。" -#: ui/app.slint:426 +#: ui/app.slint:430 msgid "Only events created in Flectar Mail can be deleted." msgstr "只能删除在 Flectar Mail 中创建的日程。" -#: ui/app.slint:427 +#: ui/app.slint:431 msgid "Calendar storage is unavailable." msgstr "日历存储不可用。" -#: ui/app.slint:428 +#: ui/app.slint:432 msgid "Could not delete event: {}" msgstr "无法删除日程:{}" -#: ui/app.slint:429 +#: ui/app.slint:433 msgid "Event deleted, but refresh failed: {}" msgstr "日程已删除,但刷新失败:{}" -#: ui/app.slint:430 +#: ui/app.slint:434 msgid "Event deleted." msgstr "日程已删除。" -#: ui/app.slint:431 +#: ui/app.slint:435 msgid "Use YYYY-MM-DD for the date and a time such as {}." msgstr "请使用 YYYY-MM-DD 格式的日期和时间,例如 {}。" -#: ui/app.slint:432 +#: ui/app.slint:436 msgid "Event duration must be a number of minutes." msgstr "日程时长必须是以分钟为单位的数字。" -#: ui/app.slint:433 +#: ui/app.slint:437 msgid "Add a title and choose a duration from 15 to 1440 minutes." msgstr "请填写标题,并选择 15 至 1440 分钟之间的时长。" -#: ui/app.slint:434 +#: ui/app.slint:438 msgid "That local time does not exist in the current time zone." msgstr "该本地时间在当前时区不存在。" -#: ui/app.slint:435 +#: ui/app.slint:439 msgid "Could not save event: {}" msgstr "无法保存日程:{}" -#: ui/app.slint:436 +#: ui/app.slint:440 msgid "Event saved, but refresh failed: {}" msgstr "日程已保存,但刷新失败:{}" -#: ui/app.slint:437 +#: ui/app.slint:441 msgid "Event saved. Provider sync will run when enabled." msgstr "日程已保存。启用服务商同步后将自动同步。" -#: ui/app.slint:442 +#: ui/app.slint:446 msgid "Email resource render failed: {}" msgstr "邮件资源渲染失败:{}" -#: ui/app.slint:443 +#: ui/app.slint:447 msgid "Message refresh failed: {}" msgstr "邮件刷新失败:{}" -#: ui/app.slint:444 +#: ui/app.slint:448 msgid "Message load failed: {}" msgstr "邮件加载失败:{}" -#: ui/app.slint:445 +#: ui/app.slint:449 msgid "" "Your local mailbox could not be opened. No account operation was started. " "Retry, or copy the diagnostics for support." msgstr "" "无法打开本地邮箱,未执行任何账户操作。请重试,或复制诊断信息以寻求支持。" -#: ui/app.slint:446 +#: ui/app.slint:450 msgid "Local storage startup failed." msgstr "本地存储启动失败。" -#: ui/app.slint:453 +#: ui/app.slint:457 msgid "Could not identify the dragged account." msgstr "无法识别所拖动的账户。" -#: ui/app.slint:454 +#: ui/app.slint:458 msgid "Account ordering requires local mail data." msgstr "调整账户顺序需要本地邮件数据。" -#: ui/app.slint:455 +#: ui/app.slint:459 msgid "Could not find the account to reorder." msgstr "找不到要调整顺序的账户。" -#: ui/app.slint:456 +#: ui/app.slint:460 msgid "Saving account order…" msgstr "正在保存账户顺序…" -#: ui/app.slint:457 +#: ui/app.slint:461 msgid "Sent copy settings require local mail data." msgstr "已发送邮件副本设置需要本地邮件数据。" -#: ui/app.slint:458 +#: ui/app.slint:462 msgid "Updating Sent copy settings…" msgstr "正在更新已发送邮件副本设置…" -#: ui/app.slint:459 +#: ui/app.slint:463 msgid "Sent copy settings updated." msgstr "已发送邮件副本设置已更新。" -#: ui/app.slint:460 +#: ui/app.slint:464 msgid "Could not update Sent copy settings: {}" msgstr "无法更新已发送邮件副本设置:{}" -#: ui/app.slint:461 +#: ui/app.slint:465 msgid "Server mail settings require local mail data." msgstr "" -#: ui/app.slint:462 +#: ui/app.slint:466 msgid "Updating server mail settings…" msgstr "" -#: ui/app.slint:463 +#: ui/app.slint:467 msgid "Server mail settings updated." msgstr "" -#: ui/app.slint:464 +#: ui/app.slint:468 msgid "Could not update server mail settings: {}" msgstr "" -#: ui/app.slint:465 +#: ui/app.slint:469 msgid "Mail history requires local mail data." msgstr "设置邮件同步范围需要本地邮件数据。" -#: ui/app.slint:466 +#: ui/app.slint:470 msgid "Updating mail history…" msgstr "正在更新邮件同步范围…" -#: ui/app.slint:467 +#: ui/app.slint:471 msgid "Remote images are unavailable in this minimal build." msgstr "当前精简版本不支持远程图片。" -#: ui/app.slint:468 +#: ui/app.slint:472 msgid "Could not save remote-image setting: {}" msgstr "无法保存远程图片设置:{}" -#: ui/app.slint:469 +#: ui/app.slint:473 msgid "Remote sender icons unavailable: {}" msgstr "远程发件人图标不可用:{}" -#: ui/app.slint:470 +#: ui/app.slint:474 msgid "Remote images unavailable: {}" msgstr "远程图片不可用:{}" -#: ui/app.slint:471 +#: ui/app.slint:475 msgid "Remote body images and sender favicons enabled." msgstr "已启用正文远程图片和发件人网站图标。" -#: ui/app.slint:472 +#: ui/app.slint:476 msgid "Remote images blocked." msgstr "远程图片已阻止。" -#: ui/app.slint:473 +#: ui/app.slint:477 msgid "Could not refresh message images: {}" msgstr "无法刷新邮件图片:{}" -#: ui/app.slint:474 +#: ui/app.slint:478 msgid "Remote-image loading is disabled." msgstr "远程图片加载已禁用。" -#: ui/app.slint:475 +#: ui/app.slint:479 msgid "Could not load message images: {}" msgstr "无法加载邮件图片:{}" -#: ui/app.slint:476 +#: ui/app.slint:480 msgid "Sync finished, refresh failed: {}" msgstr "同步已完成,但刷新失败:{}" -#: ui/app.slint:477 +#: ui/app.slint:481 msgid "Sync complete." msgstr "同步完成。" -#: ui/app.slint:478 +#: ui/app.slint:482 msgid "Sync failed: {}" msgstr "同步失败:{}" -#: ui/app.slint:479 +#: ui/app.slint:483 msgid "Local mail data is unavailable; preview data is read-only." msgstr "本地邮件数据不可用,预览数据为只读。" -#: ui/app.slint:480 +#: ui/app.slint:484 msgid "Synchronizing accounts…" msgstr "正在同步账户…" -#: ui/app.slint:485 +#: ui/app.slint:489 msgid "Message action completed." msgstr "邮件操作已完成。" -#: ui/app.slint:486 +#: ui/app.slint:490 msgid "" "Permanent deletion queued. Mail will disappear after the server confirms." msgstr "已添加到永久删除队列。邮件将在服务器确认后消失。" -#: ui/app.slint:487 +#: ui/app.slint:491 msgid "Message action failed: {}" msgstr "邮件操作失败:{}" -#: ui/app.slint:488 +#: ui/app.slint:492 msgid "Message action failed: message is no longer available" msgstr "邮件操作失败:邮件已不存在" -#: ui/app.slint:489 +#: ui/app.slint:493 msgid "Label added." msgstr "标签已添加。" -#: ui/app.slint:490 +#: ui/app.slint:494 msgid "Label removed." msgstr "标签已移除。" -#: ui/app.slint:491 +#: ui/app.slint:495 msgid "Label created and added." msgstr "标签已创建并添加。" -#: ui/app.slint:492 +#: ui/app.slint:496 msgid "Label created." msgstr "标签已创建。" -#: ui/app.slint:493 +#: ui/app.slint:497 msgid "Label updated." msgstr "标签已更新。" -#: ui/app.slint:494 +#: ui/app.slint:498 msgid "Label deleted." msgstr "标签已删除。" -#: ui/app.slint:495 +#: ui/app.slint:499 msgid "Could not update label: {}" msgstr "无法更新标签:{}" -#: ui/app.slint:496 +#: ui/app.slint:500 msgid "Could not save label: {}" msgstr "无法保存标签:{}" -#: ui/app.slint:497 +#: ui/app.slint:501 msgid "Could not delete label: {}" msgstr "无法删除标签:{}" -#: ui/app.slint:498 +#: ui/app.slint:502 msgid "Folder created." msgstr "文件夹已创建。" -#: ui/app.slint:499 +#: ui/app.slint:503 msgid "Folder renamed." msgstr "文件夹已重命名。" -#: ui/app.slint:500 +#: ui/app.slint:504 msgid "Folder deleted." msgstr "文件夹已删除。" -#: ui/app.slint:501 +#: ui/app.slint:505 msgid "Could not create folder: {}" msgstr "无法创建文件夹:{}" -#: ui/app.slint:502 +#: ui/app.slint:506 msgid "Could not rename folder: {}" msgstr "无法重命名文件夹:{}" -#: ui/app.slint:503 +#: ui/app.slint:507 msgid "Could not delete folder: {}" msgstr "无法删除文件夹:{}" -#: ui/app.slint:504 +#: ui/app.slint:508 msgid "Could not close preview: {}" msgstr "无法关闭预览:{}" -#: ui/app.slint:505 +#: ui/app.slint:509 msgid "Opened the system print view." msgstr "已打开系统打印视图。" -#: ui/app.slint:506 +#: ui/app.slint:510 msgid "Could not print message: {}" msgstr "无法打印邮件:{}" -#: ui/app.slint:507 +#: ui/app.slint:511 msgid "Opened the message in your browser." msgstr "已在浏览器中打开该邮件。" -#: ui/app.slint:508 +#: ui/app.slint:512 msgid "Could not open message in browser: {}" msgstr "无法在浏览器中打开邮件:{}" -#: ui/app.slint:509 +#: ui/app.slint:513 msgid "Connect an account before replying or forwarding." msgstr "请先连接账户再进行回复或转发。" -#: ui/app.slint:510 +#: ui/app.slint:514 msgid "Choose a message first." msgstr "请先选择一封邮件。" -#: ui/app.slint:511 +#: ui/app.slint:515 msgid "Only drafts can be reopened for editing." msgstr "只有草稿箱中的邮件可以重新编辑。" -#: ui/app.slint:512 +#: ui/app.slint:516 msgid "Could not open draft: {}" msgstr "无法打开草稿:{}" -#: ui/app.slint:513 +#: ui/app.slint:517 msgid "Could not open draft: invalid account identifier" msgstr "无法打开草稿:账户标识无效" -#: ui/app.slint:514 +#: ui/app.slint:518 msgid "Connected account" msgstr "已连接账户" -#: ui/app.slint:515 +#: ui/app.slint:519 msgid "Could not open composer: {}" msgstr "无法打开邮件编辑器:{}" -#: ui/app.slint:516 +#: ui/app.slint:520 msgid "Add an account to send mail." msgstr "" -#: ui/app.slint:517 ui/components/sidebar.slint:514 +#: ui/app.slint:521 ui/components/sidebar.slint:514 msgid "On this device" msgstr "" -#: ui/app.slint:518 +#: ui/app.slint:522 msgid "Could not open composer: invalid account identifier" msgstr "无法打开邮件编辑器:账户标识无效" #. Reply and forward quotation headers, written into the draft. -#: ui/app.slint:524 +#: ui/app.slint:528 msgid "On {}, {} wrote:" msgstr "{},{} 写道:" -#: ui/app.slint:525 +#: ui/app.slint:529 msgid "{} wrote:" msgstr "{} 写道:" -#: ui/app.slint:526 +#: ui/app.slint:530 msgid "Forwarded message" msgstr "转发的邮件" -#: ui/app.slint:527 +#: ui/app.slint:531 msgctxt "forwarded message header" msgid "From: {}" msgstr "发件人:{}" -#: ui/app.slint:528 +#: ui/app.slint:532 msgctxt "forwarded message header" msgid "Date: {}" msgstr "日期:{}" -#: ui/app.slint:529 +#: ui/app.slint:533 msgctxt "forwarded message header" msgid "Subject: {}" msgstr "主题:{}" -#: ui/app.slint:530 +#: ui/app.slint:534 msgctxt "forwarded message header" msgid "To: {}" msgstr "收件人:{}" -#: ui/app.slint:531 +#: ui/app.slint:535 msgid "Attach files to this email" msgstr "为此邮件添加附件" -#: ui/app.slint:532 +#: ui/app.slint:536 msgid "Could not add attachments: {}" msgstr "无法添加附件:{}" -#: ui/app.slint:533 +#: ui/app.slint:537 msgid "Added 1 attachment." msgstr "已添加 1 个附件。" -#: ui/app.slint:534 +#: ui/app.slint:538 msgid "Added {} attachments." msgstr "已添加 {} 个附件。" -#: ui/app.slint:535 +#: ui/app.slint:539 msgid "" "Attachments added: {}. Skipped: {} (duplicate, unreadable, or over the 25 MB " "total limit)." msgstr "已添加 {} 个附件,跳过 {} 个(重复、无法读取或超过 25 MB 总量上限)。" -#: ui/app.slint:536 +#: ui/app.slint:540 msgid "Attachment removed." msgstr "附件已移除。" -#: ui/app.slint:537 +#: ui/app.slint:541 msgid "Choose the account this message should be sent from." msgstr "选择发送此邮件的账户。" -#: ui/app.slint:538 +#: ui/app.slint:542 msgid "Choose a verified sender identity for this message." msgstr "为此邮件选择已验证的发件人身份。" -#: ui/app.slint:539 +#: ui/app.slint:543 msgid "Connect an account before saving or sending mail." msgstr "请先连接账户再保存或发送邮件。" -#: ui/app.slint:540 +#: ui/app.slint:544 msgid "Message queued for delivery (action {})." msgstr "邮件已加入发送队列(操作 {})。" -#: ui/app.slint:541 +#: ui/app.slint:545 msgid "Sending message…" msgstr "正在发送邮件…" -#: ui/app.slint:542 +#: ui/app.slint:546 msgid "Message sent." msgstr "邮件已发送。" -#: ui/app.slint:543 +#: ui/app.slint:547 msgid "Message was not sent: {} Your draft is preserved." msgstr "邮件未发送:{} 草稿已保留。" -#: ui/app.slint:544 +#: ui/app.slint:548 msgid "Draft saved locally (#{})." msgstr "草稿已保存到本地(#{})。" -#: ui/app.slint:545 +#: ui/app.slint:549 msgid "Compose failed: {}" msgstr "撰写邮件失败:{}" -#: ui/app.slint:546 +#: ui/app.slint:550 msgid "Connect an account before managing email templates." msgstr "请先连接账户再管理邮件模板。" -#: ui/app.slint:547 +#: ui/app.slint:551 msgid "Could not load email templates: {}" msgstr "无法加载邮件模板:{}" -#: ui/app.slint:548 +#: ui/app.slint:552 msgid "Enter a template name." msgstr "请输入模板名称。" -#: ui/app.slint:549 +#: ui/app.slint:553 msgid "Add a subject or message to the template." msgstr "请为模板添加主题或正文。" -#: ui/app.slint:550 +#: ui/app.slint:554 msgid "Email template saved." msgstr "邮件模板已保存。" -#: ui/app.slint:551 +#: ui/app.slint:555 msgid "Could not save email template: {}" msgstr "无法保存邮件模板:{}" -#: ui/app.slint:552 +#: ui/app.slint:556 msgid "Email template deleted." msgstr "邮件模板已删除。" -#: ui/app.slint:553 +#: ui/app.slint:557 msgid "Could not delete email template: {}" msgstr "无法删除邮件模板:{}" -#: ui/app.slint:554 +#: ui/app.slint:558 msgid "Email template is no longer available." msgstr "邮件模板已不存在。" -#: ui/app.slint:555 +#: ui/app.slint:559 msgid "Email template inserted." msgstr "邮件模板已插入。" -#: ui/app.slint:556 +#: ui/app.slint:560 msgid "Email template inserted, but its usage could not be saved: {}" msgstr "邮件模板已插入,但无法记录其使用情况:{}" -#: ui/app.slint:557 +#: ui/app.slint:561 msgid "Choose a supported account type and connection security." msgstr "" -#: ui/app.slint:558 +#: ui/app.slint:562 msgid "IMAP port must be between 1 and 65535." msgstr "IMAP 端口必须在 1 到 65535 之间。" -#: ui/app.slint:559 +#: ui/app.slint:563 msgid "POP3 port must be between 1 and 65535." msgstr "" -#: ui/app.slint:560 +#: ui/app.slint:564 msgid "SMTP port must be between 1 and 65535." msgstr "SMTP 端口必须在 1 到 65535 之间。" -#: ui/app.slint:561 +#: ui/app.slint:565 msgid "Local mail data is unavailable. Retry startup." msgstr "本地邮件数据不可用,请重新启动。" -#: ui/app.slint:562 +#: ui/app.slint:566 msgid "Discovering JMAP and checking capabilities…" msgstr "正在发现 JMAP 并检查服务能力…" -#: ui/app.slint:563 +#: ui/app.slint:567 msgid "Certificate imported. Connect to verify the server." msgstr "证书已导入。请连接以验证服务器。" -#: ui/app.slint:564 +#: ui/app.slint:568 msgid "Could not load account preferences: {}" msgstr "无法加载账户偏好设置:{}" -#: ui/app.slint:565 +#: ui/app.slint:569 msgid "" "Your edited signature was preserved. Choose No signature to keep it as " "message text before inserting another." @@ -1643,161 +1661,161 @@ msgstr "" "您编辑过的签名已保留。插入其他签名前,请选择“不使用签名”,以便将其保留为邮件" "正文。" -#: ui/app.slint:566 +#: ui/app.slint:570 msgid "Certificate import failed: {}" msgstr "证书导入失败:{}" -#: ui/app.slint:567 +#: ui/app.slint:571 msgid "Testing IMAP and SMTP connections…" msgstr "正在测试 IMAP 和 SMTP 连接…" -#: ui/app.slint:568 +#: ui/app.slint:572 msgid "Testing POP3 and SMTP connections…" msgstr "" -#: ui/app.slint:573 +#: ui/app.slint:577 msgid "" "Another browser authorization is already in progress; finish it or choose " "Cancel." msgstr "已有另一项浏览器授权正在进行,请完成它或选择“取消”。" -#: ui/app.slint:574 ui/dialogs/settings-dialog.slint:1884 +#: ui/app.slint:578 ui/dialogs/settings-dialog.slint:1884 #: ui/dialogs/settings-dialog.slint:1927 ui/views/onboarding-view.slint:161 msgid "Add app keys in Sign-in settings to enable this provider." msgstr "请在“登录设置”中添加应用密钥以启用此服务商。" -#: ui/app.slint:575 +#: ui/app.slint:579 msgid "Choose Gmail or Outlook OAuth." msgstr "请选择 Gmail 或 Outlook OAuth。" -#: ui/app.slint:576 +#: ui/app.slint:580 msgid "Complete sign-in in your browser, or choose Cancel here." msgstr "请在浏览器中完成登录,或在此处选择“取消”。" -#: ui/app.slint:577 +#: ui/app.slint:581 msgid "Cancelling browser sign-in…" msgstr "正在取消浏览器登录…" -#: ui/app.slint:578 +#: ui/app.slint:582 msgid "Finishing browser sign-in…" msgstr "正在完成浏览器登录…" -#: ui/app.slint:579 +#: ui/app.slint:583 msgid "Could not use that browser address: {}" msgstr "无法使用该浏览器地址:{}" -#: ui/app.slint:580 +#: ui/app.slint:584 msgid "Calendar core is unavailable." msgstr "日历核心不可用。" -#: ui/app.slint:581 +#: ui/app.slint:585 msgid "Account no longer exists." msgstr "账户已不存在。" -#: ui/app.slint:582 +#: ui/app.slint:586 msgid "Authorize calendar access in your browser." msgstr "请在浏览器中授权日历访问。" -#: ui/app.slint:583 +#: ui/app.slint:587 msgid "OAuth app keys saved." msgstr "OAuth 应用密钥已保存。" -#: ui/app.slint:584 +#: ui/app.slint:588 msgid "{} OAuth settings saved." msgstr "{} OAuth 设置已保存。" -#: ui/app.slint:585 +#: ui/app.slint:589 msgid "OAuth settings failed: {}" msgstr "OAuth 设置失败:{}" -#: ui/app.slint:586 +#: ui/app.slint:590 msgid "Mail refresh failed: {}" msgstr "邮件刷新失败:{}" -#: ui/app.slint:587 +#: ui/app.slint:591 msgid "Mail filter failed: {}" msgstr "邮件筛选失败:{}" -#: ui/app.slint:588 +#: ui/app.slint:592 msgid "Mail pagination failed: {}" msgstr "邮件分页失败:{}" -#: ui/app.slint:589 +#: ui/app.slint:593 msgid "Could not mark message as read: {}" msgstr "无法将邮件标记为已读:{}" -#: ui/app.slint:590 ui/views/mail-reading-pane.slint:196 +#: ui/app.slint:594 ui/views/mail-reading-pane.slint:196 #: ui/views/mail-reading-pane.slint:1279 msgid "Loading message…" msgstr "正在加载邮件…" -#: ui/app.slint:596 ui/components/workspace-navigation.slint:787 +#: ui/app.slint:600 ui/components/workspace-navigation.slint:787 #: ui/tray.slint:13 ui/tray.slint:14 msgid "Flectar Mail" msgstr "Flectar Mail" -#: ui/app.slint:1270 ui/app.slint:1283 +#: ui/app.slint:1274 ui/app.slint:1287 msgid "Global Labels (local only)" msgstr "全局标签(仅本地)" -#: ui/app.slint:2222 +#: ui/app.slint:2226 msgid "Empty Trash?" msgstr "清空回收站?" -#: ui/app.slint:2222 ui/views/files-view.slint:578 +#: ui/app.slint:2226 ui/views/files-view.slint:578 msgid "Delete permanently?" msgstr "永久删除?" -#: ui/app.slint:2226 +#: ui/app.slint:2230 msgid "" "Permanently delete all messages in Trash across every connected account?" msgstr "永久删除每个已连接帐户的回收站中的所有邮件?" -#: ui/app.slint:2227 +#: ui/app.slint:2231 msgid "Permanently delete all messages in this account’s Trash?" msgstr "是否永久删除此帐户的回收站中的所有邮件?" -#: ui/app.slint:2229 +#: ui/app.slint:2233 msgid "Permanently delete the selected conversations from Trash?" msgstr "是否从回收站中永久删除选定的对话?" -#: ui/app.slint:2230 +#: ui/app.slint:2234 msgid "Permanently delete this conversation from Trash?" msgstr "是否从回收站中永久删除此对话?" -#: ui/app.slint:2231 ui/components/calendar.slint:947 +#: ui/app.slint:2235 ui/components/calendar.slint:947 msgid "This action cannot be undone." msgstr "此操作无法撤销。" -#: ui/app.slint:2232 +#: ui/app.slint:2236 msgid "Empty Trash" msgstr "清空回收站" -#: ui/app.slint:2232 ui/views/files-view.slint:660 +#: ui/app.slint:2236 ui/views/files-view.slint:660 msgid "Delete permanently" msgstr "永久删除" -#: ui/app.slint:2406 +#: ui/app.slint:2410 msgid "Mailbox startup failed" msgstr "邮箱启动失败" -#: ui/app.slint:2412 +#: ui/app.slint:2416 msgid "Flectar Mail could not open local storage" msgstr "Flectar Mail 无法打开本地存储" -#: ui/app.slint:2425 +#: ui/app.slint:2429 msgid "Diagnostic ID: {}" msgstr "诊断 ID:{}" -#: ui/app.slint:2428 +#: ui/app.slint:2432 msgid "Diagnostic ID {}" msgstr "诊断 ID {}" -#: ui/app.slint:2433 +#: ui/app.slint:2437 msgid "Retry" msgstr "重试" -#: ui/app.slint:2441 ui/components/copyable-diagnostic.slint:43 +#: ui/app.slint:2445 ui/components/copyable-diagnostic.slint:43 msgid "Copy diagnostics" msgstr "复制诊断信息" @@ -2638,35 +2656,35 @@ msgstr "新建邮件" msgid "Account" msgstr "账户" -#: ui/components/composer-fields.slint:332 +#: ui/components/composer-fields.slint:336 msgid "To" msgstr "收件人" -#: ui/components/composer-fields.slint:333 +#: ui/components/composer-fields.slint:337 msgid "name@example.com · separate with commas" msgstr "name@example.com · 用逗号分隔" -#: ui/components/composer-fields.slint:359 +#: ui/components/composer-fields.slint:363 msgid "Cc" msgstr "抄送" -#: ui/components/composer-fields.slint:360 +#: ui/components/composer-fields.slint:364 msgid "Carbon copy" msgstr "抄送" -#: ui/components/composer-fields.slint:370 +#: ui/components/composer-fields.slint:374 msgid "Bcc" msgstr "密送" -#: ui/components/composer-fields.slint:371 +#: ui/components/composer-fields.slint:375 msgid "Blind carbon copy" msgstr "密送" -#: ui/components/composer-fields.slint:459 +#: ui/components/composer-fields.slint:463 msgid "Subject" msgstr "主题" -#: ui/components/composer-fields.slint:471 +#: ui/components/composer-fields.slint:475 msgid "What is this email about?" msgstr "这封邮件是关于什么的?" diff --git a/src/account_controller.rs b/src/account_controller.rs index 1f5db5cf..d4303805 100644 --- a/src/account_controller.rs +++ b/src/account_controller.rs @@ -386,6 +386,8 @@ pub(super) fn refresh_connected_accounts(app: &AppWindow, state: &Rc() .invoke_context_changed(); app.global::().invoke_context_changed(); + // A link that waited for an account to send from can open now. + mailto_links::open_pending_soon(app); } /// Show the mail kept on this device, or that there is none. diff --git a/src/mail.rs b/src/mail.rs index a36c92ae..367cfe47 100644 --- a/src/mail.rs +++ b/src/mail.rs @@ -2018,6 +2018,17 @@ impl CoreMailSource { .map_err(|error| error.to_string()) } + pub async fn message_by_header_id( + &self, + account_id: i64, + message_id: &str, + ) -> Result, String> { + self.core + .message_by_header_id(account_id, message_id) + .await + .map_err(|error| error.to_string()) + } + pub async fn save_new_draft(&self, message: ComposeMessage<'_>) -> Result { self.save_draft(compose_args(message, false)?).await } diff --git a/src/mailto_links.rs b/src/mailto_links.rs new file mode 100644 index 00000000..8d3386fb --- /dev/null +++ b/src/mailto_links.rs @@ -0,0 +1,339 @@ +//! Opening mailto links, whether clicked in a message or handed over by the +//! system when Flectar Mail is the default email app. +//! +//! Links wait until the mail store is ready and an account can send, then +//! each opens the composer pre-filled for the user to review; nothing is sent +//! on a link's behalf. The composer holds one message, so a link never +//! replaces what the user is writing: a blank composer is reused, anything +//! else is saved to Drafts first, where other clients open another window. + +use super::*; +use flectar_mail_core::mailto::{self, Mailbox, Mailto}; +use std::collections::VecDeque; + +#[cfg(target_os = "macos")] +mod macos; + +/// More mail links than this in one launch are ignored. +#[cfg(desktop)] +pub(crate) const MAX_LAUNCH_LINKS: usize = 16; + +/// The option the Windows registration puts before the link it passes: +/// `flectar-mail.exe --mailto "%1"`. +#[cfg(desktop)] +pub(crate) const MAILTO_OPTION: &str = "--mailto"; + +/// The mail links a launch was opened with, or `None` for a launch that is +/// not about mail links, whose options then apply as usual. +/// +/// - `--mailto ` must be the whole command line, as Thunderbird +/// requires of its `-osint` launches: a link that broke out of its quotes +/// could otherwise add options such as `--background`. Anything else after +/// `--mailto` opens nothing. +/// - Desktop entries pass each link as its own argument (`%U`), so every +/// `mailto:` argument is a link and other arguments are ignored. +#[cfg(desktop)] +pub(crate) fn launch_links( + arguments: impl IntoIterator, +) -> Option> { + let arguments = arguments.into_iter().collect::>(); + if arguments.iter().any(|argument| argument == MAILTO_OPTION) { + return Some(match arguments.as_slice() { + [option, link] if option == MAILTO_OPTION => link + .to_str() + .filter(|link| mailto::is_mailto(link)) + .map(|link| vec![link.to_owned()]) + .unwrap_or_default(), + _ => Vec::new(), + }); + } + let links = arguments + .iter() + .filter_map(|argument| argument.to_str()) + .filter(|argument| mailto::is_mailto(argument)) + .take(MAX_LAUNCH_LINKS) + .map(str::to_owned) + .collect::>(); + (!links.is_empty()).then_some(links) +} + +/// What opening a link needs from the rest of the application. +#[derive(Clone)] +pub(super) struct Composer { + pub(super) state: Rc>, + pub(super) runtime: Rc, + pub(super) intent: Rc>, +} + +#[derive(Default)] +struct Links { + pending: VecDeque, + composer: Option, + scheduled: bool, +} + +thread_local! { + static LINKS: RefCell = RefCell::default(); +} + +/// Connect the composer. Links received before this wait for it. +pub(super) fn install(app: &AppWindow, composer: Composer) { + LINKS.with(|links| links.borrow_mut().composer = Some(composer)); + open_pending_soon(app); +} + +/// Open the mail links macOS hands to the application. They arrive as Apple +/// Events rather than on the command line, also for the launch itself, and +/// bring the window back like any other launch. +#[cfg(target_os = "macos")] +pub(super) fn receive_from_macos(app: &AppWindow) { + let app = app.as_weak(); + macos::on_open_url(move |url| { + if !mailto::is_mailto(&url) { + return; + } + let Some(app) = app.upgrade() else { + return; + }; + window_controller::activate(&app, None); + open(&app, [url]); + }); +} + +/// Open mailto links in the composer as soon as it can take them. +pub(super) fn open>(app: &AppWindow, uris: impl IntoIterator) { + let mut unreadable = false; + LINKS.with(|links| { + let mut links = links.borrow_mut(); + for uri in uris { + match mailto::parse(uri.as_ref()) { + Some(message) => links.pending.push_back(message), + None => unreadable = true, + } + } + }); + if unreadable { + app.set_render_status(UiMessage::plain("This email link is too long to open.")); + } + open_pending_soon(app); +} + +/// Try the waiting links again on the next turn of the event loop: after +/// startup, when accounts change and when the composer closes. Deferring keeps +/// this out of whatever borrow of the application state the caller holds. +pub(super) fn open_pending_soon(app: &AppWindow) { + let idle = LINKS.with(|links| { + let mut links = links.borrow_mut(); + let idle = !links.pending.is_empty() && !links.scheduled; + links.scheduled |= idle; + idle + }); + if !idle { + return; + } + let app = app.as_weak(); + Timer::single_shot(Duration::ZERO, move || { + LINKS.with(|links| links.borrow_mut().scheduled = false); + if let Some(app) = app.upgrade() { + open_pending(&app); + } + }); +} + +fn open_pending(app: &AppWindow) { + while let Some((message, composer)) = LINKS.with(|links| { + let links = links.borrow(); + Some((links.pending.front()?.clone(), links.composer.clone()?)) + }) { + if !app.get_startup_ready() { + return; + } + if composer.state.borrow().connected_accounts.is_empty() { + app.set_sync_status(UiMessage::plain("Add an account to send mail.")); + return; + } + let Some(saved_previous) = make_room(app) else { + return; + }; + if !compose(app, &composer, &message, saved_previous) { + return; + } + LINKS.with(|links| links.borrow_mut().pending.pop_front()); + } +} + +/// Close a blank composer, or save what the user is writing to Drafts. +/// `Some(true)` when a message was saved; `None` when the composer has to +/// stay, because it is sending or could not be saved (its notice says why). +fn make_room(app: &AppWindow) -> Option { + if !app.get_compose_open() { + return Some(false); + } + if app.get_compose_sending() { + return None; + } + if composer_is_blank(app) { + app.invoke_close_compose(); + return (!app.get_compose_open()).then_some(false); + } + app.invoke_save_compose( + app.get_compose_account_id(), + app.get_compose_to(), + app.get_compose_cc(), + app.get_compose_bcc(), + app.get_compose_subject(), + app.get_compose_body(), + false, + ); + if app.get_compose_open() { + app.set_sync_status(UiMessage::plain( + "The email link will open when you close this message.", + )); + return None; + } + Some(true) +} + +fn composer_is_blank(app: &AppWindow) -> bool { + [ + app.get_compose_to(), + app.get_compose_cc(), + app.get_compose_bcc(), + app.get_compose_subject(), + app.get_compose_body(), + ] + .iter() + .all(|text| text.trim().is_empty()) + && app.get_compose_attachments().row_count() == 0 +} + +fn compose(app: &AppWindow, composer: &Composer, message: &Mailto, saved_previous: bool) -> bool { + app.invoke_open_compose(); + if !app.get_compose_open() { + return false; + } + app.set_compose_to(recipient_field(&message.to).into()); + app.set_compose_cc(recipient_field(&message.cc).into()); + app.set_compose_bcc(recipient_field(&message.bcc).into()); + if let Some(subject) = &message.subject { + app.set_compose_subject(subject.into()); + } + if let Some(body) = &message.body { + app.invoke_edit_compose_body(body.into(), 0, 0, "".into()); + } + if let Some(header_id) = &message.in_reply_to { + thread_reply(app, composer, header_id); + } + if !message.attachment_requests.is_empty() { + app.set_compose_notice(UiMessage::detail( + "Files from links are never attached for you. Attach them yourself if you trust them: {}", + message.attachment_requests.join(", "), + )); + app.set_compose_notice_is_error(false); + } else if saved_previous { + app.set_compose_notice(UiMessage::plain( + "The message you were writing was saved to Drafts.", + )); + app.set_compose_notice_is_error(false); + } + true +} + +/// Make the message a reply when the account it is written from has the +/// message the link replies to, so it threads like any other reply. The +/// sending account is never changed for a link. +fn thread_reply(app: &AppWindow, composer: &Composer, header_id: &str) { + let Some(core) = composer.state.borrow().core.clone() else { + return; + }; + let account_id = i64::from(app.get_compose_account_id()); + let parent = composer + .runtime + .block_on(core.message_by_header_id(account_id, header_id)); + if let Ok(Some(parent)) = parent { + let mut intent = composer.intent.borrow_mut(); + intent.mode = "reply".to_owned(); + intent.in_reply_to_message_id = Some(parent); + app.set_compose_mode("reply".into()); + } +} + +/// The composer's recipient syntax: entries separated by commas, each +/// `Name
` or a bare address. Names lose the characters that syntax +/// gives meaning to. +fn recipient_field(mailboxes: &[Mailbox]) -> String { + mailboxes + .iter() + .map(|mailbox| { + let name = mailbox.name.as_deref().map(|name| { + name.chars() + .filter(|c| !matches!(c, ',' | ';' | '<' | '>' | '"')) + .collect::() + }); + match name.as_deref().map(str::trim) { + Some(name) if !name.is_empty() => format!("{name} <{}>", mailbox.email), + _ => mailbox.email.clone(), + } + }) + .collect::>() + .join(", ") +} + +#[cfg(test)] +mod tests { + use super::*; + + #[cfg(desktop)] + #[test] + fn launch_links_come_only_from_mail_link_command_lines() { + let links = |arguments: &[&str]| { + launch_links( + arguments + .iter() + .map(|argument| std::ffi::OsString::from(*argument)), + ) + }; + assert_eq!(links(&[]), None); + assert_eq!(links(&["--background"]), None); + assert_eq!( + links(&["--mailto", "mailto:a@example.com?subject=x"]), + Some(vec!["mailto:a@example.com?subject=x".into()]) + ); + assert_eq!( + links(&["MAILTO:a@example.com", "--verbose", "mailto:"]), + Some(vec!["MAILTO:a@example.com".into(), "mailto:".into()]) + ); + // A link that escaped its quotes cannot add options or open anything. + for arguments in [ + &["--mailto", "mailto:a@example.com", "--background", ""][..], + &["--mailto", "mailto:a@example.com\\", "--background"], + &["--background", "--mailto", "mailto:a@example.com"], + &["--mailto", "https://example.com"], + &["--mailto"], + ] { + assert_eq!(links(arguments), Some(Vec::new()), "{arguments:?}"); + } + let many = vec!["mailto:a@example.com"; MAX_LAUNCH_LINKS + 1]; + assert_eq!(links(&many).unwrap().len(), MAX_LAUNCH_LINKS); + } + + fn mailbox(name: Option<&str>, email: &str) -> Mailbox { + Mailbox { + name: name.map(str::to_owned), + email: email.to_owned(), + } + } + + #[test] + fn recipient_field_round_trips_through_the_composer_syntax() { + let field = recipient_field(&[ + mailbox(Some("Doe, Jane"), "jane@example.com"), + mailbox(None, "bob+list@example.com"), + mailbox(Some(" <\"> "), "x@example.com"), + ]); + assert_eq!( + field, + "Doe Jane , bob+list@example.com, x@example.com" + ); + } +} diff --git a/src/mailto_links/macos.rs b/src/mailto_links/macos.rs new file mode 100644 index 00000000..e1c2f2e0 --- /dev/null +++ b/src/mailto_links/macos.rs @@ -0,0 +1,118 @@ +//! Receive the links macOS opens with Flectar Mail. +//! +//! macOS passes a URL to the application as a get-URL Apple Event, never on +//! the command line, also when the link is what launched it. AppKit turns the +//! event into `application:openURLs:`, which winit's application delegate +//! does not implement, so it is handled here. +//! +//! The handler has to be registered when AppKit finishes launching: AppKit +//! installs its own handlers first, replacing any registered earlier, and +//! delivers the event that launched the application right after. Apple's +//! scripting guide names `applicationWillFinishLaunching:` for this, and +//! later registration would lose the launch link (Zed hit exactly that). + +use objc2::rc::Retained; +use objc2::runtime::AnyObject; +use objc2::{MainThreadMarker, MainThreadOnly, define_class, msg_send, sel}; +use objc2_app_kit::{NSApplicationWillFinishLaunchingNotification, NSRunningApplication}; +use objc2_foundation::{NSAppleEventManager, NSNotificationCenter, NSObject, NSString}; +use std::cell::{OnceCell, RefCell}; + +/// `kInternetEventClass`, `kAEGetURL` and `keyDirectObject`. +const INTERNET_EVENT_CLASS: u32 = u32::from_be_bytes(*b"GURL"); +const GET_URL: u32 = u32::from_be_bytes(*b"GURL"); +const DIRECT_OBJECT: u32 = u32::from_be_bytes(*b"----"); + +/// Receives each URL on the main thread. +type UrlCallback = Box; + +thread_local! { + /// Neither NSAppleEventManager nor NSNotificationCenter retains it. + static HANDLER: OnceCell> = const { OnceCell::new() }; + static CALLBACK: RefCell> = const { RefCell::new(None) }; +} + +define_class!( + #[unsafe(super(NSObject))] + #[thread_kind = MainThreadOnly] + #[name = "FlectarMailUrlHandler"] + struct UrlHandler; + + impl UrlHandler { + #[unsafe(method(applicationWillFinishLaunching:))] + fn will_finish_launching(&self, _notification: &AnyObject) { + register(self); + } + + #[unsafe(method(handleGetURL:withReplyEvent:))] + fn handle_get_url(&self, event: &AnyObject, _reply: &AnyObject) { + // SAFETY: `event` is the NSAppleEventDescriptor of a get-URL + // event; both selectors return a retained object or nil. + // `paramDescriptorForKeyword:` takes an AEKeyword (UInt32). + let url: Option> = unsafe { + let parameter: Option> = + msg_send![event, paramDescriptorForKeyword: DIRECT_OBJECT]; + match parameter { + Some(parameter) => msg_send![¶meter, stringValue], + None => None, + } + }; + let Some(url) = url else { + return; + }; + CALLBACK.with(|callback| { + if let Some(callback) = callback.borrow().as_ref() { + callback(url.to_string()); + } + }); + } + } +); + +/// Call `callback` with each URL macOS opens with the application. Call it +/// before the event loop starts, so the link a launch was started for +/// arrives too. +pub(super) fn on_open_url(callback: impl Fn(String) + 'static) { + let Some(main_thread) = MainThreadMarker::new() else { + return; + }; + CALLBACK.with(|slot| *slot.borrow_mut() = Some(Box::new(callback))); + HANDLER.with(|handler| { + let handler = handler.get_or_init(|| { + // SAFETY: `init` is NSObject's designated initializer. + unsafe { msg_send![UrlHandler::alloc(main_thread), init] } + }); + // Registering now would be overwritten by AppKit's own handler, + // unless launching is already over. + if NSRunningApplication::currentApplication().isFinishedLaunching() { + register(handler); + return; + } + // SAFETY: the handler implements the selector with the signature a + // notification observer needs, and HANDLER keeps it alive for the + // life of the thread. + unsafe { + NSNotificationCenter::defaultCenter().addObserver_selector_name_object( + handler, + sel!(applicationWillFinishLaunching:), + Some(NSApplicationWillFinishLaunchingNotification), + None, + ); + } + }); +} + +fn register(handler: &UrlHandler) { + let manager = NSAppleEventManager::sharedAppleEventManager(); + // SAFETY: the handler implements the selector with the signature + // NSAppleEventManager calls, and HANDLER keeps it alive. + unsafe { + let _: () = msg_send![ + &manager, + setEventHandler: handler, + andSelector: sel!(handleGetURL:withReplyEvent:), + forEventClass: INTERNET_EVENT_CLASS, + andEventID: GET_URL, + ]; + } +} diff --git a/src/main.rs b/src/main.rs index 56d7e210..44c431e9 100644 --- a/src/main.rs +++ b/src/main.rs @@ -32,6 +32,7 @@ mod mail_scope; mod mail_setup; mod mail_view_model; mod mail_work; +mod mailto_links; mod message_appearance; mod notifications; pub use notifications::{NewMailNotification, NotificationPublisher}; @@ -1588,16 +1589,20 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> .build()?, ); #[cfg(desktop)] - let background_launch = autostart::launched_in_background(); + let launch_links = mailto_links::launch_links(std::env::args_os().skip(1)); + // A mail link launch always shows the window, whatever else it says. + #[cfg(desktop)] + let background_launch = launch_links.is_none() && autostart::launched_in_background(); #[cfg(desktop)] let mut instance = { - use single_instance::{Acquired, Request}; + use single_instance::{Acquired, Activation, Request}; let request = if background_launch { Request::Nothing } else { - Request::Show { + Request::Show(Activation { activation_token: window_chrome::launch_activation_token(), - } + links: launch_links.clone().unwrap_or_default(), + }) }; match single_instance::acquire(&runtime, &platform.paths.data_dir, request) { Ok(Acquired::Primary(primary)) => Some(primary), @@ -1796,12 +1801,16 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> #[cfg(desktop)] if let Some(instance) = instance.as_mut() { let app = app.as_weak(); - instance.serve(&runtime, move |activation_token| { + instance.serve(&runtime, move |activation| { let _ = app.upgrade_in_event_loop(move |app| { - window_controller::activate(&app, activation_token); + window_controller::activate(&app, activation.activation_token); + mailto_links::open(&app, activation.links); }); }); } + // They open once the mail store is ready and the composer connected. + #[cfg(desktop)] + mailto_links::open(&app, launch_links.unwrap_or_default()); // The launcher's token was meant for this window: it lets the desktop // focus it (Wayland) and ends the launch feedback (X11). #[cfg(desktop)] @@ -4367,6 +4376,7 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> refresh_list_metadata(&app, &startup_state); app.set_startup_hydrated(true); app.set_startup_ready(true); + mailto_links::open_pending_soon(&app); app.invoke_product_changed(app.get_active_view()); app.global::().invoke_restore_active(); app.set_startup_failed(false); @@ -6181,6 +6191,17 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> } }); + mailto_links::install( + &app, + mailto_links::Composer { + state: Rc::clone(&state), + runtime: Rc::clone(&runtime), + intent: Rc::clone(&compose_intent), + }, + ); + #[cfg(target_os = "macos")] + mailto_links::receive_from_macos(&app); + let app_weak = app.as_weak(); let state_for_message_compose = Rc::clone(&state); let runtime_for_message_compose = Rc::clone(&runtime); @@ -6443,6 +6464,7 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> &contacts_for_close, ); *intent_for_close.borrow_mut() = ComposeIntent::default(); + mailto_links::open_pending_soon(&app); } }); @@ -6947,6 +6969,7 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> app.set_sync_status(message); let _ = refresh_from_source(&app, &state_for_compose, &runtime_for_compose, true, &[]); + mailto_links::open_pending_soon(&app); } Err(error) => { let message = UiMessage::detail("Compose failed: {}", error); @@ -6997,6 +7020,7 @@ pub fn run(platform: PlatformContext) -> Result<(), Box> true, &[], ); + mailto_links::open_pending_soon(&app); } Err(error) => { let message = UiMessage::detail( diff --git a/src/reader_validation.rs b/src/reader_validation.rs index 05640d92..a491fa99 100644 --- a/src/reader_validation.rs +++ b/src/reader_validation.rs @@ -89,10 +89,13 @@ fn automatic_selection_hydrates_and_reader_controls_are_responsive_and_keyboard_ assert_eq!(app.get_render_message().argument, "test host unavailable"); app.invoke_open_email_link("javascript:alert(1)".into()); app.invoke_open_email_link("#fragment".into()); - app.invoke_open_email_link("mailto:person@example.com?subject=Hello%20there".into()); - assert_eq!(app.get_compose_to(), "person@example.com"); - assert_eq!(app.get_compose_subject(), "Hello there"); + // Mail links never go to the browser. This one waits for the composer, + // which is connected at the end of the test. + app.invoke_open_email_link( + "mailto:person+list@example.com?subject=Hello+there%21&bcc=hidden@example.com".into(), + ); assert_eq!(opened_urls.lock().unwrap().len(), 1); + assert!(!app.get_compose_open()); let requests = Rc::new(RefCell::new(Vec::new())); let requests2 = requests.clone(); app.global::() @@ -766,9 +769,95 @@ fn automatic_selection_hydrates_and_reader_controls_are_responsive_and_keyboard_ &mut directory.borrow_mut() )); assert!(directory.borrow().contacts.is_empty()); + app.set_active_view("mail".into()); + mailto_links_open_without_losing_the_draft(&app, &state, &runtime); app.hide().unwrap(); } +fn mailto_links_open_without_losing_the_draft( + app: &AppWindow, + state: &Rc>, + runtime: &Rc, +) { + state.borrow_mut().connected_accounts = vec![Account { + id: 1, + email: "me@example.test".into(), + display_name: None, + avatar_url: None, + provider: Provider::Generic, + auth_kind: flectar_mail_core::models::AuthKind::Password, + mail_protocol: MailProtocol::Imap, + sync_state: "idle".into(), + sync_error: None, + can_create_top_level_mailbox: true, + server_keeps_mail_days: None, + }]; + app.set_compose_account_id(1); + let weak = app.as_weak(); + app.on_open_compose(move || weak.unwrap().set_compose_open(true)); + let saved = Rc::new(RefCell::new(Vec::new())); + let weak = app.as_weak(); + let recorded = saved.clone(); + app.on_save_compose(move |_, to, _, _, subject, _, send| { + assert!(!send, "a link must never send"); + recorded + .borrow_mut() + .push((to.to_string(), subject.to_string())); + let app = weak.unwrap(); + for clear in [ + AppWindow::set_compose_to, + AppWindow::set_compose_cc, + AppWindow::set_compose_bcc, + AppWindow::set_compose_subject, + AppWindow::set_compose_body, + ] { + clear(&app, "".into()); + } + app.set_compose_open(false); + }); + let frame = || { + slint::platform::update_timers_and_animations(); + let _ = app.window().size(); + }; + + mailto_links::install( + app, + mailto_links::Composer { + state: Rc::clone(state), + runtime: Rc::clone(runtime), + intent: Rc::new(RefCell::new(ComposeIntent::default())), + }, + ); + frame(); + assert!(app.get_compose_open(), "the waiting link opens once it can"); + assert_eq!(app.get_compose_to(), "person+list@example.com"); + assert_eq!(app.get_compose_subject(), "Hello+there!"); + assert_eq!(app.get_compose_bcc(), "hidden@example.com"); + + app.set_compose_subject("My own subject".into()); + // The reader's link handler was replaced by a recorder above; open the + // link the way it does. + mailto_links::open(app, ["mailto:second@example.com?attach=/etc/passwd"]); + frame(); + assert_eq!( + *saved.borrow(), + [( + "person+list@example.com".to_owned(), + "My own subject".to_owned() + )], + "what the user wrote is saved to Drafts before the next link opens" + ); + assert!(app.get_compose_open()); + assert_eq!(app.get_compose_to(), "second@example.com"); + assert_eq!(app.get_compose_bcc(), ""); + assert_eq!( + app.get_compose_message().key, + "Files from links are never attached for you. Attach them yourself if you trust them: {}" + ); + assert_eq!(app.get_compose_message().argument, "/etc/passwd"); + assert!(app.get_compose_attachments().row_count() == 0); +} + /// The desktop mail view at scale 2, drawn by Slint's software renderer like /// CPU mode. That renderer panics when it paints a rectangle reaching past /// ±32767 physical pixels (#35), so reader surfaces sized by a long message diff --git a/src/renderer_input_controller.rs b/src/renderer_input_controller.rs index a3565a0c..f64b6f5d 100644 --- a/src/renderer_input_controller.rs +++ b/src/renderer_input_controller.rs @@ -115,26 +115,8 @@ pub(super) fn register_renderer_input_callbacks( } return; } - if let Ok(parsed) = url::Url::parse(&url) - && parsed.scheme() == "mailto" - { - app.invoke_open_compose(); - // Form decoding also handles UTF-8 and percent escapes in addresses. - let address = percent_encoding::percent_decode_str(parsed.path()) - .decode_utf8_lossy() - .into_owned(); - app.set_compose_to(address.into()); - for (key, value) in parsed.query_pairs() { - match key.as_ref() { - "subject" => app.set_compose_subject(value.into_owned().into()), - "cc" => app.set_compose_cc(value.into_owned().into()), - "bcc" => app.set_compose_bcc(value.into_owned().into()), - "body" => { - app.invoke_edit_compose_body(value.into_owned().into(), 0, 0, "".into()) - } - _ => {} - } - } + if flectar_mail_core::mailto::is_mailto(&url) { + crate::mailto_links::open(&app, [url.as_str()]); return; } if let Err(error) = open_email_link(&opener, &url) { diff --git a/src/single_instance.rs b/src/single_instance.rs index 18e5fd78..58054282 100644 --- a/src/single_instance.rs +++ b/src/single_instance.rs @@ -3,27 +3,31 @@ //! The first process owns the profile and listens on a private local endpoint: //! a Unix socket guarded by an advisory lock, or a named pipe whose first //! instance is exclusive on Windows. A later launch asks that process to show -//! its window and exits, so opening Flectar Mail from a launcher while it runs -//! in the tray restores the existing window instead of starting a second sync -//! engine on the same database. A sign-in launch that finds the application -//! already running exits without disturbing it. +//! its window, passing on any mail links it was opened with, and exits. So +//! opening Flectar Mail from a launcher or a `mailto:` link while it runs in +//! the tray uses the existing window instead of starting a second sync engine +//! on the same database. A sign-in launch that finds the application already +//! running exits without disturbing it. //! //! Both the lock and the pipe are released by the kernel when the owner exits, //! even after a crash, so a stale endpoint never blocks a later launch. +use crate::mailto_links::MAX_LAUNCH_LINKS; +use flectar_mail_core::mailto; use sha2::{Digest, Sha256}; use std::{io, path::Path, sync::Arc, time::Duration}; use tokio::{io::AsyncReadExt, runtime::Runtime, task::JoinHandle}; -/// The only request: show and focus the main window, optionally followed by +/// The only request: show and focus the main window. The first line may add /// the launcher's activation token so the compositor lets the window take -/// focus. +/// focus; each further line is a mail link to open. const SHOW: &str = "show"; /// Activation tokens are short opaque strings; bound what we accept. const MAX_TOKEN: usize = 512; /// Longer than any valid request, so a misbehaving client cannot make the /// owner buffer more. -const MAX_REQUEST: u64 = (SHOW.len() + 1 + MAX_TOKEN + 1) as u64; +const MAX_REQUEST: u64 = + (SHOW.len() + 1 + MAX_TOKEN + 1 + MAX_LAUNCH_LINKS * (mailto::MAX_URI_BYTES + 1)) as u64; /// How long the owner waits for a connected client to send its request. const REQUEST_TIMEOUT: Duration = Duration::from_secs(2); /// How long a later launch waits for a starting owner to accept requests. @@ -43,14 +47,23 @@ pub(crate) enum Acquired { /// What a launch should ask of an already running instance. #[derive(Clone, PartialEq, Eq)] pub(crate) enum Request { - /// Show the window, passing on the launcher's activation token. - Show { activation_token: Option }, + /// Show the window and open the mail links. + Show(Activation), /// A sign-in launch: leave a running instance exactly as it is. Nothing, } -/// Runs on a runtime worker thread with the forwarded activation token. -type ShowCallback = Arc) + Send + Sync>; +/// A launch handed to the running instance. +#[derive(Clone, Debug, Default, PartialEq, Eq)] +pub(crate) struct Activation { + /// The launcher's token, for the compositor to let the window take focus. + pub(crate) activation_token: Option, + /// `mailto:` links the launch was opened with. + pub(crate) links: Vec, +} + +/// Runs on a runtime worker thread with each forwarded launch. +type ShowCallback = Arc; pub(crate) struct Primary { endpoint: imp::Endpoint, @@ -58,13 +71,13 @@ pub(crate) struct Primary { } impl Primary { - /// Start answering later launches. `show` receives the forwarded - /// activation token on a runtime worker thread and must forward to the - /// UI thread itself. + /// Start answering later launches. `show` receives each forwarded + /// launch on a runtime worker thread and must forward to the UI thread + /// itself. pub(crate) fn serve( &mut self, runtime: &Runtime, - show: impl Fn(Option) + Send + Sync + 'static, + show: impl Fn(Activation) + Send + Sync + 'static, ) { let show: ShowCallback = Arc::new(show); let _context = runtime.enter(); @@ -102,10 +115,10 @@ pub(crate) fn acquire( server: None, })); } - let Request::Show { activation_token } = &request else { + let Request::Show(activation) = &request else { return Ok(Acquired::Forwarded); }; - let message = encode_show(activation_token.as_deref()); + let message = encode_show(activation); match runtime.block_on(imp::forward(data_dir, &message)) { Ok(()) => return Ok(Acquired::Forwarded), // The owner may have exited after the claim failed; claim again. @@ -139,26 +152,58 @@ fn valid_token(token: &str) -> bool { (1..=MAX_TOKEN).contains(&token.len()) && token.bytes().all(|byte| byte.is_ascii_graphic()) } -fn encode_show(activation_token: Option<&str>) -> Vec { - match activation_token.filter(|token| valid_token(token)) { - Some(token) => format!("{SHOW} {token}\n").into_bytes(), - None => format!("{SHOW}\n").into_bytes(), +fn encode_show(activation: &Activation) -> Vec { + let mut request = match activation + .activation_token + .as_deref() + .filter(|token| valid_token(token)) + { + Some(token) => format!("{SHOW} {token}\n"), + None => format!("{SHOW}\n"), + }; + // Line breaks mean the same percent-encoded inside a mailto link, so a + // link always fits on one line. Links the owner would refuse are dropped + // here rather than failing the whole launch. + let links = activation + .links + .iter() + .map(|link| link.replace('\r', "%0D").replace('\n', "%0A")) + .filter(|link| valid_link(link)) + .take(MAX_LAUNCH_LINKS); + for link in links { + request.push_str(&link); + request.push('\n'); } + request.into_bytes() } -/// `Some(token)` for a well-formed show request; anything else is ignored. -fn parse_show(request: &[u8]) -> Option> { - let line = std::str::from_utf8(request).ok()?.strip_suffix('\n')?; - match line.split_once(' ') { - None => (line == SHOW).then_some(None), - Some((SHOW, token)) => valid_token(token).then(|| Some(token.to_owned())), - Some(_) => None, +/// The launch for a well-formed show request; anything else is ignored. +fn parse_show(request: &[u8]) -> Option { + let request = std::str::from_utf8(request).ok()?.strip_suffix('\n')?; + let mut lines = request.split('\n'); + let first = lines.next()?; + let activation_token = match first.split_once(' ') { + None if first == SHOW => None, + Some((SHOW, token)) if valid_token(token) => Some(token.to_owned()), + _ => return None, + }; + let links = lines.map(str::to_owned).collect::>(); + if links.len() > MAX_LAUNCH_LINKS || !links.iter().all(|link| valid_link(link)) { + return None; } + Some(Activation { + activation_token, + links, + }) } -fn handle_request(request: Option>, show: &(dyn Fn(Option) + Send + Sync)) { - if let Some(activation_token) = request.as_deref().and_then(parse_show) { - show(activation_token); +fn valid_link(link: &str) -> bool { + mailto::is_mailto(link) && link.len() <= mailto::MAX_URI_BYTES && !link.contains(['\r', '\n']) +} + +fn handle_request(request: Option>, show: &(dyn Fn(Activation) + Send + Sync)) { + if let Some(activation) = request.as_deref().and_then(parse_show) { + show(activation); } } @@ -421,12 +466,17 @@ mod tests { .unwrap() } - fn show(activation_token: Option<&str>) -> Request { - Request::Show { + fn activation(activation_token: Option<&str>, links: &[&str]) -> Activation { + Activation { activation_token: activation_token.map(str::to_owned), + links: links.iter().map(|link| (*link).to_owned()).collect(), } } + fn show(activation_token: Option<&str>) -> Request { + Request::Show(activation(activation_token, &[])) + } + #[test] fn later_launches_reach_the_first_process_and_leave_it_running() { let runtime = runtime(); @@ -437,15 +487,32 @@ mod tests { panic!("the first launch must own the profile"); }; let (shown_tx, shown_rx) = std::sync::mpsc::channel(); - primary.serve(&runtime, move |token| shown_tx.send(token).unwrap()); + primary.serve(&runtime, move |activation| { + shown_tx.send(activation).unwrap() + }); assert!(matches!( acquire(&runtime, directory.path(), show(Some("launcher-token_1"))).unwrap(), Acquired::Forwarded )); assert_eq!( - shown_rx.recv_timeout(Duration::from_secs(5)).unwrap().as_deref(), - Some("launcher-token_1") + shown_rx.recv_timeout(Duration::from_secs(5)).unwrap(), + activation(Some("launcher-token_1"), &[]) + ); + + // A mail link opened while the application runs reaches it whole. + let link = format!( + "mailto:a+b@example.com?subject=Hi&body={}%0D%0Aend", + "x".repeat(100_000) + ); + let request = Request::Show(activation(None, &[&link, "mailto:"])); + assert!(matches!( + acquire(&runtime, directory.path(), request).unwrap(), + Acquired::Forwarded + )); + assert_eq!( + shown_rx.recv_timeout(Duration::from_secs(5)).unwrap(), + activation(None, &[&link, "mailto:"]) ); assert!(matches!( @@ -482,14 +549,39 @@ mod tests { #[test] fn only_well_formed_show_requests_are_accepted() { - assert_eq!(parse_show(&encode_show(None)), Some(None)); + let round_trip = |activation: Activation| parse_show(&encode_show(&activation)); assert_eq!( - parse_show(&encode_show(Some("abc:123"))), - Some(Some("abc:123".to_owned())) + round_trip(activation(None, &[])), + Some(activation(None, &[])) + ); + assert_eq!( + round_trip(activation(Some("abc:123"), &["mailto:a@example.com"])), + Some(activation(Some("abc:123"), &["mailto:a@example.com"])) ); // Invalid tokens are dropped by the sender rather than the request. - assert_eq!(parse_show(&encode_show(Some("has space"))), Some(None)); - assert_eq!(parse_show(&encode_show(Some(&"x".repeat(MAX_TOKEN + 1)))), Some(None)); + assert_eq!( + round_trip(activation(Some("has space"), &[])), + Some(activation(None, &[])) + ); + assert_eq!( + round_trip(activation(Some(&"x".repeat(MAX_TOKEN + 1)), &[])), + Some(activation(None, &[])) + ); + // So are links the owner would refuse, and raw line breaks are + // encoded the way the link means them. + let too_long = format!("mailto:?body={}", "x".repeat(mailto::MAX_URI_BYTES)); + assert_eq!( + round_trip(activation( + None, + &["https://example.com", &too_long, "mailto:?body=a\r\nb"] + )), + Some(activation(None, &["mailto:?body=a%0D%0Ab"])) + ); + let many = vec!["mailto:a@example.com"; MAX_LAUNCH_LINKS + 3]; + assert_eq!( + round_trip(activation(None, &many)).unwrap().links.len(), + MAX_LAUNCH_LINKS + ); for request in [ &b"quit\n"[..], @@ -499,9 +591,22 @@ mod tests { b"show a b\n", b"shows\n", b"show \xff\n", + b"show\nhttps://example.com\n", + b"show\nmailto:a@example.com", + b"show\nmailto:a@example.com\n\n", + b"mailto:a@example.com\n", ] { assert_eq!(parse_show(request), None, "{request:?}"); } - assert!(MAX_REQUEST as usize >= encode_show(Some(&"x".repeat(MAX_TOKEN))).len()); + let largest = activation( + Some(&"x".repeat(MAX_TOKEN)), + &vec![ + &*format!("mailto:?body={}", "x".repeat(mailto::MAX_URI_BYTES - 13)); + MAX_LAUNCH_LINKS + ], + ); + assert_eq!(largest.links[0].len(), mailto::MAX_URI_BYTES); + assert!(MAX_REQUEST as usize >= encode_show(&largest).len()); + assert_eq!(round_trip(largest.clone()), Some(largest)); } } diff --git a/ui/app.slint b/ui/app.slint index 5be5da37..7c3f5d3b 100644 --- a/ui/app.slint +++ b/ui/app.slint @@ -302,6 +302,10 @@ export global I18n { ui-message-system(key, argument, second-argument, third-argument) => { if (key == "Opened {}") { return @tr("Opened {}", argument); } if (key == "Could not open link: {}") { return @tr("Could not open link: {}", argument); } + if (key == "This email link is too long to open.") { return @tr("This email link is too long to open."); } + if (key == "The email link will open when you close this message.") { return @tr("The email link will open when you close this message."); } + if (key == "The message you were writing was saved to Drafts.") { return @tr("The message you were writing was saved to Drafts."); } + if (key == "Files from links are never attached for you. Attach them yourself if you trust them: {}") { return @tr("Files from links are never attached for you. Attach them yourself if you trust them: {}", argument); } if (key == "Copied HTML source") { return @tr("Copied HTML source"); } if (key == "Copied selected text") { return @tr("Copied selected text"); } if (key == "Copied email text") { return @tr("Copied email text"); } diff --git a/ui/components/composer-fields.slint b/ui/components/composer-fields.slint index c85ed75f..e631d6f9 100644 --- a/ui/components/composer-fields.slint +++ b/ui/components/composer-fields.slint @@ -295,6 +295,10 @@ export component ComposerRecipients inherits Rectangle { callback contact-selected(int); private property show-cc: root.cc != ""; private property show-bcc: root.bcc != ""; + // Recipients filled in for the user, such as from a mail link, always + // show, even in a row that was toggled off. + changed cc => { if (root.cc != "") { root.show-cc = true; } } + changed bcc => { if (root.bcc != "") { root.show-bcc = true; } } private property suggestions-dismissed: false; // Suggestion rows hold a name and an address that grow with the platform font. private property suggestion-pitch: 13px + max(18px, suggestion-name-probe.preferred-height)